Incompatible API changes
- Dropped support for Ruby 2.3 (#3566)
- Show for license has moved from
app/views/hyrax/base/_metadata.html.erb
toapp/views/hyrax/base/_attribute_rows.html.erb
(#3153).- If you have local view overrides for
_attribute_rows.html.erb
but not_metadata.html.erb
, this will orphan the license field in the show view. Fix this by adding<%= presenter.attribute_to_html(:license, render_as: :license, html_dl: true) %>
to your custom_attribute_rows.html.erb
.
- If you have local view overrides for
- Renames two database columns to names to avoid camelCase:
itemId
->item_id
,downloadKey
->download_key
(#3121) - Removes
Solrizer::Common
from theHyrax::WorkBehavior
ancestor tree (#3399) - Deprecated
member_of_collection_ids
interface removed fromCollectionsMembershipActor
; usemember_of_collections_attributes
instead (#3428) - Removes code deprecated during the Hyrax 2.x series (#3401)
- Use
Hydra.config.user_key_field
to determineUser#user_key
(#3480) - Change Solr search builders to use
[* TO *]
for date range searches (#3559)
User Interface
- Generic Work layout and button organization (#3374)
- Makes Admin Sets Participants tab consistent with Collections Sharing tab (#3384)
- Fixes punctuation error in help text (#3368)
- Generic Login Form employs Bootstrap conventions (#3362)
- Make thumbnails the same size as thumbnails in Works list view (#3446)
- Ensure dashboard collection list item thumbnails don't overlap with title (#3446)
- Change
description
label from "Abstract or Summary" to "Description" (#3449) - Ensure collection thumbnails show properly in search results (#3291)
- Remove
Hyrax::Actors::TransactionalRequest
from default middleware (#3482) - Backport of #3164 - Collection Thumbnails don't show in search results (#3658)
- Add new option for how to contribute (#3751)
- Relabel the links for private child works from 'File' (#3740)
- When downloading from Box, use label for filename (#3718)
Metadata
- Add
rights_notes
metadata toBasicMetadata
(#3550) - Add access rights metadata to a work. (#3749)
- Remove keyword from required fields (#3747)
- Add abstract metadata to work (#3680)
- Change predicate used by keyword (#3748)
Solr field names
- Replace use of
set_fields
with direct references to literal solr field names (#3831). If you've been customizing index keys by overriding methods inActiveFedora::Indexing::Fieldmapper
or other Solrizer-related functionality, we recommend using a custom indexer or overriding a hyrax indexer instead.
Bug Fixes
- Prevents creation of multiple
FileSet
s whenAttachFilesToWorkJob
is retried after an uncaught error (#3407) - Sanitize IIIF manifest output (#3395)
- Fix template url and update rails version (#3755)
- Add mime_type to the Riiif info_service (#3752)
Internationalization
- Improve coverage of i18n keys (#3535, #3564)
- New form hint translation (#3396)
- Email text are moved to locales (#3383)
- Extract and translate strings. (#3708)
Refactors
- Homepage layout includes more room for customization and nav pills have been changed to tabs (#3375)
- Extract
VisibilityIntention
class fromInterpretVisibilityActor
(#3462) - Remove unneeded
#save
of embargoes and leases during InterpretVisibilityActor (#3462) - Make
CreateWithRemoteFilesOrderedMembersActor
thread safe (#3477)- Reverted with "Move instance variable out of actor and into environment" (#3703)
- Add
DestroyWork
transaction to experimentalDry::Transactions
actor stack alternative (#3473) - Add
Wings
as an internalActiveFedora
/Valkyrie
bridge module (#3486, #3494, #3492, #3496, #3497, #3498, #3515, #3503, #3519, #3522, #3529) - Remove conditional from user partial (#3380)
Dependencies
- Added support for Ruby 2.6; dropped 2.3 (#3565, #3566)
- Add
valkyrie
(2.0.0-rc3
) as a production dependency (#3563) - Upgrade
riif
gem to 2.0 (#3390) - Upgrade to
ActiveFedora
12.0 (#3425) - Upgrade
hydra-head
to releases 10.6.1 or later (#3495) - Removes unnecessary check for Rails < 5 (#3391)
- Move internal dependencies into the main Engine body (#3686)
Documentation
- Adds class level documentation for
Hyrax::CatalogSearchBuilder
(#3388) - Add new option for how to contribute (#3751)
CircleCI
- Backport current CircleCI config to 2.0-stable (#3545)
- Remove Travis CI (#3651)
- Run Circle at 10x concurrency (#3688)
- Run RSPEC at 4x parallelism in Circle CI (#3683)
- Reinstate workflows (#3732)
- Use samvera circle ci orb (#3731)
- Fix flaky collection type spec (#3730)
- Clear cache and force building internal test app (#3715)
- Revert build job to always build (#3702)
Migration Procedures from Hyrax 2.x to 3.0
The following steps describe the process for migrating to Hyrax 3. The steps should be run in the order presented.
Update gem
Edit Gemfile or gemspec to update the version of hyrax.
gem 'hyrax', '3.0.0.pre.beta2`
and run
bundle update hyrax
Database: Application DB changes are all covered by db:migrate
Run migrations to get database changes...
rails hyrax:install:migrations
rails db:migrate
You will also need to run migrate for tests to update your test database.
rails db:migrate RAILS_ENV=test
Initializers
Add format
to the iiif_image_url_builder lambda in config/initializers/hyrax.rb
config.iiif_image_url_builder = lambda do |file_id, base_url, size, format|