Skip to content

3.6.1

Compare
Choose a tag to compare
@bastianallgeier bastianallgeier released this 07 Dec 11:37
· 6643 commits to main since this release
0a1f15d

🎉 Features

  • Support for PHP 8.1 #3979
  • New system.exception hook that can be used to log an error or exception in a log file or via a service like Sentry #3952

✨ Enhancements

  • Added Toolkit\Html::$inlineList with array of tags that are allowed in inline context #3884
  • System view: Renamed the "SSL" status to "HTTPS" for clarity: #3960
  • The blocks field now only shows the currently selected block options bar on nested blocks preview #3931
  • The gallery block preview uses srcset for potentially smaller preview images
  • router.php now allows the document root to be set manually #3963
  • Improved line wrapping for title and info texts on card items #3949
  • New Str::date($time, $format, $handler) method to format a timestamp as date string #3992
  • Run npm run format during pre-commit hook. #3995
  • The Kirby\Sane\Svg class now supports more attributes like xml:space and enable-background. #3982
  • Kirby\Toolkit\Dom: Added support for the special xml: namespace
  • Thumbs created with the ImageMagick driver now include the ICC color profile for better color accuracy. Note that this currently does not work for PNG images. #2537
  • Updated translations (sv_SV, ko, is_IS, fi, es_ES, es_419, cs) Thank you to all our translators 💛

🐛 Fixes

  • pages() helper does not throw deprecation warning for arrays as single parameter #3938
  • Asset objects can be used as Panel preview images again #3933
  • Fixed non-standard MIME type "application/force-download" header in Response::download() #3956
  • Converting blocks from non-existing type (e.g. after renaming) doesn't throw an error #3962
  • Item dropdown icon doesn't overlap downdown itself anymore #3966
  • Panel::go() and other exceptions are supported in the panel.route:before hook #3964
  • route:before and route:after hooks only get called for core routing calls #3951
  • Str methods handle an empty $needle string #3459
  • Fixed passing null as second parameter which is deprecated since PHP 8.0 #3975
  • The empty writer field no longer contains paragraph #3943
  • Fixed script-src warning when setting a CSP header with our nonce #3986
  • Area dropdowns can now be created with a simple closure instead of defining a full route (as already advertised) #3970:
'dropdowns' => [
    'example' => function () {
        return [ ... ]
    }
]
  • Fixed prop type check for number text in the button component #4000

♻️ Refactoring

  • Use strip_tags with array of tags #3884
  • Use PHP arrow functions #3886
  • Switched to Optional chaining operator on Frontend #3908
  • Refactored plugin loading JS #3937
  • Use Prettier for consistent JS formatting #3812
  • Use null coalescing assignment operator in PHP #3885
  • Upgraded claviska/simpleimage dependency #3989
  • Type hint for Iterator::getIterator() https://github.com/getkirby/kirby/pull/3991/files
  • Upgraded NPM dependencies #3993
  • Don't pass null to native functions that actually don't accept null but a specific type (string, int...). #3990
  • Replaced true/punycode with symfony/polyfill-intl-idn dependency #3988

📈 Stats

  • 111 commits
  • 53 closed issues and PRs

👨‍💻 Contributors

(in alphabetical order)