Release Notes
3.4.0
Release date: 20 October 2026
This minor release introduces asynchronous DIP downloads, a binaries-only DIP, format prevalence in preservation planning and a new "replace object" webhook, alongside several improvements and bug fixes.
New Features
- Download a DIP asynchronously: the DIP is prepared in the background, its progress is shown on a task page and it can be downloaded once ready. (BOX-582)
- Download a DIP containing only the binaries of a record from the detail view and the search results. (BOX-582)
- Show the prevalence of each file format in preservation planning, based on the number of matching files in the repository. The prevalence is recalculated daily and can be recalculated manually from the maintenance page. (BOX-573)
- Add a webhook event that is triggered when an object is replaced in the user interface. (BOX-577)
Improvements
- Preservation planning: filter and sort file formats, choose which columns are displayed, and see the highest risk level of each format. (BOX-578)
- DIP API: add the
binaries=falseparameter to retrieve only the metadata (mets.xml), and themetadata_streams=nonevalue to retrieve only the binaries. Requesting neither returns204 No Content. (BOX-586) - Log the duration and number of requests made to third-party systems (Fedora, Fuseki, Solr, Siegfried, converter).
Bugfixes
- Fix the unzipping of the converter during installation.
- Fix the handling of Solr error responses when the
Content-Typeheader is missing. (BOX-573)
Upgrade Notes
- Database migrations must be run (new tables for format prevalences, DIP task items and preservation format categories).
- Background workers must now process the
low_priorityqueue:QUEUES="default,system,low_priority". The Ansible roledocuteam.repositoryalready includes it. - The refresh interval of the format prevalence can be configured with
FORMAT_PREVALENCE_REFRESH_INTERVAL_SECONDS(default: one day). - Updated dependencies, including rubyzip 3 and ActiveMQ 5.19.10.