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
Star on GitHub