Release v6.19.0 (2025-03-27)
Last updated
Last updated
Published 2025-03-27 15:17:13Z
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.
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 to 50
.
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]
XSLT 3.0 support: Migrated the XSLT processor from to . We use Saxon-HE in the fylr Docker image. Contact us if you need streaming support for Saxon-EE. [d9787d68]
/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
(in POST
, was already like that for GET
). [2737c17c]
/api/export|eas/download: Support quality
in custom versions. Support for parameter quality
was missing from easydb 5. This patch adds this back. In easydb 5 it was named jpeg_quality
. [b1d831e2] [214b6788] [cd15f7d9]
/api/search: Added .range_year|month
subfields for daterange
, date
& datetime
. Enable range support for date
& datetime
. We had this for daterange
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 no webdvd.zip
support in fylr, but with this patch, the extension is recognized (in class office
), so that we can support the existing frontend WebDVD player. [4cf13eb7]
WebDAV Hotfolder & PUT /api/eas?collection: Support nested create_version
and improve update match. With create_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}
, the statuscode
response would be 500
, because the error was parsed as api error in strict mode and api error has no err
property but error
. This patch relaxes the strict parsing, so whatever is found in the responded error json is parsed into api error and, if statuscode
is set, returned to the caller. Also, the X-Fylr-Error
and X-Fylr-Error-Code
headers are set if an api error is found in the response json with properties code
and error
, resp. [0c7823ce]
fylr convert: Support capitalized extensions. [a99a9d07]
fylr backup / restore: Various improvements & fixed. [f9b52617] [34966ba3] [c2a28539] [05c1f085] [4ec96cb1] [ce882db8] [944aa1cb] [2b65a076] [50f7de7e] [aa0c31ef]
/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 via ZIP
or TAR
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]
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
Admin Event Manager: Added support for the right system.api.event[get]
in the admin event manager. See #75531
Export 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 #74790
Plugin Manager (Install Form): The plugin install form was enhanced to
avoid sending both zip_file
and url
simultaneously and to only show the
relevant field (URL or ZIP) depending on the chosen mode. See #75617
Message 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 inResultDynamic
, so the DOM only updates when new data is ready, reducing
flickering. See #33713
Editor-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
Admin Event Manager: Fixed the display logic for the remove event button
by verifying the system.api.event[delete]
right. See #75531
Fylr – 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 #75431
GeoJSON Field Restore: Fixed an issue where geoJSON fields failed to restore from stored searches if the Turf library was not yet loaded. See #33713
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.
Reverse Proxy: The reverse proxy will now set x-forwarded-*
headers as described . [d655f3fa]