Releases: projectblacklight/blacklight_range_limit
v9.0.0
Overview
This release adds support for Blacklight 8+ and Rails 8. It includes a complete rewrite of the plugin's Javascript and related dependencies; significant revisions to the UI; accessibility improvements; new/improved configuration options; and several other fixes/enhancements.
- Works with Blacklight 7, 8, or (upcoming) 9.
- Works with Rails 7 or 8
- Works with Bootstrap 4 or 5
- Plugin is now delivered as an NPM package, for use with modern JS bundling/delivery mechanisms; or can alternately be used with importmap-rails
- Implements Chart.js as a replacement for the Flot.js charting library
- Drops jQuery & bootstrap-slider dependencies
- Plugin no longer has (S)CSS assets to wrangle
UI Changes
- Adds an expandable
Range List
toggle to navigate the range segments and display the distribution; usable via screen-reader, keyboard, or mouse - Adds visible field labels for the
Begin
&End
fields - Moves the
Apply limit
button to under the fields; esp. improves usability of narrower layouts - Removes the
View Larger
link and range slider handles (to simplify dependencies) - See #267 for more screenshots/discussion
Notable Fixes & Improvements
- Supports open-ended ranges -- omitting either the start or end value (fixes #235)
- Supports grouped view of search results, e.g., as used by arclight (fixes #272)
- Constrains the default min/max range to valid Solr integer field range (per #289)
- Prevents errors when a query uses integers exceeding the configured min/max, both client & server side (fixes #289)
- Chart no longer renders when queried min & max are identical, e.g.,
2024 to 2024
(fixes #224) - Chart displays and adjusts in responsive/fluid layouts, regardless of whether range facet is collapsed by default (fixes #162)
- Range facet no longer displays on a
zero results found
search results page (fixes #237) - The
[Missing]
value in a range facet can be configured to not display (fixes #288)
Configuration Changes
- Simplifies default config; a simple
range: true
will now render a range limit facet, e.g.:
config.add_facet_field 'pub_date', label: 'Year', range: true
- Chart colors and aspect ratio are now in facet config (were previously only configurable via custom JS)
- Adds config for
textual_facets
,textual_facet_collapsible
,show_missing_link
,chart_segment_border_color
,chart_segment_bg_color
,chart_aspect_ratio
. For details, see Range Facet Configuration in the README. - Removes
maxlength
config
Developer Notes
- Please consult the README for details; especially see Upgrading from Blacklight Range Limit 8.x to 9.x
- Note: the plugin's JS now requires you to be using either
importmap-rails
or apackage.json
-based builder likejsbundling-rails
orvite-ruby
. - The plugin could be installed/used without JS (e.g., for a legacy "sprockets-only" application) via:
rails generate blacklight_range_limit:install --skip-assets
. Much of its core functionality will be intact but it will be missing the chart and other features.
All Changes
- Pin to solr version 9.6.1 by @jcoyne in #261
- Bump rollup from 2.79.1 to 3.29.5 by @dependabot in #265
- Configure a spec persistence path by @jcoyne in #260
- Test on latest three versions of Ruby & Rails by @jcoyne in #262
- rebuild JS from ground up, prep major version by @jrochkind in #266
- Redesign input form for applying limits by @jrochkind in #267
- Try Github CI caching solr dist .zip fetch from apache by @jrochkind in #270
- Remove all deprecated methods, templates, and other behavior by @jrochkind in #268
- make chart.js responsive on screen size change by @jrochkind in #269
- Enable the plugin to work with grouped search results (e.g., ArcLight… by @seanaery in #273
- Display properly when there is no data by @jrochkind in #276
- Textual facets in collapsible on screen by @jrochkind in #274
- Simply documented and tested config to activate range limit facet by @jrochkind in #275
- CI with Rails 8.0.0 final by @jrochkind in #277
- need to sniff all args from data tags guaranteed BEFORE rendering anything by @jrochkind in #279
- Don't show chart or textual facets when only one facet bucket, by @jrochkind in #280
- Don't render the range limit facet on zero results pages; fixes #237. by @seanaery in #281
- Support open-ended ranges by @jrochkind in #278
- Clean up and make consistent how config is passed to JS by @jrochkind in #282
- just bumping version to 9.0.0.beta1 for release by @jrochkind in #283
- some Rake hooks to encourage releasing npm package matching gem on rake release by @jrochkind in #284
- update README screenshot for 9.0 by @jrochkind in #285
- For open-ended limit, ensure both limit and data min/max are taken account of in calculating range bucket boundaries by @jrochkind in #290
- Fix typos & formatting inconsistencies in README/comments. by @seanaery in #291
- Make displaying the [Missing] link/value configurable (default true).… by @seanaery in #292
- add --skip-assets option to blacklight_range_limit:install generator by @jrochkind in #293
- Clamp values between config'd min and max by @jrochkind in #294
- trigger CI on PR to any branch, not just main. by @jrochkind in #303
- Avoid mutation of range config between tests, revealing fix for assumed_boundaries config by @jrochkind in #302
- regression tests for existing kinds of bad params currently handled okay by @jrochkind in #301
- hacky way to keep unpermitted params out of text range facet links by @jrochkind in #298
- prepare for 9.0.0.beta2 release by @jrochkind in #304
- bad query params to #range_limit action should not result in uncaught exception by @jrochkind in #305
- Test App fixup for BL8 only needed prior to 8.7.0 by @jrochkind in #309
- prepare for 9.0.0 final release by @jrochkind in #307
New Contributors
- @dependabot made their first contribution in #265
- @seanaery made their first contribution in #273
Full Changelog: v8.5.0...v9.0.0
v8.5.0
v8.4.0
- now supports dependendency
view_component
>= 2.54, < 4 (previously was 2.x only)
Note: blacklight_range_limit is not currently passing CI with Blacklight 8, despite it's gemspec allowing blacklight 8 -- this has been true for some time before this release, possibly no release of blacklight_range_limit has ever actually passed CI with a released Blacklight 8.x.
v8.2.4
8.2.3
v8.2.2
v8.2.1
v8.2.0
What's Changed
- Add german locale by @vstollen in #173
- Add Bootstrap 5 support by @vstollen in #178
- align test matrix with Blacklight 7 by @barmintor in #181
- Add Italian translations by @ggeisler in #180
- Convert range limit views + helpers to presenters + components by @cbeer in #179
- Blacklight 7.25.x accomodations in FilterField and ControllerOverride by @barmintor in #183
- make path to search builer a class option on generator (fixes #43) by @barmintor in #184
- filter field validates permitted params with ActionController::Parameters by @barmintor in #186
- Support Solr 9 by @cbeer in #188
- Display the end year marker on the graph consistently by @cbeer in #191
New Contributors
- @vstollen made their first contribution in #173
- @barmintor made their first contribution in #181
- @ggeisler made their first contribution in #180
Full Changelog: v8.1.0...v8.2.0
v8.1.0
What's Changed
- Change range inputs to type=number by @jrochkind in #175
- bump version to 8.1.0 to prepare for release by @jrochkind in #176
Full Changelog: v8.0.1...v8.1.0
v8.0.0
Updates
Updates to support Ruby 3 and Rails 6.1
Breaking changes
While these are technically breaking changes in #163, they will likely not affect many adopters unless they have written custom JavaScript overrides of files. These intended changes are aimed at making extensibility of the JavaScript possible.