Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Release date: TBD31 August, 2016

We are proud to announce the release of Fedora 4.6.0.

Table of Contents
exclude
maxLevel21Download

Resources

  • This release has been built against Java 8 and requires Java 8
  • Downloads [1]
  • Javadocs [2]

Team

Release Manager

...

Issue Reporters

Summary

The Fedora 4.6.0 release furthers several major objectives:

  • Tighten the definition of the RESTful application programming interface (API)
  • Improving Refining the Versioning capabilitymessaging service
  • Use Re-establish performance test fixtures to examine the effects of different backends
  • Improve durability with by encouraging the use of MySQL and PostgreSQL backends
  • Deprecation of legacy Transform service
  • Fix bugs

This release will be the last release built against a version of Modeshape that uses Infinispan for data storage.

Excerpt
Note

This release is a major release (i.e. 4.6.0 instead of 4.5.2) because there are several REST API updates that are not backwards compatible with 4.5.x. The following, deprecated, REST endpoints have been removed:

  • /fcr:nodetypes
  • /fcr:export
  • /fcr:import

Additionally, the user-provided repository.json configuration file must be set as a system property. Unlike in previous releases, there is no default value. See Application Configuration for more details.

The other non-backwards compatible change is the update to the messaging format, detailed in the section below.

Changes

Messaging Interface

As the draft Fedora Messaging (SPI) specification moves toward finalization, the message serialization format has been modified to track the recommendations outlined in this document. This will affect any existing message consumers. There are four significant changes that messaging applications should be aware of:

  1. Previous versions of Fedora emitted messages with the header org.fcrepo.jms.properties. This header is no longer included in messages.
  2. Previous versions of Fedora emitted messages with the header org.fcrepo.jms.eventType, using values with the http://fedora.info/definitions/v4/repository# namespace but which were not defined in the Fedora ontology. The org.fcrepo.jms.eventType header now uses values from the newly published Event ontology: http://fedora.info/definitions/v4/event#.
  3. A new header is included with the name org.fcrepo.jms.resourceType. This header includes all rdf:type values of the resource in question.
  4. Previous versions of Fedora emitted header-only messages where each header was prefixed with org.fcrepo.jms. The message serialization now also includes a body formatted in JSON-LD using the PROV namespace. All data found in the JMS headers are also available in the body serialization. Examples of this format can be found here: https://github.com/fcrepo4/fcrepo-event-ontology.

Please note: the JMS-centric header names are not part of the upcoming messaging specification and may be removed from a future version of the fcrepo-jms module. Messaging clients are strongly encouraged to rely on data in the message body.

Application Programming Interface

One of the technical priorities [3] 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 [4] (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 [5] 

An important particular change to note here is the move to use only weakly-validated ETags for RDF resources, in line with a correct interpretation of the HTTP specifications. This means that such ETags are no longer suitable for use with the If-Match request header. Additionally, the extensions fcr:transform has been marked as "deprecated" in favor of more robust tooling found in fcrepo-ldpath.

Expand
titleRelated JIRA tickets...

Jira
serverDuraSpace JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryfilter=13608 13712
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5

Versioning

Web Access Control

Documentation of Fedora's implementation of Web Access Controls is available on the wiki.This release includes several bug fixes related to versioning]:

Expand
titleRelated JIRA tickets...

Jira
serverDuraSpace JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryfilter=13612 13707
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5

Web Access Control

Performance

The Performance and Scale group has been testing various versions of Fedora, including the 4.6.0 release candidates. Recent work has focused on running our JMeter test plans by multiple sites and testing the impact of using a relational database (MySQL or PostgreSQL) instead of LevelDB. The performance of the databases has been at least as good as LevelDB, and typically scales much better.  In addition, testing has identified scalability issues with containers that link to a large number of other containers, and is working to address that issue. The current status of testing is tracked in the wiki: Performance and Scalability Test Plans. 

Expand
titleRelated JIRA tickets...

Jira
serverDuraSpace JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryfilter=13609 13709
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5

Performance

Preservation

This release includes continuing support for various backend object stores. Default usage of that LevelDB backend has been removed, to encourage the intentional selection of a backend appropriate to the integration in handOne of Fedora's perennial goals is "improved performance". With this as a focus, a Performance and Scalability working group [10] has progressed in the creation of repeatable, scripted tests that exercise and meter basic read/write operations. The objective of these tests is to reveal application bottlenecks and to track changes in performance as the reference Fedora implementation evolves.

Expand
titleRelated JIRA tickets...

Jira
serverDuraSpace JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQueryfilter=13610 13710
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5

Preservation

Housekeeping and Bugfixes

Numerous refactorings, bugfixes, and clean-up tasks were addressed in this release:From a preservation perspective, this release includes support for alternative backend object stores to the default LevelDB. New configurations now exist for MySQL and PostgreSQL [11].

Expand
titleRelated JIRA tickets...

Jira
serverDuraSpace JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues2050
jqlQueryfilter=13614 13711
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5

Housekeeping and Bugfixes

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

Complete Listing of Resolved Tickets

Expand
titleRelated JIRA tickets...All issues

Jira
serverDuraSpace JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues5070
jqlQueryfilter=13613 13800
serverIdc815ca92-fd23-34c2-8fe3-956808caf8c5

References

No Format