Changelog
A full record of changes, fixes and new features in every Laravix CMS release.
v0.15.0
Security hardening
Security
- Optional SVG uploads via the Allow SVG uploads setting; every SVG is sanitized on upload to strip scripts and event handlers
- Media uploads accept only an explicit list of image, video and audio MIME types instead of image/*, video/* and audio/* wildcards
- Builder save, publish and media upload actions go through content and media policies instead of a plain site membership check
- Block and navigation preview tokens are random strings instead of predictable MD5 hashes
- Docker stubs and compose.yaml publish database, Meilisearch, Mailpit and Redis ports on 127.0.0.1 only, so they are not reachable from the network
Fixed
- Restoring a content revision works again, including builder data; revisions without a restorable snapshot are no longer offered
Removed
- Contact form block from the builder, along with its route and assets
v0.14.1
Translation fixes
Fixed
- Error pages (404, 500, 503) showed raw translation keys instead of their titles
- Admin footer links (Website, Docs, Contact) showed raw translation keys instead of labels
v0.14.0
More social networks
Added
- Social settings for YouTube, Discord, Telegram, WhatsApp, Pinterest, Reddit, Twitch, Snapchat and Spotify, rendered in the default theme footer and exposed through the settings API
Changed
- Every social link field in Settings shows the network's brand icon as a prefix
v0.13.2
Upgrade across minor versions
Fixed
- laravix:upgrade raises the laravix/cms constraint in composer.json when a newer minor is available, instead of silently staying on the old one
- The upgrade finishes when a Composer script errors but the package was in fact updated, instead of reporting a failure
v0.13.1
Documentation cleanup
Changed
- README installation instructions rewritten around the Docker setup
Removed
- Outdated Horizon simulation instructions and an unused Sail vendor volume
v0.13.0
Theme development
Added
- Theme views fall back to the default theme, so a theme only has to override the templates it actually changes
- php artisan laravix:theme:link exposes every theme's dist/ directory under public/themes
- Laravix::themeAsset() resolves a theme asset with a cache-busting version stamp
- Theme picker shows the theme's real name plus a version and author byline from theme.json
Changed
- A theme.json manifest with a non-empty name is now required — a theme folder without it is ignored
- Theme assets are served per theme from themes/{theme}/dist/ instead of a shared build
- laravix:install links themes as part of the installation
v0.12.0
Docker development environment
Added
- php artisan laravix:docker generates compose.yaml, a docker/ config directory and a matching .env
- Choose your database service with --db=mysql, --db=pgsql or --db=sqlite
- Optional Meilisearch, Mailpit and Redis containers via --search, --mail and --redis
- Queue worker and scheduler containers are generated by default; opt out with --no-worker and --no-scheduler
- laravix:install --docker builds the environment and runs the whole installation inside the container
- --port= picks the host port, --force regenerates an existing compose.yaml
v0.11.0
Slimmer core
Removed
- Docs and Changelog plugins moved out of core
- Admin translations trimmed to English, Czech and Slovak; 18 unmaintained locales dropped
- Demo seeder and the --demo flag on laravix:install
Added
- Sort order field on content and taxonomies, with sortable admin tables
- Authorization policies for content type fields and custom code blocks
- TikTok URL in social settings
- Invitation acceptance screen rebuilt with localized messages
- Installer offers an optional shout-out and can open it in the browser
Fixed
- ContentTypeRegistry no longer breaks on a null content type key
v0.11.1
Asset build fix
Fixed
- CSS source paths exclude dist/ directories, so built files are no longer scanned as sources
v0.10.0
Installer & upgrade experience
Added
- laravix:install and laravix:upgrade render a Laravix banner and per-step task status
- laravix:upgrade prints a summary of which packages changed version
v0.9.1
Installer hardening
Fixed
- Installer reads .env through the Dotenv parser instead of parse_ini_file, so quoted and multi-line values survive
v0.9.0
Extensibility & multi-language
Added
- Multi-language content — one row per locale, URL prefixes, hreflang and a Translate action
- Full-text search powered by Meilisearch with typo tolerance
- Plugin system: content type, route, block and Filament registries
- Docs plugin — sections, markdown editor, table of contents, prev/next navigation
- Changelog plugin with translatable releases
- Content lifecycle events: published, unpublished, deleted and more
- Nested navigation with submenus and grouped admin menu
- Monorepo split: every push and tag mirrors packages/laravix/cms into the standalone Laravix/cms repository
- laravix:install and laravix:upgrade commands, with version reporting and an update check
Changed
- Taxonomies support translations, type filtering and manual ordering
- The CMS core was extracted into an installable Composer package, laravix/cms — the application repository is now a thin host around it
- All core classes and views moved to the Laravix\Cms namespace
- Vite configuration dropped in favour of a Blade-based theme system with Tailwind
Fixed
- Styled error pages instead of raw framework errors
Removed
- Dead code cleanup — unused models, traits and helpers
Security
- REST API returns 403 for sites without headless mode enabled
v0.8.0
API & admin polish
Added
- REST API v1 endpoints for pages, posts, settings and navigation
- Theme preview and Post List block with hydration
Changed
- Admin theme rebuilt on CSS variables with light/dark mode
v0.7.0
Custom blocks & fields
Added
- Custom Code Blocks — per-site HTML/CSS/JS blocks in the builder
- Custom content type fields manageable from the admin
- 40+ builder blocks in organized categories
Changed
- Builder blocks converted from JS templates to PHP definitions
v0.6.0
Visual builder
Changed
- Full-screen GrapesJS page builder replacing the block editor
Added
- Style manager with sliders, device switcher and resize handles
- Video and audio uploads in the media manager
- Broken font picker replaced with a native select
Removed
- Admin translations trimmed to English, Czech and Slovak
Fixed
- Video upload in the builder
Security
- Navigation URLs are sanitized before rendering
v0.5.0
Content safety
Added
- Content revisions with restore
- Recycle bin — review, restore or permanently delete removed items
- Redirect management
- Image variants — thumbnails and responsive sizes
- SEO tools: robots.txt editor and automatic sitemap
v0.4.0
Navigation & branding
Added
- Navigation manager for header and footer with live preview
- Block system foundation with reusable theme blocks
- Admin translated into 21 languages
Changed
- New Laravix branding by Tomáš Vylímec
Fixed
- Media library loading issues
v0.3.0
Foundation
Added
- Filament 5 admin panel built on Laravel 13
- Contents, taxonomies, media library, and settings
- Multi-tenant sites with roles: admin, editor, viewer
Fixed
- Homepage slug and is_homepage detection