Release date: 21 January, 2016

We are proud to announce the release of Fedora 4.5.0.

Resources

Team

Release Managers

Developers

Issue Reporters

Summary

The Fedora 4.5.0 release furthers several major objectives:

This release is a major release (i.e. 4.5.0 instead of 4.4.1) because there are a several REST API updates that are not backwards compatible with 4.4.0. The theme of these updates is the removal of JCR-related properties that have heretofore been leaked from the Fedora API in the RDF returned to users. Fedora 4 is in no way dependent on JCR, and any mention of JCR found in RESTful responses will be removed. No client code should require updating for this release unless it contains dependencies on JCR-namespaced properties.

See tickets in "Application Programming Interface" below for more details.

Application Programming Interface

One of the technical priorities [5] of Fedora is to define a well-specified application programming interface (API) against which client applications can be written and future server-side implementations can be created. This Fedora API should be clear and detailed enough such that a corresponding technology compatibility kit [6] (TCK) would be able to indicate if any Fedora implementation fulfills or diverges from the specification. With this in mind, several issues were addressed in this release that clean up Fedora's RESTful interaction.

Linked Data Platform alignment

Fedora is a Linked Data Platform (LDP) server implementation. This release resolves a bug that relates to the interactions that an LDP client should expect.

Upgrading and Migrating

A primary focus of the ongoing Fedora effort is to facilitate the upgrade/migration of Fedora3 repositories to Fedora4. To this end, a couple of improvements have been incorporated into the "migration-utils [7]" upgration utility, the most notable of which is enabling the utility to optionally be configured with authorization credentials.

 

Preservation

In support of Fedora's role in the preservation stack, this release includes investigation and documentation around backup and restore strategies for Fedora's datastore. By default, the database that Fedora currently is configured to use is LevelDB [8]. This release includes documentation and recommendations for performing backup and restore of the internal data Fedora uses in maintaining state.

Web Access Control

Following the initial implementation of the Web Access Control [9] authorization module, this release furthers that effort with several fixes and improvements.  Enhancements include:

Additional documentation of Fedora's implementation of Web Access Controls is available on the wiki [13].

Modularity

From the perspectives of code maintainability, intelligibility, replaceability, and clearly defined separation of responsibility, significant focus continues towards increasing the modularity of Fedora. In this release, this effort can be seen in the extraction of the 'transform' and 'id minting' modules into their own projects, and the decoupling of project dependencies.

HTML User Interface

This release includes several useful updates to the HTML user interface:

Housekeeping and Bugfixes

Numerous refactorings, bugfixes, and clean-up tasks were addressed in this release:

References

[1]  https://wiki.duraspace.org/display/FF/Downloads
[2]  http://docs.fcrepo.org/
[3]  http://www.w3.org/TR/ldp/
[4]  http://www.w3.org/wiki/WebAccessControl
[5]  https://wiki.duraspace.org/display/FF/2015+-+2016+Technical+Priorities
[6]  https://en.wikipedia.org/wiki/Technology_Compatibility_Kit
[7]  https://github.com/fcrepo4-exts/migration-utils
[8]  https://github.com/dain/leveldb
[9]  http://www.w3.org/wiki/WebAccessControl
[10] https://wiki.duraspace.org/display/FEDORA45/Principal+Providers#PrincipalProviders-DelegateHeaderPrincipalProvider
[11] https://wiki.duraspace.org/display/FEDORA45/Default+Filesystem-based+Policy
[12] https://wiki.duraspace.org/display/FEDORA45/How+to+Use+WebAC+agentClass+Groups
[13] https://wiki.duraspace.org/display/FEDORA45/WebAC+Authorization+Delegate