All Versions
51
Latest Version
Avg Release Cycle
16 days
Latest Release
660 days ago

Changelog History
Page 1

  • v3.5.0-rc.6 Changes

    December 10, 2020

    All the good stuff from:

    and …

    ✨ Enhancements

    • πŸ†• New sponsor button for Github
    • Graceful fallback for Parsley when PHP's XML extension is missing
    • 🐎 Increasesd performance when a lot of files need to be published
    • ⚑️ Updated translations

    πŸ›  Fixes

    • πŸ— No longer misinterpret builder blocks as layouts #2966
    • πŸ›  Fix access to textContent property on empty list #2979
    • πŸ›  Fix Block::parse() method on empty input #2982
  • v3.5.0-rc.5 Changes

    December 08, 2020

    All the good stuff from:

    and …

    πŸ–¨ More detailed accept options for file blueprints

    πŸ”§ Previously, file blueprints could be configured to only allow specific MIME types to be uploaded.

    • It is now possible to limit the uploaded files based on the file extension and/or the file type.

      accept: extension: jpg, png

      accept: type: image, audio, video

    • πŸ’» These restrictions can be combined with a custom set of MIME types. This makes it possible to define MIME types that are compatible with all browsers while still protecting the uploads based on the extension and/or file type:

      accept: mime: image/*type: image

    In this example, Kirby will generate a file upload input with an accept="image/*" attribute and will then validate both the MIME type and the detected file type on the server after the file is uploaded.

    0️⃣ If no 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 disable the automatic types and allow all uploads like this:

    accept: true# or:accept: mime: nullorientation: square...
    
    • πŸ†• New F::typeToExtensions() method

    ✨ Enhancements

    • Open table block on dblclick instead of single click
    • βž• Add props docs to writer and list fields
    • πŸ‘Œ Support import of em marks
    • πŸ†• New set of default ratios for the image block
    • ⚑️ Updated languages (ko, id, it)

    πŸ›  Fixes

    • πŸ›  Fixed the saved value for empty lists #2976
    • πŸ›  Fixed raw HTML parsing in Blocks::parse() #2972
    • πŸ›  Fixed empty text option for blocks/layout field
    • πŸ›  Fixed prev/next arrow bug
    • πŸ›  Fixed code block snippet
    • Don't load login form if logged in
  • v3.5.0-rc.4 Changes

    December 03, 2020

    All the good stuff from:

    and …

    ✨ Enhancements

    • Nested blocks are no longer broken
    • πŸ‘ Better image snippet with support for external images
    • βœ… More unit tests
    • πŸ‘ Better debouncing of input events to increase performance
    • πŸ‘Œ Support for all 6 heading levels in the heading block
    • Missing fieldset definitions are now handled more gracefully
    • Group labels can now be translated
  • v3.5.0-rc.3 Changes

    December 02, 2020

    All the good stuff from:

    and …

    πŸ”‹ Features

    • πŸ‘Œ Support for PHP 8 πŸŽ‰
    • πŸ†• New dedicated layout settings button
    • πŸ†• New list field and writer field previews for structure fields

    ✨ Enhancements

    • πŸ‘ Better custom block import from the editor and the builder

    πŸ›  Fixes

    • All validations for the layout field are now correctly executed before the page is saved
    • πŸ›  Fixed missing icon in the block drawer
  • v3.5.0-rc.2 Changes

    November 27, 2020

    πŸš€ All the good stuff from: https://github.com/getkirby/kirby/releases/tag/3.5.0-rc.1 plus …

    πŸ’₯ Breaking!

    • πŸ‘ We've decided to drop support for PHP 7.2 in 3.5.0. 7.2 will be reaching end-of-life before we release 3.5.0 and we shouldn't be supporting it anymore anyway. Some of our updated dependencies have already dropped support for it and it makes more sense to drop it as well as to keep old dependencies around.

    ✨ Enhancements

    • ⚑️ Updated PHP dependencies
    • πŸ‘ Better Travis CI test setup that now also tests our frontend stuff
    • ⚑️ Updated translations (cs, de, fr, ru, sv, tr) Huge thank you to all translators!

    πŸ›  Fixes

    • πŸ›  Fixed mouseup event issue in the drawer, which caused several issues (i.e. in the structure field and the color field plugin)
    • πŸ›  Fixed import for external images in editor blocks #77
    • 0️⃣ Various fixes in default block snippets
  • v3.5.0-rc.1 Changes

    November 24, 2020

    Disclaimer

    πŸš€ This is a pre-release and probably not fully stable yet. Don't use in production unless you don't mind potential hick-ups. We really appreciate your help while testing this release candidate!

    πŸ”‹ Features

    πŸ†• New Blocks Field

    πŸ— The Kirby Builder by Tim Γ–tting is one of the most popular plugins out there and together with Tim we decided to add it to the core πŸŽ‰

    πŸ”€ We've rewritten it from scratch and merged it with our popular Editor plugin. The new field is called Blocks and will eventually replace both plugins.

    πŸ“„ During the RC phase, you can find docs and report issues for the blocks field here: https://github.com/getkirby/blocks

    New Blocks field

    πŸ†• New Layouts field

    πŸ— 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.

    Screenshot 2020-11-24 at 14 39 58

    πŸ“„ During the RC phase, you can find docs and report issues for the layout field here: https://github.com/getkirby/blocks

    πŸ†• New Date and Time fields

    We've never been really happy with our date field and many of you weren't either. The new date and time fields are a joy to work with and open completely new ways to enter dates.

    Date field

    πŸ“„ Docs: TBD

    πŸ†• New Writer field

    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

    Screenshot 2020-11-24 at 14 46 59

    Usage:

    fields: text: type: writer
    

    πŸ†• New List field

    As another spin-off of the Blocks field, we also added a new list field, which can be used if you need to create simple ordered or unordered lists in a more visual way than with Markdown.

    Screenshot 2020-11-24 at 14 51 29

    Usage:

    fields: list: type: list
    

    πŸ”Œ Password Reset, Password-less Login, 2FA and Auth Challenge Plugins

    With 3.5 we are introducing major enhancements for our login flow.

    Frame 1

    πŸ”’ You can now reset your password, login password-less via secure email verification code and even provide your own verification methods via auth challenge plugins. Combine this with the option to enable 2FA authentication to increase the security of your Panel.

    πŸ“„ Docs: TBD

    Redesigned Panel Search

    The Panel search has been redesigned and now shows nice previews for pages, files and users.

    Redesigned Search

    πŸ†• New unsaved changes badge in tabs

    Tabs now show unsaved changes with a new orange badge and the number of unsaved fields.

    Unsaved changes badge

    πŸ†• New unified title & slug dialog for pages

    ⚑️ Renaming a page title or changing 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 matches and need to be updated.

    Unified title and slug dialog

    πŸ†• New page status icons

    Our page status icons are now accessible with distinctive forms that no longer challenge people with color blindness.

    Screenshot 2020-11-24 at 14 25 56

    More new features

    • βž• Added I18n::formatNumber() function
    • It's now possible to pass nobody to $kirby->impersonate() to switch to a user without permissions.
    • πŸ†• New $user->nameOrEmail() method
    • Interval handling for the calendar component
    • πŸ†• New UI kit components
      • New dialogs to sort pages and files
      • New help option for headline and info fields
      • New k-tabs component
      • New k-overlay component
      • New k-drawer component
      • New k-form-drawer component
      • New k-loader component
      • New k-user-info component
      • New k-reset-password-view
      • New k-writer
      • New k-blocks
    • πŸ†• New icons
      • blank
      • cancel-small
      • circle-half
      • circle-nested
      • live
      • road-sign
    • πŸ†• New logs root (https://kirby.nolt.io/122) #2875

    ✨ Enhancements

    • ⚑️ Updated translations
    • πŸ‘Œ Support for hashes in router links #2941
    • πŸ‘ Better structure field preview for date + time field
    • Accidental writes when sorting collections are now blocked #2475
    • ✨ Enhanced typography in the info text of files and pages sections
    • πŸ‘ Email: Support global debugging
    • The template in the page creation dialog is only shown if there's more than one option
    • The dropdown in the files field now opens automatically when you click on an empty files field
    • πŸ‘ Callback support for Collection::filterBy()
    • πŸ‘ $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

    πŸ’₯ Breaking changes

    🚚 The following methods have been marked as deprecated since Kirby 3.0.0 and are now removed:

    $file->meta() (use $file->content())

    $file->rename() (use $file->changeName())

    $page->hasInvisibleChildren() (use $page->hasUnlistedChildren())

    $page->hasNextVisible() (use $page->hasNextListed())

    $page->hasNextInvisible() (use $page->hasNextUnlisted())

    $page->hasPrevInvisible() (use $page->hasPrevUnlisted())

    $page->hasPrevVisible() (use $page->hasPrevListed())

    $page->hasVisibleChildren() (use $page->hasListedChildren())

    $page->nextVisible() (use $page->nextListed())

    $page->nextInvisible() (use $page->nextUnlisted())

    $page->prevVisible() (use $page->prevListed())

    $page->prevInvisible() (use $page->prevUnlisted())

    $page->isInvisible() (use $page->isUnlisted())

    $page->isVisible() (use $page->isListed())

    $pages->invisible() (use $pages->unlisted())

    $pages->visible() (use $page->listed())

    0️⃣ $languages->findDefault() (use $languages->default())

    πŸ—„ Deprecated methods

    ⚑️ Deprecated methods are only marked as deprecated for now and will be removed in a future version. Please update your code accordingly if you still use the deprecated methods.

    • $page->sort() (use $page->changeSort())

    πŸ› 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

    Stats

  • v3.4.5 Changes

    December 01, 2020

    πŸš€ Security release

    πŸ”’ We've been contacted by the security researcher Thore Imhof of Accenture with a vulnerability report that affects file uploads in Kirby's Panel.

    πŸš‘ An editor with full access to the Panel can upload a PHP .phar file and execute it on the server. This vulnerability is critical if you might have potential attackers in your group of authenticated Panel users, as they can gain access to the server with such a phar file. Visitors without Panel access cannot use this attack vector.

    πŸš€ We've received this report yesterday and this release will prevent the attack.

    ⬆️ We recommend to upgrade your sites to Kirby 3.4.5.

    πŸš€ This security release does not introduce any features or other fixes.

  • v3.4.4 Changes

    October 06, 2020

    πŸ”‹ Features

    • πŸ†• New user.login:failed hook
    • πŸ†• New status= query parameter for /site/children and /pages/$pageId/children API endpoints. You can now filter pages by the following status options (all, listed, unlisted, published, drafts) #2846
    • Content representations: Allow custom MIME #2803
    • πŸ†• New this.$helper.string.hasEmoji(string) for the Panel and Panel plugins

    ✨ Enhancements

    • πŸ‘‰ Usernames are now sanitised and all HTML tags are stripped.
    • The dump() and e() helper functions are no longer defined if they already exist. This increases compatibility with Laravel and other frameworks.
    • πŸ‘Œ Improved RTL supports for text, textarea, tags and structure fields #1510
    • πŸ‘Œ Improved doc block comments
    • βœ… Increased test coverage
    • πŸ‘Œ Improved variable names in components #2839
    • ⚑️ Updated Github templates to integrate our new feedback platform
    • Kirby now recognises new image formats: avif, j2k, jp2. Those will not be resized yet though.
    • API requests now strip double-slashes in request paths properly #2740
    • async/await in User View

    πŸ› Bug fixes

    • πŸ›  Fixed info text for users dialog #2832
    • πŸ›  Fixed file preview info for non-images #2842
    • πŸ›  Fixed mediaRoot() for File models #2838
    • πŸ›  Fixed issue in the FileView when searching for and navigating to other files #2849
    • πŸ›  Fixed payload routing for dialogs #2845
    • πŸ›  Fixed upload error for user avatars, when the file type does not match the previous avatar #2834
    • πŸ›  Fixed bug in Pagination range #2812

    Stats

  • v3.4.4-rc.1 Changes

    September 29, 2020

    πŸ”‹ Features

    • πŸ†• New user.login:failed hook
    • πŸ†• New status= query parameter for /site/children and /pages/$pageId/children API endpoints. You can now filter pages by the following status options (all, listed, unlisted, published, drafts) #2846
    • Content representations: Allow custom MIME #2803
    • πŸ†• New this.$helper.string.hasEmoji(string) for the Panel and Panel plugins

    ✨ Enhancements

    • πŸ‘‰ Usernames are now sanitised and all HTML tags are stripped.
    • The dump() and e() helper functions are no longer defined if they already exist. This increases compatibility with Laravel and other frameworks.
    • πŸ‘Œ Improved RTL supports for text, textarea, tags and structure fields #1510
    • πŸ‘Œ Improved doc block comments
    • βœ… Increased test coverage
    • πŸ‘Œ Improved variable names in components #2839
    • ⚑️ Updated Github templates to integrate our new feedback platform
    • Kirby now recognises new image formats: avif, j2k, jp2. Those will not be resized yet though.
    • API requests now strip double-slashes in request paths properly #2740
    • async/await in User View

    πŸ› Bug fixes

    • πŸ›  Fixed info text for users dialog #2832
    • πŸ›  Fixed file preview info for non-images #2842
    • πŸ›  Fixed mediaRoot() for File models #2838
    • πŸ›  Fixed issue in the FileView when searching for and navigating to other files #2849
    • πŸ›  Fixed payload routing for dialogs #2845
    • πŸ›  Fixed upload error for user avatars, when the file type does not match the previous avatar #2834
    • πŸ›  Fixed bug in Pagination range #2812

    Stats

  • v3.4.3 Changes

    September 15, 2020

    πŸ”‹ Features

    πŸ†• New slugs.maxlength option

    You can now restrict the length of slugs with the new slugs.maxlength option #1821

    // site/config/config.phpreturn ['slugs' =\> [ 'maxlength' =\> 100] ];
    

    Required fields and when conditions

    Required fields with when conditions now can be left empty, if the when condition does not apply.

    fields: category: type: radiooptions: - Photography - Editorialphotographer: when: category: Photography # the photographer field will now only be required when the category is "Photography" required: true
    

    Custom drag text for files and pages

    You can now define custom text when files or pages get dragged into textareas. #2735

    // site/config/config.phpreturn ['panel' =\> [ 'kirbytext' =\> [ 'fileDragText' =\> function ($file, $url) { return '(file: ' . $url . ' alt: ' . $page-\>alt() . ')'; }, 'pageDragText' =\> function ($page) { return '(link: ' . $page-\>url() . ' text: ' . $page-\>title() . ')'; }] ] ];
    

    πŸ‘ Array support for Collection::not()

    When filtering collections, you can now pass an array of IDs or objects to Collection::not()

    $menu = $site-\>children()-\>not(['home', 'error'])// or$a = page('some-page-a');$b = page('some-page-b');$menu = $site-\>children()-\>not([$a, $b]);
    

    More …

    • πŸ‘ V::alpha($string, $unicode = false) and V::alphanum($string, $unicode = false) can now support unicode characters. This can be activated with the second argument.
      getkirby/ideas#234
    • You can now use Asset objects in panel previews #2746

    ✨ Enhancements

    • 🚚 Commas are now automatically removed from sortBy options in blueprints for enhanced usability. getkirby/ideas#195

      now both versions worksortBy: date desc title descsortBy: date desc, title desc

    • 🍱 We've increased test coverage for our PHP code from 84% to 90% πŸŽ‰

    • We've massively improved our doc block comments and type hints throughout our code base

    • πŸ‘ The file dropdown is now better visually structured with horizontal lines – consistent with the look and feel of the page dropdown. #2787

    • πŸ›  $tableWhitelist in the Database class is now renamed to $tables and a validity check for correct table names is fixed. #2788

    • The beforeSend option for emails can now be predefined in the config #2769

    πŸ› Bug fixes

    • πŸ›  Fixed off-center emoji position in the panel
    • πŸ›  Fixed overflowing text in breadcrumb #2755
    • πŸ›  Fixed broken this.$api.users.list() method (this broke pagination and the role filter in the users view) #2801
    • πŸ“œ Parsedown Extra no longer trims new line characters in some PHP environments
    • πŸ›  Fixed progress bar styling in Firefox #2784
    • πŸ–¨ You can now add pages in pages sections within user blueprints without errors #2771
    • Converting the $site object to string now returns the URL instead of throwing an error #2802

    Stats

    • 101 commits
    • 32 closed issues and PRs