Release v6.18.0 (2025-02-26)
Published 2025-02-26 12:56:10Z
Server
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. 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).
New
/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 typesterm
andcount
in agg typeterm
,term_stats
andlinked_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]
Improved
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 ofchrome-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, addlimited_extension
to the mapping response ofapi/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]Go 1.24: fylr is now built using the latest Go version 1.24. [7521968a]
/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
tourn:oasis:names:tc:SAML:2.0:nameid-format:transient
. [c751722b]
Fixed
/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]
Frontend
New
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.
Improved
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 #72903Search 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 #66187Preset 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
Fixed
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 #75016Search 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 #75016Mask 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.
Last updated