Kirby 2.0.6

Kirby's latest version comes with a row of bugfixes, better unit testing and some nice new features. Please read the update instructions. Check out our tutorial on how to work with Git to learn more about a faster setup for updates.

Download the Starterkit


New Plainkit

Additional to this release, we've created the new Plainkit for you. The Plainkit is the most minimal install of Kirby you can get — no theme, just the default template with hardly any HTML and no content. It's the perfect package to get started with your own code for a new project or for retrofitting a website. You can get it here: Please use Git to clone the Plainkit for now. A full zip download will follow soon.

New Features

Page Models

Page models are a brand new, awesome way to extend the functionalities of pages. Check out my first screencast about this new feature to learn more about it:

Custom Panel Stylesheet

Sometimes it might make sense to get a bit more control of how the panel looks. In this new release you can now define a stylesheet for the panel, which will be loaded after all the default styles. It's perfect to make some small changes or slightly adjust the branding for your clients. You can define the stylesheet in your config like this:

c::set('panel.stylesheet', 'assets/css/custom-panel.css');

Sortable dynamic options for select fields, radio boxes and checkboxes

You can now determin the order in which dynamic options are being shown in selectfields, radio boxes and checkboxes. Here's a selectbox example with a dynamic list of files, which will be sorted in descending order (asc would be the second option)

  label: Select a file…
  type: select
  options: files
  sort: desc

New options for number fields

You can now define steps for number fields and also set a minimum and maximum value:

  label: A number between 1 and 10
  type: number
  min: 1
  max: 10
  step: 0.5

Optional figure tags around images

Kirby 2 automatically wraps a figure tag around images in Kirbytext. If you don't like this feature, you can now switch it off:

c::set('kirbytext.image.figure', false);

The URL option is back

Setting the URL via the config file is now back. You will probably hardly need it, because Kirby 2 is able to detect the URL in 99% of all situations, but you convinced me that it is good to have a way to define it manually :)

c::set('url', '');

A word about nested parenthesis in Kirbytags

In the last version of Kirby, I introduced a fix for nested parenthesis in Kirbytags. I thought this would be stable enough to release it, but unfortunately it wasn't. There are too many edge cases in which it breaks and this is definitely worse than being able to nest them. I therefor decided to remove this feature again and revert back to the stable way of handling Kirbytags. I'm really sorry if you already gave it a try and liked it. I will still try to find a way to solve this, but for now this option is gone.

Additional changes

  • The port number is longer being added to URLs by accident
  • URL validation in the panel is a little less strict to allow Umlaute in URLs.
  • Updated Italian translation
  • Updated German translation
  • The panel is now more strict with checking uploadable files. Invisible files, PHP, HTML and EXE are now reliably rejected.
  • Fixed a bug in structure fields with case problems in field names.
  • New Parsedown and Parsedown Extra versions with multiple fixes
  • And a lot more… for the full list, please check out the commits on Github:


I hope you didn't miss the announcement about our brand new volume discounts.

We are also still collecting pre-orders for the first Kirby shirt until February 1st. Please order yours now, so we can soon get them printed.

Our partners

CDN by KeyCDN Search by Algolia