- Provides new boolean configuration setting
auto_cast_iso8601_as_datetime
(dchandekstark) - Align behavior of server managed properties with Fedora. (dlpierce)
- Check for nil id to avoid InvalidURIError (dlpierce)
- Support Fedora 6.5 (dlpierce)
- Make storage adapters report their protocol string (dlpierce)
- Adds config setting index_tsim_only_threshold (dchandekstark)
- Fix related URIs for pairtree paths in Fedora. (randalldfloyd)
- Return nil when #id_to_uri is passed empty strings. (bwatson78)
- Add support for Ruby 3.3 and Rails 7.2 (cjcolvar)
- Add support for configurable pairtree IDs in Fedora 6. (randalldfloyd)
- Add cleanup functionality to StreamFile#disk_path. (tpendragon)
Additional thanks to the following for code review and issue reports leading to this release:
- Add Valkyrie.root_path to access Valkyrie's gem location. (tpendragon)
- Remove ChangeSet#prepopulate! test in shared specs. (jeremyf)
- Include spec/fixtures in released gem. This resolves a bug introduce in v3.1.2 regarding shared specs. (jeremyf)
- Remove spec dependency on
ROOT_PATH
and favorValkyrie::Engine.root
instead. Thus allowing downstream implementations to leverage the fixtures in Valkyrie. (jeremyf) - make the shared query specs more flexible for testing four_flight adapter. (orangewolf and jeremyf)
- Check for file size as well as length in shared StorageAdapter specs (dlpierce)
Additional thanks to the following for code review and issue reports leading to this release:
- Add support for coercible symbols in the Fedora persister. (abelemlih)
- Add storage adapter versioning. (tpendragon)
Additional thanks to the following for code review and issue reports leading to this release:
- Avoid
delegate
in ChangeSet. (dlpierce)
Additional thanks to the following for code review and issue reports leading to this release:
- Use
find_each
in ActiveRecord adapter: #925 (tpendragon)
Additional thanks to the following for code review and issue reports leading to this release:
- Avoid using
awk
in shared specs: #921 (dunn)
- Full Ruby 3.0 support: #919 (cjcolvar)
- Fixed Ruby 2.7.x support: #916 (tpendragon), #918 (jrgriffiniii)
- Dropped support for Ruby 2.5.x: #916 (tpendragon)
- see previous 3.0.0 beta release notes for further changes
- Fix Ruby 3.0 support issues marrus-sh
- Update pcdm_use warning dchandekstark
- Add support for Faraday 2 tpendragon
- Rails 7 Support cgalarza tpendragon
- Support discovery of multiple disk adapters on different paths. no-reply
- New Product Owner: Alexandra Dunn! dunn
Additional thanks to the following for code review and issue reports leading to this release:
- More informative NoMethodError for missing custom queries. no-reply
- Persisters error if you save something which existed at query time, but has since been deleted.
- Shared write-only persisters.
- Solr ModelConverter performance.
- Don't hold open a file handle from StorageAdapter#upload/find_by
- Files can be #close'd.
- Remove Draper
- Remove deprecated string equality function.
- Remove deprecated BlacklistedValue.
- Allow reform upgrade to 2.6.
- Don't require a specific error message in shared specs tpendragon
Additional thanks to the following for code review and issue reports leading to this release:
- Add support for Fedora 6. tpendragon
- Deprecate pcdmuse:PreservationMasterFile in favor of pcdmuse:PreservationFile escowles
- Improve spec docs for resource.rb dchandekstark
- Memoize resource in Solr queries to reduce Solr calls. dchandekstark
- Tighten reform dependency tpendragon
- Loosen RDF Dependency no-reply
- Update development ruby version in .tool-versions hackartisan
- Use Lando for development tpendragon
- Deprecate Blacklist in favor of Denylist. jeremyf
- Make DateTime handling in Fedora/Solr persisters consistent with others. hcayless
- Add open-ended Rake support. no-reply
Additional thanks to the following for code review and issue reports leading to this release:
- Add Ruby 2.7 support. tpendragon
- Make ID & String equality symmetrical no-reply
Additional thanks to the following for code review and issue reports leading to this release:
- Use
::
prefixed names forJSON::LD
references. no-reply - Use SVG instead of PNG for version badge. hackartisan
- Fix Rubocop for latest Bixby. hackartisan
- Valkyrie IDs equal string equivalent of ID to String with config jlevnhv
- Add optional model parameter to find_inverse_references_by and find_references_by elrayle laritakr
- Add parity in schema.key lookup for
ordered_attribute?
jeremyf - Order member_ids when using schema-style attributes method. no-reply
- Use DEFAULT_FEDORA_VERSION constant for Fedora adapter. no-reply
- Stop testing ActiveRecord 5.1 scherztc
- Rename ListNode#target_uri to ListNode#target mbklein
- Document that Solr Persister is intended to be used as a secondary persister. hweng
- Remove unused database tables from schema.rb scherztc
- Alternate Identifier documentation escowles
- Remove suggest component in example Solr Config hweng
- Remove unused db/seeds.rb scherztc
- Replace YARD Doc for Solr adapter with references to Memory Adapter. afred
- Refactor shadowed variable in buffered persister spec. jeremyf
- Use example.com instead of made-up URLs escowles
- Add count_all_of_model query christinach blancoj
- Raise an error when unable to find a StorageAdapter bkiahstroud FCRodriguez7 kcompsci
- Allow find_inverse_reference_by property to be either ordered or not. elrayle
- Randomized spec order jeremyf
- Allow Valkyrie logging to be tagged with a context and suppressed. jeremyf
- Fix documentation for Valkyrie::Persister::Memory being disassociated. jeremyf
- Suppress Solr warnings in tests. jeremyf
- Add
Valkyrie::Types::Relation
andValkyrie::Types::OrderedRelation
luisgreg99 lsat12357 foglabs dgcliff
- Fix nil not persisting with the ActiveRecord adapter. tpendragon
- Define setters when building a Resource schema with
.attributes
no-reply
Additional thanks to the following for code review and issue reports leading to this release:
- Remove strftime from
Fedora::Persister::ModelConverter
tpendragon - Only parse ISO8601 strings into DateTimes awead
Additional thanks to the following for code review and issue reports leading to this release:
- Make LDP optional (Add
gem ldp
to Gemfile if using Fedora) - Make ActiveRecord optional (Add
gem activerecord
to Gemfile if using Postgres) - Make RSolr optional (Add
gem rsolr
to Gemfile if using Solr) - Remove deprecated
standardize_query_result
argument. - Remove deprecated
Valkyrie::ID#to_uri
- Remove ActiveFedora as a dependency.
- Remove deprecated
Valkyrie::Persistence::Fedora::PermissiveSchema.alternate_ids
- Remove deprecated
Valkyrie::Persistence::Fedora::PermissiveSchema.references
- Upgrade
dry-types
to1.0.x
- Fedora Adapter default is now version 5.
- Require a symbol key when instantiating a Valkyrie::Resource (string keys are no longer valid)
- Remove deprecated
type.member()
method (usetype.of()
) - Remove deprecated
Valkyrie::Types::Int
(useValkyrie::Types::Integer
) - Performance improvements
- Overriding an attribute getter no longer changes the output of
to_h
. If you've overridden something viadef title; "overwritten"; end
, thento_h
will now have what was set via the setter or initializer, notoverwritten
. - Setting attribute values via overriding instance variables no longer works.
Please use
#set_value
if you need dynamic setting, as this will be a stable API. Valkyrie::Resource#to_h
no longer includes keys withnil
values.
- Upgrade Valkyrie to
1.6.0
in your application, run tests, and fix all deprecations output to console. - Upgrade Valkyrie to
2.0.0
in your application. - Failing tests at this point are likely due to behavior in the "Changes Without Deprecations" section above. If you have any trouble, please contact us in the #valkyrie channel in Samvera Slack.
All of us who have been part of the Valkyrie project so far would like to thank Carolyn Cole for her role so far as Product Owner. We'd like to welcome Kate Lynch, who will be taking over effective immediately!
This is the first major version of Valkyrie since 1.0 over a year ago. A lot of work has gone into it, and I'd like to take the chance to thank everyone involved for their contributions in the last year:
DanCoughlin awead cam156 carolyncole cjcolvar dgcliff escowles hackartisan jeremyf jrgriffiniii kelynch mbklein mjgiarlo mtribone no-reply ojlyytinen revgum stkenny tpendragon
- Fix ROOT_PATH error in StorageAdapter#upload shared specs tpendragon
Additional thanks to the following for code review and issue reports leading to this release:
- Permit storage adapters to have arbitrary arguments to #upload. jrgriffiniii
- Storage adapters can now all upload regular IO objects. tpendragon
- Fedora Storage Adapter has a configurable
resource_uri_transformer
for going from aResource
to a Fedora path. elrayle - Improve Gem metadata and allow Bundler 2 jcoyne
- Deprecation in preparation for LDP to be optional
- Deprecation in preparation for RSolr to be optional
- Deprecation in preparation for ActiveRecord to be optional
- Remove Rails requirement
- Remove ActiveTriples dependency.
Additional thanks to the following for code review and issue reports leading to this release:
carolyncole dgcliff escowles no-reply
- Namespace shared-spec resources to avoid conflict in apps. tpendragon
Additional thanks to the following for code review and issue reports leading to this release:
- Fix solr casting when an updated_at key isn't present in the solr document. tpendragon
- Add missing query service requirement to persister shared specs cjcolvar
- Provide a warning when postgres adapter overwrites an ID, deprecate this behavior so it will throw an exception in the future. cam156 hackartisan tpendragon
- Add support for passing just an ID to find_inverse_references_by cam156 hackartisan
- Fix memory adapter raising an exception in find_by_alternate_identifier when there are resources without the alternate_identifier attribute. jeremyf
- Provide a warning when using the postgres adapter without manually providing the pg gem, so it can be an optional dependency in 2.0.0. hackartisan
- Provide guidance in specs on how to define alternate_ids cjcolvar
- Upload files to Fedora using form/multipart. tpendragon
- Improve CompositePersister documentation. tpendragon
- Add a Valkyrie::Types::Params::ID type which handles when an HTML form passes an empty string value. tpendragon
- Deprecate .member on Valkyrie::Types::Array & Set tpendragon
- Fix updated_at not being set correctly for the Solr adapter, fix shared specs. tpendragon
Additional thanks to the following for code review and issue reports leading to this release:
awead escowles kelynch mbklein mjgiarlo no-reply revgum
- Fix solr casting when an updated_at key isn't present in the solr document. tpendragon
Additional thanks to the following for code review:
- Add missing query service requirement to persister shared specs cjcolvar
- Provide a warning when postgres adapter overwrites an ID, deprecate this behavior so it will throw an exception in the future. cam156 hackartisan tpendragon
- Add support for passing just an ID to find_inverse_references_by cam156 hackartisan
- Fix memory adapter raising an exception in find_by_alternate_identifier when there are resources without the alternate_identifier attribute. jeremyf
- Provide a warning when using the postgres adapter without manually providing the pg gem, so it can be an optional dependency in 2.0.0. hackartisan
- Provide guidance in specs on how to define alternate_ids cjcolvar
- Upload files to Fedora using form/multipart. tpendragon
- Improve CompositePersister documentation. tpendragon
- Add a Valkyrie::Types::Params::ID type which handles when an HTML form passes an empty string value. tpendragon
- Deprecate .member on Valkyrie::Types::Array & Set tpendragon
- Fix updated_at not being set correctly for the Solr adapter, fix shared specs. tpendragon
Additional thanks to the following for code review and issue reports leading to this release:
awead escowles kelynch mbklein no-reply revgum
- Add support for Fedora 5 escowles
- Add deprecations for known methods changing in 2.0
- Add
set_value
method.
- Fix consistency in adapter's responses to queries. ojlyytinen
- Fix solr persister to pass through exceptions on timeout hackartisan
- Fix generated specs to work with shared_specs expectation revgum
- Added
optimistic_locking_enabled?
to ChangeSets.
- Fix for postgres optimistic locking.
- Support for ordered properties. Documentation
- Shared specs for Solr indexers.
- Support for single values. Documentation
- Optimistic Locking. Documentation
- Remove reliance on ActiveFedora for Fedora Storage Adapter.
- Only load adapters if referenced.
- Postgres Adapter uses transactions for
save_all
- Resources now include
id
attribute by default.
This release was made possible by a community sprint undertaken between Penn State University Libraries & Princeton University Library. Thanks to the following participants who made it happen:
- Performance improvements for ActiveRecord to Valkyrie::Resource conversions. tpendragon
- Loosened ActiveRecord restriction to allow upgrading pg gem to 1.0. hackartisan
- Added
find_by_alternate_identifier
query. stkenny - Added Docker environment for development. mbklein
- Fixed README documentation. revgum
- Deprecated
Valkyrie::Persistence::Fedora::PermissiveSchema.references
- Deprecated
Valkyrie::Persistence::Fedora::PermissiveSchema.alternate_ids
- Final release of 1.0.0!
- Support slashes in IDs for Fedora adapter. dlpierce
- Added find_many_by_ids query.
- Enforces only persisting arrays - no scalars.
- Fixes casting edge cases for
Set
andArray
. - Significantly improved documentation
- Support
Booleans
- Support
RDF::Literal
- Fix support for
DateTime
. - Fix rake tasks leaking out of gem.
- Extract derivatives/file characterization to valkyrie-derivatives
- ChangeSet shared spec
- Allow strings as an argument for find_by.
- Improve development documentation.
- Throw error on
find_inverse_references_by
for unsavedresource
.
- Support slashes in IDs for Fedora adapter. dlpierce
Initial Release
- Added find_many_by_ids query.
- Enforces only persisting arrays - no scalars.
- Fixes casting edge cases for
Set
andArray
. - Significantly improved documentation
- Support
Booleans
- Support
RDF::Literal
- Fix support for
DateTime
. - Fix rake tasks leaking out of gem.
- Extract derivatives/file characterization to valkyrie-derivatives
- ChangeSet shared spec
- Allow strings as an argument for find_by.
- Improve development documentation.
- Throw error on
find_inverse_references_by
for unsavedresource
.