- Removed break which caused Enumerator to never terminate
- Added support for accessing the audit log
- Fixed backwards incompatibility. Readded Deprecation to Rubydora::DigitalObject so 5.x versions of AF can do ‘Deprecation.silence(Rubydora::DigitalObject)’
- Support for streaming range requests
- Removed deprecated functionality for calling find on a non-existant datastream.
- Don’t load datastreams more than necessary
- Support for Rack::Test::UploadedFile
- Allow reading content that is a kind of IO after save
- Ensure that the base rest resource is insulated from blocks passed to dissemination and datastream_dissemination.
- Deprecated a behavior for DigitalObject.find that allowed one to call DigitalObject.find for a non-existent object. This will raise an exception in a future rubydora release. Instead, you should use the new DigitalObject.find_or_initialize for that behavior.
- Use ActiveSupport::Rescuable for the REST API calls.
- Implement a basic form of “transactions” in Rubydora, intended to be used during testing. It uses the new REST API hooks and knows how to roll-back the different data-changing operations. In some cases, this involves deleting and re-ingesting the previous version of the object (purge, modify datastream, purge datastream), which make it unsuitable for production use, especially with large content datastreams.
At Stanford, we’ve hooked it into our rspec tests as an around filter:
bc. RSpec.configure do |config|
config.around(:each) do |example|
ActiveFedora::Base.connection_for_pid(0).transaction do |t|
- Support for content_changed? and content_will_change!
- Raise exception if it’s not 404
- Don’t expect that a digital object necessarily has a repository.
- Don’t log 404 errors. It’s just checking to see if datastreams exist
- Raise Unauthorized errors
- Query Benchmarking
- Custom exception classes
- Issue 11, cast versionable strings to boolean
- Allow versionable to be set to false
- Force checksum query when you call dsChecksumValid, unless it’s already in the profile.
- symbolize keys that are passed as config options
- added checksum validation