Skip to content

Releases: getkirby/kirby

5.0.0-beta.3

11 Feb 10:39
f121dc9
Compare
Choose a tag to compare
5.0.0-beta.3 Pre-release
Pre-release

Pre-release notes: https://getkirby.com/releases/5

Changelog since 5.0.0-beta.2

🎉 Features

New entries field

entries field

Read more ...

Batch delete mode

New option for pages and files sections, to delete multiple files or pages at once https://kirby.nolt.io/38
batch selection

Read more ...

PDF file preview

In addition to audio and video files, we've now also added a PDF preview to the core:
pdf preview

Read more ...

✨ Enhancements

  • Support for content representation specific site controllers, e.g. site.rss.php #6950
  • New Kirby\Cms\Pages::delete(array $ids) and Kirby\Cms\Files::delete(array $ids) methods to handle batch delete for multiple files in a collection.
  • New batch mixin for model sections (pages & files), which introduces the batch option and a computed property to check for supported layouts.
  • New selectable property for the <k-item> and <k-items> components. When set to true, the items show checkboxes and emit an select event, when the checkbox is clicked.
  • The files and pages sections introduce new delete API endpoints. Those endpoints can take a set of page or file ids and will delete each one. Errors will be caught and sent back in the details array of the final thrown exception.

✨ Enhancements for earlier beta features

  • View buttons: support name: true notation #6928
  • UI component class: support non-pre-defined props #6929

🐛 Bug fixes

  • Select, radio and toggles field: values that include a comma will not be split into two tags in the structure field preview anymore #5800
  • Blocks field: fix empty display #6951
  • Fix Drag & Drop between block fields #5290
  • Drawers + Fields block: collapse tabs in header correctly into dropdown for narrow columns #6914

🐛 Fixed regressions from earlier betas

  • Languages dropdown: fix changing language #6945
  • Sticky column offset from sticky header
  • Always use date handler for changes timestamp #6937

🚨 Breaking changes

  • File drag texts in the Panel always use the file UUID, if UUIDs are not disabled #6948
  • api.methodOverwrite option has been renamed to api.methodOverride

☠️ Deprecated

  • Color field: the text => value notation for options has been deprecated and will be removed in Kirby 6. Please rewrite your options as value => text. #6913

🧹 Housekeeping

  • Updated dependencies
  • Updated todo comments #6987

4.6.1

06 Feb 15:42
e29f216
Compare
Choose a tag to compare

✨ Enhancements

  • Add a single space after colon in headers in Response class for better server support (FrankenPHP) #6976 Thanks to @rasteiner

🐛 Bug fixes

  • Fix disappearing writer content when a page is moved or the slug is changed #6507

4.6.0

30 Jan 11:11
994556c
Compare
Choose a tag to compare

✨ Enhancements

  • PHP 8.4 support
  • New bluesky icon

🐛 Bug fixes

  • Fixed CSS rules messing up grid styling inside the gallery block drawer #6838
  • Fix alt attribute for FileVersion instances #6852
  • Using single quotes in sqlite table discovery query fixes #6769
  • Fix console error when no buttons available #6863
  • Structure field: fix label of remove dropdown item #6899
  • Block options: fix tabbing from sort handle #6893
  • Structure field: fix preview input when paginated #6894
  • Set require: true on image block location field #6905
  • Blueprint image option: fixed support for query string #6916
  • System view: fixed too long server software names #6917
  • Pages and files sections: fixed page option #6735
  • Role blueprints get properly extended #6918
  • Link field: fixed handling of invalid options #6919
  • Fixed js()/css() helpers parameters

🧹 Housekeeping

  • Update the list of export ignores to keep unneeded files out of the Kirby ZIP downloads #6931
  • Update JS dependencies #6933
  • Removed remaining meta account from the readme and added Bluesky instead.

5.0.0-beta.2

23 Jan 12:35
f2ee5cf
Compare
Choose a tag to compare
5.0.0-beta.2 Pre-release
Pre-release

Pre-release notes: https://getkirby.com/releases/5

Changelog since 5.0.0-beta.1

✨ Enhancements

  • Allow disable all page buttons via buttons: false
  • New way to set the default storage instance for all models #6867
    • New App::storage(ModelWithContent $model) method
    • New storage component, which can be overwritten in plugins or the app instance setup.
    • The storage component is now used in all Models to create the default storage instance
    // How to create a new default storage instance component: 
    use Kirby\Cms\App;
    use Kirby\Cms\ModelWithContent;
    use Kirby\Content\PlainTextStorage;
    
    class MyCustomStorageClass extends PlainTextStorage
    {
    
    }
    
    // on app initialisation
    $kirby = new App([
      'components' => [
        'storage' => function (App $kirby, ModelWithContent $model) {
            return MyCustomStorageClass($model);
        ]
      ]  
    ]);
    
    // in a plugin
    App::plugin('my/storage', [
      'components' => [
        'storage' => function (App $kirby, ModelWithContent $model) {
            return MyCustomStorageClass($model);
        ]
      ]  
    ]);
  • New $app->role() method that works like $app->user() to return a specific role or the role of the current user. #6874
  • View buttons: i18n + query support, component name from key
    • Panel\Ui\Button: i18n support for text and title props
    • Panel\Ui\Buttons\ViewButtons and Panel\Ui\Buttons\ViewButton have new optional $model property
    • Kirby query support in Panel\Ui\Buttons\ViewButton for link, dialog, drawer, icon, text, theme props
    • Deriving the Vue component name from key:
      buttons:
        - preview
        retour:
          text: Retour
      This first looks up k-retour-view-button and falls back to k-view-button.
  • Writer: nodes with inline: true in their button definition are displayed as inline buttons in toolbar (instead inside the dropdown) #6902
  • New this.$helper.object.filter(object, predicate). #6902
  • Page status button uses custom status labels for title #6911
  • Plugin update status: passive theme for unknown plugin versions #6920
  • System view: Plugin table features two distinct columns for the license type and status #6896
  • LicenseStatus supports link, dialog and drawer props #6896

🐛 Bug fixes

  • Fixed Str::ucfirst() behavior, now behaves like PHP default #6834
  • Writer field: inline toolbar is hidden when no nodes and marks are available #6804
  • Page dropdown: fix disabling preview item #6891
  • File preview: fix aspect ratio for medium viewports #6891
  • Page section w/ table layout: fix flag column #6866
  • Range/Number field: fix isEmpty() usage #6898
  • Custom writer nodes: fixed active state detection for nodes that include paragraph child nodes #6902
  • Permissions are now always correctly determined if the active user changes during the request #6880

🐛 Fixed regressions from Beta.1

  • Hide language selector for single language #6850
  • Duplicate action is forcing to copy files #6921
  • Link in info box is now visible again in dark mode #6906

🚨 Breaking changes

  • The Str::ucfirst() method no longer lowercases all but the first letter of the text, it only capitalizes the first letter. #6860
  • Classes extending ModelPermissions need to set their category with the const CATEGORY or static function category() instead of protected string $category and use the static user() method instead of $user and $permissions properties #6880
  • <k-item>: Removed data-only-option attributes
  • <k-dialog>: Removed data-has-footer attribute
  • <k-toggles-input>: Removed data-disabled attribute
  • <k-writer-input>: Removed data-toolbar-inline attribute
  • <k-bubble>: Removed data-has-text attribute
  • <k-header>: Removed data-has-buttons attribute
  • <k-tag>: Removed data-has-image and data-has-toggle attributes
  • <k-tree>: Removed data-has-subtree attribute
  • required: true on checkbox and toggle fields now enforces that these fields need to be checked/toggles (active state)

☠️ Deprecated

  • panel.favicon option throws deprecation warnings for url option (use href instead) and for rel key (use reloption instead)

♻️ Refactored

  • ModelPermissions now also supports Language objects as quasi models #6876
  • New LanguagePermissions class that inherits the existing logic from LanguageRules for consistency with other models #6876
  • Globally cache access and list permissions per permission category, model type and user role to reduce code duplication #6881

♻️ Refactored after Beta.1

  • Update preview token logic to reliably fix tokens for the homepage #6856

🧹 Housekeeping

  • Move $app->roles() method to the AppUsers trait to increase the overview
  • Clean up permission-related code for consistency #6879

4.6.0-rc.1

23 Jan 11:44
dc348e6
Compare
Choose a tag to compare
4.6.0-rc.1 Pre-release
Pre-release

🐛 Bug fixes

  • Fixed CSS rules messing up grid styling inside the gallery block drawer #6838
  • Fix alt attribute for FileVersion instances #6852
  • Using single quotes in sqlite table discovery query fixes #6769
  • Fix console error when no buttons available #6863
  • Structure field: fix label of remove dropdown item #6899
  • Block options: fix tabbing from sort handle #6893
  • Structure field: fix preview input when paginated #6894
  • Set require: true on image block location field #6905
  • Blueprint image option: fixed support for query string #6916
  • System view: fixed too long server software names #6917
  • Pages and files sections: fixed page option #6735
  • Role blueprints get properly extended #6918
  • Link field: fixed handling of invalid options #6919

🧹 Housekeeping

  • Update the list of export ignores to keep unneeded files out of the Kirby ZIP downloads #6931
  • Update JS dependencies #6933

5.0.0-beta.1

09 Dec 10:21
Compare
Choose a tag to compare
5.0.0-beta.1 Pre-release
Pre-release

4.5.0

28 Nov 10:21
94cc37e
Compare
Choose a tag to compare

✨ Enhancements

  • avif images are now considered resizable by default #6670
  • User view: show prev/next buttons also on account view #6610
  • Video block: better autoplay handling
  • panel.upload exposes upload dialog open event #6621
  • New Toolkit\Obj::toKeys() method #6651
  • Improved Roles filter methods #6655
  • New angle-dropdown button #6663
    angle-dropdown
  • Improved highlighting of current items in a dropdown #6672
    active-1
    active-2
  • Tags input: dropdown shows current selection via checkbox/radio button #6698
    dropdown-1
    dropdown-2
  • api.methodOverwrite config option to activate pure PATCH requests #6650
  • Moving pages: allow pages as parent that don’t restrict any templates in their blueprint, but feature at least one pages section listing the page’s children #6717
  • Role always shown when creating a new user, even if only one role available #6654
  • Support icon and info for query and api options #6780
  • Changed the status update host to getkirby.com #6787
  • Update composer dependencies

🐛 Bug fixes

  • Fixed $field->isEmpty() for some empty arrays #6637
  • slugs.maxlength option works now #6526
  • Fix updating new language variables for secondary languages #6622
  • Page create dialog: toggle field allowed #6669
  • User::roles() doesn't return only the current role for non-admin users but all available roles #6663
  • Fixed issue where the page create dialog would use an existing page new instead just creating a temporary object #6643
  • Radio input: fix default columns count #6699
  • Multilang: Writer field now inserts the correct permalink for the current content language #6668
  • Multilang: $page->permalink() returns a language-based permalink for the current content language #6668
  • Fixed uploading non-resizable files with template/blueprint that features create option #6718
  • Fixed some cached page and file properties #6720
  • The license key dialog now trims accidently copied spaces from the license key #6722
  • Panel UI fixed for create and changeRole permissions and user options #5147 #5146
  • Fix preview links for files when the parent page preview is disabled #6786

☠️ Deprecated

  • UserRules::validRole()

♻️ Refactored

  • Remove roles count check from UserPermissions #6658

5.0.0-alpha.4

20 Nov 16:10
6adc851
Compare
Choose a tag to compare
5.0.0-alpha.4 Pre-release
Pre-release

4.5.0-rc.1

12 Nov 15:15
8fc6f34
Compare
Choose a tag to compare
4.5.0-rc.1 Pre-release
Pre-release

✨ Enhancements

  • avif images are now considered resizable by default #6670
  • User view: show prev/next buttons also on account view #6610
  • Video block: better autoplay handling
  • panel.upload exposes upload dialog open event #6621
  • New Toolkit\Obj::toKeys() method #6651
  • Improved Roles filter methods #6655
  • New angle-dropdown button #6663
    angle-dropdown
  • Improved highlighting of current items in a dropdown #6672
    active-1
    active-2
  • Tags input: dropdown shows current selection via checkbox/radio button #6698
    dropdown-1
    dropdown-2
  • api.methodOverwrite config option to activate pure PATCH requests #6650
  • Moving pages: allow pages as parent that don’t restrict any templates in their blueprint, but feature at least one pages section listing the page’s children #6717
  • Role always shown when creating a new user, even if only one role available #6654
  • Support icon and info for query and api options #6780
  • Changed the status update host to getkirby.com #6787
  • Update composer dependencies

🐛 Bug fixes

  • Fixed $field->isEmpty() for some empty arrays #6637
  • slugs.maxlength option works now #6526
  • Fix updating new language variables for secondary languages #6622
  • Page create dialog: toggle field allowed #6669
  • User::roles() doesn't return only the current role for non-admin users but all available roles #6663
  • Fixed issue where the page create dialog would use an existing page new instead just creating a temporary object #6643
  • Radio input: fix default columns count #6699
  • Multilang: Writer field now inserts the correct permalink for the current content language #6668
  • Multilang: $page->permalink() returns a language-based permalink for the current content language #6668
  • Fixed uploading non-resizable files with template/blueprint that features create option #6718
  • Fixed some cached page and file properties #6720
  • The license key dialog now trims accidently copied spaces from the license key #6722
  • Panel UI fixed for create and changeRole permissions and user options #5147 #5146

☠️ Deprecated

  • UserRules::validRole()

♻️ Refactored

  • Remove roles count check from UserPermissions #6658

5.0.0-alpha.3

23 Sep 09:53
b1b3f44
Compare
Choose a tag to compare
5.0.0-alpha.3 Pre-release
Pre-release