# Release v6.28.0 (2025-12-19)

Published 2025-12-19 14:12:10Z

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

## 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. \[41899033e] \[3c7509de2]

### Improved

* **/api/export**: Support `STDIN` as optional input path for plugins. This extends the export / export\_transport path to allow sending `"export"` via STDIN instead of filling the `%info.json%` with it. For bigger exports this helps to work around limitations of cmd line calls where the size of argument characters is limited. See the [documentation](https://docs.fylr.io/for-developers/plugin) for more information. \[5ac80b88a]
* **/api/search**: Output `preferred` attribute for files if requested using `include_fields`. \[a08ed237f]
* **/api/db**: Remove **empty nested rows** on save. This change allows the frontend to delete nested rows while keeping the ability to send a nested row with only a \_uuid in limited masks where the server needs to add existing fields to the record. Only the server can determine if a row is empty and can be omitted during s ave. \[28035bfdd]
* **fylr.yml**: Automatically adjust **fylr.elastic.maxMem** to match (-10%) to match http.max\_content\_length of the indexer. If **fylr** sends more data than allowed, the bulk index request would get refused. \[41899033e]
* **/api/search**: Improved support for Chinese characters. The previous code would ignore 北京 (Beijing) when creating terms. Due to the segmenter we are using, this will now at least create two terms 北 and 京. It would be more work to understand this as one word rather than two. But the new code is better than the old, the latter did ignore Chinese characters all together. The generation of terms only applies to new object versions and there is built-in way to re-produce all terms for all objects. Also, fixed the search and do not interpret "*北京*" as "wildcard only" because of the word boundaries between the characters. Now, the WildcardOnlyNotAllowed error will only show if no word or character other than \* is used. \[bcea3f774]
* **Export CSV / XLSX**: Add column `original_filename` for file fields. \[643592f6e]
* **Dockerfile**: The included `config/fylr.yml` received a small change for `fylr+.init+.config+.system+.config+`. Previous versions would not use the `+` for the last part of the declaration, overwriting the `fylr.default.yml` default location configuration in `fylr.init.config.system.config.location_defaults`. \[e31d950ca]

### Fixed

* **Indexer**: Correctly index objects which contain files with **numbers bigger than float 64** in their metadata. \[3c7509de2]
* **Standard**: Fixed some standard info compilation with deep linked standard info. \[dbc9325b4]
* **Webhooks**: Fixed error handling for some connection problems. Before **fylr** would panic with a nil pointer exception. \[37e9ff265]
* **fylr backup**: Replace user group relations of easydb 5 which were marked as type `sso` to match **fylr** type `saml`. \[c58cd8da9]

## Frontend

### Improved

* **Plugin Manager**: The Plugin Manager has been enhanced to display **Build** information when the plugin provides a `build_info.json` file. We also added support for including a `README` in the plugin build and referencing it in the manifest. When a `README` is available, the Plugin Manager will show a new **README** tab. The `fylr-plugin-example` will be updated to include examples of these new features.
* **Custom Mask Splitter**: Improved handling of Custom Mask Splitters when the implementing plugin is not installed. It is now possible to remove an **unknown** Custom Mask Splitter by deleting its `"end"` element. This helps recover from cases where a mask became corrupted due to a bug when deleting an unknown Custom Mask Splitter prior to this update.
* **Asset Variant Editor**: Added a new checkbox to the **Produce Variant** tool to mark the newly created variant as **preferred**. This streamlines the workflow by removing the need to manually edit the variants array after creation.

### Fixed

* **Collection Sharing**: Fixed a bug that caused an error when saving a collection with the `"link"` right that included pools.
* **Collection Upload**: Fixed an issue that could occur when uploading a file to a collection.
* **Mask Editor**: Fixed the behaviour for unknown Custom Mask Splitters in the Mask Editor. Unknown splitters now correctly match their corresponding unknown `"end"` element, preventing orphaned elements that can corrupt the mask.
* **File Size Formatting**: Fixed file size formatting in Fylr.

## Plugins

#### [easydb-export-transport-ftp-plugin](https://github.com/programmfabrik/easydb-export-transport-ftp-plugin) `v1.1.1`

* This plugin gained support for the new `STDIN` feature of `/api/export`, with this, the previous limitation that only exports with less than 20 files could be transported is now fixed. The plugin can now handle all exports. The version `v1.1.1` is part of the Docker distribution of **fylr** as on-disk plugin.

#### fylr-ai-plugin-metadata `v0.7.1`

* Added support for `PSD` files. Supported formats are now `GIF`, `JPG`, `PNG`, `PSD`, `TIF`, `WEBP`.

#### fylr-plugin-obscure-image `v0.5.4`

* Added support for the new checkbox to automatically set the produced variant as **preferred**.
* If the user does not provide a custom name, the produced variant will use the asset’s original name.
