Release v6.7.0 (2023-10-13)
Published 2023-10-13 10:47:13Z
Important
License management is now finally activated and there is no opt-out anymore. Please contact our support if you have not yet obtained a license.
This release brings the new data type
geo_json
. Elasticsearch supports the new features only with a paid license. As an alternative fylr now supports Opensearch, too.A re-index is recommend due to many changes to the index. Go to
/inspect/system
to trigger that.The fylr binary now embeds the webfrontend code and the contents of the resources folder. It is no longer necessary nor advised to reference
webapp: path:
orresources:
in yourfylr.yml
. These configuration lines should be removed, unless you are a developer and working with fast changing code for the webfrontend.fylr does not implicitly default to
-c fylr.yml
any more. If you relied on this you need to start withfylr server -c fylr.yml
.The fylr docker image contains an explicit list of easydb plugins now, which are included in our distribution. Before, we used a wildcard to include all easydb plugin. This change assures that only plugins are included which are known to work with fylr. Nevertheless some of the plugins might be subject to additional licensing.
A Favicon can be uploaded in the base config now.
New
New data type
geo_json
. This new data type is compliant with the Geo JSON Standard. This data type is supported in a new_standard.geo.1
collector which can be enabled in the mask management. The /api/search supports new aggregation typesgeo_bounds
,geotile_grid
and search filtergeo_bounding_box
.Standard info has a new option
stop_if_set
which allows the standard rendering to stop at the first set value of a list of fields.Mask management has a new option to sort nested by filename of the first asset in the nested.
Standard info can now also render the file name of the type
file
in the standard info text./api/event + /api/search: Support search by
objecttype
andsystem_object_id
.Group management allows to auto-assign users based on system groups. Together with the IP filter of that group, groups for intranet and internet users can be created.
For groups, the IP filter gained an exclude option which reverses the logic of matching.
Support Opensearch as indexer. Opensearch is a fork of Elasticsearch 7.17.0 after they changed their license away from true Open Source. fylr automatically recognizes Opensearch backends and changes mapping and other queries automatically. In our tests Opensearch performs like Elasticsearch with no noticable differences. We will continue to support Elasticsearch. Opensearch is our new standard backend for our automated test suite, as it has Geo support built-in.
/api/transition: Added setting
who_not
to revert the match for users and groups. This allows to define a workflow which is executed if the given users & groups don't match the currently logged in user.File worker: We now support importing
TIFF
with clipping path. If such a clipping path exists, the image is cut out and the background is left transparent. For existingTIFF
this requires a re-produce triggered via/inspect/files
./api/db can now match nested records partially (if keys are unsent in the payload) in group mode. With this, a nested can be modified while ignoring during columns for the equality check.
Support sorting by original filename in nested records.
Support color profiles for thumbnail generation. You need to re-sync your thumbnails for this. The current support automatically uses
sRGB_IEC61966-2-1_black_scaled
with no user visible option to change this. If you need this in the base config let our support know. This improved colors of thumbnails if the original uses color profiles which are different from sRGB. The underlyingfylr convert
command gained a--colorprofile
option with a bunch of built-in profiles to use./api/config: Support for browser
favicon
./api/search: Support new subfield
.metadata_fulltext
for typefile
. This can be used from inside the query language too.Lots of bug fixing for
fylr backup
andfylr restore
will allow more instances to be automatically and easily migrated from easydb 5.
Webfrontend
Added a checkbox to reverse affected users or groups in workflows.
Custom icons can now be configured for objects that have no assets; this icon will be shown in the standard view of the object in the search.
Improved
WMF and other vector formats now support transparency. Affected files need to be re-produced.
/inspect/users show the mail schedule of a user.
fylr backup + fylr restore: Fixed and improved many cases where the previous version would not perform well (backup & restore of e.g. publish, xmlmapping, plugins, intra- & internet groups). Also, token renewal is now automatically supported via the Go stdlib. Also, the base config restore will not overwrite default locations, logging & purge settings. Also, reference duplicates for base types are avoided. Restored eas files will contain a reference URI pointing back to the source of the file (url + eas-id + version).
Prefer attached preview images over embedded base64 encoding. This fixes issues with Outlook and other mail clients which were unable to display embedded images in mail notifications.
Better language & locale support. New settings in the base config allow for a finer configuration of locale settings. We now separate date, time and number formatting. New options include a number format
1'234'567.89
./api/db: Support partial matches in nested records. By not sending a nested column it will be omitted. Before we required all values to match against the current record. Now it is possible to remove e.g. a keywords by ignoring the accompanying description.
New
fylr.debug.inspectEnableElasticIndices
enables a page in /inspect/elastic where Elastic indexes can be listed and deleted.Setup default logger in
fylr.default.yml
. Before, the zerolog-Default was used which only outputs the time of an event with no date.Export: Relax data export if files are in
error
state. With this patch, files inerror
state are no longer skipped, if only their data is exported. Before the export would fail in such cases, leading to unexportable data.File production: Do not produce videos bigger than the original size. This was only supported for images before.
/api/search: Filtering by the metadata of a file (like the PDF text) is now possible using the new subfield
.metadata_fulltext
. Works in query language too./api/mask: Add
custom_settings
. This can be used by front ends to store custom information, we have the same for columns and other data.The fylr binary now includes the web frontend of fylr. It is no longer necessary to reference this in your
fylr.yml
.fylr does not automatically load a
fylr.yml
from the same directory the binary is in. It only uses the built-infylr.default.yml
at startup, unless afylr.yml
is explicitly mentioned on the command line (using the-c
or--config
) option.Fixed creating PDF with Microsoft fonts like
Arial
. They are now included in the fylr docker image.Improved error reporting if an S3 volume cannot be connected.
Windows: Calling soffice for previews of Office documents is now more reliable. We use
--safe-mode
to not get any hidden UI which could block the file preview production without notice.Use
pdftoppm
from the Poppler utils to render page previews ofPDF
. This is much faster than the previously usedmagick convert
(which delegated this toghostscript
) and has better quality. ExistingPDF
need a re-produce if you want to update them.The
/inspect
utility to backup and restore fylr and easydb 5 instances is now called Migration. The URL for that tool was changed to/inspect/migration
. This was done for a clearer separation from/inspect/system/backup
which is the database dump to storage solution to create backups of the entire database (currently mostly used for support).Enhanced documentation in
fylr.example.yml
./api/db: Fixed removing nested entries with zero values in group mode.
Login: Don't allow users with unconfirmed emails to login. However, these users can still start the forgot password process. Also, system users are unaffected by this check.
fylr restore
no accepts--base-config -
to skip restoring the base config. Furthermore, settings likedefault_locations
,license
and others are not restored.Improved design & layout of the mails fylr sends out.
Changed default video sizes to: 360p, 720p, 1080p.
Allow size configuration up to 10000px for images and videos (before the limit was 2000px).
/api/plugin/manage: Add date fields
created_at
,updated_at
andlast_checked_at
.Improved error message if storage cannot be connected.
Introduced new LookupNotFound api error for
object
,file
,tag
,collection
,group
,user
lookups. Before this was handled by the generic error handler.Support for ARW files (Sony RAW format).
Metadata mapping supports the date format "2017:05:22 16:07:28Z" which can fix some imports.
/inspect/files: Re-sync file queuing got a lot faster by using in database only queuing.
Windows: Make office conversion more reliable. LibreOffice under Windows would sometimes start a UI (despite --headless) and also return immediately to the cmd line without producing the interim PDF which is needed when converting PDF to images. With
--norestore
and--safe-mode
command line options, we try to work around these problems.Auto-detect
TIFF
clipping path & use when converting toPNG
. This cuts out a transparent background for such images./api/config: The default location names now only use
name
of the location (and no longer theid
) for better compatibility in backup & restores as the IDs are unpredictable./api/eas/rput: improved automatic filename detection from the remote HTTP headers. This includes an ISO Latin compatible reading as well as an improved Docker image which now includes mimetypes for improved recognition.
/api/plugin/manage: Ensure top level dir in an uploaded plugin ZIP is named like plugin. This prerequisite was not checked in previous versions of fylr. The top level directory of a plugin must match it's name. If not, the file delivery fails.
/api/config: Extend
license:info
to include a validation block. The newlicense:info.validation
shows information about the compiled license validation. This patch also refuses uploading a license with an unverified signature. Also, uploading the JSON as string is no longer possible./api/schema: Allow to delete object types even if they are used in transitions. This unlinks the object type from the affected transition.
Index: include
facet
only fields in index data. Before the index was only getting the field ifexpert
orfulltext
was set./api/config: Added
company
,department
,last_name
,first_name
andphone
to the mappable LDAP & SAML fields for user creation and updates./api/search: After adding database language in the baseconfig, a re-index is needed. If none has completed yet, the Elastic throws a typical error about sort problems which confuse users. This patch catches that specific error and returns a specialised error with the name
IndexErrorWaitForReindex
which can now be localised to inform the user about the problem (re-index not completed).
Webfrontend
Improved buttons for moving fields in the mask editor; now, if a modifier key (Alt or Cmd) is used + click on "Move to bottom" or "Move to the top," it will not automatically scroll, thus maintaining the mask editor's view.
Improved shortcuts to object types in the main menu; now, all users who can access at least one object will see the shortcut in the main menu if it is configured.
Enhanced the pool selector field to display the complete path of the selected pool.
Improved the JSON importer to create linked objects when the metadata mapping is configured to add metadata to linked objects.
Improved image loading from URLs that do not contain the file name.
Improved the Number Input to allow more configurations for separation and decimal characters, enhancing compatibility with some languages.
Improved how Fylr manages date and number formats; it is now possible to override this configuration from the base config in the language menu.
Added standard text configuration for EAS fields in the mask editor.
Made improvements to the license manager.
Improved the plugin panel to display useful information about plugins.
Fixed
Video production was fixed to actually down size preview video renderings to the desired height. In 6.6.x the height parameter was not passed through to the converter which resulted in full size videos produced for all sizes. To re-produce videos with the correct size, re-sync via /inspect/files is needed.
/api/transition: Fixed problems which occurred if workflows contained deleted users in email notifications. These notifications are now ignored.
/api/transition: Fixed problems with workflows which were saved again before their notifications were sent.
/api/tags: Allow saving of tags without
_acl
even if the stored_acl
(which are copied to the newtags
) contain errors.Removal of a mail schedule for a user is now supported.
Fixed cache expiration for fylr start page and plugins.
Address some cache race problems.
Support column type
date_range
in nested with optionnested index
set in mask. In such a scenario the built-in data type of Elasticsearch does not support multiple values (as we have in nested records). Fixed this by switching the underlying data type in the index.Mapping of dates fixed for files which contained multiple dates in their metadata.
Support videos with odd heights. The height is adjusted to an even number, in order for the
MP4
-codec to be able to encode the video.Fixed sorting of loca fields: work around a problem with the ICU plugin of Elasticsearch >= 8. For some reason it is not possible to index a single
Q
orW
character. This bug is not present in Opensearch or Elasticsearch 7.x. We filed a bug report for this.Backup manager SQL dumps didn't restore the sequence of
object_rel
correctly. Also use smaller chunks for certain tables to avoid a psql "out of memory" message during restore./api/schema: Fixed upload with mask splitters in mask with nested sort.
Metadata mapping for date columns was fixed for some cases.
/api/eas/download: Fixed HTTP header response for range requests. If "range: bytes=" were requested, the response was wrong and off by 1.
/api/db: Sorting by linked objects in nested which have a date inside the standard output did not work properly. The date inside the linked object was rendered using the localization for the language resulting in date value which sort wrong if sorted by string. Fixed this by rendering a special version of the linked object standard info in case we render it for the nested sorting information.
/eas/produce: If the produce recipe doesn't support the source format, we output an error message.
Fixed loading of rights which contain deleted masks. This fixes cases where user were unable to login.
/api/search: For formats like
long_inheritance
andstandard_extended
,include_fields
now also usedinheritance
to compile the values.Fixed reading of width and height for
HEVC
formats./api/plugin/manage: In case the class
unknown
is not configured as valid upload class, we would reject to install a new plugin. This fix ignores the baseconfig setting for this and allows to import a plugin nevertheless.Workflows: fixed tag filter changed check for more than one tag. If a tagfilter contained more than one tag to check the changed status, it would not work correctly.
/api/db: Fixed reverse nested when set to read only in mask: If a mask defines reverse nested as read only, the db load & merge would fail for reverse nested object versions greater than 1.
Fixed sequence setting for cases where a payload contained only predefined ids.
Fixed indexing of multiple date values in masks where the nested records use a
nested
index type.Correctly set transport state in exports to done.
/api/search: Fixed cases where sorting by localised values would return wrong results. This was particularly visible if the sorting involved numbers (like a year) as the only value in text columns.
Collections: Don't output
_hotfolder_upload_urls
, if a user does not have thecreate_in_collection
andlink
permissions on the collection.IIIF tile production was fixed for
TIFF
and other source formats which would produce a 32 bpp interim bitmap instead of the for tiler supported 24 bpp format. We now force the 24 bpp.Export: Custom downloads which set colorspace were fixed.
/inspect/files with parents active was fixed for Sqlite backends.
Permissions: If files were in reverse nested, we did not check the permission correctly. The permissions for reverse nested come from the top level object the reverse nested is in. This patch acknowledges that and passes in the correct
obj_uuid
to the download url. There, the file is matches inside the reverse nested structure and the rights are checked properly.Hotfolder: Fixed detection of series in hotfolder. Also, for nested records, improve merging of metadata. Now it's possible to link a file into a nested record while enriching that record with metadata mapped from the file.
Webfrontend
Fixed errors in the version list of the asset browser in the info menu.
Fixed an issue when trying to save workflows that contain deleted users.
Fixed an error in the Presentation Manager when adding new elements.
Fixed an error in Pool Selectors that prevented pool searches.
Fixed errors when loading a base config from JSON.
Fixed an error related to inherited data in the text format of objects.
Fixed the display of inherited fields in the quick view panel.
Fixed an error where new workflows could not be saved in Fylr.
Last updated