Release v6.19.0 (2025-03-27)
Published 2025-03-27 15:17:13Z
Important
This release forces a blocking re-index. Make sure to plan enough time for this update as your users will not be able to access the database while the re-index is running.
Server
New
Startup: New fylr.yml config
fylr.elastic.startupConnectTimeSec
. This new config allows to configure the seconds fylr tries to reach the indexer at startup. Defaults to50
.Export / OAI/PMH: Add option to embed linked objects which are in main search. We already had embed linked object if not in main search, this adds the variant to embed linked objects if they are in main search. [493502db]
Custom Versions: Support
WEBP
for custom downloads and exports. Also adds a new parameter--webp-quality
to fylr convert. [62bc077f]/api/collection: Added
_count_recursive
as a new property sibling to_count
. The new property contains the number of objects links in the collection and all its descendants. [fb0c3539]
Improved
/api/db: Performance improvements for huge databases. [31ad5110] [72894b6e] [d1f03b6c]
/api/db: Speed up loading reverse objects, improved loading of objects in GET /api/db, GET /api/db[list], after POST /api/db. The improved loading contexts skip reverse and other flags if not needed by the format. Also, skip reverse loading with url parameter
skip_reverse_nested
(inPOST
, was already like that forGET
). [2737c17c]/api/export|eas/download: Support
quality
in custom versions. Support for parameterquality
was missing from easydb 5. This patch adds this back. In easydb 5 it was namedjpeg_quality
. [b1d831e2] [214b6788] [cd15f7d9]/api/search: Added
.range_year|month
subfields fordaterange
,date
&datetime
. Enable range support fordate
&datetime
. We had this fordaterange
already. [fe26104f]/api/search: Added support for system field in reverse nested. Requires a re-index. [7d3de23d]
/api/search[type=event]: This is now only allowed with system right
system.api.event[get]
. [9290459d]/api/search: The filename without extension was added to the full text index (required re-index). [a9f655da]
Notifications: The notification cleanup can cover more cases now. The case is that a transition action has been removed before a notification caused by it was sent out. [46862bd8] [77b7dca4]
Startup: Output error message if plugin glob path could be found. Before this was silently ignored. [79473b04]
Page: Service Unavailable: Removed link to home. [45450339]
File worker: New recipe parameters for more compatible
MP4
renditions. This will be applied to new uploads or if file renditions are re-produced using/inspect/files
. [ae2d5f45]File worker: Recognize
webdvd.zip
extension (to enable client support). There is nowebdvd.zip
support in fylr, but with this patch, the extension is recognized (in classoffice
), so that we can support the existing frontend WebDVD player. [4cf13eb7]Reverse Proxy: The reverse proxy will now set
x-forwarded-*
headers as described here. [d655f3fa]WebDAV Hotfolder & PUT /api/eas?collection: Support nested
create_version
and improve update match. Withcreate_version
uploaded assets can be appended to an existing nested. Also, the matching for filenames is now word based for the value, so a filename like bergsee.jpg will match in bergsee.jpg; another.jpg. The separators are comma, semicolon and newline. Spaces are trimmed. [46537e6a]CSV Export: Render hierarchy standard info into
_path
. Before this was only including ids. [fa740966] [ee50a52d]Extension Plugins: Relax error parsing for improved
statuscode
detection. If a plugin returned{"code": "some.error", "err": "custom error", "statuscode": 400}
, thestatuscode
response would be500
, because the error was parsed as api error in strict mode and api error has noerr
property buterror
. This patch relaxes the strict parsing, so whatever is found in the responded error json is parsed into api error and, ifstatuscode
is set, returned to the caller. Also, theX-Fylr-Error
andX-Fylr-Error-Code
headers are set if an api error is found in the response json with propertiescode
anderror
, resp. [0c7823ce]fylr convert: Support capitalized extensions. [a99a9d07]
fylr backup / restore: Various improvements & fixed. [f9b52617] [34966ba3] [c2a28539] [05c1f085] [4ec96cb1] [ce882db8] [944aa1cb] [2b65a076] [50f7de7e] [aa0c31ef]
Fixed
/api/db: Fix crash bug in reverse self linking case. In a specific case where a reverse linked object would be used together with a bidi linked objects linking to itself, fylr would crash. Also improved detected of illegal paths in hierarchies. [f67de25c] [5ad30714]
/api/db: Fixed a case where saving wasn't possible because of missing mask system rights. [16a54b5f]
/api/db: Fixed importing object types without mask. [8ac1ab92]
/api/right: Don't output rights from disabled plugins. [ca1f62e3]
/api/export: Write
FILE_DOWNLOAD
events if files are downloaded viaZIP
orTAR
files. [e2e121aa]**/api/export: Prevent recursion in XML export. Cases using bidirectional nested, could lead to fylr crashing (stack overflow). [a2c29611]
Event listener: This patch fixes a problem in event broadcasting which could lead to contention and made fylr unresponsive to POST /api/db. [ed7874de]
Janitor: Fix removing remote addresses from events. The base config
event_remote_addr_expire_days
was never properly read from the config system and thus no remote address ever got deleted by the janitor on any fylr. [27e9d682]
Frontend
New
Core Event Manager: Moved the Admin Event Manager code from the event-manager-plugin to the core app. The manager it is now available without requiring an additional plugin. See #75531
Recursive Count in Collections: Collections now display the total number of items (including children) when collapsed and the exact count when expanded. See #75057
Expert Query Editor: Added a new functionality in the query element fields (input search) that allows users to click and edit query content without deleting and recreating them. See #72671
Date Filter Enhancements: Introduced new
.range_year
and.range_month
subfields for date-based columns to improve date-range filters and expert searches. See #75418
Improved
Admin Event Manager: Added support for the right
system.api.event[get]
in the admin event manager. See #75531Export Custom Version Quality: Added a new “keep” option to the quality selector (JPEG/WebP) so the original quality remains unchanged. See #75439
QueryElementGeoBoundingBox: Added support for storing bounding box search data so such searches can be saved and restored. See #33713
Pinned Facets: Added a secondary label in pinned filters to display the object type, helping distinguish filters with the same name. See #70863
result-Card-Path: Switched truncate style when there are four or more path elements and limited the “one-line” style to standard result cards (search) and used a multi-line style elsewhere. See #75625
Collection Upload Settings: Strengthened validation of the
update_policy
field in the collection upload settings. See #74790Plugin Manager (Install Form): The plugin install form was enhanced to avoid sending both
zip_file
andurl
simultaneously and to only show the relevant field (URL or ZIP) depending on the chosen mode. See #75617Message Types: Changed the order of message types for improved clarity in the messaging interface. See #72818
Plugins Manager: Page now auto-reloads after a plugin is installed and enabled, streamlining the setup process. See #75305
Search Execution: Allowed the search manager to run without triggering a “wait” block, preventing flicker (especially useful in map- based searches). See #33713
ResultDynamic Rendering: Improved how dynamic objects render in
ResultDynamic
, so the DOM only updates when new data is ready, reducing flickering. See #33713Editor-Templates-Customize: Optimized data table views inside smaller pop-ups. See #75423
Tag Filters Popup: Centered checkboxes, removed unnecessary scrollbars, and allowed the popup to grow if table labels get wider. See #75428
Asset Download Confirmation: Admin Messages now include asset IDs and classes for all requested downloads in confirmation events. See #74668
Plugin Manager (Add Plugin Form): Added an “Enable” checkbox in the Add Plugin form so plugins can be enabled immediately upon upload. See #75305
GeoJSON Column: Added a new combo box to the geoJSON field editor, allowing for faster feature creation (e.g., parsing points in multiple formats). See #33713
Metadata Browser: Added support for a multiline label with “read more/less” in the metadata table for asset info. See #74937
Standard Path Tooltip: Added a tooltip showing the full path in the standard path element. See #75625
Fixed
Admin Event Manager: Fixed the display logic for the remove event button by verifying the
system.api.event[delete]
right. See #75531Fylr – Export Manager Color Profile: Corrected behavior for unset color profile values, aligning it with server expectations (empty instead of null). See #75439
Nested Popup: Fixed an issue where EAS fields were not correctly processed in nested table pop-ups. See #75600
Download Manager: Fixed missing field info when creating download managers, corrected the title when downloading a single asset, and improved handling of filtered assets. See #75604
Change History: Fixed loading of the latest object version in comparison mode to ensure consistent diff structures. See #75017
Expert Search: Fixed errors when opening the expert search if certain parent fields were not initially visible. See #75489
Date Filters: Removed a duplicate day aggregation that led to unexpected hierarchies. See #75418
Admin Messages: Corrected the handling of min/max checked fields in confirmation messages. See #75490
Restoring Nested Fields: Addressed a bug preventing nested field input queries from being restored in stored searches. See #75471
Detail Asset Browser: Resolved an overflow issue in the “File Variants” (Versions) tab. See #75434
Search Result Card: Fixed the text color inheritance in
result- card-path
so it correctly follows the parent’s foreground. See #75431GeoJSON Field Restore: Fixed an issue where geoJSON fields failed to restore from stored searches if the Turf library was not yet loaded. See #33713
Plugins
Geo-JSON Plugin: We've released the first beta version of the Geo-JSON plugin for fylr, enabling visualization, editing, and interaction with geographic data using "Geographic" type fields.
Last updated