Release date: 24 July 2015

We are proud to announce the release of Fedora 4.3.0. Full release notes are 
included in this message and are also available on the wiki: 
https://wiki.duraspace.org/display/FF/Fedora+4.3.0+Release+Notes

=========
Resources
=========
This release has been built against Java 8

* Downloads [1]
* Javadocs [2]

=====
Team
=====

Release Manager
-------------------------
Nick Ruest

Developers
----------------
Yinlin Chen
Kevin S. Clarke
Aaron Coburn
Esme Cowles
Osman Din
Michael Durbin
James R. Griffin III
Daniel Lamb
Sébastien Leroux
Nick Ruest
Rob Sanderson
Hélder Silva
A. Soroka
Jared Whiklo
Andrew Woods

Issue Reporters
----------------------
Kevin S. Clarke
Aaron Coburn
Hector Correa
Stefano Cossu
Esme Cowles
Justin Coyne
Michael Durbin
James R. Griffin III
Nick Ruest
Rob Sanderson
A. Soroka
Trey Terrell
Andrew Woods

========
Summary
========
The Fedora 4.3.0 release furthers several major objectives:

* Move Fedora towards a clear set of standards-based services
* Move Fedora towards runtime configurability
* Improve support tooling for upgration from Fedora 3.x to 4.x
* Improve support for participation in the semantic web
* Fix bugs

This release is 4.3.0 instead of 4.2.1 because there are two non-backwards 
compatible changes:

* Several properties (mimetype, filename, digest, and cnd update) no longer use 
the fedora namespace.
* The fcrepo-kernel and fcrepo-kernel-impl packages have been renamed to 
fcrepo-kernel-api and fcrepo-kernel-modeshape, respectively.

An update utility [3] has been included with the release - see the README [4] 
for how to run the utility to migrate the properties to their new namespaces 
and update the package names.

=======
Updates
=======

Strategic Direction
-------------------------
Fedora is moving towards a tightly defined, standards-based, set of RESTful 
services that are supplemented with a pattern of integrating message-driven, 
asynchronous services for non-core capabilities. The 4.3.0 release includes 
several updates that move the software in that direction.

Aligning with LDP [5] by 
* Returning a 400 response when illegal triples are not persisted
* Advertising constraints in responses when an update request fails due to a 
repository constraint
* Showing inbound references for indirectly contained resources

Tightening the core repository services by
* Forbidding the update of resources that are not the target of the request
* Removing the leakage of the underlying UUID to repository clients
* Allowing "mimeType" and "filename" properties to be mutable

Moving towards full OSGi [6] deployability for runtime configuration and 
feature activation by
* Ensuring modules are property packaged as OSGi bundles
* Ensuring modules are importing and exporting correct dependencies and services
* Creating a Fedora features.xml for dependable deployment into Apache Karaf [7]

Enhancing external services with the Apache Camel [8] integration framework by
* Adding a "reindex" endpoint
* Adding a "fixity" invocation service
* Adding support to the REST API for the JSON-LD "Accept" header "profile" 
parameter

Upgrading and Migrating
----------------------------------
A primary focus of the ongoing Fedora effort is to facilitate the 
upgrade/migration of Fedora3 repositories to Fedora4. To those ends, a number 
of improvements have been incorporated into the "migration-utils [9]" upgration 
utility.

* Packaging the utility as a standalone executable application
* Using opaque identifiers for migrated resources
* Adding support for user-provided RDF namespace mappings
* Providing specific mappings of Fedora3 to Fedora4 properties
* Improving support for migrating resources with non-existent datastreams

Audit
-------
After the completion of the Audit Service [10] sprints this spring, there 
remained two items to be completed:

* Aligning the identifier of internal Audit events with the identifier of that 
same event found in the external triplestore
* Publishing Audit events for runs of the Fixity service

The 4.3.0 release includes the resolution of the first item above.

Semantic Web
--------------------
One of the primary goals of Fedora is to participate as a first-class member in 
the world of linked data. Two updates are included in the 4.3.0 release related 
to that goal:

* Cleaning the Fedora ontology [11] by removing the obsolete "fedora:Blanknode" 
class
* Creating a JSON-LD @context file for the Portland Common Data Model [12] 
ontology

Fedora Java Client
--------------------------
The Fedora Java Client library [13] was updated for this release by

* Adding support for the creation of repository resources without a 
user-provided identifier, i.e. using the repository identifier minter
* Adding support for resource "copy", "delete", and "move" operations

Housekeeping and Bugfixes
---------------------------------------
Numerous refactorings, bugfixes, and clean-up tasks were addressed in this 
release. Some of the highlights include:

* Using more Java8 idioms
* Returning a 403 response code when trying to create a resource under a 
PairTree element
* Returning a 400 response code when trying to create a resource with an empty 
element, i.e. "//"
* Updating library dependencies
* Improving wiki and source documentation

=========
References
=========
[1]  https://wiki.duraspace.org/display/FF/Downloads
[2]  http://docs.fcrepo.org
[3]  
https://github.com/fcrepo4-labs/fcrepo4-upgrade-utils/releases/tag/fcrepo4-upgrade-utils-4.3.0
[4]  
https://github.com/fcrepo4-labs/fcrepo4-upgrade-utils/blob/cc77a50b3fac62f791ce2d4fa17cc6b5cfc3ea33/README.md
[5]  http://www.w3.org/TR/ldp/
[6]  http://www.osgi.org/Technology/WhatIsOSGi
[7]  http://karaf.apache.org
[8]  http://camel.apache.org
[9]  https://github.com/fcrepo4-labs/migration-utils
[10] https://wiki.duraspace.org/display/FEDORA43/Setup+Audit+Service
[11] https://github.com/fcrepo4/ontology
[12] https://github.com/duraspace/pcdm
[13] https://github.com/fcrepo4-labs/fcrepo4-client

-- 
David Wilcox
Fedora Product Manager
DuraSpace
dwil...@duraspace.org
Skype Name: david.wilcox82

Reply via email to