Skip to content

Releases: projectblacklight/blacklight

Blacklight 4.5.0 Release Candidate 1

21 Oct 17:12
Compare
Choose a tag to compare
Pre-release

Commit History | Milestone

Features

#613 Add friendly error page when no search results are found

#619 (and #605) Store and retrieve "search history context" in the database, and add multi-tab search support for blacklight-4.3

Improvements

#621 Extract Blacklight::Base module out of Blacklight::Catalog with all the methods needed to work with Blacklight::SolrHelper

#615 Refactor the catalog/index.html.erb template to render e.g. facets in a separate partial

#627 add :document_counter to render_document_partial call in atom builder

#626 JSON response from CatalogController#index can be overridden

#622 License missing from gemspec

Blacklight 4.4.2

27 Sep 19:44
Compare
Choose a tag to compare

Commit History | Milestone

Bug Fixes

  • #614 Support Kaminari master, but including Kaminari::ConfigurationMethods into our SolrResponse pagination.

Other improvements

  • #618 Prune dead code for "result_view"
  • #610 Add facet labels to the json response
  • Adjust bookmark and refworks forms to style the submit tag, instead of adding a link-styled-as-abutton
  • Address deprecation warnings (Relation#all, mock => double)
  • Use the Rails url_options to construct ActionMailer URLs

Blacklight 4.4.1

18 Sep 14:05
Compare
Choose a tag to compare

Commit History | Milestone

Bug Fixes

  • Various fixes to the thumbnail templates

Other improvements

  • add Blacklight::Solr::Document#first to retrieve the first value from a field
  • add facet=true to the solr request when config.add_facet_fields_to_solr_request is true
  • pass the document_counter when rendering the document index partial

Blacklight 4.4.0

17 Sep 18:59
Compare
Choose a tag to compare

Commit History | Upgrade Guide | Milestone

Features

  • #598 Show thumbnails (if available) for documents in search results
  • #594 Provide Blacklight configuration support for linking field values to facets
  • #589 Support Rails 4.x-style turbolinks (Blacklight-provided javascript should be loaded on document ready or the page:load event)
  • #588 Provide an (experimental) JSON API for search and show
  • #577 Add Solr Field Collapsing feature, if the Solr response includes a grouped element.

Bug Fixes

  • #640 Fix the solr query Blacklight generates when the query contains Solr "local parameters" containing digits (e.g. $pf2_value)
  • #590 Fix transferring unregistered guest user bookmarks to a newly registered user
  • #587 Fix Zotero support, where ampersands in the context object were being double escaped
  • #534 Blacklight::CatalogHelperBehavior#paginate_params values of first_page? and last_page? incorrectly set?
  • #525 Add i18n support to Bookmarks javascript replacement
  • #585 Add keyboard accessibility to the facet expanders
  • #563 Login page should have focus in the email field, not the search field.

Other Improvements

  • #600 Decomposing blacklight generator
  • #599 Improving speed of blacklight generator
  • #597 Rewrite document_counter logic in header
  • #596 Don't generate devise views by default
  • #595 Support kaminari pagination helpers in Blacklight::SolrResponse (kaminari can now work with our SolrResponse objects natively).
  • #591 Remove cucumber. All features have been ported to rspec feature tests.
  • #584 Move onload_text out of layouts/blacklight.html.erb
  • #515 Ensure we run bundle install after generating bootstrap-sass into the Gemfile
  • Update lightbox_dialog.js - Adding an event for DOM change when modal is already shown
  • #607 Refactor catalog#email and catalog#sms methods
  • #609 The solr facet :ex local parameter should work with pivot and facet
    field configurations.
  • Convert some bare strings to i18n strings
  • #608 Use ActiveRecord query methods in Blacklight::User mixin

Upgrade Guide

If you've overridden the catalog/sms.html.erb template or RecordMailer#sms action (e.g. to add custom SMS provider mappings), you should look at the changes in this patch, which moved the mappings and validation into the controller.

Blacklight 4.3.0

17 Sep 19:05
Compare
Choose a tag to compare

Commit History | Upgrade Guide

Bug fixes include:

  • #556 check that a highlight field exists before trying to render it.
  • #561 Redirect to home page on a missing document
  • #569 Applies header style to #header-navbar-fixed-top .brand in order to avoid trumping other Bootstrap navbars.
  • use #facet_configuration_for_field to render search history constraints for consistency and configuration-independence

Other changes:

  • deprecate #sidebar_items, and stop populating it with content.
  • provide a SOLR_URL ENV variable to set the location of the development solr core
  • fix Rails 4-related deprecation warnings

Upgrade Guide

Application overrides that used the CSS selector .navbar .brand to change the navbar styling should use #header-navbar-fixed-top .brand instead.

Applications that used content from #sidebar_items must populate that content themselves (by rendering it directly in their partial, or in some other application-specific way).

Blacklight 4.2.2

17 Sep 19:09
Compare
Choose a tag to compare

Commit History | Upgrade Guide

Improvements

  • Update testing dependencies for Rails 4.0 release
  • Update testing framework to use Solr 4.x

Upgrade Guide

No known issues

Blacklight 4.2.1

17 Sep 19:11
Compare
Choose a tag to compare

Commit History | Upgrade Guide

Bug fixes

  • #554 enable users to update bootstrap-sass to the latest version
  • #557 add the post route for sending email
  • #559 Remove unnecessary require of 'mash' which was causing "uninitialized constant HashWithIndifferentAccess"
  • Fixed issue with refworks exports 156e76

Improvements

  • Rails 4 support

Upgrade Guide

No known issues

Blacklight 4.2.0

17 Sep 19:13
Compare
Choose a tag to compare

Commit History | Upgrade Guide

Bug Fixes

  • #548 remove duplicate favicon link tag
  • #546 more straightforward testing (deprecating the test_support/bin/* scripts in favor of just rake)

Features

  • #549 add :helper_method parameter to #add_facet_field (similar to add_index/show_field)

Improvements

  • jQuery 1.9 compatibility (#545 and others)

Upgrade Guide

No known issues

Blacklight 4.1.0

17 Sep 19:14
Compare
Choose a tag to compare

Commit History | Upgrade Guide

Release Notes

Bug fixes include:

  • #529 Responsive facet collapsing is not JS degradable
  • #528 Reset "page" param on "per_page" change

And some minor feature enhancements, highlights include:

  • #523 Pass the document object into helper methods so local overrides can make rendering decisions based on the current document
  • #522 Make it easier to add custom SolrField fields in the Blacklight config
  • add a #blacklight_solr accessor (intended to replace the global Blacklight.solr)
  • a French locale translation for Blacklight (thanks @biblimathieu!)

There's a handful of Rails 4 deprecation warnings and improvements that still need to happen, but this release fixed all major blockers and relaxes the Rails version dependency.

Upgrade Guide

No known issues.

Blacklight 4.0.0

17 Sep 19:15
Compare
Choose a tag to compare

Commit History | Upgrade Guide

Release Notes

  • Remove dependency on RSolr::Ext. In this first stage, some RSolr::Ext code is now maintained in Blacklight, e.g.:
    • RSolr::Ext::Response::Facets => Blacklight::SolrResponse::Facets
    • RSolr::Ext::Doc => Blacklight::Solr::Document
    • etc
  • Bootstrap-based view templates and default stylesheet; removed compass/susy
  • Drop support for Ruby 1.8; add support for Ruby 2.0

And the usual bug-fixes (some of which are backported into 3.8.x):

  • fix #64, show MoreLikeThis titles on record show page if available
  • fix #422; show prev/next options even when not linked
  • fix #450; support Solr 4.x and use it by default.
  • fix #484, use top-level constant BLACKLIGHT_VERBOSE_LOGGING (uninitialized by default) to log the full solr response with each solr query
  • fix #495 Remove blacklight_config.rb template
  • fix #496, removing hard-coded 'id' field reference in BookmarksController
  • remove unicode as an explicit Blacklight dependency, but use it if it is available
  • fix #499 When document_heading is an array, don't draw the array bracket…
  • fix #502, Endnote action tries to render partials and gives error
  • update per_page widget to use i18n strings; don't require echoParams
  • use 1.9-style string interpolation for template path lookups
  • consolidate solr pagination information lookup.

Plugins Compatibility

As of 11/26:

Tested/Compatible

  • blacklight_advanced_search
  • blacklight_cql
  • blacklight_range_limit
  • blacklight_browse_nearby

Upgrade Guide

When approaching the Blacklight 3.x => 4.0 upgrade, we'd strongly recommend adopting the bootstrap templates, update local overrides to use bootstrap, and do your own bootstrap stylesheet customization.

That said, it should be possible to do a fairly straightforward in-place upgrade if you so choose. Most of the Blacklight 4.x work was limited to views, javascript and stylesheets. If you want to keep the old Blacklight theme, you should be able to grab them from Blacklight and drop them into your application directly. We wouldn't recommend it though.

To upgrade your application to Blacklight 4.x:

  • Update your application's gem dependency to use Blacklight 4.0:
gem 'blacklight', "~>4.0"
  • Add the unicode gem to your application's Gemfile (if you want to use it to normalize character encoding for refworks integration):
gem 'unicode'
  • Remove compass/susy references; replace with bootstrap-sass:
# REMOVE:
gem 'compass-rails', '~> 1.0.0', :group => :assets
gem 'compass-susy-plugin', '~> 0.9.0', :group => :assets

# ADD:
gem 'bootstrap-sass'
  • (Remember to bundle install)
  • Add the following into your stylesheets directory (possibly as app/assets/stylesheets/blacklight.css.scss):
@import 'bootstrap';
@import 'bootstrap-responsive';

@import 'blacklight/blacklight';

You no longer need the blacklight_themes directory and can remove require 'blacklight_themes/standard' (and the jquery UI css) from your application.css

In app/assets/javascripts/application.js, you can also remove

//= require jquery-ui
  • If you have local overrides of stylesheets, javascript or view templates, you should update them appropriately. Be warned that some of the bootstrapped Blacklight HTML element classes and IDs may have shifted slightly, and the previous susy-grid and YUI class names have been removed.

In your ApplicationController, you need to tell your application which layout to use:

# completely Blacklight 3.x-backwards compatible
layout :choose_layout

# if you don't need dynamic layout switching, just do the Rails-standard:
layout 'blacklight'
  • If you are using devise-guests, you probably want to update to devise-guests ~> 0.3. After doing so,
$ rails g devise_guests
  • Then run the database migration task
$ rake db:migrate

If you've already chosen a different layout for your application, you don't need to do anything at all.

Here are some minor differences elsewhere:

  • Some i18n strings have been updated to read better in the new UI
  • the helper #render_document_heading returns an h4 instead of an h1.
  • the helper #document_show_fields returns a hash instead of a list of keys

Document partial paths

The default naming convention for format-specific partials was changed. In Blacklight 3.1, the default format-specific path was changed to catalog/_index_[format_name].html.erb, but support for the Blacklight 2.x style was left in place. In Blacklight 4, the Blacklight 2.x style was removed from the list of defaults.

So, if you have partials in a directory like:

catalog/_index_partials/[format_name].html.erb

they should be moved to

catalog/_index_[format_name].html.erb

Or, alternatively, you may override the helpers document_index_path_templates and document_partial_path_templates with a custom naming convention.