Releases: Mistralys/application-framework
Releases · Mistralys/application-framework
Filter settings and changelog improvements
Included in this release:
- FilterSettings: Added constants for the "Apply" and "Request" button request vars.
- Clientside: Added
UI.RequireElement()
to fetch elements by selector with exception fallback. - Changelog: Added
limitByCustomField()
to the changelog filter criteria. - Changelog: Added
getChangelogItemInsertColumns()
to the changelogable interface. - Changelog Screen: Removed the obsolete "Switch revision" button.
- Changelog Screen: Now displaying the revision number in the grid.
- Changelog Screen: Added the overridable
applyCustomFilters()
. - Changelog Screen: Added a button to reset the filters.
- Changelog Screen: Added filtering by revision.
- Changelog Screen: Added filtering by start and end date.
- Forms: Added support for
ArrayDataCollection
as default form data set.
Update notes
Check if any of your revisionable classes override the method
getChangelogItemPrimary()
provided by the base class.
If they do, make sure that the return value does not include
the item's revision.
Error log fix
Included in this release:
- ErrorLog: Fixed
.trace
JSON files causing an exception in AppUtils. - Dependencies: Updated AppUtils Core for the file type registration feature.
- Dependencies: Updated AppUtils Core minimum version to v2.3.4.
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.