Skip to content

hyrax-v5.0.0.rc3

Pre-release
Pre-release
Compare
Choose a tag to compare
@dlpierce dlpierce released this 23 Feb 14:47
· 436 commits to main since this release
e9141b8

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 for filter_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 #6432
  • Adds :active_fedora tag to change_content_depositor_service_spec again. in #6431
  • Refactors collection_presenter_spec to cleanly split AF and Valkyrie testing. in #6430
  • Fix ownership_transfer_spec.rb tests for Valkyrie in #6429
  • Refactors _subject.html.erb_spec.rb to cleanly split AF and Valkyrie testing. in #6433
  • Updates create_child_work_spec.rb for valkyrie. in #6428
  • Adapt more record view specs for valkyrie in #6438
  • Fix trophies_controller_spec.rb tests for Valkyrie in #6426
  • Valkyrie conversion of collection_members_controller_spec in #6444
  • Valkyrie conversion of permission_template_accesses_controller_spec.rb in #6445
  • Edit catalog_search_spec.rb for Valkyrie compatibility in #6443
  • Updates nest_collection_form_spec with :active_fedora tag. in #6448
  • Fix content_deposit_event_job_spec.rb in #6452
  • Valkyrizes spec/authorities/qa/authorities/collections_spec.rb. in #6450
  • Valkyrizes spec/abilities/ability_spec.rb. in #6454
  • Fix content_delete_event_job_spec.rb in #6451
  • Edit content_deposit_event_job_spec.rb in #6455
  • Updates iiif_manifest_presenter_spec for Valkyrie. in #6446
  • Fix managed_works_service_spec.rb in #6456
  • Valkyrizes spec/models/hyrax/permission_template_spec.rb. in #6457
  • Valkyrizes spec/helpers/hyrax/file_set_helper_spec.rb. in #6458
  • Utilizes Valkyrie patterns for grant_edit_to_depositor_spec. in #6472
  • Utilizes Valkyrie patterns for find_works_spec. in #6471
  • Swaps out Global ID call to Valkyrie-friendly method. in #6465
  • Updates tested collection objects to Valkyrie-compliant (spec/search_builders/hyrax/collection_search_builder_spec.rb). in #6453
  • Updates find_works_search_builder to allow for both id strings as well as Valkyrie id objects. in #6460
  • Valkyrization: Fix failing tests in solr_service_spec.rb in #6463
  • Swaps to create so that IDs are minted, allowing queries to perform. in #6466
  • Marks test suite as ActiveFedora-only, since importer has no Valkyrization. in #6467
  • Valkyrization: Fix failing tests in featured_work_list_spec.rb in #6468
  • Valkyrization: Fix failing tests in content_update_event_job_spec.rb in #6469
  • Valkyrization: Fix failing tests in content_new_version_event_job_spec.rb in #6470
  • Utilizes Valkyrie patterns for collection_type_spec. in #6473
  • Utilizes Valkyrie patterns for collection_types_controller_spec. in #6474
  • Marks test suite as ActiveFedora-only, since indexer is only used with AF objects. in #6475
  • Adds switches between AF and Valkyrie expected classes. in #6476
  • Marks test suite as ActiveFedora-only, since writer relies on AF methods. in #6477
  • Enqueues Job that wasn't calling. in #6478
  • Utilizes Valkyrie patterns for edit_work_spec. in #6480
  • Adds active_fedora tag to AF-specific test in batch_edits_controller_spec. in #6481
  • Adapt citations controller spec for valkyrie resources in #6483
  • Updates lease_service_spec.rb for valkyrie. in #6436
  • Marks test suite as ActiveFedora-only, since presenter calls to multiple classes not Valkyrized. in #6484
  • Adds active_fedora tag to AF-specific test in grant_read_job_spec. in #6485
  • Valkyrization: Fix failing tests in spec/lib/hyrax/analytics_spec.rb in #6487
  • Utilizes Valkyrie patterns for nested_collection_query_service_spec. in #6488
  • Utilizes Valkyrie patterns for catalog_controller_spec. in #6482
  • Adds active_fedora tag to AF-specific tests in transfers_controller_spec. in #6489
  • Valkyrization: Fix failing tests in users_spec.rb in #6491
  • Valkyrization: Fix failing tests in admin_set_member_service_spec.rb in #6492
  • Makes spec/services/hyrax/file_set_fixity_check_service_spec.rb Dassie-only. in #6459
  • Marks test suite as ActiveFedora-only, since controller calls to multiple classes not Valkyrized. in #6490
  • Marks test suite as ActiveFedora-only because the alternative Valkyrie form class has its own suite. in #6494
  • Valkyrization: Fix failing tests in select_type_list_presenter_spec.rb in #6493
  • Valkyrization: Fix failing tests in grant_edit_job_spec.rb in #6496
  • Valkyrization: Fix failing tests in change_depositor_event_job_spec.rb in #6497
  • Valkyrization: Fix failing tests in homepage_spec.rb in #6504
  • Adapt permission_template_form_spec for valkyire in #6508
  • Fix broken attempt to intercept persister save calls in #6507
  • Adapt misc controller specs for valkyrie in #6509
  • Valkyrization: Fix failing tests in solr_query_builder_service_spec.rb in #6506
  • Valkyrization: Fix failing tests in work_create_spec.rb in #6511
  • Marks test suite as ActiveFedora-only since class is marked for deprecation. in #6512
  • Adds active_fedora tag to AF-specific tests in spec/helpers/hyrax/embargo_helper_spec.rb. in #6514
  • Adds active_fedora tag to AF-specific tests in collection_member_search_builder_spec and refactors. in #6516
  • Adds work class swapping to spec/services/hyrax/workflow/pending_review_notification_spec.rb. in #6522
  • Splits testing for spec/features/embargo_spec.rb to highlight bug. in #6520
  • Valkyrizes spec/services/hyrax/collections_service_spec.rb. in #6527
  • Marks the right form ActiveFedora only. in #6529
  • Valkyrizes spec/services/hyrax/custom_queries/navigators/parent_collections_navigator_spec.rb. in #6531
  • Valkyrization: Fix failing tests in browse_catalog_spec.rb in #6532
  • Addresses Postgres' further date/time parsing (spec/hyrax/transactions/apply_change_set_spec.rb). in #6533
  • Valkyrizes spec/services/hyrax/statistics/depositors/summary_spec.rb. in #6528
  • Adds fileset class swapping and refactoring to spec/models/checksum_audit_log_spec.rb. in #6539
  • Adds active_fedora tag to AF-specific tests in spec/hyrax/transactions/steps/set_default_admin_set_spec.rb. in #6541
  • Tweaks spec/forms/hyrax/forms/resource_form_spec.rb to play nice with Enumerators. in #6543
  • Moves test that checks AF objects with Valkyrie Ids, then Valkyrizes it in original location. in #6544
  • Fixes spec/services/hyrax/simple_schema_loader_spec.rb by copying over sample_metadata.yaml. in #6545
  • Marks spec/views/hyrax/batch_uploads/_form.html.erb_spec.rb as ActiveFedora-only. in #6546
  • Adds work class swapping and refactoring to spec/views/shared/select_work_type_modal.html.erb_spec.rb. in #6548
  • Moves test that checks AF objects with Valkyrie Ids, then Valkyries it at spec/services/hyrax/custom_queries/navigators/child_file_sets_navigator_spec.rb. in #6549
  • Alters objects and tests to play well in Koppie for spec/services/hyrax/admin_set_create_service_spec.rb. in #6523
  • Marks spec/jobs/fixity_check_job_spec.rb as ActiveFedora-only. in #6547
  • Valkyrization: Fix failing tests in by_depositor_spec.rb in #6550
  • Moves test that checks AF objects with Valkyrie Ids, then Valkyries it at spec/services/hyrax/custom_queries/navigators/child_collections_navigator_spec.rb. in #6551
  • Valkyrizes spec/services/hyrax/statistics/file_sets/by_format_spec.rb. in #6552
  • Valkyrizes spec/services/hyrax/file_set_csv_service_spec.rb. in #6553
  • Marks spec/services/hyrax/graph_exporter_spec.rb as ActiveFedora-only. in #6554
  • Valkyrizes spec/services/hyrax/characterization/valkyrie_characterization_service_spec.rb. in #6555
  • Adds work class swapping to spec/services/hyrax/workflow/changes_required_notification_spec.rb. in #6556
  • Allows for multiple Deprecation calls. in #6558
  • Fixes enumerator comparisons and refactors. in #6560
  • Valkyrizes spec/views/hyrax/homepage/_sortable_featured.html.erb_spec.rb. in #6562
  • Requeries collection and admin_set objects in spec/services/hyrax/collections/permissions_create_service_spec.rb. in #6564
  • Updates FileMetadata objects across environments for spec/models/hyrax/file_metadata_spec.rb. in #6565
  • Marks ActiveFedora tests in spec/jobs/import_url_job_spec.rb. in #6566
  • Marks ActiveFedora tests in spec/services/hyrax/workflow/workflow_factory_spec.rb. in #6563
  • Marks ActiveFedora tests in spec/jobs/content_restored_version_event_job_spec.rb. in #6568
  • Marks ActiveFedora tests in spec/models/concerns/hyrax/collection_behavior_spec.rb. in #6569
  • Valkyrizes spec/models/sipity/entity_spec.rb. in #6561
  • Converts enumerators into arrays for spec/services/hyrax/collections/nested_collection_persistence_service_spec.rb. in #6567
  • Marks spec/services/hyrax/statistics/collections/over_time_spec.rb as ActiveFedora-only. in #6557
  • Marks ActiveFedora tests in spec/services/hyrax/find_objects_via_solr_service_spec.rb. in #6571
  • Marks ActiveFedora tests in spec/indexers/hyrax/deep_indexing_service_spec.rb. in #6572
  • Marks ActiveFedora tests in spec/indexers/hyrax/file_set_indexer_spec.rb. in #6573
  • Valkyrizes spec/services/hyrax/collections/collection_member_search_service_spec.rb. in #6574
  • Fixes spec/services/hyrax/workflow/grant_edit_to_depositor_spec.rb for dassie-valkyrie-test. in #6575
  • Valkyrizes spec/views/hyrax/file_sets/_permission_form.html.erb_spec.rb. in #6576
  • Valkyrizes spec/views/hyrax/file_sets/_permission.html.erb_spec.rb. in #6577
  • Valkyrization: Fix failing tests in deposited_notification_spec.rb in #6579
  • Fixes failing test in spec/views/hyrax/file_sets/media_display/_video.html.erb_spec.rb. in #6580
  • Fixes failing test in spec/views/hyrax/file_sets/media_display/_audio.html.erb_spec.rb. in #6581
  • Makes application_name dynamically tested in spec/views/hyrax/users/index.html.erb_spec.rb. in #6582
  • Valkyrization: Edit edit_file_spec.rb in #6526
  • Valkyrizes spec/helpers/hyrax/collections_helper_spec.rb. in #6583
  • Marks spec/search_builders/hyrax/work_relation_spec.rb as ActiveFedora-only. in #6585
  • Marks ActiveFedora tests in spec/features/work_show_spec.rb. in #6584
  • Valkyrizes spec/search_builders/hyrax/dashboard/collections_search_builder_spec.rb. in #6586
  • Valkyrization: Fix failing tests in transfers_presenter_spec.rb in #6587
  • Marks spec/jobs/attach_files_to_work_with_ordered_members_job_spec.rb as ActiveFedora-only. in #6588
  • Accounts for Koppie-specific behavior in spec/features/create_collection_spec.rb. in #6589
  • Marks spec/services/hyrax/visibility_intention_applicator_spec.rb as ActiveFedora-only. in #6590
  • Makes spec/services/hyrax/valkyrie_upload_spec.rb friendly for both Koppie and Dassie. in #6591
  • Marks ActiveFedora tests in spec/presenters/hyrax/model_proxy_spec.rb. in #6592
  • Marks spec/jobs/import_export_job_spec.rb as ActiveFedora-only. in #6593
  • Valkyrization: Mark persist_directly_contained_output_file_service_spec.rb as ActiveFedora only in #6594
  • Marks spec/services/hyrax/repository_fixity_check_service_spec.rb as ActiveFedora-only. in #6595
  • Addresses spec/jobs/lease_expiry_job_spec.rb and associated factories. in #6596
  • Valkyrizes spec/features/dashboard/my_works_spec.rb. in #6598
  • Marks spec/models/concerns/hyrax/solr_document/ordered_members_spec.rb as ActiveFedora-only. in #6597
  • Valkyrization: Mark work_query_service_spec.rb as ActiveFedora only in #6599
  • Valkyrization: Mark move_all_works_to_admin_set_spec.rb as ActiveFedora only in #6600
  • Valkyrization: Fix failing tests in spec/models/sipity_spec.rb in #6601
  • Valkyrizes spec/features/iiif_manifest_spec.rb. in #6602
  • Accounts for Koppie's config in spec/models/flipflop_spec.rb. in #6603
  • Valkyrizes spec/services/hyrax/embargo_service_spec.rb. in #6604
  • Valkyrization: Fix failing tests in spec/features/create_work_admin_spec.rb in #6605
  • Valkyrization: Fix failing tests in iiif_manifest_cache_prewarm_job_spec.rb in #6606
  • Marks spec/presenters/hyrax/member_presenter_factory_spec.rb as ActiveFedora-only. in #6607
  • Corrects spec/search_builders/hyrax/my/collections_search_builder_spec.rb after environment behaviors alignment. in #6608
  • Adds switch for expected solr cor in spec/valkyrie/indexing/solr/indexing_adapter_spec.rb. in #6609
  • Marks spec/forms/hyrax/forms/batch_edit_form_spec.rb as ActiveFedora-only. in #6610
  • Valkyrization: Mark batch upload form related specs in work_form_helper_spec.rb as ActiveFedora only in #6615
  • Accounts for Valkyrie's schema parsing dates differently in spec/hyrax/schema_spec.rb. in #6614
  • Valkyrizes spec/views/hyrax/batch_edits/edit.html.erb_spec.rb. in #6613
  • Converts collection in spec/features/collection_type_spec.rb and highlights bug. in #6612
  • Valkyrizes spec/hyrax/transactions/steps/ensure_admin_set_spec.rb. in #6620
  • Swaps to :pcdm_collection in spec/forms/hyrax/forms/admin/collection_type_form_spec.rb. in #6618
  • Adds class name switch in spec/services/hyrax/solr_query_service_spec.rb. in #6619
  • Marks spec/services/hyrax/import_url_failure_service_spec.rb as ActiveFedora-only. in #6617
  • Valkyrizes spec/features/read_only_mode_spec.rb. in #6621
  • generalize Sipity::Entity() test for solr documents over classes in #6625
  • Marks ActiveFedora test in spec/models/sipity_spec.rb. in #6626
  • Adds creator to spec/features/lease_spec.rb. in #6628
  • Converts collections in spec/tasks/rake_spec.rb. in #6629
  • Changes enum to array in spec/forms/hyrax/forms/administrative_set_form_spec.rb. in #6631
  • Marks spec/lib/hyrax/resource_sync/resource_list_writer_spec.rb as ActiveFedora-only. in #6632
  • Marks ActiveFedora tests in spec/services/hyrax/workflow/status_list_service_spec.rb. in #6630
  • Valkyrization: Fix inconsistent test in lease_expiry_job_spec.rb in #6634
  • Valkyrizes spec/services/hyrax/statistics/works/count_spec.rb. in #6633
  • Valkyrizes spec/support/features/batch_edit_actions.rb. in #6637
  • Fixes flaky test in spec/jobs/embargo_expiry_job_spec.rb. in #6638
  • Valkyrization: Fix failing tests in display_admin_dashboard_spec.rb for Koppie in #6640
  • Valkyrizes spec/requests/riiif_spec.rb. in #6641
  • Valkyrization: Fix failing tests in spec/valkyrie/indexing/solr/indexing_adapter_spec.rb in #6639
  • Switches object types based on Wings activity in spec/features/workflow_state_changes_spec.rb. in #6642
  • Allows pending test that passes in CI but fails locally (spec/services/hyrax/statistics/collections/over_time_spec.rb). in #6643
  • ci: add koppie build and test in #6186
  • reindexing a record will clear acls and permission groups in #6324
  • Valkyrization: Fix Collection Type Deletion Bug in #6654

Documentation

  • Update CONTAINERS.md in #6390
  • Update README.md in #6697

Containerization

  • chart: set default value for nginx.service in #6518
  • chart: bump version to 3.5.1 in #6540
  • Update Dockerfile to Ruby 3.2.3, Alpine to 3.19 in #6648
  • chart: fcrepo updates, version bumps in #6692

Tests and CI Process

  • Fix flaky spec by not redefining File and YAML responses in #6384
  • Fix loading outdated FileSet causing flakiness in #6380
  • rework :with_files factory to work with ActiveFedora/Wings in #6391
  • Fix unreliability of batch_edit_spec.rb in #6413
  • Switch to Capybara's animation disabler in #6437
  • Remove leftover collection model setter causing flakes in #6505
  • 🧹 Removing low-value spec in #6622
  • 🧹 Avoid direct allow(File).to receive(:exist?) in #6669
  • ♻️ Attempt to squash a flaky test in #6678
  • ✂ Remove useless test in #6688
  • ☑️ Allow downstream apps to re-use Hyrax factories and support in #6696
  • Enable class names for factories in #6700
  • 🧹 Favor explicit FactoryBot.create in #6704
  • ♻️ Favor using to_rdf_representation in #6709

Other

  • Prep 5.0.0.rc3 in #6716

Full Changelog: hyrax-v5.0.0.rc2...hyrax-v5.0.0.rc3