Our brand-new Blocks field is the perfect solution for complex single-column layouts and long-form text.
It brings the best of the Editor and the Builder plugins into the core. Combining a great WYSIWYG editing experience with fully customizable blocks. Learn more →
Layout
Yes you can
Together with the new Blocks field we are also introducing a powerful new Layout field. Arrange blocks in multiple columns and build complex page layouts. Assign custom layout settings and fine-tune the generated HTML in your templates. Learn more →
Authentication
Passwordless login
3.5 comes with major enhancements for your login flow. Enable password-less login for secure, one-time code authentication.
You don’t need the full power of the Blocks? Maybe just some inline HTML? Then the new Writer field is here for you. Create single-line HTML with formats like bold, italic, underline or links.
The Panel search has been redesigned and now shows nice previews for pages, files and users.
Title & URL
Changing the page title or the page URL is now done in the same dialog. With this simplified workflow you can instantly see when your page title and slug no longer match and should be updated.
Status icons
Kirby's page status icons now have distinctive forms to make them accessible for people with color blindness.
New starterkit
We completely overhauled Kirby’s Starterkit to feature a new design together with the new blocks and layout fields.
$helper.string.template supports array length and is now case insensitive
Unified Collection methods (filter, sort, group)
Kirby\Cms\App: Option to create a local-only instance #2555
New Locale class for PHP locale handling and consistent locale formats in locale option #2893
Better README.md and CONTRIBUTING.md
Updated JS dependencies
Additional Japanese slug rules
Core session keys are now prefixed with kirby.
Better error messages in the login form when debug mode is enabled
The k-empty component is now automatically converted to a button if there's a click handler.
Concurrent sort API calls are now prevented. #2863
Faster unit tests
We are now using Cypress for frontend tests.
Faster file cache access
Better debouncing of input events to increase performance
Bug fixes
Fixed translation / slug rule loading #2230
Fixed disappearing topbar on custom view routes #2932
Fixed broken error messages for required fields #2917
Fixed pagination error in Structure field when duplicating items
Fixed item index on delete for structure field #2887
Fixed sorting in the files section when the section is not sortable #2690
Panel views can be replaced in your plugins again. #2506
You can extend nested Vue components in your plugins. #1438
Breaking changes
We try to avoid breaking changes as much as we can. But we also put a lot of effort in keeping our technical debt in Kirby as low as possible. Sometimes such breaking changes are necessary to move forward with a clean code base.
You might wonder why there are breaking changes in a minor release according to Semantic Versioning.
This release is Kirby 3.5.0.0 (major release 5 of Kirby 3)
Traditionally, we combine patch and minor releases though and only need the fourth versioning level for regression fixes.
Required PHP Version
With this release we drop support for PHP 7.2, which has reached end of life. But we also introduce support for the brand-new stable version of PHP 8.0, which has been released on December 1st.
Date field format option
3.5.0 is dropping the format option of the date field. This is a breaking change which we will reverse in 3.5.1.
accept option for file blueprints
If no custom accept restrictions are defined in the file blueprint, Kirby will now limit the accepted uploads to the types image, document, archive, audio and video by default. This protects your sites against unexpected uploads like code files that could be used to attack the server or the visitor's browsers.
You can customize the accepted file types in the file blueprint.
Removed methods
The following methods have been marked as deprecated since Kirby 3.0.0 and are now removed.
A huge thank-you to Tim Ötting for creating and maintaining the fabulous Builder plugin. Tim agreed that we could use his plugin as inspiration for our new Blocks field as a replacement for his great plugin. Your work really means a lot to us, Tim!
Thank you to all the contributors who helped with pull requests, translations and tests for this release. Without you, it wouldn't be possible.
Thank you to our amazing community for your ongoing support. Without all your feedback, patience and passion, Kirby wouldn't be where it is today! 💛