avalonmediasystem / avalon

Avalon Media System – Samvera Application
http://www.avalonmediasystem.org/
Apache License 2.0
93 stars 51 forks source link

Upgrade to Ruby 3.3 and Rails 7.2 #5983

Closed joncameron closed 2 weeks ago

joncameron commented 1 month ago

Description

Rails 7.2 is available and includes intriguing performance improvements among other changes (and a new Ruby version). For Avalon 8.0 we should update to the latest Rails version to stay current with one of our primary dependencies.

Done Looks Like

joncameron commented 1 month ago

Could be 8 points, depending on how painful the Rails upgrade is.

masaball commented 1 month ago

Notes: Active fedora: /lib/active_fedora/scoping.rb#ln69 ActiveSupport::PerThreadRegistry is deprecated/removed. Need to switch to thread_mattr_accessor

hydra-head needs to be updated. Most recent release is rails < 7.1 (@cjcolvar)

noid-rails needs to be updated for 7.2, main supports 7.1 but a release has not been cut with 7.1 support (@masaball)

samvera-persona needs to be updated. Most recent release is rails < 7.1 (@masaball)

browse-everything needs to be updated for 7.2, most recent release supports 7.1.

active_annotations needs to be updated. Most recent release is rails < 7.1.

Non-samvera/non-local gems:

Non-breaking messages from bundle update that may be relevant:

Post-install message from about_page:

  To use the git_log node type, add the following line to your Gemfile:
  gem 'rugged'
Post-install message from rdf-xsd:

  For best results, use nokogiri and equivalent-xml gems as well.
  These are not hard requirements to preserve pure-ruby dependencies.
Post-install message from devise:

[DEVISE] Please review the [changelog] and [upgrade guide] for more info on Hotwire / Turbo integration.

  [changelog] https://github.com/heartcombo/devise/blob/main/CHANGELOG.md
  [upgrade guide] https://github.com/heartcombo/devise/wiki/How-To:-Upgrade-to-Devise-4.9.0-%5BHotwire-Turbo-integration%5D
  Post-install message from rubyzip:
RubyZip 3.0 is coming!
**********************

The public API of some Rubyzip classes has been modernized to use named
parameters for optional arguments. Please check your usage of the
following classes:
  * `Zip::File`
  * `Zip::Entry`
  * `Zip::InputStream`
  * `Zip::OutputStream`

Please ensure that your Gemfiles and .gemspecs are suitably restrictive
to avoid an unexpected breakage when 3.0 is released (e.g. ~> 2.3.0).
See https://github.com/rubyzip/rubyzip for details. The Changelog also
lists other enhancements and bugfixes that have been implemented since
version 2.3.0.
masaball commented 1 month ago

Samvera-persona gem has the same issue as active-annotations where github retired the public key it had on record. Will probably need to coordinate with Rob Kaufman to get that set back up.

cjcolvar commented 1 month ago

I may be able to help with this.

joncameron commented 2 weeks ago

@joncameron Create a new issue for cutting releases for component gems for the news Rails version. Won't happen at all the same time, and we may have to keep updating Avalon to point to new tags as needed. This will most likely be reactive as we go through development for this release and could be part of preparing for release when we're ready for that.