Releases: projectblacklight/blacklight
v7.3.0
v7.2.0
New Features and improvements
#2118 Contribution guide updates
#2132, #2137 Significant improvements for accessibility and bug fixing to collapsible facets
#2138 Responsive sort and per page labels
#2128 Removes jquery dependency from search_context.js
#2169 Moves facet field names to configuration
#2171 New applications use jquery3 by default
#2145 Adds jump links to Blacklight
#2134 Updates how icons are styled in Blacklight to improve reuse downstream
#2139 Adds Google Fi mappings
#2149, #2151 Add aria-labels to section heading
#2157 Adds accessibility improvements and enhancements to the Blacklight::Icons
class for svgs.
#2155 Update the breakpoint that facets use
#2140 Adds the ability to enable custom grouped response i18n "entries" for pagination
Bug Fixes
#2175 Adds sass-rails requirement for Rails 5
#2171 Updates the asset generator with an order that works for CSRF + rails-ujs + jquery3
#2165 Fixes an issue about input button rounding for fielded search
Updates/maintenance
#2148 Suppresses semi-colon warnings for jshint
#2167 Extracts a test for the facet_group template
#2162 Update location and addressing of modules. In preparation for Rails 6 and Zeitwerk
Upgrade Notes
Please note that #2137 provided some HTML changes where previous <a>
elements were updated to <button>
elements. This change was done to improve accessibility and usability and we are considering it an enhancements. Blacklight adopters should be aware of this as to look at local styling that may need to be modified.
#2134 updated how icons are styled in Blacklight. We are now using a fill
based svg approach. This is consistent with how many icon libraries are now providing and styling their icons. It should also enable downstream users of Blacklight to more easily style icons.
#2145 Adds jump links to Blacklight, but also sets search bar autofocus to off. This can be reenabled but is left off for accessibility.
#2157 Adds enhanced accessibility features for svg icons used in Blacklight and downstream applications/engines.
Thank you to all of the contributors for this release!!! 🥇
v7.1.0
Various dependency updates - Rubocop, Bootstrap
Removes Nokogiri as a required dependency #2076
Several style updates - #2079, #2080
Remove popper.js - #2094
Updates CONTRIBUTING.md
New Features and improvements
#2063 improves performance of deleting old searches
#2071 adds configuration for search session tracking
#2126 adds the ability to add aria-hidden
to svg icons
#2131 adds the ability to have html based bookmark labels
Bug Fixes
#2069 Fixes a "NoMethodError"
#2089 Fixes field name for author in schema (Solr 8 compatibility)
#2125 Fixes the bookmark thumbnail padding
#2119 Fixes whitespace
Thanks to all the contributors 👏
@camillevilla
@cbeer
@cdmo
@cjcolvar
Daniel Schmidt
@dunn
@jcoyne
@jkeck
@jrochkind
@labradford
@mejackreed
@sensei100
@tampakis
Version 6.20.0
New features
Add custom routing constraints by setting:
Blacklight::Engine.config.routes.identifier_constraint = %r{.+}
This must be set before config/routes.rb
is loaded, so config/initializers/blacklight.rb
is a great place for this.
Version 7.0.1
Bug Fixes
- Ensure the template generator works
v6.19.2
Version 7.0.0
New features
- Bootstrap 4
- Rails 5.2 support
- Webpacker support
- JSON-API support
- Solr 7.2 support
- Dynamic solr schema by default
- Additive configuration #1767
- Defined properties in the
SolrDocument
class #1659
If you previously had a number of methods in yourSolrDocument
class like this:
def title
self['title_ssim'].first
end
You can now simplify these by replacing with:
include Blacklight::Solr::Document
attribute :title, Blacklight::Types::String, 'title_tesim'
Bug fixes
- if the application name isn't defined in the current language, fallback to the application_name in the default language. #1724
Upgrading
Add include Blacklight::DefaultComponentConfiguration
to your catalog controller or
configure_blacklight do |config|
config.add_results_document_tool(:bookmark, partial: 'bookmark_control', if: :render_bookmarks_control?)
config.add_results_collection_tool(:sort_widget)
config.add_results_collection_tool(:per_page_widget)
config.add_results_collection_tool(:view_type_group)
config.add_show_tools_partial(:bookmark, partial: 'bookmark_control', if: :render_bookmarks_control?)
config.add_show_tools_partial(:email, callback: :email_action, validator: :validate_email_params)
config.add_show_tools_partial(:sms, if: :render_sms_action?, callback: :sms_action, validator: :validate_sms_params)
config.add_show_tools_partial(:citation)
config.add_nav_action(:bookmark, partial: 'blacklight/nav/bookmark', if: :render_bookmarks_control?)
config.add_nav_action(:search_history, partial: 'blacklight/nav/search_history')
end
Documents are now returned using JSON-API at /catalog/:id.json
This only returns fields that are configured using add_show_field
. If you want to receive the full Solr document (all fields) in the format they were in in Blacklight 6, you must add the configuration: config.raw_endpoint.enabled = true
and the endpoint will be changed to /catalog/:id/raw.json
If you are using Blacklight::Solr::Response
directly, note that the options to the initializer have changed. Where previously it took :solr_document_model
it now takes a :blacklight_config
option.
Partial changes
shared/ajax_modal
has moved toshared/modal
Bootstrap 3 to 4 migration guide
For updating your Blacklight application from Bootstrap 3 to 4, please review and contribute to the migration guide.
v7.0.0.rc2
New features
- Bootstrap 4
- Rails 5.2 support
- More maintainable routes via routing concerns
- Webpacker support
- JSON-API support
- Solr 7.2 support
- Dynamic solr schema by default
- Additive configuration #1767
- Defined properties in the
SolrDocument
class #1659
If you previously had a number of methods in yourSolrDocument
class like this:
def title
self['title_ssim'].first
end
You can now simplify these by replacing with:
include Blacklight::Solr::Document
attribute :title, Blacklight::Types::String, 'title_tesim'
Bug fixes
- if the application name isn't defined in the current language, fallback to the application_name in the default language. #1724
Upgrading
Add include Blacklight::DefaultComponentConfiguration
to your catalog controller or
configure_blacklight do |config|
config.add_results_document_tool(:bookmark, partial: 'bookmark_control', if: :render_bookmarks_control?)
config.add_results_collection_tool(:sort_widget)
config.add_results_collection_tool(:per_page_widget)
config.add_results_collection_tool(:view_type_group)
config.add_show_tools_partial(:bookmark, partial: 'bookmark_control', if: :render_bookmarks_control?)
config.add_show_tools_partial(:email, callback: :email_action, validator: :validate_email_params)
config.add_show_tools_partial(:sms, if: :render_sms_action?, callback: :sms_action, validator: :validate_sms_params)
config.add_show_tools_partial(:citation)
config.add_nav_action(:bookmark, partial: 'blacklight/nav/bookmark', if: :render_bookmarks_control?)
config.add_nav_action(:search_history, partial: 'blacklight/nav/search_history')
end
Documents are now returned using JSON-API at /catalog/:id.json
This only returns fields that are configured using add_show_field
. If you want to receive the full Solr document (all fields) in the format they were in in Blacklight 6, you must add the configuration: config.raw_endpoint.enabled = true
and the endpoint will be changed to /catalog/:id/raw.json
If you are using Blacklight::Solr::Response
directly, note that the options to the initializer have changed. Where previously it took :solr_document_model
it now takes a :blacklight_config
option.
v6.17.0
v6.16.0
Bug Fixes
#1883 Fixes an issue where the searchbox in Safari is broken
#1987 Fixes an issue where Bookmark checkboxes would update, even though the request failed
Enhancements
#1984 Avoids unnecessary field lookup for configs that are present for a specific type. Adds deprecation warnings going forward.
#1973 Improves accessibility of per page, fact toggle, and sort buttons
#1863 Adds deprecation warnings for discard_flash_if_xhr
Upgrade guide
If you override or use Blacklight::IndexPresenter#field_value
the contract of that method has changed. Please see the deprecation warnings or #1984 for advice on upgrading.
Thanks to contributors for their help on this release:
@dkinzer, @jgondron, @jcoyne, @kdid, @cjcolvar, @mejackreed, and @mjgiarlo.