For the complete documentation index, see llms.txt. This page is also available as Markdown.
Release Notes

Libsafe v1.4.0 – What's New (December 2025)

This page describes what is new and improved in Libsafe v1.4.0. It covers new features you will see in the interface, behaviour changes that affect your daily work, and issues that have been fixed.

Release date
Version

22 / December/ 2025

v.1.4.0

What's new at a glance

Area
What changed

The archive search in Collections Interface is now fully functional, connected to the OpenSearch index and returning real results.

Search results now include the file creation date, enabling sorting and filtering by date.

The folder tree, action buttons, context menu, Attach File modal, and Sequential Numbering modal are now fully operable by keyboard and screen reader.

The breadcrumb navigation bar now works correctly within all Configuration sections.

PREMIS events for ingested files are now shown correctly in the file properties panel.

Thumbnails are now generated and displayed correctly for ingested files.

The Move/Copy files function now executes correctly and no longer gets stuck in Waiting or fails.

Files can now be moved back to Cold storage after being re-ingested, which previously returned an error.

The Create MD5 Manifest function now completes correctly instead of remaining stuck in Waiting.

Filters in Advanced Search are no longer lost after applying a search.

The platform runtime has been updated for improved security and performance.

Several issues fixed across containers, ingestion processes, PREMIS events, and permissions.


New features and improvements

Collections Interface – OCFL archive search is now live

The search functionality within the OCFL archive (Collections Interface) is now fully operational. Previously, the search screen was available but did not return results. It is now connected to the underlying OpenSearch index, which is populated each time objects are archived, and returns real search results.

When performing a search in the archive, you can filter results by type and choose which fields to search across:

  • Search objects — returns archived objects (top-level entries).

  • Search files — returns individual files within archived objects.

  • Search all — returns both objects and files.

For each search type, you can specify which fields to match against:

  • Administrative metadata (descriptive metadata associated with the object).

  • Technical (embedded) metadata extracted from the files.

  • Source path (the original location of the file or object).

  • Full-text content (text extracted from document files).

Search results

Each result shows the OCFL object identifier, the type (object or file), the source path, the file size (for files), the format identifier, the list of versions in which the item exists, and the source container. Results are paginated.

The search index is built and updated automatically during the archiving process. Objects archived before v1.4.0 may not appear in search results until they are re-archived or the index is rebuilt. Please contact your administrator if you cannot find expected content.


Collections Interface – file creation date in search results

The creation date of each file (date_create) is now included in OCFL archive search results. This allows managers and users to identify when a file was first archived and to distinguish between multiple versions of the same object by creation timestamp.


Structure Editor – comprehensive keyboard and screen reader accessibility (WCAG 2.2 AA)

Version 1.4.0 delivers a significant accessibility update to the Structure Editor, making it fully operable by keyboard and compatible with screen readers. The following areas have been improved:

Folder tree and action buttons

The folder tree in the Structure Editor and all associated action buttons (Add Node, Add Page, up/down navigation arrows) are now reachable via Tab / Shift+Tab. Screen readers announce the name, hierarchical level, and expanded/collapsed state of each folder. Each arrow button has a descriptive label so screen readers announce the action and affected node (for example, "Move page up"). After a move action, the new position in the hierarchy is announced.

Context menu for folders

The right-click context menu that appears on each folder node can now be activated by keyboard (Enter, Space, or Shift+F10 depending on the element). The menu can be navigated with the up/down arrow keys, each option is announced by screen readers, and pressing Escape closes the menu and returns focus to the folder that opened it.

Attach File modal

The Attach File modal now manages focus correctly: when it opens, focus is placed on the first interactive element; when it closes, focus returns to the Attach File button. The close (X) button has an accessible label. Focus is trapped inside the modal while it is open, preventing it from escaping to background elements. The file folder tree inside the modal is navigable by keyboard using arrows to expand/collapse folders and Enter or Space to select items.

Sequential Numbering modal

All controls in the Sequential Numbering modal — buttons, the Page Number Format selector, and text fields — now have visible focus styles with sufficient colour contrast. The Page Number Format dropdown announces its current state and each option when navigating. Text fields have accessible labels so screen readers announce their purpose.

Node Type combo box

The Node Type selector used when adding a new node is now fully accessible to screen readers. All options are announced when navigating, the expanded/closed state is communicated, and keyboard navigation (arrows, Enter, Escape) works as expected.

These accessibility improvements meet WCAG 2.1 Level AA requirements. They cover keyboard navigation (2.1.1), no keyboard traps (2.1.2), focus visibility (2.4.7), name/role/value (4.1.2), and colour contrast for non-text elements (1.4.11).


Bug fixes

Area
What was fixed

Navigation bar in Configuration

The breadcrumb navigation bar within the Configuration section did not respond to clicks (for example, clicking "Configuration" to go back). Navigation now works correctly in all Configuration sub-sections.

PREMIS events not displayed

After ingesting files, no PREMIS events were shown in the file properties panel. PREMIS events are now displayed correctly for all ingested files.

File thumbnails not displayed

Thumbnails were not generated or shown for ingested files. Thumbnails are now created and displayed correctly after ingestion.

Copy / Move function failing or stuck in Waiting

The Move/Copy files function either failed immediately or remained stuck in "Waiting" state indefinitely. Both issues are resolved; the function now executes and completes correctly.

Change storage class (re-freeze) error

After a file was moved to Cold storage, re-ingested, and then a second change to Cold was attempted, the operation returned an error and did not complete. Files can now be moved back to Cold storage after re-ingestion.

MD5 manifest creation stuck in Waiting

The Create MD5 Manifest function remained in "Waiting" state without completing. The function now runs and finishes correctly.

Advanced Search filters disappearing

Filters applied in Advanced Search were lost after executing the search, requiring users to re-enter them. Filters are now retained after a search is performed.

Structure Editor – screen reader announcing wrong position after node move

When using a screen reader and moving a node or page up or down, the narrator announced the action but did not announce the new position in the hierarchy. The new position is now announced correctly.

Structure Editor – narrator reading entire page on Add Page

When a screen reader was active and a new page was created in the Structure Editor, the narrator started reading the entire screen instead of focusing on the new content. The narrator now announces only the relevant new content.

Structure Editor – focus lost on return to folder tree

After navigating out of the folder tree (Shift+Tab) and returning to it, the focus landed on the scroll bar instead of the last selected element, requiring an additional Enter press to resume keyboard navigation. Focus is now restored correctly to the selected element on re-entry.

Containers stuck in Busy state

Multiple containers remained in "Busy" state indefinitely even when no active processes were running. The underlying cause has been resolved and containers now return to their correct state when all processes complete.

S3 permissions for non-admin users

Non-admin users were being granted full S3 permissions instead of the scoped permissions corresponding to their role. Permission assignment is now correctly scoped to the containers each user has access to.


Summary of changes by role

Role
Key changes to be aware of

End user

PREMIS events and thumbnails now display correctly after ingestion; Advanced Search filters are retained; Structure Editor is fully accessible by keyboard.

Administrator

Navigation bar in Configuration works correctly; S3 permissions for non-admin users are correctly scoped; containers no longer get stuck in Busy state.

Compliance / Audit

PREMIS events are now reliable and visible; OCFL archive search returns real results including file creation dates.

Operations

Copy/Move, Change storage class (re-freeze), and MD5 manifest functions work correctly; PHP updated to 8.3.24.

Last updated