Larapen - CMS Modulaire & Plateforme Métier
Dernière : v1.0.16 5 octobre 2026 17 versions
Retour au produit
  1. 1.0.16

    Dernière
    • Hero and Landing Hero sections can now rotate alternate titles after the main one, either as whole slides or by swapping a single highlighted {word} of the title. Each slide can have its own description, buttons, cover image and background (color, gradient or image, with its own overlay and text colors), with settings for the transition, interval, number of cycles, navigation dots and pause on hover. Available in every theme; the script is only loaded on pages that use it.
    • Hero and Landing Hero sections have a new 'Full height' option that makes them fill the screen, with a vertical alignment for the content and an optional scroll cue (icon and text).
    • Every page section form is now organized in tabs (Content, Items, Buttons, Image, Layout, Settings, etc.), and the background, text colors and spacing options are grouped in a 'Style' tab shown last. The active tab is kept in the URL, item counters update live, and tabs containing a validation error are flagged.
    • Nouveau: New 'All Languages' option in Settings > SEO > Sitemap: when enabled, each section also gets one sub-sitemap per additional language (e.g., sitemap-pages.fr.xml) and each language gets its own sitemap index (e.g., sitemap.fr.xml). IndexNow submissions include these URLs too.
    • Media Library: the search now accepts glob patterns (e.g., *.png, logo-??.jpg, *.{jpg,webp}, media/2026/*/*.png) in addition to plain text.
    • Media Library > Browse Files: added a search for the current folder (plain text, in any word order and ignoring case and accents, or a glob pattern), an 'Include sub-folders' option, and a Usage filter to list only orphan files (used nowhere on the site) or to exclude them.
    • Media Library: files can be selected like in a file manager (click, Ctrl/Cmd + click to add or remove, Shift + click to select a range, a 'Select all' checkbox, and Escape to clear the selection), then deleted in bulk. The Library and Browse Files tabs, and the media picker window, now refresh each other after an upload or a deletion.
    • Admin list pages now show the number of entries next to the page title, kept up to date when the list is filtered or refreshed.
    • The AI Instructions page (System > AI Instructions) now uses the standard admin table, with AJAX filtering, pagination and a per-page selector.
    • Breadcrumbs of nested categories now list every parent category, with links, on the FAQ, Team, Portfolio, Partners, Glossary, Events, Careers, Classified Ads and Forum pages, in every theme.
    • Corrigé: Fixed responsive display and spacing classes being ignored in the admin panel (e.g., elements meant to be hidden on mobile only were hidden on every screen size).
    • Corrigé: Fixed images removed from a page section (items, slides, gallery) never being deleted from the server on MySQL databases.
    • Corrigé: Fixed the Countdown section ignoring the background image chosen in its Style options.
    • Corrigé: Fixed the cookie consent banner loading an external script a second time after consent when it was already loaded (e.g., an advertising library brought in by an ad zone), which could start the same library twice.
    • Dark mode: links on the login and registration pages and the cookie consent banner accents now use a lighter variant of the brand color, so they stay readable when that color is dark.
    • The Partners category pages now show the Partners section title and subtitle, like the other sections.
    • A logged-in user's Preferred Language (My Account > Profile > Preferences) now always takes priority over the 'Auto Detect and Select Language' setting (Settings > Localization), whatever option is selected. Previously, the front office ignored it and applied the browser or country language detection instead.
    • A language picked with the language selector during the session is still honored for that user, and a URL with a language prefix (e.g., /fr/...) always wins. A choice made as a guest before logging in no longer overrides the user's Preferred Language.
    • Saving a new Preferred Language takes effect on the next page load.
    • The account profile page (/account/profile) now shows a placeholder in every field of its forms (name, username, email, phone, current, new and confirmation passwords, and the account deletion password), translated in all the available languages, in every theme.
    • The 'Auto Detect and Select Language' setting hint and the documentation now explain that the user's Preferred Language takes priority.
    • Corrigé: Fixed user roles being ignored on installations created before the morph map was introduced: role assignments were still recorded, but hasRole() returned false, so users assigned Admin, Editor or Author lost every permission granted by their role.
    • Corrigé: Fixed the side effects of that same issue on other polymorphic data: notifications, addresses, activity log entries, media and add-on relations pointing at an affected model no longer resolved.
    • Restored the role-restricted admin features that had disappeared as a result, including the reply actions menu (Edit, AI Assistant, Translate, Delete) on HelpDesk tickets and the license key / Envato purchase panels in the ticket sidebar.
    • The repair covers every model registered in the morph map and every polymorphic column in the database, core and add-ons alike, and is safe to re-run: values that are already correct, or that belong to a model outside the morph map, are left untouched.
    • Nouveau: Added an option to disable the public contact page (Settings > Contact), with a choice of behavior for visitors reaching its URL: a temporary (302) or permanent (301) redirect to the homepage, or a 404 error page.
    • The Trashed Records overview (Settings > Soft Delete) now lists every soft-deletable content type of the core and of every active add-on (tool jobs, tickets, form submissions, orders, etc.), with the add-on it belongs to, instead of a fixed list that missed add-on tables.
    • The automatic purge of trashed records now removes the files attached to the purged records (media files and thumbnails, tool job sources and results, form submission uploads, ticket and reply attachments), exactly as 'Delete permanently' does from a trash page. Previously only the database rows were removed and the files stayed on disk.
    • Nouveau: Add-ons can opt their models into that file purge by implementing the new HasPurgeableFiles contract; the automatic purge, the trash pages and direct deletes then share the same file-removal code.
    • Redirects (Settings > Redirects): added a guide explaining when a redirect fires, how URLs are matched, and which sections create redirects automatically when a slug changes, with the state of each switch and a link to its settings.
    • Redirects: URLs are now cleaned up on save (one leading slash, no trailing slash, links to this site turned into paths). A From URL typed as 'old-page' or '/old-page/' was previously stored as typed and never matched by the site.
    • Redirects: a redirect that would loop is now refused, whether it points back to itself, loops through other redirects, or loops through the language prefix the site adds to URLs without one (e.g. /fr/page to /page). The homepage and admin panel URLs can no longer be redirected.
    • Redirects: chains are flattened on save (a To URL that is itself redirected is replaced by the final URL), existing loops and chains are flagged in the list, and entries that are part of a loop are left out of the generated .htaccess / Nginx rewrite rules.
    • Automatic slug-change redirects no longer create a loop through the language prefix or through an older entry stored in another form, and existing redirects are normalized by this update (duplicates keep the most recent entry, self-redirects are removed).
    • Corrigé: Fixed managed redirects on installations in a subdirectory: a relative To URL is now resolved against the site's URL instead of the domain root.
    • Nouveau: Added six 'Simple Captcha' providers to the CAPTCHA Provider list: Default, Math (solve an addition), Flat, Mini, Inverse and Custom. The challenge image is generated by your own server and validated against the visitor session, so no account, API key or third-party request is involved.
    • Nouveau: Added a 'Simple CAPTCHA' settings panel with a challenge size (Large 240 × 66, Medium 180 × 50, the default, or Small 150 × 42 px, applied to the Default, Math, Flat and Inverse looks alike), a display delay, an on-demand preview, and, for the Custom provider, full control over the image size, character count, noise lines, rotation, sharpen, blur, contrast, colors, background texture, case sensitivity, math mode and challenge lifetime.
    • The Simple CAPTCHA works on every front-end form already covered by the per-form CAPTCHA toggles (contact, login, registration, password reset, forum, booking, appointment, job applications, quote requests, helpdesk tickets, classified listings and blog comments), on all themes and add-ons, with no template change required.
    • Challenges are single-use, expire after a configurable delay, and never leave the answer in the session in clear text.
    • The challenge is shared by every CAPTCHA field of a page, so forms that display several protected forms at once stay answerable.
    • Amélioré: Renamed all twelve studio add-ons to tools add-ons: corestudio is now coretools (Tools Foundation), and archistudio, audiostudio, calcstudio, colorstudio, devstudio, gamestudio, imagestudio, pdfstudio, socialstudio, textstudio and videostudio became architools, audiotools, calctools, colortools, devtools, gametools, imagetools, pdftools, socialtools, texttools and videotools.
    • Amélioré: Moved every front-end hub and tool page from /studio/<group> to /tools/<group>; all old /studio URLs (including deep tool sub-pages and locale-prefixed variants) reply with a permanent 301 redirect to their new /tools location.
    • Amélioré: Renamed the shared studio_jobs and studio_saved_projects tables to tools_jobs and tools_saved_projects, and migrated all stored add-on references, permissions, settings keys, wallet action keys and AI usage sources to the new names.
    • Amélioré: Renamed the 'Studio Tools' page section to 'Tools' (existing pages are migrated automatically).
    • Amélioré: Updated all labels, navigation entries, admin screens and SEO titles/descriptions from 'Studio' to 'Tools' naming across every language.
    • Each renamed add-on also ships its own update, listed right after this one on the Updates page: apply them all so every add-on records the new name and clears the files left behind by the old one.
    • After updating, open Admin > Tools > Settings > Menu and use 'Rebuild Menu' (or re-save your menus) to refresh menu item labels that still show the old Studio wording.
    • Nouveau: Added a 'position' column to the media table so galleries (and any ordered media set) keep an explicit display order.
    • The product edit page gallery field now supports drag-and-drop reordering of images; the chosen order is saved and used on the storefront product page.
    • Product gallery media is now returned ordered by position (then by id) everywhere it is displayed.
    • Nouveau: Added an 'is_featured' flag to the media table so a product's featured image is stored explicitly instead of being guessed from the oldest image. Replacing the featured image now updates the storefront main preview correctly, and removing it now actually clears it.
    • Gallery thumbnails in the product editor can now be zoomed in a lightbox.
    • The robots.txt content is now stored as a database setting and served from the /robots.txt route, so changes made in Admin > SEO persist across deployments and updates.
    • The default robots.txt now advertises the XML sitemap (Sitemap: .../sitemap.xml) so search engines discover it automatically.
    • The legacy static public/robots.txt file is removed during the update to prevent it from shadowing the new dynamic route.
    • XML sitemaps now include hreflang alternate links (xhtml:link) for every locale of each page plus x-default, improving multilingual indexing in search engines.
    • Every studio tool that performs AI requests now uses an "ai_" prefixed key, so AI tools are consistently identifiable across all studios.
    • The matching public tool URLs changed (e.g. /studio/archi/sketch-render → /studio/archi/ai-sketch-render); permanent 301 redirects keep old links, bookmarks and indexed URLs working.
    • Existing per-tool admin settings (enable/disable, credit cost overrides, and AI/Cloud provider selections) are migrated to the new keys so no configuration is lost.
    • AI providers and models are now configured centrally per action type (text, image, voiceover, transcription, video, etc.) on the AI settings page, instead of per add-on.
    • Studio AI tools are automatically hidden and blocked when the global 'Enable AI features' switch is off.
    • Nouveau: New AI usage tracking records the real token/unit usage and provider cost of every AI call (table ai_usage_logs).
    • Nouveau: New admin AI usage overview (tokens, provider cost, revenue, profit) and a per-account profit/loss report on the wallet accounts page.
    • Nouveau: New per-model pricing editor and a cost-based credit-price suggester (php artisan ai:suggest-pricing).
    • 5 more languages added: Bengali, Urdu, Hebrew, Persian and Romanian.
    • Theme header options are now configured separately for Sectioned pages (home + section-built pages) and Standard pages (content pages + every add-on front page).
    • The theme settings page shows two Header cards. The legacy single 'header_*' settings were migrated into both new sets ('header_sectioned_*' and 'header_standard_*'), so existing installs keep their current look on both page types.
    • You can now give section-built/landing pages a transparent header overlaying the hero while keeping a solid header on blog, shop and other inner pages.