> 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.5.0-whats-new-february-2026.md).

# Libsafe v1.5.0 – What's New (February 2026)

<table><thead><tr><th width="280">Release date</th><th>Version</th></tr></thead><tbody><tr><td>02 / February / 2026</td><td>v.1.5.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.-content-explorer-details-view-by-default">Content explorer default view</a></td><td>Files and folders are now shown in Details (list) view by default, persisting across sessions.</td></tr><tr><td><a href="#id-2.-structure-editor-clearer-move-in-and-move-out">Structure Editor – Move In / Move Out</a></td><td>The destination node is now shown before a Move In or Move Out action is executed.</td></tr><tr><td><a href="#id-3.-report-search-case-insensitive">Report search</a></td><td>The search field in reports is now case-insensitive, returning consistent results regardless of capitalisation.</td></tr><tr><td><a href="#id-4.-platform-version-shown-in-the-footer">Version number in footer</a></td><td>The platform footer now shows the exact Libsafe version installed in each instance.</td></tr><tr><td><a href="#id-5.-ingestion-monitoring-new-real-time-queue-charts">Ingestion monitoring charts</a></td><td>Two new real-time charts show the queue depth of the Ingestion Orchestrator and Ingestion Result Manager.</td></tr><tr><td><a href="#id-6.-retry-ingestion-processes-from-file-detail-and-advanced-search">Retry ingestion processes</a></td><td>Ingestion processes can now be retried directly from the file detail panel and from Advanced Search.</td></tr><tr><td><a href="#id-7.-ocfl-support-for-a-dedicated-s3-bucket">OCFL – dedicated bucket support</a></td><td>The OCFL store can now be configured to use a separate S3 bucket, independent of the main Libsafe storage bucket.</td></tr><tr><td><a href="#id-8.-ocfl-automatic-store-initialisation-from-settings">OCFL – automatic store initialisation</a></td><td>Missing OCFL store configuration files are now created automatically from the platform settings on first use.</td></tr><tr><td><a href="#bug-fixes">Bug fixes</a></td><td>Fourteen issues fixed across login, navigation, ingestion, reports, copy, and archiving.</td></tr></tbody></table>

***

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

### Content explorer – Details view by default <a href="#id-1.-content-explorer-details-view-by-default" id="id-1.-content-explorer-details-view-by-default"></a>

When you open a container and browse its content, files and folders are now displayed in **Details** (list) view by default. This change persists across sessions — the Details view remains active even after you log out and log back in. You can still switch to other view modes manually during your session.

{% hint style="info" %}
This is a platform-level default. Individual users can change the view during their session, but the next session will start in Details view again.
{% endhint %}

***

### Structure Editor – clearer Move In and Move Out <a href="#id-2.-structure-editor-clearer-move-in-and-move-out" id="id-2.-structure-editor-clearer-move-in-and-move-out"></a>

The **Move In** and **Move Out** actions in the Structure Editor now show you the target node or new hierarchical level *before* the movement is executed. This makes it easier to confirm you are placing the node in the right position before committing the change.

#### **How it works**

* **Move In** — when you select a node and use Move In, the system highlights the destination node so you can verify the target before the move takes effect.
* **Move Out** — the new level the node will move to is shown before the action is applied.

***

### Report search – case-insensitive <a href="#id-3.-report-search-case-insensitive" id="id-3.-report-search-case-insensitive"></a>

The search field available in all reports under **Data Analytics → Reports** is now case-insensitive. Searching for ".PDF", ".pdf", or ".Pdf" returns the same results. This applies to the Search field available in the Current tab of every report preview.

The search matches partial text within the searchable columns of each report. The columns that can be searched vary by report type and include fields such as container name, container ID, container description, file ID, filename, full path, metadata schema name, workflow name, and user email.

***

### Platform version shown in the footer <a href="#id-4.-platform-version-shown-in-the-footer" id="id-4.-platform-version-shown-in-the-footer"></a>

The footer at the bottom of every page now shows the exact Libsafe version number installed in that instance. Previously, all instances showed the same version regardless of the release actually deployed. Each instance now displays its own version independently, making it easier to confirm which release is running in any given environment.

***

### Ingestion monitoring – new real-time queue charts <a href="#id-5.-ingestion-monitoring-new-real-time-queue-charts" id="id-5.-ingestion-monitoring-new-real-time-queue-charts"></a>

{% hint style="info" %}
**Who this affects:** administrators monitoring ingestion load in real time.
{% endhint %}

Two new charts have been added to the platform monitoring views, showing the current queue depth in real time for:

* **Ingestion Orchestrator** — the number of items waiting to be dispatched to ingestion services.
* **Ingestion Result Manager** — the number of results waiting to be processed and recorded.

These charts increase automatically as files are ingested, giving administrators a live view of ingestion load. They complement the existing Platform Processing and Performance charts already available in the monitoring section.

#### **How to access the monitoring charts**

1. Go to **Administration → Performance Diagnostics**.
2. The two new charts appear alongside the existing Platform Processing and Performance charts.

***

### Retry ingestion processes from file detail and Advanced Search <a href="#id-6.-retry-ingestion-processes-from-file-detail-and-advanced-search" id="id-6.-retry-ingestion-processes-from-file-detail-and-advanced-search"></a>

You can now re-run one or more ingestion processes for a file without leaving the interface. This replaces the previous approach of writing directly to the service queue and allows retries to be triggered reliably through the web interface.

**From the file detail panel**

1. Open a container and select a file.
2. Open the file properties panel.
3. Locate the ingestion process you want to retry (for example, Hasher, Identifier, or Virus Scanner).
4. Use the retry action for that process.

**From Advanced Search**

1. Go to **Advanced Search** and filter for the files you want to process.
2. Select one or more files.
3. Use the retry ingestion action.

{% hint style="info" %}
A retry will not start if there is already an ingestion step running for the selected file. Wait for any active ingestion to complete before retrying.
{% endhint %}

***

### OCFL – support for a dedicated S3 bucket <a href="#id-7.-ocfl-support-for-a-dedicated-s3-bucket" id="id-7.-ocfl-support-for-a-dedicated-s3-bucket"></a>

{% hint style="info" %}
**Who this affects:** administrators configuring the **OCFL Archive** storage layout. If your instance does not include the OCFL Archive, this section does not apply to you.
{% endhint %}

The OCFL preservation store can now be configured to use a **separate S3 bucket** that is independent of the main Libsafe storage bucket. Previously, the OCFL store had to share the same bucket as Libsafe content, which required versioning on that bucket. With this change, the OCFL store can reside in its own bucket — including buckets without versioning enabled — providing more flexibility in storage architecture.

This configuration requires administrator access and is set at the platform level. The OCFL bucket can be located at the root of the bucket or at a specific path within it. Contact Libnova support for setup guidance.

{% hint style="info" %}
Both scenarios remain supported: the OCFL store can continue to use the same bucket as Libsafe, or it can use a dedicated separate bucket. This is a configuration choice per deployment.
{% endhint %}

***

### OCFL – automatic store initialisation from settings <a href="#id-8.-ocfl-automatic-store-initialisation-from-settings" id="id-8.-ocfl-automatic-store-initialisation-from-settings"></a>

{% hint style="info" %}
**Who this affects:** administrators setting up the **OCFL Archive** for the first time. If your instance does not include the OCFL Archive, this section does not apply to you.
{% endhint %}

When an archiving operation is attempted and the OCFL store does not yet have its required configuration files (the store declaration file, the layout file, and the extension configuration), the system now creates those files automatically using the values configured in the platform settings. Previously, missing configuration files caused the archiving process to fail with an error that required manual intervention.

The default OCFL store configuration values applied during automatic initialisation are:

<table><thead><tr><th width="280">Setting</th><th>Default value</th></tr></thead><tbody><tr><td>OCFL version</td><td>1.1</td></tr><tr><td>Storage layout extension</td><td>0007-n-tuple-omit-prefix-storage-layout</td></tr></tbody></table>

These defaults can be reviewed and adjusted by administrators in **Configuration → Settings** under the OCFL settings group before performing the first archiving operation.

***

## Bug fixes <a href="#bug-fixes" id="bug-fixes"></a>

<table><thead><tr><th width="280">Area</th><th>What was fixed</th></tr></thead><tbody><tr><td>Login – blank page after sign in</td><td>After a successful login, some users saw a blank page instead of being redirected to the home screen. The page now loads correctly after login.</td></tr><tr><td>Login – IP tracking for failed attempts</td><td>The IP address recorded for failed login attempts was sometimes shared across different users due to internal network routing. This has been corrected so that each failed attempt records the correct client IP, preventing one user's failed attempts from incorrectly blocking another user.</td></tr><tr><td>Navigation bar in Configuration</td><td>The breadcrumb navigation bar did not work within the Configuration section — clicking a parent item such as "Configuration" had no effect. Navigation now works correctly within the Configuration section.</td></tr><tr><td>Reports – Formats/Risk report error</td><td>The Formats/Risk report (Data Analytics → Reports → File formats/risk) consistently failed when executed. The report now runs and completes correctly.</td></tr><tr><td>Checksum validation – SHA1 and ADLER32 manifest files</td><td>Running the validation function on files with SHA1 or ADLER32 manifest types returned a regular expression error, even when the function trigger was correctly configured. Validation now runs correctly for these manifest types, consistent with MD5.</td></tr><tr><td>Advanced Search – not showing all results</td><td>When filtering by container in Advanced Search, the results did not include all ingested files. Only a subset was displayed. All files are now returned correctly.</td></tr><tr><td>Ingestion – files with + in the filename not ingested</td><td>Files or folders whose name contained the + character were silently skipped during ingestion — no error was shown and no files were processed. Files with + in the filename are now ingested correctly.</td></tr><tr><td>PREMIS events not registered correctly</td><td>PREMIS events were not being registered accurately in some cases, particularly when multiple copies of the same file were ingested concurrently. Some copies showed a full-text extraction success event when the content had not actually been indexed. PREMIS events now accurately reflect the actual result of each process.</td></tr><tr><td>Ingestion consistency – concurrent copies</td><td>When multiple copies of the same file were ingested simultaneously, some copies were indexed with full-text content and others were not, with inconsistent results. Ingestion now handles concurrent copies consistently.</td></tr><tr><td>OA_LINK metadata broken after copy</td><td>When an object that had an OA_LINK metadata field assigned was copied, the link in the copied object was broken. OA_LINK metadata values are now preserved correctly after a copy operation.</td></tr><tr><td>Archiving – error copying object to staging</td><td>Archiving processes failed with a stream error when the platform tried to copy an object to the staging area. The archiving process now completes correctly.</td></tr><tr><td>Archiving – Archiving Processes list not loading</td><td>The list under Content Processing → Archiving → Archiving Processes failed to load. The list now loads and updates correctly when filters are applied.</td></tr><tr><td>Container share – checkbox missing</td><td>The checkbox to mark content as shared was not visible on the container Shared tab. The checkbox now appears correctly.</td></tr><tr><td>TikaMeta – excessive memory consumption</td><td>The metadata extraction service was accumulating memory over time, eventually causing instability. Memory is now released correctly after each extraction task.</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">Role</th><th>Key changes to be aware of</th></tr></thead><tbody><tr><td><strong>End user</strong></td><td>Content explorer opens in Details view by default; Structure Editor shows the destination before a move; login, navigation, and share checkbox issues resolved.</td></tr><tr><td><strong>Administrator</strong></td><td>New ingestion queue monitoring charts; OCFL can now use a dedicated bucket; OCFL store initialises automatically from settings; footer shows correct Libsafe version per instance.</td></tr><tr><td><strong>Compliance / Audit</strong></td><td>PREMIS events now accurately reflect process results; SHA1/ADLER32 manifest validation works correctly; report search is case-insensitive.</td></tr><tr><td><strong>Operations</strong></td><td>TikaMeta memory leak resolved; ingestion retry available from the interface; ingestion of files with + in the filename fixed; archiving process errors resolved.</td></tr></tbody></table>
