Kirby 2.0.0 beta 2

It's time for updates and the final beta for Kirby 2!

I've been super busy in the last weeks optimizing the panel and core including a move away from Angular (that's a long story for a different, more private post). I'm super happy with the results. The panel is now more reliable, smaller and faster — with less Angular magic in the background.

There are lots and lots of bug fixes and additions, which have been missing in the last beta. Thank you so much for your help and feedback. It really helped to have you all on board and I hope I can count on you one last time before that thing finally launches.

I could not fulfil all feature wishes so far, but I'm pretty sure you will like the new stuff.

Here's an official changelog (I hope I don't forget something):

Responsive FTW

The panel is now fully responsive. There are some tiny glitches left on some devices, but in general it works really great on mobile now.

A brand new dashboard

The dashboard gives a better overview for users when you login. It will be extensible in the very near future.

Edit history

The new dashboard already includes a new history feature, which shows your personal last edits and makes it easy to jump back to those pages.

A brand new global page search

It's located in the upper right corner and will help you to navigate through pages super fast.

Text format buttons are back

More buttons will follow soon.

Sortable images!

This has been on the wishlist of many of you and it's finally there. You can switch it on in the blueprint like this:

  sortable: true

A sorting number will be stored in the metadata for each image, which you can use to sort images in your templates accordingly like this:

$page->images()->sortBy('sort', 'desc')

This solution fixed the biggest issue with sorting images so far as it doesn't rely on renaming your files.

Drag and Drop editing

It's now possible to drag files and pages from the sidebar into textareas to add links, downloads or embed images.

Better user profiles

The small modals for editing user data have been replaced by a full-fledged user profile editor. This will be extensible soon with your own custom fields, just like pages.

New Form fields

All form fields have been completely revamped with a brand new API, which will make it much easier for you to build your own fields. This is finally in a state in which I really like it. It has been much tougher to come up with something useful than I thought.

There are also a bunch of helpful new form fields, which are included by default:


The tags field is now included by default with a new custom, more reliable jQuery plugin


There's a new user field, which can be used to store an author for example. It comes with autocompletion of usernames


The select field has tons of new ways to pre-build options. It works like this:

    label: My awesome selectbox
    type: select
    options: children

…which will automatically build a selectbox for all children of the current page. More options are:

  • visibleChildren
  • invisibleChildren
  • siblings
  • pages
  • files
  • images
  • documents
  • code
  • archives
  • sound
  • videos


The brand new structure field, which I already posted a couple days ago on Twitter is also included. This will make it possible to create yaml within fields, which can be super handy.

A detailed instruction how to use it will follow in the next days.


The new toggle field auto-generates two radio buttons for yes and no or on and off. You can set it up like this:

    label: Do you want to test the toggle?
    type: toggle

It can also be changed to display on and off instead of yes and no.

    label: Header image
    type: toggle
    text: on/off

Better numbering of visible pages

You can now choose between three different modes for the numbering of visible subpages, which can be set in the blueprint:

  num: date

This will automatically use the date field of the current page to determine which number to prepend. I.e.


The second mode is called zero:

  num: zero

This will simply prepend a 0 so all visible subpages will be sorted alphabetically by default:


If you don't specify a num mode, the panel will keep on prepending a sorting number according to the way you've sorted visible pages via drag and drop.

Improved starterkit

The starterkit has new awesome images from unsplash and a bit more exemplary templates and blueprints.


I'm using git submodules to keep all the different parts (core, toolkit, panel) linked together. Unfortunately Github does not support those submodules when you hit the download button on Github. You will only get the current repository without any sub repositories. This means that you must use the following git command in order to get the full thing:

git clone --recursive

There will be a downloader available after launch, to get around this issue. Of course you can still download or update each required repository seperately, but you just have to know what you are doing.


Please keep the feedback and bug reports coming. The first round has been massively helpful and I'm so excited how you like this next version.

Make sure to use Github issues to report any further bugs or send feature requests. Here are the three repos you should use:

Kirby core issues and feedback

Kirby toolkit issues and feedback

Kirby panel issues and feedback

Free upgrade!

I still stick to this! The upgrade will be completely free!
So if you want to start with a Kirby 1 license in the meantime — go for it!


This is most probably the last beta round. Sascha and I will spend the next weeks on testing. Only very few important additional features will be added. We will also spend some more time on testing plugins and finishing the docs. I will be on long awaited vacations in September and the launch will finally take place as soon as I'm back.

I really can't wait for the last steps. The core and the panel are finally in a state I'm very comfortable with and I really hope you like it as well. It's all about refinements now and then we are ready to go. What a journey!

Cheers, Bastian

Our partners

CDN by KeyCDN Search by Algolia