Changelog
Stay up to date with the latest features, improvements, and bug fixes in Maglev. From new Rails support to UI enhancements, discover what's new in each release.
What's Changed
- Feature: Studio section preview endpoint for local development
- Feature: WebP support for section screenshots
-
Fixed:
Firefox error from duplicate importmaps in theme layouts (
maglev_javascript_importmap_tags) - Fixed: Crash when reordering sections with site-scoped section IDs
- Fixed: Editor errors not reaching error trackers (Honeybadger, Sentry)
- Fixed: Truncation of long page titles/paths in the editor top bar
- Fixed: Image gallery search dropping picker params
- Fixed: Section add preview delayed by debounce
- Chore: Dependency updates and security pins (erb, net-imap)
Bug fix release for the v3 editor.
What's Changed
- Fixed: Section picker opens in a modal when inserting sections before or after an existing section
- Fixed: Correct translation key for the section breadcrumb back link
- Fixed: Asset delete in the media library uses a Turbo-friendly URL
- Chore: Rails application template scaffolds Maglev v3
Maglev 3.0 is a major release. The editor is rebuilt on Hotwire (Turbo + Stimulus), ViewComponent, Tailwind CSS 4, and importmap-rails — with no Node.js, npm, Yarn, or Vite in the shipping path. That means leaner production images, fewer CI steps, and faster deploys without a separate front-end build. The editor is ordinary Rails: views, components, and Ruby hooks you can extend the same way as the rest of your application.
What's Changed
- Feature: Editor stack: Hotwire, ViewComponent, Tailwind CSS 4, and importmap-rails — same class of UX as before, without Vue in production
- Feature: Rails 7.2 and 8.x tested and supported
- Chore: Ruby 3.2+ compatibility improvements (gem still requires Ruby >= 3.0)
- Feature: MariaDB / MySQL support alongside Postgres and SQLite
- Feature: Stronger Propshaft-style setups; editor Tailwind can include content paths from the host app so host classes compile correctly
- Feature: UIKit preview with Lookbook (uikit.maglev.dev)
- Chore: Removed the legacy REST API and old admin web routes tied to the previous editor approach
- Chore: Dropped Vite / vite-rails, Kaminari, JBuilder, and Node-based editor assets for the new direction
- Chore: No separate Maglev admin section — editing flows live in the new editor
- Feature: Revamped add-section flow; UI polish (pages list, navigation, publish notifications, locale switcher hidden for a single locale, draft/live preview links)
- Feature: Paginated pages list with path column; configurable per_page for assets pagination
- Feature: Sidebar, top bar, and view consistency pass
- Feature: Draft vs published: publish, discard draft, revert changes, publish page metadata (title + SEO), CLI to publish all pages for a site (with guards when no site exists)
- Feature: Publishing status indicators; CreatePageService improvements for paths across locales; fixes for duplicate sections on new pages and published pages with no sections
- Feature: Global event when a page is updated (for host-app hooks)
- Feature: Engine routes split into smaller chunks
- Feature: External JS namespaced under maglev/; editor client JS scoped to the iframe as intended
What's Changed
- Feature: MariaDB/MySQL database support 🐬
- Feature: Use i18n to translate the option labels of a select type setting
- Fixed: Allow to fully localize a select setting type
- Feature: Allow to translate the label of the blocks tab pane / block types in the dropdown
- Fixed: Make sure the locale is always a string to remove warnings from the JSON gem (+ prevent potential weird issues)
- Feature: New reset section CLI command to remove sections in the DB
- Feature: Add a task to copy the built assets from the Maglev engine to the main app
- Feature: Use the Rails asset host to generate the URL of the static section screenshots
- Chore: Update template.rb to use image_processing '~> 1.3'
What's Changed
- Feature: Brand new logo design 💅
- Feature: Completely revamped list item components with better icons and labels
- Feature: Enhanced section management - insert sections before/after any existing section
- Feature: Improved current page actions displayed under a clean dropdown interface
- Feature: Smart section labels displayed in the content sections list
- Feature: Major UI/UX improvements throughout the Editor interface
- Feature: New Rails commands to rename and remove section types
- Feature: FontAwesome and Remixicon icon library generators
- Feature: Upload functionality for section screenshots
- Feature: Enhanced active? method for link settings
- Feature: Better handling for pages with many entries
- Feature: SQLite3 database support
- Feature: Cache control headers for improved asset performance
- Feature: Enhanced precompile assets task
- Chore: Dropped Rails 6 support - now requires Rails 7+
- Fixed: getSectionLabel now properly handles undefined values
- Fixed: Improved page path validation - no spaces allowed
- Fixed: Proper I18n.locale handling when rendering Maglev pages
- Fixed: Exception handling for duplicate section IDs across categories
- Fixed: Better fallback to index page for empty path parameters
- Fixed: WebSocket requests no longer processed by Maglev
- Fixed: Collection items with 'any' ID now load correctly
- Fixed: Dropdown menus work properly in modal dialogs
- Fixed: RTE toolbar no longer hides dropdown menus
- Fixed: Eliminated flickering when opening image modals
- Fixed: Loosened default setting attribute requirements
- Feature: Improved translations for theme items, sections, and categories
- Fixed: Enhanced i18n translation handling throughout the interface
What's Changed
- Chore: Support Rails 8
- Chore: Support NodeJS 23
- Feature: Make the logs less verbose if something wrong happens
- Feature: Add the superscript command in the RTE input
Bug fixes and maintenance release.
What's Changed
- Fixed: Handle the case when a setting of a section or a block doesn't exist anymore
- Fixed: vite-plugin-ruby@^5.0.0 might not be compatible with vite_ruby-3.8.2
Bug fixes and maintenance release.
What's Changed
- Chore: Support for Rails 7.2
- Chore: Upgrade to Yarn 4
- Feature: New ES translations for the editor UI
- Fixed: Wrong CSS margin regarding the new/edit page forms
- Security: Upgrade gems and JS packages
What's Changed
- Feature: Allow wildcards in the reserved paths config
- Feature: The config class can now be changed in Maglev PRO
- Fixed: Add support for LinkedInBot (og tags)
What's Changed
- Feature: Display a nice error message in the editor if an exception occurs when rendering a section
-
Feature:
By default, add the section type in the dom data (
data-maglev-section-type) - Fixed: Reduce the number of calls to the fetch_site service
- Fixed: Defer the loading of the Maglev client javascript to avoid conflicts if importmaps is used
- Fixed: Use the default image of a image setting when adding a block
- Chore: Upgrade to the latest version of Tailwindcss
- Security: Upgrade gems and JS packages
What's Changed
- Fixed: The editor css file was not correctly generated because postcss.config.cjs was missing in the gem
What's Changed
- Feature: Support Rails application with UUID primary keys
- Chore: Upgrade to Vite5
-
Fixed:
The
maglev:change_site_localesrake task was broken
What's Changed
- Feature: Support for both Rails 6, 7 and 7.1
- Feature: Add the pt-BR translations for admin UI
- Fixed: Taking a screenshot of a section was broken
What's Changed
- Fixed: Allow the Twitter/Facebook/Google bots to crawl the Maglev pages
- Fixed: Can clear the og:image input
- Fixed: Rack static header rules
- Fixed: Don't render a non visible page (unless we're in the editor)
- Feature: Add 2 new setting types (hint + divider) to improve the readability of the UX/UI
- Feature: Setting UI names can now be translated
- Feature: The GetPageFullpath service is now easier to extend
- Feature: The checkbox type setting content supports "true", "1", "false", "0" values
Legend
Try Maglev locally in 2 minutes!
Want to see how Maglev works in a Rails app?
Follow our quick Getting Started guide to run Maglev with just a few commands.
No config. No vendor lock-in. Just Rails.