github getkirby/kirby 5.0.0-rc.1

latest releases: 5.1.0-rc.1, 5.0.4, 5.0.3...
pre-release3 months ago

Pre-release notes

https://getkirby.com/releases/5

Changelog since 5.0.0-beta.6

We are only listing the differences here from previous betas. For the full changelog for v5, please check out: https://getkirby.com/releases/5/changelog

🎉 Features since previous betas

  • Language variables with multiple translation strings (for different counts) can now be edited in the Panel using the new entries field #7173
language-variables

✨ Enhancements from previous betas

  • New Model::versions() method, which returns an array with the two versions latest and changes. If there's no changes version, the latest will be used. #7153
  • New Version::sibling() method to fetch a different version for the same model #7161
  • The Fields class constructor now accepts a string value for the language parameter #7164
  • The Fields class will fall back to the site if no model is given. #7164
  • Fields::passthrough() will resolve closure values (just like fill and submit) #7164
  • Add missing since tags to Fields class methods. #7164
  • Added missing since tags to Form class methods. #7165
  • Support for named parameters in Form constructor. Passing the $props array is still supported but deprecated. #7166
  • Support for named parameters in Form::for(). Passing the $props array is still supported here as well, but also deprecated. #7166
  • panel.content.changes() has been renamed to panel.content.diff()
  • New panel.content.hasDiff() method.
  • New panel.content.version(versionId) method
  • New panel.content.versions() method
  • The contentand original props have been removed from all model views.
  • A new versions prop has been added instead with latest and changes as child objects.
  • The changes property in the <k-model-tabs> component has been renamed to diff.
  • hasChanges has been renamed to hasDiff in all components.
  • The PreviewView component and backend code has been radically simplified and its UX has been improved. You can now switch between versions and languages easily. #7220
changes.mp4
  • The old open button is back in each model view and a new preview button has been added. #7220

🐛 Fixed regressions and issues from previous betas

  • Support false to disable view buttons ****[#7139](#7139)
  • Fixed file template change [#7145](#7145)
  • Fields with null values will be removed again when saving changes. This
    will also fix the removal of the focus point for images. [#7022](#7022)
  • The content.js module no longer merges changes with the originals.
  • The content.js module now also recognizes removed fields when finding changes to show the form controls.
  • The Fields::passthrough() method no longer supports passing an empty array to reset all passthrough values. [#7164](#7164)
  • Tags field preview: is selectable again [#7176](#7176)
  • Fix UUID access in after hook [#7180](#7180)
  • Creating a file content translation no longer throws an exception [#7184](#7184)
  • Latest content file for translations is no longer created too early [#7185](#7185)
  • Custom slug in secondary language is no longer overwritten on publish [#7183](#7183)
  • Deleting pages and files no longer results in a PHP warning when PHP is compiled with localized warning messages [#7209](#7209)
  • Grouping collections by closure works again [#7215](#7215)
  • Fix LC_MESSAGES constant check [#7224](#7224)

🚨 Breaking changes from/since previous betas

  • Removed the new ExceptionField class again [#7167](#7167)
  • The content prop has been removed from all model views.
  • Removed Kirby\Content\Version::prepareForContent() again [#7192](#7192)
  • The PreviewButton class now uses preview as icon and Preview as text. [#7220](#7220)
  • All model views now use the new OpenButton instead of the PreviewButton and the refactored PreviewButton in addition to that. [#7220](#7220)
  • The PreviewDropdownButton has been removed [#7220](#7220)

☠️ Deprecated since previous betas

  • Kirby\Panel\Model::content() is deprecated. Use Model::versions()[’changes’] instead. [#7153](#7153)
  • Form::content() is deprecated. Use Form::toStoredValues() instead. [#7166](#7166)
  • Form::data() is deprecated. Use Form::toStoredValues() instead. [#7166](#7166)
  • Form::strings() is deprecated. Use Form::toStoredValues() instead. [#7166](#7166)
  • Form::values() is deprecated. Use Form::toFormValues() instead. [#7166](#7166)

♻️ Refactored since previous betas

  • Remove $defaults argument from form and field methods wherever possible, to clean up default value handling [#7134](#7134)
    • Removed from Field::toFormValue
    • Removed from Field::toStoredValue
    • Removed from FieldClass::toFormValue
    • Removed from FieldClass::toStoredValue
    • Removed from Fields::toFormValues
    • Removed from Fields::toStoredValues
    • Removed from Form::toFormValues
    • Removed from Form::toStoredValues
  • Use Fields::for method to simplify the ModelWithContent::createDefaultContent method and get rid of the Form class usage. [#7149](#7149)
  • Use the Fields class to improve Version comparison. This will especially help to improve the performance of comparing two versions, as the field instances can be reused. [#7150](#7150)
  • New Version::errors() method [#7155](#7155)
  • New Version::isValid() method, which is now used in ModelWithContent::isValid() instead of the Form class. [#7155](#7155)
  • The Fields class is now used instead of Form in the Changes controller to save changes. [#7156](#7156)
  • Refactor form and toStoredValue code in the EntriesField class [#7175](#7175)
  • Consistent VersionId code style [#7181](#7181)

🧹 Housekeeping since previous betas

  • Updated JS and PHP dependencies

Don't miss a new kirby release

NewReleases is sending notifications on new releases.