Releases: Mistralys/application-framework
Releases · Mistralys/application-framework
Offline event listener priority (Breaking-S)
Included in this release:
- OfflineEvents: Added the
getPriority()
method to listeners. - OfflineEvents: Listeners can now optionally be prioritized to adjust their order.
- AdminURL: Added
importURL()
to import parameters and dispatcher from URL strings. - AdminURL: Added
inheritParam()
to inherit a parameter from the current request. - AdminURL: Added
getParam()
. - Composer: Added utility scripts in the class
ComposerScripts
. - Composer: Use
composer clear-class-cache
to clear the PHP class cache. - Composer: Use
composer clear-caches
to clear all caches. - Composer: When running
composer dumpautoload
, the class cache is now automatically cleared. - Collections: Added the utility class
BaseRecordCollectionTieIn
. - Collections: Added
IntegerCollectionInterface
andStringCollectionInterface
. - Collections: Added
IntegerCollectionItemInterface
andStringCollectionItemInterface
. - DBHelper: Added the utility class
BaseDBRecordSelectionTieIn
. - Application: Added
isInstalledAsDependency()
. - Application: Added
detectRootFolder()
. - Session: Now clearing the
$_SESSION
array when destroying the session. - Tests: Added a tie-in ancestry testing screen.
- Tests: Added a test collection of mythological figures to test the string-based collection interfaces.
Breaking changes
- Renamed
Application_CollectionItemInterface
toApplication\Collection\CollectionItemInterface
. - Renamed
Application_CollectionInterface
toApplication\Collection\BaseCollectionInterface
. - The
BaseCollectionInterface
should not be used directly, but a type-specific like
IntegerCollectionInterface
instead.
Country ButtonBar fix
Included in this release:
- Country ButtonBar: Merged hotfix from v5.4.5-hotfix1.
- Country ButtonBar: Added constructor parameter to limit the available countries.
- Country ButtonBar: Fixed duplicate country parameter in links.
- Formable: Added overridable
_handleFormableInitialized()
.
Country button bar fix
Included in this release:
- Country ButtonBar: Fixed the button bar not correctly storing the selected country.
- Country ButtonBar: Fixed the
load()
method being called repeatedly. - Country ButtonBar: Added
setStorageEnabled()
to disable storing the selected country. - Country ButtonBar: A country can now be selected manually via
selectCountry()
. - Country ButtonBar: Saving the selected country is now done at render time.
- Country ButtonBar: Added tests.
Small enhancements
Included in this release:
- Wizards: Added
_onRecordCreated()
to the DB creation step. - UI: Linked labels and badges now clearly show that they are clickable on hover.
Session handling
Included in this release:
- Session: Added namespaces for disabled authentication and session simulation.
Fixes
Fixes
Quality of Life and Tagging (Breaking-L)
Included in this release:
- Markdown Renderer: Fixed image tags missing the
width
attribute. - Media: Tags are now shown in the image gallery.
- Media: Tags can be edited in the image gallery.
- Media: Image names are now linked to the media document pages in the image gallery.
- Media: Fixed documents being loaded every time
getByID()
is called. - Media: Tags can now be edited in the status screen directly.
- Driver: The version handling system now officially uses the
dev-changelog.md
file. - Driver: The version info has been moved from the
DevChangelog
toVersionInfo
. - Driver: Added
AppFactory::createVersionInfo()
. - Deployments: The version file is now created with a deployment task.
- OfflineEvents: Now using the class cache to load listeners.
- OfflineEvents: The listener folders are now named after the event name.
- OfflineEvents: Listeners now only need to implement the
handleEvent()
method. - Tags: Added the
TagCollectionRegistry
that collects all taggable record collections. - Tags: Added
getByUniqueID()
anduniqueIDExists()
. - Tags: Added the
TaggableUniqueID
utility class to work with unique IDs. - AppFactory: Added
createVersionInfo()
. - UI: Added an ES6 dialog implementation.
- UI: Added the
UI.HideTooltip()
clientside method. - UI: Added the utility class
ElementIds
to work with element IDs and getting elements. - FilterSettings: Added
configureFiterSettings()
to make adjustments possible. - AJAX: Added the base class
BaseHTMLAjaxMethod
for HTML-based requests. - AJAX: Added the base class
BaseJSONAjaxMethod
for JSON-based requests. - Session: Fixed session not being destroyed when the user logs out.
Upgrade guide
See the upgrade guide for details.
Client-side logging improvements
Included in this release:
- JS: Fixed a data key mismatch in the AJAX error logger for the source page URL.
- JS: Moved the code to handle JS error logging to a dedicated class.
- JS: Improved the logging of JS errors to include the application log (#15).
- JS: Exceptions now include a stack trace.
- JS: The full clientside log is now available for JS errors, including a stack trace.
- Testing: Added a screen in the test application to test the client-side error logging.
- Core: Added utility class
AppDevelAdminURLs
for Devel admin URLs. - Media: Added
getImageFormat()
to images. - Media: Added
supportsThumbnails()
to images. - Media: Thumbnails will no longer be generated for animated GIF images.
- Dependencies: AppUtils updated to get access to ImageHelper enhancements for image formats.
- Dependencies: Updated AppUtils to v3.1.0.
Sections and context buttons
Included in this release:
- UI: Fixed context button size in subsections.
- UI: Added
makeContentIndented()
in sections. - UI: Added size related methods (e.g.
isSmall()
) to buttons. - App Interface: Added/improved some section examples.