> For the complete documentation index, see [llms.txt](https://docs.libnova.com/libnova/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.libnova.com/libnova/what-changed-recently/libsafe-v1.7.0-whats-new-march-2026.md).

# Libsafe v1.7.0 – What's New (March 2026)

<table><thead><tr><th width="280">Release date</th><th>Version</th></tr></thead><tbody><tr><td>18 / March / 2026</td><td>v.1.7.0</td></tr></tbody></table>

## What's new at a glance <a href="#whats-new-at-a-glance" id="whats-new-at-a-glance"></a>

<table><thead><tr><th width="280">Area</th><th>What changed</th></tr></thead><tbody><tr><td><a href="#id-1.-sha-256-integrity-verification-kms-cmk-environments">Integrity verification (KMS-CMK)</a></td><td>Files can now be stored and verified using SHA-256 checksums, replacing the legacy ETag (MD5) for environments using customer-managed encryption keys.</td></tr><tr><td><a href="#new-features-and-improvements">Partial audits</a></td><td>Partial audit checks now use SHA-256 instead of ETag when SHA-256 is configured, ensuring reliable verification for encrypted environments.</td></tr><tr><td><a href="#id-2.-accessibility-improvements-wcag-2.1-aa">Accessibility</a></td><td>Keyboard navigation, focus management, and screen-reader support have been extended to breadcrumbs, expand/collapse controls, modal dialogs, radio buttons, checkboxes, icon buttons, images, and the general tab sequence.</td></tr><tr><td><a href="#id-3.-control-trigger-function-job-visibility">Function trigger job visibility</a></td><td>A new setting lets you choose whether trigger function jobs (OnFileCreated and OnFileIngested) appear in the job list.</td></tr><tr><td><a href="#id-4.-container-action-has-finished-notification-removed">Notifications</a></td><td>The "Container action has finished" notification has been removed from user profiles.</td></tr><tr><td><a href="#id-5.-more-reliable-search-index-updates">Search index reliability</a></td><td>The search index is now updated more reliably after metadata edits, tag changes, copy, move, rename, and Bulk Metadata Editor operations.</td></tr><tr><td><a href="#hotfix-releases-v1.7.1-v1.7.2-v1.7.3">Hotfixes (v1.7.1 – v1.7.3)</a></td><td>Several production bugs fixed: PREMIS ingestion event, trigger regex, mirroring, integrity check display, folder rename statistics, and memory issues.</td></tr></tbody></table>

***

## New features and improvements <a href="#new-features-and-improvements" id="new-features-and-improvements"></a>

### SHA-256 integrity verification (KMS-CMK environments) <a href="#id-1.-sha-256-integrity-verification-kms-cmk-environments" id="id-1.-sha-256-integrity-verification-kms-cmk-environments"></a>

{% hint style="info" %}
**Who this affects:** customers whose instance is configured with **AWS Customer-Managed Keys (KMS-CMK)**. If you are unsure whether this applies to you, contact your administrator.
{% endhint %}

Libsafe now supports SHA-256 as the checksum algorithm for file integrity, replacing the conventional ETag (based on MD5) in environments that use AWS Customer-Managed Keys (KMS-CMK). This provides stronger cryptographic assurance and enables a "zero-trust" integrity workflow.

**What this means for you**

* When SHA-256 is configured, every file uploaded, copied, moved, or renamed has a SHA-256 checksum calculated and stored automatically by AWS. You do not need to do anything differently.
* The checksum is stored in the file's integrity metadata and can be verified immediately after any upload or update operation.
* Partial audits now compare the stored SHA-256 value against the value returned by AWS, confirming that each bit of a preserved file remains unchanged since its original upload.

{% hint style="info" %}
On instances without KMS-CMK configuration, integrity checks continue to use the ETag as before. No action is required.
{% endhint %}

***

### Accessibility improvements (WCAG 2.2 AA) <a href="#id-2.-accessibility-improvements-wcag-2.1-aa" id="id-2.-accessibility-improvements-wcag-2.1-aa"></a>

Version 1.7.0 extends keyboard and screen-reader support to several additional areas of the interface. These changes build on the work started in previous releases.

#### **Tab order**

The keyboard tab sequence now follows a consistent left-to-right, top-to-bottom order across the following screens, and focus is always visible:

* Containers → Checked-in Containers, Permissions, Reports, Shared, Events, Storage
* Data Analytics → Reports
* Configuration → Archival Structure → Edit Archival Node

#### **Modal dialogs**

When a modal dialog opens, the keyboard focus now moves automatically to the first relevant field inside the modal. While the modal is open, Tab and Shift+Tab stay within the modal — focus cannot accidentally move to content behind it. When the modal closes, focus returns to the element that opened it.

#### **Expand / collapse sections**

All expand and collapse controls across the interface can now be activated with **Enter** after focusing with Tab. The expanded or collapsed state is announced correctly by screen readers. Screens affected include Container sections (Details, Shared, Storage, and others), file property panels (Details, Metadata, PREMIS, and others), and Content Processing detail views (Function jobs, Pipeline jobs, Mirroring jobs, Strong Fixity Check, and Archiving Processes).

#### **Breadcrumbs**

Breadcrumb navigation is now reachable by Tab, and each breadcrumb link is individually navigable. Screen readers announce the breadcrumb structure and identify the current page. This applies to all screens that display breadcrumbs.

#### **Radio buttons and checkboxes**

All radio buttons and checkboxes now show a visible focus indicator when reached by keyboard, and their state is correctly announced by screen readers.

* **Checkboxes** — navigate with Tab; toggle with Space.
* **Radio buttons** — Tab moves focus to the selected option in the group; use arrow keys to move between options within the group.

Affected screens include: Configuration (Functions, Pipelines, Object Metadata), Login, Container Shared tab, Bulk Metadata Editor, Content Search, Container Permissions, Profile, and Configuration (Archival Structure and Users).

#### **Icon buttons in the Configuration section**

All icon-only buttons (such as Edit and Delete buttons that show only an icon) in the Configuration section now have accessible labels. Screen readers announce the purpose of each button.

#### **Images**

The Libsafe and custom client logos (login page and header) now have descriptive alt text. Decorative images are marked so screen readers skip them without interruption.

***

### Control trigger function job visibility <a href="#id-3.-control-trigger-function-job-visibility" id="id-3.-control-trigger-function-job-visibility"></a>

{% hint style="info" %}
**Who this affects:** administrators who monitor **function jobs** triggered by *OnFileCreated* or *OnFileIngested* events.
{% endhint %}

A new setting lets you decide whether jobs triggered automatically by *OnFileCreated* and *OnFileIngested* events are shown in the job list. This is useful if you want to reduce noise in the list when these triggers run frequently.

**How to configure it**

1. Go to **Configuration → Settings**.
2. Locate the **functions\_trigger.list** setting.
3. Enable or disable the setting to show or hide trigger jobs in the list.

You can also filter the job list by the full path of the file (*fullpath*) to narrow down trigger jobs for specific files.

***

### "Container action has finished" notification removed <a href="#id-4.-container-action-has-finished-notification-removed" id="id-4.-container-action-has-finished-notification-removed"></a>

The notification *Container action has finished* has been removed from the notification preferences in user profiles. If you previously had this notification enabled, it will no longer appear.

***

### More reliable search index updates <a href="#id-5.-more-reliable-search-index-updates" id="id-5.-more-reliable-search-index-updates"></a>

The search index is now updated immediately after the following operations, so search results reflect changes without waiting for a scheduled sync:

* Adding, editing, or removing metadata values from a file.
* Adding or removing a tag from a file.
* Copying, moving, or renaming files and folders.
* Using the Bulk Metadata Editor to update multiple files at once.
* Completing a file ingestion (hash, format, MIME type, content extraction).

This means Advanced Search results for content, technical metadata, and tags are more accurate immediately after you make a change.

***

## Hotfix releases (v1.7.1, v1.7.2, v1.7.3) <a href="#hotfix-releases-v1.7.1-v1.7.2-v1.7.3" id="hotfix-releases-v1.7.1-v1.7.2-v1.7.3"></a>

The following issues were addressed in hotfix releases after v1.7.0.

<table><thead><tr><th width="280">Issue</th><th>What was fixed</th></tr></thead><tbody><tr><td>PREMIS ingestion event missing</td><td>After ingesting a file, the PREMIS event "File indexed in search engine" no longer appeared in the event list. It is now displayed correctly, consistent with v1.6 behaviour.</td></tr><tr><td>Trigger regex not applied (OI_CREATE / OI_FILE_INGESTED)</td><td>Regular expressions configured on OI_CREATE and OI_FILE_INGESTED triggers were not being evaluated, causing functions to not execute when they should. ON_DEMAND triggers were unaffected. This has been fixed.</td></tr><tr><td>OnFileIngested trigger – ingestion status parameter</td><td>The OnFileIngested trigger now passes the ingestion outcome (FULLY_INGESTED, INGESTED_WITH_WARNINGS, INGESTED_WITH_ERRORS, CRITICAL_ERROR) as a parameter to the functions it executes, enabling functions to react differently based on the result.</td></tr><tr><td>Mirroring not working</td><td>The mirroring process was not completing: files were not transitioning to COLD state and replicas were not appearing in the destination S3 bucket. This has been resolved.</td></tr><tr><td>Last Integrity Check field empty after audit</td><td>After running an integrity audit, the Last Integrity Check field in file properties appeared empty instead of showing the check result. It now displays correctly.</td></tr><tr><td>Folder rename resets size and file counts</td><td>Renaming a folder with content caused the size, file count, and folder count in its properties to reset to 0. These values are now preserved correctly after a rename.</td></tr><tr><td>Disposition Approval / Approved reports missing metadata</td><td>The Disposition Approval and Disposition Approved reports were not including values for the "Justification Notes" metadata field, even when the field was populated. This is now fixed.</td></tr><tr><td>Memory errors in Validator and Identifier</td><td>Out-of-memory errors occurred in the Validator and Identifier components. These have been resolved.</td></tr><tr><td>File API response includes link metadata directly</td><td>The GET /api/file endpoint now returns link-type metadata values directly in the response, avoiding the need for additional API calls to retrieve them.</td></tr></tbody></table>

***

## Operational improvements <a href="#operational-improvements" id="operational-improvements"></a>

<table><thead><tr><th width="279.99993896484375">Area</th><th>What changed</th></tr></thead><tbody><tr><td>Structure Editor – image-to-page association order</td><td>When generating a structure from a folder layout, image files are now associated to pages in the correct sequential order (by name/expected order), preventing arbitrary associations such as a late-numbered image being linked to an early page.</td></tr><tr><td>Live report performance</td><td>Internal queries for live reports have been optimised and the live report is disabled in certain conditions to prevent performance issues.</td></tr></tbody></table>

***

### Summary of changes by role <a href="#summary-of-changes-by-role" id="summary-of-changes-by-role"></a>

<table><thead><tr><th width="280.00006103515625">Role</th><th>Key changes to be aware of</th></tr></thead><tbody><tr><td><strong>End user</strong></td><td>Keyboard and screen-reader support is now more complete; expand/collapse, breadcrumbs, modal dialogs, radio buttons, and checkboxes are fully accessible; the PREMIS ingestion event displays correctly; folder rename preserves statistics.</td></tr><tr><td><strong>Administrator</strong></td><td>Trigger function job visibility is now configurable; SHA-256 integrity is available for KMS-CMK instances; "Container action has finished" notification removed; Structure Editor associates images in correct order.</td></tr><tr><td><strong>Compliance / Audit</strong></td><td>Partial audits use SHA-256 when configured, providing stronger integrity guarantees; Last Integrity Check field displays correctly after audits; Disposition Approval reports now include Justification Notes values.</td></tr><tr><td><strong>Operations</strong></td><td>Mirroring works correctly; memory issues in Validator and Identifier resolved; live report queries optimised.</td></tr></tbody></table>
