Release v6.18.0 (2025-02-26)
Last updated
Last updated
Published 2025-02-26 12:56:10Z
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. This is to support the new sorting by _level
and <object>._parent_child_idx
(see below).
A new index will be created on the value
table. This can take a while, if you database is big (see below).
/api/config: New setting to hide fields in user manager. The new register.form.use_in_user_manager
can be used to hide fields in the user manager. [a220f3bf]
/api/rput/bulk: New endpoint to support bulk remote file uploads. Also added skip_duplicate_reference
as new parameter for /api/rput
and /api/rput/bulk
to ignore duplicate references and load the file if the reference already exists. [c3ad997b] [083d689c]
/api/system/mail: New endpoint to send custom mails. [51ca2960]
/api/search: Support term sorting. order
is now supported for sort types term
and count
in agg type term
, term_stats
and linked_object
. [1aa632d5]
Read-Only mode: This patch brings the Read-Only mode to fylr. It can be set in the base config and avoids write operations to the fylr db. It should be used during migrations where the source data must remain in a consistent state. Not everything is read-only though, e.g. running exports is still possible as well as user record updates (from the user himself). Also, event and message POSTs are allowed. This adds a http header X-Fylr-Read-Only-Mode: true
in case fylr is in read only mode. [fde76db5] [af77e54a]
/api/group: New columns category_a
, category_b
, category_c
. The new columns category_a, category_b, category_c can be used to categorize group for easier filtering. [df58e8b2] [3303489c]
fylr backup/restore: Support --max-parallel
to run backups and restore in parallel chunks to save time. Also robuster connection retry. Also includes better filename generation as needed. [ba68ea9a] [a83f7217] [1332bb7e]
/inspect/migration: Support new parallel settings, minor improvements of form loading. [5215c0d3]
POST /api/db: New dedicated VersionMismatch
error. This helps the restore tool to detect already uploaded payloads. [ea582508]
/api/rput: Use only one database transaction instead of 3 to make the endpoint more robust. [c3ad997b]
/api/settings: Output number of CPU. [083d689c]
Dockerfile: Integrate Chromium
instead of chrome-headless-shell
. With this we are in-sync with regular Chrome releases. [579b5f81]
/api/search|db: Add _best_mask
to response. This was supported in ez5 but missing in fylr. [5883571d]
fylr backup: Added --max-parallel
, renamed cmd line params. Renamed --chunk
to --chunk-size
(also for restore). Renamed --limit
to --maximum-count
. Verify payloads only with --verify
or if --maximum-count
> 0. Use payload file names to determine if a payload can be skipped with --continue
. [8fab1106]
Register Page: Support info
with Markdown. [0c6f853c]
/api/xmlmapping: Added limited_extensions
, improved import. The import into collections has been improved if metadata mapping requires a recipe which doesn't support the extension of the file uploaded. In this case, the file is still accepted into the collection, just without an applied metadata mapping. Also, add limited_extension
to the mapping response of api/xmlmapping
. This can be used by frontend to check beforehand if a file metadata check will be supported or not. Also, improve the error message in case a metadata mapping on an unsupported file extension is requested. [d77c40f7]
/inspect/customdata: Added offset + limit for detail view. [f30a8d06]
OAI/PMH: Added missing schema and namespace declarations for metadataFormat=oai_dc
. [fcc84aed]
/api/search: Support sorting and querying of _level
and <object>._parent_child_idx
. This requires a re-index. [b9f7ef60]
/api/db: Numbering is now limited to reverse hierarchies only. This limitation existed before but was not enforced by the fylr API. [b9f7ef60]
POST /api/db: Speed-up for huge databases during object injection. A new index on table value
helps to faster find pending linked object relations which have been inserted with _allow_defer: true
. [e17a0a08] [b6ce5174]
File worker: Log requeueable errors in Warn
level (before there was no logging). [079c0d51]
Notifications: Remove unreachable entries from job list. Detect some errors about not found objects for notifications. This patch removes the notifications. Before we had zombie left-overs in our database which were retried over and over with every fylr start. With the new code old zombies will be removed too. [fdd29c69]
GET /api/saml/metadata: Set NameIDFormat
to urn:oasis:names:tc:SAML:2.0:nameid-format:transient
. [c751722b]
/inspect/apidocs/: Fixed on Windows. [9c95a23d]
/inspect/system/commands/: Fixed stop
for restores. [3ff3d3f5]
OAI/PMH: Fixed resumption token to follow spec. The resumptionToken implementation was not implemented as defined by the spec. This patch fixes that. The token now includes all relevant info from the initial request. Also, we now use search point in time to snapshot the index for reliable paging using the resumptionToken. [b5f33e5b]
/api/eas?mapping=ID: Fixed reading text lists. If the xml search path yields complex XML nodes, the previous implementation would collect all text as one string from these nodes resulting in a list of keywords appearing as "keyakeybkeyc". This patch fixes this by explicitly collecting the text nodes underneath the xml search path from the mapping. This is the same as ez5 does it. fylr uses "//text()" for that (appended to the search) patch, so all text nodes are found recursively. [cec3ffcd]
POST /api/db: Fixed update of objects using lookup:_id_parent
. This was ignored and this lookup was only working for inserts. [b9f7ef60]
POST /api/pool: Fixed system root pool update for non system.root
users. [87260d9c]
Group Categories: Added three new fields in the group configuration: Category A|B|C. These fields allow groups to be categorized and filtered using these categories. See #70031
Add Collection to Search Tool: Introduced a new tool to append the collection query search to the end of the search input, instead of overriding the entire search input. This enables users to combine collection queries with other query elements. See #75012
Color and Icon Inputs: Added two new field types in the base config and configuration panels that allow previewing colors and icons. See #74630
Hidden User Fields: The user manager now hides fields configured to be hidden in the base config. See #74422
Shared Templates - Group Manager: Added a new tab in the group manager when a group has shared_templates. This new manager, similar to the shared_templates editor customize menu but more comprehensive, displays extra info like the username who shared the template, the mask, and allows editors to view all templates for all object types in one place. See #70030
Collection Views: Added the result views from the main search to the available result views for collections. This means collections can now be visualized using the Text View and Table View. See #74417
Pool Rights: Added valid_from and valid_to options to the ACL Manager of the pools, allowing users to set rights in pools for a specific timeframe. See #75099
Sort of Pinned Filters: Pinned filters can now be sorted by the user.
Pool: Tag records from other users: A new feature has been added to pools allowing users to tag objects that do not belong to them. This new function defines a custom virtual tag that will be displayed if the object being viewed does not belong to the current user. #74447
Pool: Sharing Deep Links settings: A new feature has been added to pools allowing users to configure whether defined users/groups can share an object they do not own. #74447
Search Autocomplete Suggestions: Enhanced the autocomplete speed in the search input to improve the user experience. See #71227
Main Search and Deep Links: Improved the execution order when a deep link is present in the URL in the main search. Now, the deep link search runs within the main search, saving resources and enhancing the startup flow. See #74067
CSV Importer: Added a warning text for numbers that will be converted from decimal formats to integers in the CSV importer. This warning is included in the corresponding warning_text
column during import preparation. See #72903
Search Reset Tool: The reset button now also resets the Search Type Selector Manager, enabling all options in the Resources panel. See #73009
Filter Panel: Improved the settings of the filter panel, making it possible to change the order (ascending or descending) of the filters. See #75213
Detail Hierarchy List: Enabled sorting by parend_child_idx
in the detail hierarchy view for reverse hierarchy objects. This displays objects sorted by the manual sort configured in the reverse field. See #66187
Preset Manager: The active tab in the preset manager is now persisted between saves. See #72901
Base Config: The base config now remembers the last item selected in the listview section when saving, allowing the user to continue editing the same settings if no reload is selected. See #72901
Hierarchy Detail: The hierarchy detail now uses the same sorting as the search that opens the detail panel, syncing the sort of objects shown in the search and the detail hierarchy list. See #75183
Metadata Mapping Process: Improved the modal that indicates the metadata mapping process when importing new resources.
Search Input: If the user inputs "and", "or", "not", "&&", "||", or "!", the autocomplete popup will now include boolean operators as suggestions.
Date Filters: Added new subfilters in date filters for filtering by month and dates. See #73482
Exact Token: Added support in the search input to search exact tokens by wrapping the search term between backticks (`). Previously, using the Exact Token suggestion was the only way to add this type of search. See #74317
Nested Popups: Fixed errors in nested popups. See #75280
Result Objects: Fixed an issue where pointer events were not reaching other elements in selected result objects. See #75276
Collection Properties: Resolved an issue that prevented the correct display of a collection's properties if the instance had an object type without masks. See #75275
Read-Only Mode: Corrected the display of the read-only message in read-only mode. See #67975
CSV Importer: Fixed support for zero values when importing numbers in the CSV importer. See #72902
Detail Sidebar: Resolved a bug where the detail sidebar opened without a global_object_id
after the server informed the frontend that the user lacks permission to create an object. See #75016
Search Tokens: Fixed a bug where exact token suggestions were not clickable. See #75153
Metadata Mapping: Corrected a bug that caused the "Deep Link URL" tag to be added in easydb, which is only supported in fylr. See #74149
Search Input: Fixed a bug where the search input became unusable after an empty call. The placeholder token was not re-added after the empty call, preventing user input. See #75215
CSV Importer: Resolved an issue that prevented finding all parent objects in an import with more than 100 objects. See #74944
Metadata Mapping: Fixed a bug where the copy button for metadata fields was activated for all fields. This button should only be enabled for custom metadata fields. See #75154
EZ5 Paged Viewer: Corrected an error in the paged viewer. See #75701
Autocomplete in Search Input: Fixed the cleanup of items when the autocomplete popup is displayed. Previously, results from prior searches lingered for a few milliseconds, making the UI less fluid when loading new results. See #74868
Editor Templates: Resolved a bug when merging editor templates in a record with linked objects created by metadata mapping. See #67699
Default Tags in New Editor: Default tags are now properly set in dbinfo
when creating a new object in the editor. See #75016
Mask Editor: Fixed the offset of the customize button for mask splitters in the mask editor. See #75214
Filter Panel: Facet manager: Prevented facet count numbers from breaking onto a new line.
Lists Deep Links: Fixed the deep linking of lists containing object types available in main search. Before this patch, if the object type was available in the main search, the main search loaded instead of the list search, even when the list/location was explicitly used in the deep link.
Go 1.24: fylr is now built using the latest . [7521968a]