Kirby v3.2.5-rc.1 Release Notes

Release Date: 2019-09-17 // over 4 years ago
  • πŸ”‹ Features

    • 🍱 The panel can now be extended with your own icon plugins πŸŽ‰

      panel.plugin('my/icons', { icons: { 'my-icon': '<path d="M7,3V13H5v2H8a1,1,0,0,0,1-1V4h2V2H8A1,1,0,0,0,7,3Z" /><circle cx="2" cy="14" r="2" /><polygon points="12 0 12 6 16 3 12 0" />' } });

    • 0️⃣ You can now use query templating in more blueprint options (help, default, label, empty and headline) (#1823, #1862)

      fields: text: label: "Notes for {{ page.title }}"type: textareahelp: "You can fill in some notes for {{ page.title }} here"

    • To create a custom response in your custom API routes, you can now return a Response object (#2076)

    • Content locking can be switched off with the new content.locking option (#2000)

      return ['content' => ['locking' => false]];

    • πŸ†• New F::relativepath() method

      echo F::relativepath('/Users/secret/www/site/templates/default.php', '/Users/secret/www');// result: '/site/templates/default.php'

    • πŸ†• New $options argument in Json::encode() (#2111)

      echo Json::encode('Π·Π΄Ρ€Π°Π²Π΅ΠΉ', JSON_UNESCAPED_UNICODE);

    • βž• Added yml and yaml extensions to F::$types (#2018)

      echo F::type('yaml');// result: code

    • βž• Added application/yaml and text/yaml to Mime::$types (#2018)

      echo Mime::fromExtension('yml');// result: application/yaml

    ✨ Enhancements

    • Clicking the Today button in the calendar dropdown will now immediately set the date (#1736)
    • More detailed PHP CS settings now result in even cleaner source code
    • Changing a user role is now completely disabled if there's just one role (#1948)
    • The parent option in sections is now validated correctly and a readable error message is thrown when incorrect objects or values are given (#1938)
    • 0️⃣ The current user's role is used as the default when creating new users (#2038)
    • 0️⃣ The panel default language is now used as default in the installer and when a new user is created (#1940)
    • πŸ‘Œ Improved pull request template
    • πŸ‘ We now use absolute class names in doc blocks for better IDE support
    • A custom panel css file has now a cache-buster timestamp (#1729)
    • πŸ†• New detailed error messages on uploads, including php.ini setup issues (#1812)
    • The image preview in structure fields now uses srcset and proper thumbnails (#2039, #2040)
    • ⚑️ Updated contributing guide
    • Invalid structure field data now throws a human-readable error message (#2046)
    • ✨ Enhanced structure field preview for multiselect fields (#1996)
      FireShot Capture 749 - Exploring the universe - Mægazine_ - http___localhost_test_kirby_1996_p
    • Images in the panel now use the new native lazy loading in Chrome
    • We reduced the content locking frequency to make locking less resource-intensive (#2000)
    • ⚑️ Updated translations
    • πŸ–¨ Translated options in blueprints have better fallbacks now, if the language is not available (#1876)
    • An invalid field section setup is now throwing a more readable error (#1935)

    πŸ›  Fixes

    • πŸ‘‰ Show radio buttons in the files, pages and users pickers, when the max option is set to 1 (#2109)
    • πŸ›  Fixed panel jumps on opening the file dialog from textareas (#1879)
    • πŸ›  Fixed unicode replacements in Slug generator (#1903)
    • πŸ›  The correct locale is now set in API calls from the panel, which fixes localised dates and other localisation issues (#1872)
    • πŸ”Š Forbidden user roles no longer appear in the user dialogs, when creating a new user or changing user roles (#1917)
    • 0️⃣ Default values in structure fields no longer block saving checkboxes and other fields correctly (#1950)
    • βž• Adding files to the textarea now creates correct absolute paths when necessary (#2003)
    • πŸ‘‰ Users without an admin role can now change the roles of other users if they have permissions to do so (#1919)
    • Keyboard navigation through dropdowns now skips disabled options correctly (#1661)
    • Routing in the panel no longer shows broken fields (#2007)
    • The pattern validation in text fields is now working correctly (#2041)
    • πŸ›  Fixed Page siblings in page.update:after hook (#1401)
    • Consistent $collection->append() and $collection->prepend() methods (#2078)
    • ⚑️ The Vuex user store is now correctly updated when the email, language or name of the current user is changed (#1957)
    • Untranslatable fields in multi-language installations are now never stored (#2001)
    • Files in the files section are now sorted explicitly by the sort field to fix a wrong order (#2020)
    • Invalid fractions in structure fields are now handled correctly (#1930)
    • Focusing a disabled structure field no longer throws an error (#1960)
    • A duplicated page is now properly indexed when the page.duplicate:after hook is triggered (#1923)
    • πŸ‘ Better range input behaviour when the field is empty (#2044)
    • πŸ›  Fixed layout of the empty box, when there's a lot of text (#2065)
    • The info option in the users field is now working correctly (#2050)
    • πŸ›  Fixed unclickable links in the help text of a disabled field (#1965)
    • The disabled toggle field now displays its state correctly (#2004)
    • πŸ›  Fixed a bug in the time field, which always set the time to 12:00 AM (#1781)
    • 🏁 The file field in API error responses is now showing the correct file path on Windows (#1937)
    • 0️⃣ Spellchecking in textareas is now enabled by default again (#2047)
    • πŸ›  Fixed Page siblings collection in page.changeSlug:after hook (#1952)
    • A newly created user can now be impersonated directly (#2021)
    • πŸ›  Fixed widont() helper when the last word contains a dash (#1902)
    • πŸ›  Some nested array options in the config didn't work reliably. This is now fixed (#1944)
    • The $position parameter in the page.changeStatus:before hook is now filled in correctly at all times (#1982)