Release v6.21.0 (2025-06-06)
Last updated
Last updated
Published 2025-06-06 11:48:19Z
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.
Starting with this release, the following plugins will require as a dependency plugin installed in the instance.
This plugin acts as a shared library and will be a mandatory dependency for all the plugins listed below.
⚠️ Note: This change only affects the following plugins, not the plugins included in the base installation. Affected plugins have
fylr
in their name and similar named plugins in the base installation can be identified by the wordeasydb
in the plugin details (visible in the Plugin Manager).
fylr-plugin-custom-data-type-geonames
fylr-plugin-custom-data-type-wikidata
fylr-plugin-custom-data-type-getty
fylr-plugin-custom-data-type-gfbio
fylr-plugin-custom-data-type-iconclass
fylr-plugin-custom-data-type-nfis-geometry
fylr-plugin-custom-data-type-k10plus
fylr-plugin-custom-data-type-goobi
fylr-plugin-custom-data-type-tnadiscovery
fylr-plugin-custom-data-type-gnd
fylr-plugin-custom-data-type-gn250
fylr-plugin-custom-data-type-dante
fylr-plugin-custom-data-type-loc
fylr-plugin-custom-data-type-georef
fylr-plugin-custom-data-type-doris
fylr-plugin-custom-vzg-validationhub
fylr-plugin-default-values-from-pool
fylr-plugin-editor-field-visibility
fylr-plugin-find-dublicate-field-values
fylr-plugin-monitoring-endpoint
fylr-plugin-custom-l10n
fylr-plugin-tray-link-manager
fylr-plugin-numeric-id-auto-incrementer
archaeodox-fylr-plugin
Metadata Mapping: GPS coordinates can now be mapped into type geo_json
. [c86a59c3]
Export: Added EXPORT_DOWNLOAD
and EXPORT_DOWNLOAD_ERROR
. The new events are written when an export is exported. Before we only had events for single files and objects which are exported by the export (FILE_DOWNLOAD
+ OBJECT_DOWNLOAD
). This patch adds an events for each export request, this also includes zipped and tarred exports. [f68e920c]
Background Tasks: Support incremental runs, metadata: support set/unset tags. This patch brings the "incremental" feature to task modules. The runner passes the start timestamp of the last run to the module. The module can then make use of it. In case of the "metadata" module, the search the updates are based upon, filter objects which have been modified after the last run of the module. Add a feature to unset/set tags to the metadata module after successful updates of objects. [ffb2d7e1]
Background Tasks: New module set_unset_tags
added. With this module, tags can be set or unset based on a search. [ac441ada] [99ae1e8f]
Export: Added high
as quality
parameter. high
sets the quality to 85
. it turns out "maximum" (100) makes files too big without making them better. [5a27dbdd]
/api/system/location: Support read only locations. This patch adds a read only flag to the storage locations. [517820c3]
/api/search: Refactored analyzers for indexing. With this change, special characters like äüøæå
are searched verbatim with no folding applied. Only the term auto-suggestion index still folds these characters. So Bär
suggest the token bar
, Bär
and Bar
, but searching for Bär
in full text only. This requires a re-index. [9230aa2c] [5884b252] [7d2dc43f] [b178f356]
User pseudomization: Added additional_info
. This new setting in groups, allows to configure multiple columns at once for pseudomization. Before we had a single column approach, but that is not needed. This patch adds important missing columns using one additional setting. The setting for department"
was removed and is now part of additional_info
. [57e6a721]
File Worker: Use high priority workers to pick background jobs too. This patch allows high priority workers to pick background jobs too. Before this was only done by the normal workers. However, we store jobs with high background priority, so it is cleaner to also allow them to be picked up by the high priority workers. [23d8c6e9]
File Worker: Remove OCR
from pdf
in default produce config. It turns out that many customers have a lot of scanned pdf
. With the default recipe we would scan each page for text which turned out to really slow down some customers systems. We decided to leave the OCR out of our standard configuration and leave it to the user to turn it on. [e7a4b18a]
File Worker: Changed priority for rendition production. In case that an inspect/files action scheduled a resync, this patch makes sure that the initial priority "background" is set to "normal" for the production of the renditions. With this we make sure that the order of the resync will 1. sync, 2. delete obsolete renditions and then 3. produce renditions before syncing again. With this patch, the experience is closer to a one-by-one replacement (not exactly 1:1 but limited by the number of parallel workers) of the renditions. [b6aba6a7]
fylr backup / restore: Various fixes and improvements. [2fd4b657] [3f4a5033] [4e02e830] [8a459130] [7ed03334]
/inspect: Output database size on the main page. [74da37de]
Console Log: Log regular requests (except event/poll
) in level DEBUG
, before this was level TRACE
. This also adds ReqBytes
to the output. [6c2580b0]
User management: Invalidate tokens as needed. After user's password change or login capability (disabled / expired), oauth2 tokens are invalided as needed. Currently open session of the users need to re-login. [4a988dbe]
/api/search: Make _comment
a search field for match
and in
. Searching in the comment of the latest version wasn't possible * * /api/user: Allow system.root
to set _created_at
and _last_seen_at
for version 1. This is used by fylr restore
.
before. The "_changelog.comment" would search all comments in all versions. [20cc0749]
Export: Allow file export / download with status sync
. During long running resync actions it can happen that file which need to be exported are not in status done
but sync
. This status is now considered to be safe for export (the internal StatusSyncInternal that is). Also safe for export is "StatusPendingChecksum". This avoids un-exportable files during long running resync actions. [98de89d4]
Opensearch v3: Latest version of Opensearch is supported. [837affb1]
LDAP: Replace not existing keys with empty strings. If a mapping of ldap value wants %(kuku)s
replaced and the ldap entry has no such key, the value would be %(kuku)s
. This patch removes empty replacements like this. Also add a concat option to regular expression replacements. If a regexp like key||search||replace
is used to replace ldap /saml entry values, a 4th parameter can now be used to concat multiple values into one: key||search||replace||concat
. [511c0170]
Indexer Improvements: A new setting for fylr.yml
fylr.elastic.metadataFulltextLimit
can be used to cut off fulltext read from text files. This improves the memory consumption for files with a lot of fulltext. Also fylr.elastic.maxHeapAlloc
, fylr.debug.indexerSingleMode
, fylr.debug.indexerDebug
have been added (see fylr.example.yml
for documentation). The new fylr.elastic.maxHeapAlloc
variable defaults to 1G
and limits the memory consumption during indexing. The new code results in a faster and smoother (less memory) indexing experience. On capable systems it is advised to set fylr.elastic.maxHeapAllow
to 4G
or even more. Geo JSON
data is cleaned to reduce parsing errors during indexing. [38abf930] [daea46b9]
Indexer: Add file metadata in reverse nested to index. [325111ee]
Events: Extended event infos with standard, display names, references, ... for INSERT, UPDATE, DELETE events of user records and basetype. [0f6ef6f7] [0236b27b] [6f34ca66]
Register Page: Don't require address_supplement
and state
. If an address
is required for registration, don't require these 2 fields. [312ef717]
Page Forgot Password: Don't allow to restore a password if the user doesn't have the system right change_password
. [133f9fd6] [2a27e20a]
/inspect/objects: Persist settings when selecting an object type. [8ff39d20]
Shutdown: Sped up shutdown at CTRL-C or SIGTERM. [57f0ef2dc78]
Collection PIN Code: Use PIN code to limit access to objects in /api/search
and /api/db
. Before the PIN code system was server managed but without restricting pin less access to shared objects on these endpoints. [eb020324]
fylr convert: Improved managing the --blurhash
constraint for big files. [c2d62213]
/api/db: Fix setting of tags in choice
tag groups. If a tag group is of type choice
, adding a tag needs to remove other tags from that group. This patch uses this in group mode as well as for the task module. [b1e37264]
/api/export: Fixed CSV export for huge exports. In rare cases a bad connection
error would indicate a problem while preparing huge CSV exports. This was due to a parallel access of one database transaction which is now avoided. [25000111]
Rights management: Allow object creation inside a pool without the LINK
right for that pool. Only CREATE
is enough. This brings fylr in line with easydb 5. The LINK
right is only needed if an object is moved into a pool, but not created inside it. Users are advised to check their settings and policies. The previous fylr was more restrict requiring LINK
and CREATE
to create a new object inside a pool. [1a9afabd]
Has Value Search: A new button has been added in Expert Search to search whether a specific field is not empty. This new button appears next to the existing button used to search for empty fields. Custom data types need to implement a new method to work with this feature. #70914
Set/Unset Tag Task Module: A new background task module has been added. This module allows configuring or removing tags from objects. #75603
Input Search Settings: A new option has been added to the input search settings to prevent the automatic usage of the "Created Today" query after object creation. #75572
Change History Shortcut: A quick access button to an object’s change history has been added. It is shown next to the "Version" field in the editor and detail footer. #75649
Create Background Tasks in Collections: It is now possible to create background tasks that accept searches using a collection as the source. This appears as a new option in the contextual menu of collections. #75371
Date Fields: Date fields now display a placeholder using the format configured in the instance settings. #73960
Detail Sidebar: Improved the organization of certain tool buttons in the detail sidebar. #72589
Event Manager: Improved how object references are displayed in events. #73230
Text View Options: Added display options for the text view in main search. #72728
Default Tags in New Popover Editor: Improved how tags set in the template object behave in the new popover editor. #74265
Not Allowed Objects in Hierarchies: Improved how hierarchy levels are shown when a user lacks the permission to view them. #75187
Admin Messages: A confirmation tab was added for the "auto_registration" message type. #72777
GeoJSON Column: Added support for GeoJSON columns in metadata mapping. Now it is possible to map a GeoJSON value from an image to a GeoJSON field. #75857
Not Null Fields: Improved the editor to mark fields as required.
About Fylr Menu: A quick access link to plugin commits is now shown if the plugin has a repository configured. #75909
Task Manager Log: The task log now parses messages for object references, displaying the object’s quick view when the reference is clicked. #75603
Tray Apps: Added support for deep linking in tray apps. Apps can now implement the method getPathName
to configure a path that activates them. Example: TaskManager tray app. #75603
Location Manager: Added a new read-only checkbox for configuring storage locations. #76161
Search Field in Task Modules: A confirmation dialog is now shown when the search parameter is empty in modules, which means "all objects". This warns the user accordingly. #68241
Object List in Editor: A new button has been added to remove objects from the object list in the New Object Editor without needing to select them first. #73621
File Worker Validation: Added validation to ensure incorrect data is not saved in the file worker when saving the base config. #74088
Input Search Settings: The "include fulltext for files" option in input search will now be enabled or disabled depending on whether the search could contain EAS fields. #76052
Table View Optimization: Table view search will now calculate excluded fields (those not visible), greatly improving performance for large result sets. #76180
ACL Manager: Fixed a bug where a group could be shown as "undefined" in a user/group selector. Now, users without permission to view a group also cannot modify its permissions in the Pool Manager. #75807
Mask Editor: Fixed an issue with displaying the "condensed_output" option. #75862
Read-Only Mode: Fixed an error when opening the editor in list view in instances configured as read-only. #67975
Linked Object Expert Search: Fixed an error when rendering linked object selection in Expert Search. #75983
Textual Date Ranges: Fixed issues in the behavior of textual date ranges in the editor. #75711
Filter Panel: Fixed an issue preventing custom data types using easydb-library
from working correctly with AND/OR modes in the filter panel. Updated all related plugins. #74805
Linked Object Filters: Fixed a bug affecting linked object filters in the linked object search. #76135
Linked Object Creation in Metadata Mapping: Improved the creation of linked objects via metadata mapping. #75740
PDF Viewer: Fixed issues in the PDF viewer in the asset browser. #76191
Before Download Message: Fixed a bug where downloads could be blocked even when no messages were shown. #76268
Full Screen Detail Zoomer: Fixed an error preventing the zoomer from initializing with the mouse wheel in fullscreen mode if the fullscreen sidebar was opened. #76176
Fields: Fixed an issue where the linked-object field in Expert Search wasn’t styled as a combo box. #75983
Linked Object: Added correct warning style to the linked object warning label. #75983
Expert Search: Added max-width to the Expert Search popover and query element popover to prevent excessive UI shifting. #75983
Object Type Manager: Adjusted placement of select field checkboxes and empty labels in the "Field Visibility" table. #75421
Shared Templates: Fixed issue where groups didn’t receive generated rights after an API change, causing the shared templates checkbox to be hidden. #70030
Date Ranges: Fixed a bug in advanced searches using date ranges. #75932
Shared Links for Assets: Fixed construction of shared asset links. The server now includes the signature in the download URL, which previously broke additional parameters. #76188
Metadata Task Module: Added extra properties and filters to the search produced by the metadata task module to ensure correct server results. #68241
Auth Mapping Tab in Groups: This tab is now always shown if a user can edit a group's options. Previously only root users could see it. #76194
Pool Manager: Fixed drag-and-drop behavior in the list of available masks. #70781
Masks Editor: Fixed a bug where the Nested Index settings weren’t correctly synchronized across an object's masks, causing save errors. #76211