Skip to content

Upgrading to Blacklight 9

Justin Coyne edited this page May 15, 2025 · 15 revisions

Blacklight 9 includes some backwards-incompatible changes. Follow this guide to upgrade a Blacklight 8 application to Blacklight 9.

  1. Ensure your local application has a passing test suite. If needed, add automated tests for any important functionality, to make it obvious when something is broken.

  2. Upgrade to the latest 8.x release so you can see any recent deprecation warnings.

  3. Take note of any deprecation warnings originating from Blacklight in the logs and make the suggested changes.

  4. Upgrade to Blacklight 9 and follow the Upgrade Notes below.

Plugin status against Blacklight 9

To test a plugin and validate it Run the plugin with the latest version of blacklight/main.

Tested and known to work

  1. blacklight-hierarchy
  2. blacklight_range_limit - Tested and working in blacklight 9.x pre-releases as of blacklight_range_limit 9.0
  3. blacklight_dynamic_sitemap
  4. blacklight-gallery
  5. arclight https://github.com/projectblacklight/arclight/pull/1596 (needs a release cut)

Tested and in need of upgrade

  1. spotlight Due to: https://github.com/projectblacklight/spotlight/pull/3429

Testing in progress

  1. blacklight_marc

Not yet tested

  1. blacklight_oai_provider
  2. blacklight_iiif_search
  3. blacklight_advanced_search - release needed
  4. geoblacklight - a number of UI issues, in progress PR open

Upgrade Notes

  1. The shared/header_navbar partial no longer exists. If you used this in your application, then render blacklight_config.header_component.new(blacklight_config: blacklight_config) instead.

  2. The 'catalog/constraintspartial no longer exists. If you call this in your application, insteadrender blacklight_config.view_config(document_index_view_type).constraints_component.new(search_state: search_state)`

  3. If you use importmap-rails to access Blacklight Javascript files, change the line import 'blacklight' to import 'blacklight-frontend'. (probably in an application.js file)

  4. If you used to use import 'blacklight-frontend/app/assets/javascripts/blacklight/blacklight', it should now be switched to import 'blacklight-frontend'

Clone this wiki locally