It has been a long wait and it's finally over. Kirby 2.2 is here and it's huge. I call it the major minor release. Forget about the version number for a moment and let me introduce you to a whole new set of features and improvements.
tl;dr
Anti-bloat
Rewritten Panel Architecture
A lot of thought went into a completely rewritten Panel backend and frontend architecture, which relies less on Javascript and more on good old HTML and CSS, without sacrificing performance or enjoyable interactions. The new architecture is also a huge step forward to more options for 3rd-party developers to build extensions for the Panel. More details and developer docs will follow soon.
Dropped support for PHP 5.3
With the new release we moved away from PHP 5.3. The minimum requirement is now 5.4 although we recommend to use the latest stable version. Leaving the legacy of the old version behind means that we can rely on a more secure foundation and the awesome new features of the latest PHP releases. You will additionally benefit from better performance out of the box.
Constant refactoring
We are constantly reviewing existing parts of Kirby and try to improve every bit. One great example is the new syntax to create thumbnails on the fly:
// resizing: old
echo thumb($image, array('width' => 300, 'height' => 200, 75)->url();
// resizing: new
echo $image->resize(300, 200, 75)->url()
// cropping: old
echo thumb($image, array('width' => 300, 'crop' => true)->url();
// cropping
echo $image->crop(300)->url();
You can find an overview of the new syntax on Github. We will also update the docs as soon as possible.
Panel improvements
The cleaner Panel architecture made it possible to add tons of improvements. A lot of them are based on your fantastic feedback in the forum or on Github. Please keep it coming like that. It helps you a lot to hear your thoughts and experiences!
Context menues
Editing, moving or deleting pages and files has become many times more efficient with the new context menues. You can find them in the sidebar while hovering over a page or file. The context menues give you instant access to the most important editing and administration features. In our opinion this is a big productivity optimization.
Beautiful new search
The new quick search in the upper right corner gives you instant access to all your pages and users. You can now search by title, URL or by username to jump directly to the place you are looking for.
Instant file uploads
We reduced the number of steps to upload new files. You can now drag and drop them directly into the sidebar and they will be instantly uploaded.
Drag & Drop previews
In addition to the new instant upload, we also added file previews, while dragging files from the sidebar to a textarea. This makes it easier to see which file you are currently embedding in your content.
Custom user forms
Many of you asked for the same flexibility of page forms for users. With Kirby 2.2 you can now add any additional number of custom form fields to user accounts. This introduces a whole new universe of options while working with user accounts, authors and roles.
Those form fields can be added by creating blueprints for user roles in site/blueprints/users. For example:
# site/blueprints/users/admin.yml
fields:
twitter:
label: Twitter
type: text
placeholder: @username
icon: twitter
width: 1/2
github:
label: Github
type: text
placeholder: Github username
icon: github
width: 1/2
No matter if you add additional information about Twitter accounts, a biography or phone numbers — all of that can be instantly accessed in your templates:
user('peter')->twitter() ?>
Blueprint field snippets
Another often requested feature was a better way to add the same form fields in different blueprints without repeating yourself over and over again. The solution: field snippets. Field snippets can now be stored in /site/blueprint/fields
You can reuse such a snippet afterwards in any blueprint — even for structure fields:
# /site/blueprints/fields/date.yml
label: Date
type: date
default: now
In your blueprint you can then use this snippet like this:
# /site/blueprints/somepage.yml
…
fields:
title:
label: Title
type: text
date: date
text:
label: Text
type: text
You can even extend snippets:
# /site/blueprints/somepage.yml
…
fields:
title:
label: Title
type: text
date:
extends: date
label: My extended date field
text:
label: Text
type: text
Another thing you might have noticed in the examples above: you can now use .yml
or .yaml
for your blueprint files and benefit from automatic syntax highlighting in many editors.
So much more…
This is just a short overview of what's new in Kirby 2.2. So much more made it into this release and you can find more about it in the changelog.
A word about permissions
We know that we talked a lot about the upcoming addition of permissions in 2.2, but unfortunately it turned out to be much harder than we expected it to be. We have a working first implementation ready, but we need more time to make it perfect. We hope you understand and the massive set of other new improvements works as a little treat.
Docs
We will start today to extend the docs with instructions for all the additional features. If you have questions in the meantime, please don't hesitate to post them in the forum
Download Kirby 2.2.0
Update instructions
Please follow the update instructions for your existing Kirby site.
Feedback
As always we are super excited to hear what you think about this new release. Please use the forum to send us any kind of feedback.
This is a companion discussion topic for the original entry at http://getkirby.com/blog/kirby-2-2-0