Skip to content

Releases: projectblacklight/blacklight_range_limit

v9.0.0

10 Jan 19:03
Compare
Choose a tag to compare

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 a package.json-based builder like jsbundling-rails or vite-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

Full Changelog: v8.5.0...v9.0.0

v8.5.0

05 Feb 15:51
Compare
Choose a tag to compare

What's Changed

  • add MutationObserver for Blacklight 8 Modal by @yetti in #249
  • Decouple Blacklight from javascript by @jcoyne in #251
  • Test on Rails 7.1 and Ruby 3.3 by @jcoyne in #250
  • Compile the javascript with rollup by @jcoyne in #252

New Contributors

Full Changelog: v8.4.0...v8.5.0

v8.4.0

02 Nov 20:23
f9f196b
Compare
Choose a tag to compare
  • 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

05 Oct 22:36
Compare
Choose a tag to compare

** Yanked **

What's Changed

  • Use after_initialize instead of before_configuration to play nice… by @cbeer in #205

Full Changelog: v8.2.3...v8.2.4

8.2.3

01 Aug 19:22
253489e
Compare
Choose a tag to compare

Bug fixes:

  • Make range range limits scalar values (fix query params to not end in []) #195
  • do not render a range form's field value as hidden and visible inputs, and render submit controls without a name to suppress from formData #198

v8.2.2...v8.2.3

v8.2.2

06 Jul 19:44
Compare
Choose a tag to compare

What's Changed

  • Pass missing values through the overridden FilterField by @cbeer in #193

Full Changelog: v8.2.1...v8.2.2

v8.2.1

21 Jun 17:20
Compare
Choose a tag to compare

What's Changed

  • Guard against empty range points by @cbeer in #192

Full Changelog: v8.2.0...v8.2.1

v8.2.0

21 Jun 17:19
Compare
Choose a tag to compare

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

Full Changelog: v8.1.0...v8.2.0

v8.1.0

05 May 16:30
981afa2
Compare
Choose a tag to compare

What's Changed

Full Changelog: v8.0.1...v8.1.0

v8.0.0

03 Feb 00:05
Compare
Choose a tag to compare

v7.9.1...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.