v5.2.0 (2026-07-03)
Bug Fixes
-
Allow custom plugin class names in plugin configuration (
61e34d9) -
calendar: Apply resource event colors and fix create reservation button display (
2ed1348) -
deps: Improve Dependabot rebase workflow reliability (
85e9ba5) -
ics: Escape calendar text fields for RFC 5545 (
6b26ed3) -
ics: Use reservation notes as description (
b1ee07f) -
pages: Delegate RedirectResume in page decorators to fix TypeError (
8766086) -
payments: Require php-intl extension for currency formatting (
ccd9023) -
reservations: Prevent false success for no-op updates (
e00354b) -
x-editable: Prevent invalid JSON in data-source for custom attributes (
99ce7dd)
Continuous Integration
-
deps: Add hourly workflow to rebase out-of-date Dependabot PRs (
1c74e0a) -
deps: Remove the dependabot rebase workflow (
d5341fb)
Documentation
-
Add custom plugin development guide (
3a9ef5e) -
config: Enhance privacy settings descriptions and comments for clarity (
cdfc3fd)
Features
-
Move custom logo & favicon to configurable upload directory (
e715182) -
config: Add ConfigKey readonly class for typed config definitions (
2b0c560) -
ics: Add global config switch to enable/disable ICS/Atom feeds (
6be95ef)
Refactoring
-
config: Add ConfigKey::fromArray() and accept it in registries (
8c28d0d) -
config: Drop dead array branches from the typed boundary (
b26019b) -
config: Emit typed ConfigKey from the read boundary (
b6ff323) -
config: Support ConfigKey instances in AbstractConfigKeys (
1273993) -
custom-attributes: Replace ID column with name and prefixed identifier (
3520a03) -
ics: Extract shared subscription page base (
a22c30b)
Detailed Changes: v5.1.0...v5.2.0