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()
methodecho F::relativepath('/Users/secret/www/site/templates/default.php', '/Users/secret/www');// result: '/site/templates/default.php'
π New
$options
argument inJson::encode()
(#2111)echo Json::encode('Π·Π΄ΡΠ°Π²Π΅ΠΉ', JSON_UNESCAPED_UNICODE);
β Added
yml
andyaml
extensions toF::$types
(#2018)echo F::type('yaml');// result: code
β Added
application/yaml
andtext/yaml
toMime::$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)
- 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 thepage.changeStatus:before
hook is now filled in correctly at all times (#1982)