# Release v6.5.0 (2023-06-22)

Published 2023-06-22 16:24:29Z

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

## Important

1. This release brings **license management** to **fylr**. Make sure to get your license as soon as possible!
2. The **license management is in beta testing**, in v6.5.0 you will have to actively enable it in the base config.
3. This possibility to run without license management will be **removed in v6.6.0**.
4. Make sure to **re-index** before opening this update to users. Go to `/inspect/system` and choose `Reindex (Blocking...)` for the best user experience. Without re-index your users will be greeted with an error message about groups which could not been loaded.
5. Make sure that the new `fylr.services.webapp.oauth2.internalURL` which is set in `fylr.default.yml`, doesn't interfere with your setup. This can happen if you are using a `fylr+` style .yml. The default is set to `http://localhost:8080`. A new `fylr.yml` browser in **/inspect/config/** can support to debug this.

## New

* **Added** [**license management**](https://docs.fylr.io/license-management). A valid **license** is required in order to use **fylr** with an `fylr.externalURL` other than `localhost`. Without license and non-`localhost` setups, only the `system:root` user is allowed to login. All other users are declined. Make sure to properly setup fylr email service as well as setting an administrator email, so that **fylr** can warn you about an expiring license. To obtain a license contact <support@programmfabrik.de>.
* **WebDAV Hotfolder support**: If set up in `fylr.yml`, the new Hotfolder features brings back the drop folder feature known from easydb 5. Files being dropped to a folder will be imported into **fylr** (after a 15 second wait) and then removed from the Hotfolder. This Hotfolder implementation is about 5-10x faster than the read-write access. Both can now be turned on and off in the base configuration individually.
* Added custom reverse proxy targets in `fylr.services.webapp.reverseProxy.custom`. This allows to proxy custom paths towards a custom target URL.
* Support `AAC` **preview version** for `WAV` files. With this the frontend will show an audio player for files of type `WAV`.
* **Redirect web access** from other than `fylr.externalURL` to the external URL. If you have a DNS resolving `www.database.fylr.com` as well as `database.fylr.com` (being the external URL), fylr will redirect to `database.fylr.com`.
* Let's encrypt certificate service now **supports multiple domains**. Setting up multiple DNS names for your fylr server is now supported and can be configured to seamlessly work with fylr's auto certificate service.
* A new config setting `fylr.services.webapp.oauth2.internalURL` allows for **easier configuration of OAUTH2** in complex network setups where the internal fylr server cannot resolve the external URL of **fylr**. If you are using a `fylr+` style .yml, make sure that the default for this config doesn't interfere with your setup.
* A new config `fylr.stdErrFile` allows to **redirect Stderr output** to a file. This will be most useful for Windows users who start **fylr** as a service and have no chance to capture Stderr. Please note that panics are not caught by this and are still sent to Stderr. If you installed fylr as a service and it panics, Windows will restart fylr without an obvious trace of that panic.

## Improved

* **/inspect/system/janitor**: Output information about the current configuration. Before this, it would be hard to tell from inside **/inspect** if the janitor was activated or not.
* **/api/db** will compile empty `_generated_rights`, if the user has no `MASK` permission. This also affects the warning which fylr shows to the user if he loses all the permissions to an object after saving.
* Some **error messages** were improved, like unique key violation.
* **Speed up metadata mapping** during uploads. New internal process management allows for faster mapping from file to object metadata.
* **Make `group.name` unique**. If the system contains multiple `group.name` this update will change the names and add the `group._id` as suffix. This was done to fix mapping issues which could occur with some SAML configurations and non unique `group.name` entries.
* **/api/db**: When using `_version:auto_increment` we changed the behaviour to match the frontend JSON importer: The version is automatically set and an existing object is merged with the new data delivered. Essentially it works like the group mode. `_version:auto_increment` works when used together with `lookup:_id`.
* **/api/db**: Set `_owner` to `system:root` if the mask doesn't show the owner of an object in the editor. This brings **fylr** in line with easydb 5.
* Use **less memory on Windows** when creating renditions for bigger files. This change stores the file on disk before calling `convert` to resize it. Before we used pipes to accomplish this. It turns out that this is using a lot of memory on Windows. This change also allows us to save some data being transferred from the file to the exec server, by doing less copying.
* Limit the size up to which **Blurhash is calculated** to `10M`in `fylr.default.yml`.
* The **ISO8601 date parser** now accepts timestamps with time zones without minutes.
* **Improved the design** of the login, registration and password pages.
* The exec server has now **new log level for busy situations**. In general the log levels have been reduced to not create worry if a worker is not available for a short period.
* Plugins now receive the `fylr.externalURL` in the `%info.json%` blob.

## Fixed

* **/inspect/files**: Fixed format `standard` for API output.
* Removed newline option for standard rendering. This never worked properly in the fylr design.
* **/api/db** could cause an infinite frontend loop between a 202 response and transitions to be confirmed. This was fixed by making fylr aware of this case and creating one confirm key for both confirmations.
* **OAUTH2 clients** with more than one `redirect_uri` did not work properly with our frontend. Fixed by explicitly setting `redirect_uri` on all relevant requests.
* **Copying of group settings** for new users has been fixed.
* **Removed unsupported system groups**: SYSTEM\_FALLBACK, SYSTEM\_INTERNET\_CONNECTION, SYSTEM\_INTRANET\_CONNECTION have been removed. These were left overs from easydb 5 time and not used in **fylr**. For the internet and intranet groups, an IP filter can be set for a group instead. **This fix requires a re-index!**
* A case was fixed were a deletion of a mask could cause **fylr** to panic, if the mask was used in a collection hotfolder setting.
* Fixed usage of OAUTH2 domains with *token* in there host names.
* Fixed rendering of standard info in certain complex and deeply nested data models.
* Fixed a case involving changed link masks when committing a data model failed with a panic.
* Do not cache **HTTP redirects**.
* Metadata mapping of **PersonInImage** was fixed. If your mapping affected by this bug, you need to re-save it in the Mappings Editor.
* **Creating backups and restoring** them was fixed for some cases when tagfilter or mappings were configured for object types.
* Allow only `system:root` to change the owner of `group` and `user`.
* **Improved robustness of the exec server**: In case that a called program would have dangling i/o, the exec server could not kill the program after the timeout. Instead the program would be kept in memory and the exec server would never release the claimed waitgroup semaphore. In this case, the exec server would not be able to answer more requests on that specific service. Fixed by improving the mechanism which kills the called program (and its children), if the program doesn't exit in time.
* **/api/db**: Fixed group mode's pool change check. With this patch, we only check for reverse pools if the top level pool changed. This avoid a 202 error wrongly reporting that a pool was changed.
* Fixed a case where users could not be deleted by the janitor, because their collections were not yet removed. Fixed by using the owner instead of the collection reference to find the user collections.
* Fixed base config manager for users with only `system.config` system right.

## Plugins

* Improved [**server-pdf plugin**](https://github.com/programmfabrik/fylr-plugin-server-pdf/releases) to replace `fylr.externalURL` with `fylr.execserver.callbackApiInternalURL`. This fixes situations where **fylr** is unable to resolve its external URL.
* Make **easydb-plugin-connector** compatible with both, **easydb 5** and **fylr**. This plugin works as a hybrid plugin and can be installed on either system. It is part of the standard fylr distribution.
* Fixes for **easydb-presentation-pptx-plugin**, this also works now in **fylr** and **ez5**. This plugin works as a hybrid plugin and can be installed on either system. It is part of the standard fylr distribution.
* Make [**easydb-export-transport-ftp-plugin**](https://github.com/programmfabrik/easydb-export-transport-ftp-plugin) a hybrid plugin. This plugin can be installed on easydb 5 and fylr alike. It is part of the standard fylr distribution.

## Frontend Changes

* Style and design fixes.
* Main search now uses wildcard mode by default.
* Improved image loading significantly and fixed the flickering issue during image loading.
* Added a manager in the base config to view and manage Fylr licenses.
* Improved link detection in text fields, now detects links within brackets or parentheses.
* Improved the search buttons for nested objects in the detail sidebar.
* Fixed issues with the filter button in the user panel.
* Fixed issues with configuring objects as buttons in the main menu.
* The quick access menu now properly hides its content if a user doesn't have permission to view it.
* Fixed issues with retrieving language tags.
* Text fields in the PDF creator now support line breaks.
* Added template support in the HTML editor custom data type.
* Fixed the "Download as CSV" button in the event manager.
* Fixed an issue when changing the pool in a reverse linked field.
* Fixed an error when duplicating a pool that contains a pool reference.
* Fixed an error that prevented users without permission from viewing a pool when it had a parent pool.
* Fixed the "Copy Record" button in the detail panel.
* Fixed issues with the detection of .acc files in the asset browser, now the audio player is displayed for this file type.
* Fixed issues in the user manager where fields were automatically filled by the browser.
* Fixed an issue where custom metadata fields were duplicated each time they were edited.
