Releases: samvera/hyrax
hyrax-v5.0.1
What's Changed
New Features and Non-breaking Changes
- ♻️ Liberating Factories in #6742
- avoid n+1 query on file_metadata delete in #6747
- use the
Hyrax::FileSetFileService
to determine "primary file" in #6752
Bug Fixes
- Use compact, not flatten, in the model registry in #6737
- Allow removal of Location fields, and related QOL fixes in #6720
- 🐛 Use configured class instead of hard-coded in #6717
- Fix typo for the raise statement in #6754
- SingleUseLinksViewerController current_ability behavior fixes in #6739
- Fix “::Collection” definition with autoloading in #6758
- Pin sprockets to fix feature specs in #6762
- fix blueimp file upload progress bars in #6735
Documentation
- prepare release 5.0.1 in #6751
Containerization
- chart: add support for startupProbe in #6750
Tests and CI Process
- ♻️ Ensure setting permission template for work factories in #6723
- use
find_files(file_set: file_set)
in various specs in #6748 - make
default_workflow_spec.rb
order independent in #6753
Other
- move file related listeners to their own space in #6743
Full Changelog: hyrax-v5.0.0...hyrax-v5.0.1
hyrax-v5.0.0
What's Changed
tl;dr Valkyrie!
Hyrax v5 is the culmination of effort over the past several years by numerous members of the Samvera community to convert Hyrax to use Valkyrie and move away from ActiveFedora. There have been over 1200 commits since Hyrax v4, but the effort began well before that release. Thank you everyone who has contributed to this massive effort!
When generating a new Hyrax application, Valkyrie is now the default. Use of ActiveFedora is deprecated and will be removed in a future major release. Hyrax v5 is intended to be the bridge with which existing repositories can migrate their data. Postgres is the supported Valkyrie persistence adapter in v5.0. The Fedora 6 adapter is still experimental, and will be promoted to supported in a forthcoming v5.x release along with improved migration tooling.
This release also raises the minimum supported version of Ruby to 3.2 and Rails to 6.1
Upgrade Notes
- Valkyrie resources are now the default model type specified in
Hyrax.config
. Applications using ActiveFedora will need to specify the correct models for collections, admin sets, and file sets.
Major Changes (Potentially breaking changes)
- remove fallback behavior for dropped InitializeWorkflowActor in #6144
- rename object.file.updated to file.updated in #6167
- remove deprecated Collections::MigrationService in #6201
- remove various deprecated methods with 4.0 and earlier time horizons in #6203
- drop support for Ruby before 3.2 in #6183
- Fix file manager sorting for Koppie in #6217
- Hide versioning UI when unsupported by adapter in #6257
- Bump min rails version to 6.1 and align dassie/koppie gems in #6315
- Improve the Hyrax form API in #6419
- Refactor Valkyrie indexer API (to match forms) in #6441
- Set valkyrie models as default in Hyrax.config in #6715
- Make generated app use Valkyrie in #6687
New Features and Non-breaking Changes
- add extension behavior for FileSet show view partials in #6076
- Hyrax-5933 - Review submission support paging in #5999
- Stop testing middle ruby versions in #6105
- use TimeService in batch edits in #6149
- retain the default listeners for future unsubscribing in #5781
- add 4 new fields to hyrax counter metric table in #6158
- Fits Servlet is a Substantial Speed Bump in #6160
- Set geonames usernames using environment variable in #6159
- Counter metrics table in #6124
- use locally defined conf to map mime_types derivative methods in #6238
- Add method to VersioningService to detect support in #6239
- Refactor mime types lookup to ignore Dry::Types::Result::Failure in #6292
- refine Hyrax::EmbargoSearch behavior to find only enforced embargoes in #6241
- Enable access of form classes, not just instances in #6317
- Default sort order of notifications page in #6327
- Add additional aria-labels to form elements in #6328
- port most FileSetPresenter specs to Valkyrie in #6285
- Redis current is depericated, replace in a similar manner to other gems in #6322
- Valkyrie Fedora metadata/storage adapter compatibility in #6329
- Fix based_near/Location for resource models in #6335
- Upgrade Valkyrie to 3.1.1 in #6340
- update dry-rb dependencies in #6363
- Perform characterization on valkyrie resources in a job in #6370
- Use a hashed version identifier in IIIF manifest in #6368
- add a listener generator in #6385
- Make form classes configurable in #6395
- Clarify purpose of FileSetFileService in #6399
- Added 'generator' meta-tag to main layout 'head' partial in #6397
- ♻️ Extract Hyrax::GroupBehavior in #6427
- Collection Location field fixes; Valkyrize collection dashboard feature spec in #6439
- Valkyrize downloads_controller_spec; Improved Range and Cache-Control features in #6447
- Support all PCDM terms in
Hyrax::FileMetadata::Use
in #6499 - Use member_ids_ssim instead of file_set_ids_ssim in #6513
- ♻️ Remove lonely mixin in #6636
- ♻️ Extract Action Logic for improved composibility in #6644
- ♻️ Leverage more of Blacklight's Solr URL in #6647
- 🧹 Make public a method used in Hyku in #6656
- 🎁 Expose Hyrax's factories to downstream apps in #6664
- 🧹 Add current_year for Copyright in #6665
- Extract hyku solr connection in #6666
- Extract fault tolerant event handling in #6658
- keep the config info handy so you can do things like DigitalInstantia… in #6659
- 🐛 Restore
qt: 'standard'
to SolrService in #6677 - form save failure error message improvements in #6679
- Adding feature limit class attribute in #6680
- 🧹 Expose Hyrax.config.use_valkyrie= in #6686
- ♻️ Extracting naming container in #6694
- ♻️ Favor existing method call over custom in #6705
- 🎁 Publish membership update event in #6711
Deprecation Notices
- remove deprecated OrcidValidator.match in #6230
- remove deprecated argument from CollectionBrandingInfo#delete in #6231
- Remove deprecated .create_default_admin_set method in #6350
- Remove deprecated
available_child_collections
andavailable_parent_collections
in #6375 - Deprecate use of ActiveFedora and Wings in #6374
- Remove deprecated
reset_access_controls!
in #6376 - Remove deprecated
Collection#collection_type
in #6377 - deprecate
Statistics::QueryService
in #6400
Bug Fixes
- contribute back: missing user graph in #6092
- Initialize query_service before tests in #6106
- 5844 deactivated embargoes in #6098
- 5844-save-embargoes-better in #6118
- Let Rails CLI that Hyrax is still an Engine in #6123
- 5844-set-embargo-date-as-datetime in #6117
- 5573-one-step-workflow in #6112
- Remove
bin/rails
to fix nurax deploys in #6146 - add PermissionTemplate application to the
work_create
transaction in #6145 - cast form_params[:admin_set_id] to a single value before using in #6151
- wings: bootstrap DefaultWork with CoreMetadata in #6150
- Don't clear embargo dates while adding user to admin participants list. in #6163
- Fix db_migrate service failing to find db-migrate-seed.sh in #6220
- Revert "dassie: update pg image, use admin user to install pg extensions" in #6219
- Reindex the work during derivative creation if it is the work's thumbnail in #6212
- test behavior after a published Fixity check failure on Valkyrie in #6259
- Don't force "Collection" model filter from the view in #6273
- remove bin/rails from dockerfile copy in #6288
- Wings reflections handling in #6298
- do not fall back to generi...
hyrax-v5.0.0.rc3
What's Changed
Major Changes (Potentially breaking changes)
- Improve the Hyrax form API in #6419
- Refactor Valkyrie indexer API (to match forms) in #6441
- Set valkyrie models as default in Hyrax.config in #6715
- Make generated app use Valkyrie in #6687
New Features and Non-breaking Changes
- add a listener generator in #6385
- Make form classes configurable in #6395
- Clarify purpose of FileSetFileService in #6399
- Added 'generator' meta-tag to main layout 'head' partial in #6397
- ♻️ Extract Hyrax::GroupBehavior in #6427
- Collection Location field fixes; Valkyrize collection dashboard feature spec in #6439
- Valkyrize downloads_controller_spec; Improved Range and Cache-Control features in #6447
- Support all PCDM terms in
Hyrax::FileMetadata::Use
in #6499 - Use member_ids_ssim instead of file_set_ids_ssim in #6513
- ♻️ Remove lonely mixin in #6636
- ♻️ Extract Action Logic for improved composibility in #6644
- ♻️ Leverage more of Blacklight's Solr URL in #6647
- 🧹 Make public a method used in Hyku in #6656
- 🎁 Expose Hyrax's factories to downstream apps in #6664
- 🧹 Add current_year for Copyright in #6665
- Extract hyku solr connection in #6666
- Extract fault tolerant event handling in #6658
- keep the config info handy so you can do things like DigitalInstantia… in #6659
- 🐛 Restore
qt: 'standard'
to SolrService in #6677 - form save failure error message improvements in #6679
- Adding feature limit class attribute in #6680
- 🧹 Expose Hyrax.config.use_valkyrie= in #6686
- ♻️ Extracting naming container in #6694
- ♻️ Favor existing method call over custom in #6705
- 🎁 Publish membership update event in #6711
Deprecation Notices
- deprecate
Statistics::QueryService
in #6400
Bug Fixes
- refine Hyrax::LeaseService behavior to find only enforced leases in #6330
- Fix user links menu running off right side of page in #6381
- drop explicit dry-struct dependency in #6383
- Sidebar entry focus color fix in #6382
- support legacy "Collection" and "AdminSet" in SolrDocumentBehavior in #6394
- Fix instance variable used for admin set form in #6398
- Fix collection sort by drop down in #6408
- Valkyrize collection feature spec in #6412
- Don’t require
::Collection
forfilter_by_type
in #6414 - Only default admin_set_id when it is unset in #6440
- Rows not explicitly set warning for FileSets in #6442
- Valkyrize admin_sets_controller_spec; Fixes default AdminSet check in #6449
- Fix form/indexer builder configuration in #6462
- Don’t require
::Collection
for search builders in #6479 - Move riiif dependent code to the generated riiif initializer in #6495
- Add support for valkyrie resources to Ability in #6502
- Use the catalog's facet_limit partial in #6515
- Add change_depositor step to fix valkyrie batch deposit as a proxy depositor in #6524
- Fix save button remaining inactive after upload completes (with passive deposit agreements) in #6530
- Remove empty “find_by_collection_type” custom query in #6538
- Update Gemfile for bundler 2.5 in #6570
- Fix search results for works with matching fileset keywords in #6645
- Add FileMetadata.to_rdf_representation matching recent Resource change in #6646
- 🐛 Favor Hyrax::SolrService where possible in #6651
- Change embargo/lease ID types to fix nil values being converted to blank strings in #6652
- Rescue exception when collection is missing in #6667
- 🐛 Fix Hyrax::ChangeSet.inspect method in #6668
- 🐛 Remove subtle timing error in ActorStack coercion in #6670
- 🧹 Add title to CollapsableSectionPresenter in #6657
- ♻️ Favor Hyrax.query_service over method chaining in #6671
- ♻️ Remove bug when no date given; and improve error messaging in #6672
- Quality of life view improvements in #6663
- Repurpose
MemberCleanupListener
for parent/child in #6674 - Adjust job enqueue timing in #6681
- Fixes for Zeitwerk code loading in #6682
- 🧹 Add autoload for Forms in #6685
- 🐛 internal_resource and to_rdf_representation are assumptive in #6683
- 🐛 Favor helper method over instance variable in #6691
- Add conditional to
.fileset_for_directives
in #6695 - 🐛 Create admin set of configured type in #6701
- 🐛 Favor fault tolerant comparison in #6706
- ♻️ Favor source_type config check in #6707
- 🐛 Odds and Ends in #6708
- ♻️ DefaultWork coercion leverages valkyrie_class in #6710
- 🐛 Account for String and Valkyrie::ID Permissions in #6712
- 🐛 Fix typo in #6713
Valkyrie Progress
- refactor features/delete_work_spec to use valkyrie setup in #6386
- use valkyrie for setup in fixity_checks_controller_spec in #6387
- disable
work_form_spec
when AF is disabled in #6388 - Fix by_resource_type_spec.rb when using Valkyrie in #6389
- #5098 Valkyrize FileSet Generator in #6392
- disable Hyrax::FileSetVisibilityPropagator unless using ActiveFedora in #6393
- flag FileSetForm specs as :active_fedora in #6401
- use valkyrie factories to setup WorkflowListener specs in #6402
- Updates the works in proxies and abilities spec to valkyrie. in #6403
- use valkyrie for setup on spec/features/browse_dashboard_works_spec in #6404
- use #to_a in monographs_controller_spec for enumerable compatibility in #6405
- flag legacy tests in work_form_helper_spec in #6406
- flag legacy specs in thumbnail_path_service_spec in #6407
- Fix embargo expiry job spec in #6410
- Turns off AF testing in koppie testing for nested_collections_search_builder_spec. in #6409
- Attempts to fix the failing specs for shares_controller_spec. in #6411
- Skip work_usage_spec.rb tests for Valkyrie in #6417
- Updates tests where mock_model errs. in #6420
- Updates select_type_presenter_spec.rb for both valkyrie and AF. in #6418
- Updates create_work_spec for both valkyrie and AF. in #6416
- Use class methods for Valkyrie model duck‐typing in #6421
- Fixes more mock model complications in #6422
- Fix search_spec.rb in #6423
- Last batch of mock_model rspec fixes. in #6425
- Adds :active_fedora tag to batch_upload_form_spec. in #6434
- Adds :active_fedora tag to revoke_edit_job_spec for AF-specific test. in https://github.com/samvera/hyr...
hyrax-v5.0.0.rc2
What's Changed
Major Changes (Potentially breaking changes)
- Hide versioning UI when unsupported by adapter in #6257
- Bump min rails version to 6.1 and align dassie/koppie gems in #6315
New Features and Non-breaking Changes
- add 4 new fields to hyrax counter metric table in #6158
- Counter metrics table in #6124
- use locally defined conf to map mime_types derivative methods in #6238
- Add method to VersioningService to detect support in #6239
- Refactor mime types lookup to ignore Dry::Types::Result::Failure in #6292
- refine Hyrax::EmbargoSearch behavior to find only enforced embargoes in #6241
- Enable access of form classes, not just instances in #6317
- Default sort order of notifications page in #6327
- Add additional aria-labels to form elements in #6328
- port most FileSetPresenter specs to Valkyrie in #6285
- Redis current is depericated, replace in a similar manner to other gems in #6322
- Valkyrie Fedora metadata/storage adapter compatibility in #6329
- Fix based_near/Location for resource models in #6335
- Upgrade Valkyrie to 3.1.1 in #6340
- update dry-rb dependencies in #6363
- Perform characterization on valkyrie resources in a job in #6370
- Use a hashed version identifier in IIIF manifest in #6368
Deprecation Notices
- remove deprecated OrcidValidator.match in #6230
- remove deprecated argument from CollectionBrandingInfo#delete in #6231
- Remove deprecated .create_default_admin_set method in #6350
- Remove deprecated
available_child_collections
andavailable_parent_collections
in #6375 - Deprecate use of ActiveFedora and Wings in #6374
- Remove deprecated
reset_access_controls!
in #6376 - Remove deprecated
Collection#collection_type
in #6377
Bug Fixes
- test behavior after a published Fixity check failure on Valkyrie in #6259
- Don't force "Collection" model filter from the view in #6273
- remove bin/rails from dockerfile copy in #6288
- Wings reflections handling in #6298
- do not fall back to generic resourceform if there is a syntax error in #6299
- bump dry logic to a version that is ruby 3.x compatibile in #6313
- make valkyrie solr adapter take full url argument in #6300
- Delete unused _user_util_links_extra.html.erb in #6320
- Fix work deletion in #6336
- Provide default for characterization_options in #6356
- Collection and sidebar style fixes in #6360
- Review and Approval panel style fixes in #6364
- Fixes the swapping of Thumbnail and Rep. Media per work (#6361). in #6371
- Fix link to user's works on dashboard in #6373
Valkyrie Progress
- Valkyrie publish file.characterized event for derivative creation in #6180
- Fix single use links for Valkyrie. in #6226
- use Valkyrie for test setup on SolrQueryService specs in #6233
- use Valkyrie to setup AdminSetService specs in #6240
- mark generic_work_abilities_spec ActiveFedora only in #6243
- mark GenericWorkIndexer specs as ActiveFedora only in #6246
- mark Hyrax Callbacks tests as :active_fedora in #6247
- mark JobIoWrapper specs as ActiveFedora only in #6245
- Revert PR 6103: #5798 Valkyrie: Show all collection descriptive metadata in #6250
- make hyrax_helper_spec pass on .koppie in #6248
- make SingleUseLinksController use valkyrie for spec setup in #6244
- use Valkyrie for setup on PermissionTemplateApplicator in #6251
- Save permission attributes for FileSet edit. in #6236
- never set
metadata/storage_adapter
to wings or AF if disable_wings in #6256 - don't test legacy CharacterizeJob in
.koppie
in #6263 - don't test ActiveFedora specific VersioningService tests on
.koppie
in #6264 - skip ActiveFedora specific setup and tests for CollectionAbility in #6262
- skip more Wings specs in #6258
- skip
IngestLocalFileJob
in.koppie
in #6260 - only use specialized
Wings::WorkSearchBuilder
if Wings is enabled in #6261 - Display all descriptive metadata for collections on koppie. in #6267
- remove Hyrax::RoleManagement from
.koppie
in #6272 - update UserProfilePresenter to use Valkyrie setup in #6275
- Correctly format file set id in data label attribute in #6278
- use Valkyrie for test setup on Collections:PremissionsService specs in #6274
- mark AF tests for PropagateChangeDepositorJob as
:active_fedora
in #6282 - fix remaining test errors for collection type on koppie in #6268
- use valkyrie for setup on _form_relationships partial spec in #6281
- make ResourceVisibilityPropagator use Valkyrie for setup in #6279
- disable AF only specs for
Hyrax::ChildTypes
in #6287 - skip Wings specific
SolrDocumentBehavior
tests ifdisable_wings
in #6187 - Generate terms and build permitted params for valkyrie ResourceBatchEditForm dynamically. in #6289
- Add correct mime type to a/v derivatives saved via valkyrie in #6296
- Fix audio and video playback through valkyrie codepaths in #6297
- Fix batch add new works doesn't add new works in #6266
- update CollectionType GlobalID update task to use valkyrie in #6242
- make
Hyrax::Identifier::Dispatcher
support Valkryie in #6252 - Show basic metadata fields for generic work in #6321
- Versioning w/ Valkyrie in #6316
- disable WorkFormService specs in .koppie in #6255
- Add config for valkyrie fedora and "sirenia" compose file in #6331
- Fix lease/embargo controller and specs in koppie in #6341
- Adds a permissive schema to the Fedora Valkyrie adapter (#6332). in #6338
- Pass our ch12n config to the ch12n service and enable fits_servlet in #6345
- Fix Valkyrie base view specs in #6344
- Convert items API to wings/valkyrie in #6346
- Make fileset representative_id and thumbnail_id readonly in form in #6355
- Removes FileSet related objects when work deleted (#6334). in #6357
- Fix formatter specs in #6365
- Fixes the deletion of collections 500 (#6362). in #6367
- Fix valkyrie resource json response in #6372
Documentation
Containerization
hyrax-v5.0.0.rc1
What's Changed
Major Changes (Potentially breaking changes)
- remove fallback behavior for dropped InitializeWorkflowActor in #6144
- [semver-major] rename object.file.updated to file.updated in #6167
- remove deprecated Collections::MigrationService in #6201
- remove various deprecated methods with 4.0 and earlier time horizons in #6203
- [semver-major] drop support for Ruby before 3.2 in #6183
- Fix file manager sorting for Koppie in #6217
New Features and Non-breaking Changes
- add extension behavior for FileSet show view partials in #6076
- Hyrax-5933 - Review submission support paging in #5999
- Stop testing middle ruby versions in #6105
- use TimeService in batch edits in #6149
- retain the default listeners for future unsubscribing in #5781
- Fits Servlet is a Substantial Speed Bump in #6160
- Set geonames usernames using environment variable in #6159
Bug Fixes
- contribute back: missing user graph in #6092
- Initialize query_service before tests in #6106
- 5844 deactivated embargoes in #6098
- 5844-save-embargoes-better in #6118
- Let Rails CLI that Hyrax is still an Engine in #6123
- 5844-set-embargo-date-as-datetime in #6117
- 5573-one-step-workflow in #6112
- Remove
bin/rails
to fix nurax deploys in #6146 - add PermissionTemplate application to the
work_create
transaction in #6145 - cast form_params[:admin_set_id] to a single value before using in #6151
- wings: bootstrap DefaultWork with CoreMetadata in #6150
- Don't clear embargo dates while adding user to admin participants list. in #6163
- Fix db_migrate service failing to find db-migrate-seed.sh in #6220
- Revert "dassie: update pg image, use admin user to install pg extensions" in #6219
- Reindex the work during derivative creation if it is the work's thumbnail in #6212
Valkyrie Progress
- add Hyrax::FileSet to FileSetSearchBuilder model search filter in #6083
- Fix counts of works and collections on a user's show page - #5568 in #6087
- #5567 View All Collections button in #6082
- 5594-single-membership-error-messages in #6089
- thumbnails and other derivatives were not stored in the path we expected them to be in #6091
- 5794 download file redux in #5987
- 5575 item actions edit in #6090
- Valkyrie: populate correct collection when depositing new works through collection in #6084
- Hyrax-5844 - Cannot remove embargo from work - 2 in #5871
- thumbnails are by id in pg version, not by alternate id in #6101
- #5798 Valkyrie: Show all collection descriptive metadata in #6103
- Give IIIF Manifests Some Wings in #6102
- 5592 dashboard statistics page error in #6088
- 6126 deactivated leases in #6127
- 5844 embargo specs in #6114
- extracted text for valkyrie and wings in #6110
- never try to clean ActiveFedora if Wings is disabled in #6147
- Fix IIIF manifests when the presenter model is a SolrDocument in #6152
- Valkyrize batch editing in #6148
- skip ActiveFedora specs if
disable_wings
is on in #6169 - don't run AF Works::MigrationService specs if
disable_wings
in #6202 - disable
spec/wings_spec.rb
whendisable_wings
is true in #6191 - disable CreateDerivativesJob tests when
disable_wings
is true in #6192 - refactor ChangeDepositorService specs to use valkyrie for setup in #6199
- skip Actor Stack specs when disable_wings is flagged in #6184
- disable generated Controller specs for AF models if
disable_wings
in #6188 - skip AF model specs when disable_wings is flagged in #6185
- refactor CollectionMemberService specs to use Valkyrie for setup in #6173
- don't test AF path in
InheritPermissionsJob
whendisable_wings
in #6214 - disable
AttachFilesToWorkJob
specs ifdisable_wings
in #6213 - don't test AF path in
FileSetAttachedEventJob
whendisable_wings
in #6215 - skip
MembersPermissionJobBehavior
AF tests whendisable_wings
in #6216 - disable AF integration specs for ThumbnailPathService if
disable_wings
in #6200 - refactor MulitpleMembershipChecker specs to always use valkyrie setup in #6209
- use Valkryie for all test setup in edit_permissions_service_spec in #6172
Documentation
Containerization
- Bump dockerfile alpine and ruby versions in #6205
- Update Hyrax chart in #5768
- update bitnami chart dependencies in #6223
Tests and CI Process
- fix-solr-in-ci in #6119
- get-ci-green in #6120
- inline collections_controller_resource_spec to existing tests in #6139
- ensure
work_requires_file?
istrue
in specs that depend on it in #6142 - switch docker-compose browser engines to multiarch
seleniarm
in #6168 - test Ruby 3.2 with docker/dassie in #6174
- Update postgres in CI in #6222
- Run javascript specs on remote browser in #6210
Other
- Bump loader-utils from 1.4.0 to 1.4.2 in /.koppie in #5911
- Bump qs from 6.5.2 to 6.5.3 in /.koppie in #5934
- Bump jszip from 3.7.1 to 3.10.1 in /.koppie in #5954
- Bump json5 from 1.0.1 to 1.0.2 in /.koppie in #5940
Full Changelog: hyrax-v4.0.0...hyrax-v5.0.0.rc1
hyrax-v3.6.0
Hyrax 3.6.0 adds support for reporting site usage to Google Analytics 4 (GA4). Existing users of the prior version of Google Analytics (UA) will need to update their applications as it will soon be retired.
Note: Hyrax's analytics dashboard features are disabled in this release when using the GA4 provider. These will be restored once Hyrax has been updated to use the new Google Analytics Data API to access GA4 data.
What's Changed
- Disable analytics dashboard for GA4 until support is done in #6097
- Hyrax-5933 - Review submission support paging (hyrax 3.x version) in #6000
- Delete github workflows from old nurax deployment in #6073
- Refactor analytics_events.js in #6095
- [3.x] Google Analytics 4 Reporting in #6074
- Backport #6063 (Google privkey in ENV) to 3.x in #6093
- Update GA4 param name in #6096
Full Changelog: hyrax-v3.5.0...hyrax-v3.6.0
hyrax-v4.0.0
Hyrax 4.0 Highlights
Hyrax 4 has seen major upgrades to its dependencies. It now runs on Ruby 3.2 and Rails 6.1. Blacklight has been updated to version 7, and the Bootstrap style framework to version 4.
What's Changed
Major Changes (Potentially breaking changes)
- Min Ruby version, CircleCI updates, Jasmine refactor in #5665
- Minimum Ruby version is now 2.7
- Upgrade to Blacklight 7, Bootstrap 4 and Rails 6.0 in #5730
- Note: Hyrax application upgrading from previous releases may need to modify CSS classes to match those used by Blacklight 7 and Bootstrap 4. A guide for upgrading Hyrax is being created at https://github.com/samvera/hyrax/wiki/Upgrade-Hyrax-3.x-to-Hyrax-4
- Favoring
Hyrax.logger
overRails.logger
in #5880 - Use solr's graph query builder for nested collection queries in #5850
- The graph parser only works in single node Solr installations, or with SolrCloud collections that use exactly 1 shard. See Solr Graph Query documentation.
New Features
- correctly derive paths for UploadedFileUploader in #5755
- Add a generic interface for ACL keys to Group and User in #5761
- test model sensitive collection behavior for relationships views in #5759
- Require rubygems multi-factor authentication in #5754
- don't show analytics in the sidebar if it is turned off in #5769
- update Samvera copyright date to 2022 in #5767
- comet: decouple Derivatives from Characterization in #5778
- add bibliographic_citation to work form in #5774
- raise a useful error when setting an unknown visibility in #5801
- Pessimistic handling of non-Date objects in #5819
- Upgrade to rails 6.1 in #5786
- Exposing
Hyrax.config.derivative_services
in #5867 - Convert dashboard facets to use Dropdown facet components instead of overriding upstream in #5785
- Use VisibilityComponent for FileSet permissions in #5892
- reinstate support for ActiveFedora to WorkflowActionsController in #5915
- Hyrax config option for solr http method in #5937
- Expanding method interface in #5941
- support enumerators in FindFiles "navigator" queries in #6054
- add pool based redis connections #6056 in #6060
- Migrate LockManager to #then for better ConnectionPool support in #6061
- Make Google Private Key accessible from the ENV. in #6063
- Add a note containing the configured file upload limits in #6079
- make the VisibilityMap configurable in #6009
Deprecations
- remove deprecated transaction code in #5725
- remove deprecated code from PermissionTemplate in #5726
- wings: remove deprecated classes in #5723
- remove deprecated WithFileSets module in #5745
- remove deprecated InitializeWorkflowActor in #5741
- remove deprecated ContentDepositorChangeEventJob in #5739
- remove deprecated methods from Hyrax::Configuration in #5737
- remove deprecated
use_valkyrie
argument from InheritPermissionsJob in #5738 - remove deprecated #whitelisted? method in #5740
- remove deprecated method from InAdminSet in #5743
- remove deprecated argument/attribute from GraphExporter in #5747
- remove WorksControllerBehavior#curation_concern_from_search_results in #5750
- remove deprecated
MyController#query_solr
method in #5751 - remove deprecated methods from NestCollectionsController in #5752
- always pull repo file if filepath param is missing in #5694
- remove deprecated method from CollectionsControllerBehavior in #5748
- Use FileSetsController to access the presenter and deprecate FileSetBehavior#to_presenter in #5895
- remove deprecated code from FileMetadata in #5727
- remove deprecated class attribute from CollectionType in #5742
- remove deprecated methods from CollectionBehavior in #5744
- Remove deprecated power_converters gem in #5980
- remove deprecated #to_sipity_entity in #5746
- remove Blacklight 6 compatibility methods in #5749
Bug Fixes
- CharacterizeJob non-ASCII filename bug in #5673
- make CollectionsSearchBuilder tests less strict in #5762
- Fix application generation in #5765
- hard code collection model in actor stack in #5760
- Unpin Blacklight in #5784
- AdminSet needs to fall back to an id if noid is false in #5790
- soften dependendy on search_state_class for app generation in #5808
- support newer versions of FactoryBot in #5806
- don't load_and_authorize a model when indexing Embargoes in #5809
- provide default PermissionBadge presenter behavior when
nil
in #5807 - Remove whitespace from jsonld spec in #5821
- check json, not string equality for JSON-LD output in #5822
- Improving file handle life cycle in #5831
- add an explicit dependency on
Redis
in #5838 - stop using separate JS uploader configuration in development in #5855
- Switch to parameters required by selenium 4 in #5872
- Ensuring Hyrax::UserStatImporter returns false on exception in #5874
- Remove unneeded variables in FileSet permission_form in #5889
- remove dependency on dry-transaction in #5901
- Adjust size of collection input in #5908
- Pin view_component pending updated blacklight in #5910
- Fix misspelling bug in propagator in #5917
- Fixes the missing sort call in add_sorting_to_solr (#5905). in #5920
- 401 if an unauthorized user attempts to download a workflow restricted file in #5921
- Refreeze FileMetadata type with note to not << in #5944
- Don't throw an error if depositor field isn't present in #5952
- always force original_name to UTF-8 encoding in #5942
- Limit redlock to versions < 2.0, as these cause sidekiq jobs to fail in #5961
- Require rails/generators explicitly in #5967
- display on work page bibliographic_citation in #5964
- Hyrax-5856 - Collection and Work count numbers not displaying correct… in #5965
- Hyrax-151 - I can add a proxy that already exists when I accept a tra… in #5966
- add alternative_title to item and collection view. in #5968
- Hyrax-5969 - Fix dashboard Works page "Add to collection" issue in #5972
- Fix missing work id in file-set-in-work-download events in #5959
- remove funny display when batch loading files. in #5973
- display banner and logo file and info at file selection. in #5974
- place radio button to right of collection type in modal. in #5975
- Updates to CircleCI config in #5981
- update the cc license config file for koppie in #5977
- Fix method not found error for File analytics page in #5958
- place save work section on right side of page regardless of language in #5...
hyrax-v4.0.0.rc3
Release Highlights
The way redis connections are configured has been refactored to avoid using the deprecated Redis.current
method.
What's Changed
New Features
- support enumerators in FindFiles "navigator" queries in #6054
- add pool based redis connections #6056 in #6060
- Migrate LockManager to #then for better ConnectionPool support in #6061
Bug Fixes
- reinstate breadcrumb styling in #6055
Containerization
- Don't always restart docker pg service in #6057
Other
- bump version to 4.0.0-rc3 in #6058
Full Changelog: hyrax-v4.0.0.rc2...hyrax-v4.0.0.rc3
hyrax-v4.0.0.rc2
Release Highlights
Ruby 3.2 support!
What's Changed
New Features
- make the VisibilityMap configurable in #6009
Bug Fixes
- support flipflop 2.7.1 in #6003
- allow flipflop parameters in controller test in #6014
- Fix missing metadata in IIIF manifest in #6053
Documentation
- Update .github/CONTRIBUTING.md in #6015
Ruby 3 Support
- remove unused Samevera::NestingIndexer dependency in #6010
- bump ActiveFedora version to 14 for Ruby 3 support in #6011
- bump support for
noid-rails
to 3.x in #6013 - bump support for hydra-file_characterization to 1.x in #6012
- adapt **options in ContentBlockHelperBehavior for Ruby 3 in #6017
- splatify unused _options argument in PcdmCollectionForm in #6018
- make PresenterFactory Ruby 3 kwargs friendly in #6019
- make Hyrax::SolrService kwargs friendly for ruby 3 in #6020
- Hyrax::Transactions::Transaction#with_step_args Ruby 3 compatibility in #6021
- don't rely on Ruby 2 {}/opt handling in VisibilityIntention specs in #6022
- splatify opts passed by CollectionMembershipValidator in #6024
- expect the options hash style actually passed in #6025
- splatify options passed along by CollectionMemberShipValidator in #6027
- don't try to use rpsec mocks on $CHILD_STATUS!!! in #6026
- Convert lambda to proc to allow missing argument in Ruby 3 in #6030
Hyrax::Ability#user_is_depositor?
Ruby 3 Compatibility in #6032- make
Wings::Valkyrie::Storage
ruby 3 compatible in #6029 ControlledVocabularies::ResourceLabelCaching
ruby 3 compatibility in #6028- test options hash where the client is using it in #6035
- Use same
initialize
method signature as ActiveModel::Validator in #6038 - fix transfers controller behavior in #6036
- update blacklight 6 compatibility behavior to support Ruby 3 in #6039
- test correct options style in FileSetHelper specs in #6040
- more breadcrumb test parameter fixes in #6041
- be explicit about #reduce behavior in PermissionQuery in #6042
- splatify arguments from CreateWithFilesActor to job in #6043
- allow optional **_options arguments in AdminSetMembersPopulator in #6044
- avoid kwargs solr_doc from dashboard_helper_behavior_spec setup in #6045
- splatify render locals in
IiifHelper
in #6046 - fix query style in GraphExporter specs in #6047
- Splatify AttachFilesToWorkWithOrderedMembersJob spec attributes for ruby 3 in #6049
- Match CreateWithFilesActor spec to splatted method in #6050
- Refactor
CollectionBrandingInfo#initialize
for Ruby 3 in #6034 - Replace kaminari_route_prefix gem with initializer patch in #6048
- test ruby 3.0, 3.1, 3.2 in #6016
- Test valkyrie mode with Ruby 3.2 in #6052
Other
- bump Version to Hyrax 4.0.0-rc2 in #6051
Full Changelog: hyrax-v4.0.0.rc1...hyrax-v4.0.0.rc2
hyrax-v4.0.0.rc1
Release Highlights
- Reinstate support for ActiveFedora in workflows
- Add Hyrax configuration option for solr http method
- Switch to jemalloc in the Hyrax Docker image to improve ingest performance
- Support for Valkyrie 3.x
What's Changed Since v4.0.0.beta2
New Features
- reinstate support for ActiveFedora to WorkflowActionsController in #5915
- Hyrax config option for solr http method in #5937
- Expanding method interface in #5941
Deprecations
- remove deprecated code from FileMetadata in #5727
- remove deprecated class attribute from CollectionType in #5742
- remove deprecated methods from CollectionBehavior in #5744
- Remove deprecated power_converters gem in #5980
- remove deprecated #to_sipity_entity in #5746
- remove Blacklight 6 compatibility methods in #5749
Bug Fixes
- remove dependency on dry-transaction in #5901
- Adjust size of collection input in #5908
- Pin view_component pending updated blacklight in #5910
- Fix misspelling bug in propagator in #5917
- Fixes the missing sort call in add_sorting_to_solr (#5905). in #5920
- 401 if an unauthorized user attempts to download a workflow restricted file in #5921
- Refreeze FileMetadata type with note to not << in #5944
- Don't throw an error if depositor field isn't present in #5952
- always force original_name to UTF-8 encoding in #5942
- Limit redlock to versions < 2.0, as these cause sidekiq jobs to fail in #5961
- Require rails/generators explicitly in #5967
- display on work page bibliographic_citation in #5964
- Hyrax-5856 - Collection and Work count numbers not displaying correct… in #5965
- Hyrax-151 - I can add a proxy that already exists when I accept a tra… in #5966
- add alternative_title to item and collection view. in #5968
- Hyrax-5969 - Fix dashboard Works page "Add to collection" issue in #5972
- Fix missing work id in file-set-in-work-download events in #5959
- remove funny display when batch loading files. in #5973
- display banner and logo file and info at file selection. in #5974
- place radio button to right of collection type in modal. in #5975
- Updates to CircleCI config in #5981
- update the cc license config file for koppie in #5977
- Fix method not found error for File analytics page in #5958
- place save work section on right side of page regardless of language in #5978
Valkyrie Progress
- valkyrie: use storage adapters for derivatives in #5626
- Use the ResourceForm for FileSets in #5894
- use valkyrie 3.x in #5948
Documentation
- fix Samvera Slack badge in README in #5931
- Updates samvera logo in #5936
- Add maintenance policy document in #5950
- Readme update per Developer Onboarding Working Group recommendations in #5953
- Updated old URLs in #5960
- fix github issues link in #5939
Containerization
- [Helm] separate the worker and web selectors in #5907
- ci: update to 2.7.7 in #5949
- Dispatch workflow events to samvera-labs/nurax instead of curationexperts/nurax in #5982
- chart: bump the solr version for current kubernetes support in #5983
- chart: update CronJob api version in #5984
- bump jvm to 17. this fixes a problem where fits freezes randomly on arm64 in #5986
- chart: upgrade dependencies in #5985
- chart: update helpers and secrets configs for dependency updates in #5988
- helm: fix more helper values, bump chart version to 3.0.1 in #5991
- Only trigger nurax deploy for main branch in #5992
- Deploy stable nurax only on latest published release in #5993
- Dockerfile revisions in #5994
- chart: add extraDeploy template variable for extensibility in #5996
- Remove MALLOC_ARENA_MAX=2 in #5997
Full Changelog: v4.0.0.beta2...hyrax-v4.0.0.rc1