# Release v6.31.1 (2026-04-21)

Published 2026-04-21 13:11:59Z

* [fylr\_checksums.txt](https://s3.eu-central-1.wasabisys.com/fylr-releases/v6.31.1/fylr_checksums.txt)
* [fylr\_v6.31.1\_darwin\_amd64.tar.gz](https://s3.eu-central-1.wasabisys.com/fylr-releases/v6.31.1/fylr_v6.31.1_darwin_amd64.tar.gz)
* [fylr\_v6.31.1\_darwin\_arm64.tar.gz](https://s3.eu-central-1.wasabisys.com/fylr-releases/v6.31.1/fylr_v6.31.1_darwin_arm64.tar.gz)
* [fylr\_v6.31.1\_linux\_amd64.tar.gz](https://s3.eu-central-1.wasabisys.com/fylr-releases/v6.31.1/fylr_v6.31.1_linux_amd64.tar.gz)
* [fylr\_v6.31.1\_windows\_amd64.zip](https://s3.eu-central-1.wasabisys.com/fylr-releases/v6.31.1/fylr_v6.31.1_windows_amd64.zip)

## Server

### New

* **/api/eas & Hotfolder**: Support **hierarchical linked object** linking. With this an uploaded folder structure (as uploaded into a collection) can be turned into links into a hierarchical object type. \[a379c9db2] \[4c89b2ab1] \[7ca1d8954] \[34978db2e] \[0ec0c92af]
* **/api/eas**: Added new query parameter `filenames`. This allows frontends to send a patch alongside with a filename to make use of the new feature to link to **hierarchical linked objects**. \[726f3408e]

### Improved

* **Zoomer**: Support `WEBP` extension. Now files ending `.webp` will publish a `iiif_url` and `zoom_url`. The zoomer will still produce `JPG` tiles, but it can do it from `WEBP` files now too. \[112cbb0c1]
* **System Rights**: Re-ordered frontend features rights. \[19a4b204b]
* **File Worker**: Add DPI parameter to recipe `browserthumbs`. Also, lowered log severity for actions from `INF` to `DBG` level. \[80b27dae5]
* **/api/collection**: Don't require a PIN from owner. Before this patch, **fylr** would require the **pin for a collection** also from the owner of the collection. This was wrong. It was already allowed for users carrying the `BAG_ACL` right, but the owner check was omitted. \[f53a3fd73]
* **fylr backup**: Backup & restore plugins before anything else. With this patch the plugins are output before any other objects. This fixes problem with mapping which couldn't be imported because they require a plugin to be enabled. \[f4d8e1cde]

### Fixed

* **/api/eas & Hotfolder**: Index collection after new file injects. This fixes a missing `OBJECT_INDEX` event which caused the frontend to not properly update collection counts and collection detail if objects were added via Hotfolder or `/api/eas`. Also, fixed a case where updates didn't work with a datamodel using reverse objects. \[18a02488e] \[9a4b37c26] \[6c9f74e4a]
* **/api/search\[aggregations]**: Aggregations of first level **polyhierarchical objects** are fixed. Thisd requires a manual re-index for affected instances. \[20ed1a992]
* **Watermarking & Caption**: Reverted *Imagemagick* induced change in watermark & caption rendering. The bug in *Imagemagick* which triggered this has been fixed in Debian `forky` (this is what we are using in the **fylr** Docker image). The patch in 6.31.0 caused problems on **Windows**. \[6b17105c4]
* **/api/config**: Fixed missing access to path containing special characters: `. | # @ \ * ! ? [ ] { } ( )`. Some of these characters were supported already before. \[eda44eb3e]
* **/api/group**: Index all users if `_auth_method_group_maps` is used. If a group uses this, we must re-index all users when that group is saved. Before, this was not done, so the indexed user were not correct in cases where e.g. a group assigned itself to all users. \[4e21bf430]
* **/api/db**: Fixed parallel access for `db_pre_save` plugins. If a `db_pre_save plugin` would access `api/db`, fylr would dead lock due to impossible lock acquire. Fixed by trying to get the lock, and sleeping 10ms before trying the next time. \[28d08e877]
* **/api/oai**: Avoid **xslt error** for empty sets. If an OAI set is empty (using ListRecords), the XSLT sheet conversion would eventually fail because it was fed no data. This fix doesn't call the XSLT sheet if there is no records found in the set. \[6d42e4288]

## Frontend

### New

* **Collection Upload** : Adds support in the collection upload configuration for the new **hierarchical linked object** property. This new functionality allows mapping a directory to a hierarchy of linked objects. See backend notes for more information.
* **Directory Drop**: We have added support for drag and drop of directories in fylr. This works both in collection upload and in the new editor modal. This functionality allows the user to drop a directory (which can include subdirectories) with assets, and all assets will be uploaded to the app.

### Fixed

* **Group Default Frontend Pref**: Fixed the functionality to configure default preferences for users in groups. This feature was not working correctly and users never received the default prefs.
* **Quick Access Objecttypes**: Fixed the construction of the hierarchy for polyhierarchical object types configured to appear in quick access. Before this patch, values could appear with completely incorrect hierarchies.
* **BG Task From Collection**: Fixed the creation of Background tasks from **search collections**.
* **Base config**: Fixed how default values are displayed in multiline fields in the base config. They now follow the same pattern as other textual fields, showing the default value as a placeholder.
* **CSS**: General CSS fixes have been applied.
* **Expert Search Filter**: Fixed a bug that hid the modifier buttons (has value / without value) for nested tables when using the expert search filter.
* **Unsaved change Dialog**: Fixed a bug that caused the unsaved changes dialog to require confirmation twice in some managers. Additionally, the message has been improved in certain managers for this dialog.
* **Menu list Tooltips**: Fixed a bug where tooltips in menus were not displayed correctly.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.fylr.io/releases/2026/v6.31.1.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
