Skip to content

v8.0.0

Compare
Choose a tag to compare
@barmintor barmintor released this 16 Mar 21:24
· 99 commits to main since this release

Upgrade guide

An upgrade guide is available on the wiki.

What's Changed

  • Update main to v8.0.0.alpha, dropping deprecated behaviors by @cbeer in #2458
  • Use and prefer view config components by default over the default view config partials by @cbeer in #2523
  • Resolve all the layout todos by @jcoyne in #2078
  • Use ruby 1.9 hash keys by @jcoyne in #2526
  • Prevent deprecation warnings in tests by @jcoyne in #2528
  • Use underscore for data attribute keys by @jcoyne in #2524
  • Add documentation about integration points by @jcoyne in #2529
  • Move the class configuration defaults into Blacklight::Configuration.default_values by @cbeer in #2522
  • Drop IE11 as a supported browser by @jcoyne in #2515
  • Explicity pass the documents to the render_document_index method by @jcoyne in #2527
  • Remove orphaned view by @cbeer in #2534
  • Normalize the facet component by @jcoyne in #2536
  • Remove the rails details panel. by @jcoyne in #2538
  • Bump dependency on rspec-rails by @jcoyne in #2543
  • Set field configuration default values in the normalize step of the configuration by @cbeer in #2550
  • Upgrade to latest rubocop by @jcoyne in #2547
  • Remove unnecessary dependency rspec-its by @jcoyne in #2544
  • Allow constraints to wrap across lines by @cbeer in #2554
  • Run CI for any pull request and pushes to release branches by @cbeer in #2556
  • Pass the full response to the facet fields by @cbeer in #2555
  • Replace shx/sed/babel with rollup by @jcoyne in #2539
  • Fix spinning up BL instance using docker-compose up by @dkinzer in #2559
  • We can now simplify asset generation by @jcoyne in #2545
  • Implement checkbox submit without jquery by @jcoyne in #2161
  • Support Bootstrap 4 + 5 modal methods by @cbeer in #2571
  • Mark required fields as required by @jcoyne in #2579
  • Find the modal element if it's not passed as an argument by @jcoyne in #2580
  • Use a null-object pattern to return an empty facet field from a response by @cbeer in #2582
  • Refactor FacetGroupComponent so it has less responsibility by @cbeer in #2583
  • Use the fetch api rather than jquery by @jcoyne in #2567
  • Remove unused selector by @jcoyne in #2569
  • Stop preventing an event default as it does nothing by @jcoyne in #2572
  • Replace twitter-typeahead-rails with @github/auto-complete-element by @jcoyne in #2576
  • Remove unnecessary dependency on rails-ujs by @jcoyne in #2584
  • Add support for turbo or rails-ujs by @jcoyne in #2586
  • Apply the bootstrap 5 dismiss data attribute for flash messages by @jcoyne in #2585
  • Remove unnecessary event by @jcoyne in #2587
  • Deprecate render_document_partials. by @jcoyne in #2546
  • Provide a more helpful deprecation message by @jcoyne in #2589
  • Refactor modal to use a local constant by @jcoyne in #2565
  • Reimplement modal.receiveAjax without using jQuery by @jcoyne in #2590
  • Implement modal.onFailure without using jquery by @jcoyne in #2591
  • Bind the ajax link click handler without using jQuery by @jcoyne in #2592
  • Don't render the facet pagination controls if there's no paginator by @cbeer in #2593
  • Avoid deprecation with view_component loading by @jcoyne in #2577
  • Use the helper context methods or constructing action routes by @cbeer in #2595
  • Fix view spec for jbuilder by @jcoyne in #2598
  • Test on ruby 3.0.x and avoid 3.1.0 by @jcoyne in #2600
  • Add documentation about how the modal js knows when to close the modal by @jcoyne in #2601
  • Add a routing spec for SearchHistoryController by @jcoyne in #1930
  • Add aria label to search by @barmintor in #2603
  • Rebase search bar component by @barmintor in #2604
  • Move search_service_class to Searchable by @jcoyne in #2320
  • Switch to make Bootstrap 5 the default by @jcoyne in #2578
  • Encapsulate the blacklight config by @jcoyne in #2083
  • Complete move of config keys by @barmintor in #2611
  • Add expectations, so that we're on the right page before clicking buttons by @cbeer in #2613
  • Remove hardcoding of SolrDocument in url_for_document by @jcoyne in #1910
  • Rails 7 support by @jcoyne in #2542
  • Add collations to did you mean by @barmintor in #2605
  • Separate out handling of Solr timeout errors with it's own exception class by @jrochkind in #2597
  • Work around for rspec-mocks#1460 issue with expectations on kwargs by @cbeer in #2618
  • Update #render_search_to_page_title to use search state to resolve filters by @cbeer in #2627
  • Convert search history display to use components by @cbeer in #2626
  • Use the class_methods module provided by ActiveSupport::Concern by @jcoyne in #2632
  • Bump Rails version in .env by @cbeer in #2641
  • Add blacklight-specific variables for the active facet state by @cbeer in #2644
  • Bug fix: stop the ERB block from accidentally rendering by @cbeer in #2645
  • Use thread_mattr_accessor instead of deprecated ActiveSupport::PerThreadRegistry by @cbeer in #2649
  • Update engine cart stanza from upstream by @cbeer in #2651
  • Use with_unbundled_env instead of deprecated with_clean_env by @cbeer in #2652
  • Bring the facebook param fix to inclusive facets as well by @sandbergja in #2654
  • Extract default pagination options to engine-level configuration by @cbeer in #2657
  • Don't allow constraint values to wrap by @cbeer in #2659
  • Fix up rdoc tags and improve the Blacklight::Configuration docs by @cbeer in #2656
  • Guard against bootstrap variable not being defined by @cbeer in #2638
  • Fix the rdocs for the arguments received by the filter_query_builder proc by @cbeer in #2624
  • Eagerly coerce facet values to strings coming out of FacetItemPresenter#label by @cbeer in #2623
  • Add CI status badge to README by @bess in #2667
  • Allow multiple fq parameters back from the filter_query_builder call by @cbeer in #2625
  • Make some more search-related components configurable by @cbeer in #2628
  • Test on Rails 6.1 by @jcoyne in #2675
  • Test on ruby 3.1 by @jcoyne in #2677
  • Allow the search button to be passed into the search bar using a slot by @jcoyne in #2672
  • Update Github Actions to use "checkout@v3" by @jrochkind in #2682
  • End special handling of non-200 HTTP responses from Solr by @jrochkind in #2681
  • Remove code that was meant to support obsolete versions of Rails by @jcoyne in #2684
  • Extract common Blacklight::Component base class for blacklight components by @cbeer in #2679
  • Blacklight::Component uses a compiler that will use a template from the installing app by @barmintor in #2693
  • Stop testing on ruby 2.6 by @jcoyne in #2676
  • Collapse the separate test cases into one massive testing matrix by @cbeer in #2680
  • Allow templates to govern where the output goes by @jcoyne in #2573
  • Use the HTML dialog element to replace bootstrap modal behaviors by @jcoyne in #2671
  • Do not add facet limit unless it is known. by @dkinzer in #1989
  • BookmarksController#create should not return success on invalid input by @sandbergja in #2666
  • Leverage ActiveSupport::Concern for Blacklight::User by @jcoyne in #2699
  • Enable new rubocop rules and autocorrect by @jcoyne in #2674
  • Stop using SearchBarPresenter by @jcoyne in #2673
  • Move User#to_s from generator to Blacklight::User by @no-reply in #2061
  • Add test for title prefix by @jcoyne in #2602
  • Update icon to be compatible with propshaft by @jcoyne in #2668
  • Remove render_document_main_content_partial helper by @jcoyne in #2709
  • Remove the _previous_next_doc.html.erb partial by @jcoyne in #2708
  • Port Blacklight::SearchState only manages permitted params to main by @barmintor in #2694
  • Use ActionController::Parameters to filter out non-search parameters by @cbeer in #2717
  • Use inline icons as components by @jcoyne in #2670
  • fix a typo in svg source for ListComponent by @barmintor in #2724
  • configured search_state_class propagates to search builder by @barmintor in #2722
  • Add documentation about the purpose for search_service_context by @jcoyne in #2727
  • Add :view to the list of permitted search_state_fields by @cbeer in #2730
  • Use attr_readers to access facet item data by @cbeer in #2737
  • Update supported versions by @jcoyne in #2736
  • Allow for missing facet response data by @cbeer in #2742
  • Refactor SearchContextComponent to include some more extension points… by @cbeer in #2741
  • Support Solr 9 with the generated configs by @cbeer in #2744
  • Display the facet counts with the facet checkboxes display by @cbeer in #2747
  • Style the advanced search form display by @cbeer in #2749
  • Update and appease rubocop by @cbeer in #2751
  • Pass a SearchState instance when building the advanced search form search service by @cbeer in #2752
  • Rename method to use inclusive language by @jcoyne in #2732
  • Inherit from ApplicationMailer for easy default setting by @orangewolf in #2760
  • Require Rails 6.1+ to match CI by @cbeer in #2750
  • Remove wrapping classes from bookmark tools by @cbeer in #2755
  • Facet rendering should fall back on a null facet field response by @cbeer in #2757
  • Make the Search tips header to a h2 by @cbeer in #2761
  • Make the advanced search responsive collapse breakpoints match by @cbeer in #2762
  • Use a variable for the selected facet item color by @cbeer in #2765
  • Use a HashWithIndifferentAccess to contain field data by @cbeer in #2766
  • Use a custom YAML coder to restore backwards-compatible deserialization of serialized query parameters by @cbeer in #2772
  • Remove twitter-typeahead, left over from #2576 by @cbeer in #2778
  • Fix Solr 9 modules load path by @cbeer in #2777
  • Use $border-color when we're outside of a table context by @cbeer in #2780
  • Prefer flex to table display in facets by @marlo-longley in #2783
  • Update the search bar component to use bootstrap5-style input groups … by @cbeer in #2782
  • Improve modal styling by @marlo-longley in #2785
  • Search styles by @marlo-longley in #2791
  • Use the latest bundler when running tests by @cbeer in #2794
  • Add documentation on SearchBuilder#where by @jcoyne in #2796
  • Add a component parameter to the FacetComponent, allowing callers to … by @cbeer in #2788
  • Replace deprecation gem with ActiveSupport's deprecation behavior by @cbeer in #2793
  • Don't require the SearchBuilder scope to implement search_state_class by @cbeer in #2789
  • Replace params.to_unsafe_h with search state-filtered params by @cbeer in #2767
  • Remove babelrc by @jcoyne in #2800
  • Remove propshaft from the API Test by @jcoyne in #2801
  • Use propshaft rather than sprockets by @jcoyne in #2802
  • Pivot filter field by @barmintor in #2696
  • Generate the test app with blacklight-marc 8.x by @cbeer in #2808
  • Fix broken link to README_SOLR. by @dkinzer in #2810
  • Use search input type for the search bar by @jcoyne in #2809
  • Use flexbox for search result document styling; part of #2781 by @cbeer in #2812
  • Update show tools to support bootstrap 5.2 classes by @cbeer in #2814
  • Update modal styling to better align with upstream bootstrap modal styling by @cbeer in #2815
  • Get the facet styling under Bootstrap 5.2 looking better; part of #2781 by @cbeer in #2813
  • Support view_component 2.74; fixes #2816 by @cbeer in #2818
  • Allow missing view icons by @cbeer in #2817
  • Don't let turbo interfere with our modal behavior by @cbeer in #2821
  • Allow Blacklight::Configuration to load even if the app hasn't been generated yet by @cbeer in #2822
  • Add basic class documentation for the generated SolrDocument by @jcoyne in #2824
  • Add class docs to the generated CatalogController by @jcoyne in #2825
  • Defer resolving Blacklight::Configuration default properties so we can use auto-loaded classes by @cbeer in #2826
  • Fix rendering of slot values by @jcoyne in #2830
  • Create a seam for downstream applications to change the default search header by @cbeer in #2831
  • Upgrade rspec-rails to 6.0 by @jcoyne in #2835
  • Update the route to the autocomplete suggestion endpoint by @jcoyne in #2832
  • Update pinned javascript dependencies. by @jcoyne in #2840
  • Do not generate the application with a jquery dependency by @jcoyne in #2823
  • Restore the wrapping blacklight-icons span to componentized icons by @cbeer in #2843
  • Fix up multi-page modals by @cbeer in #2842
  • Document component extension points by @jcoyne in #2833
  • Update rails versions by @jcoyne in #2847
  • Update rubocop by @jcoyne in #2852
  • Expect a hash not kwargs by @jcoyne in #2855
  • Rubocop cleanup after rubocop-rails 2.17.2 by @jcoyne in #2857
  • Bump npm version to 8.0.0.pre.1 by @jcoyne in #2853
  • Allow the logo width to be adjusted as a variable by @jcoyne in #2854
  • Prefer const and let to var in javascript declarations by @jcoyne in #2851
  • Use a valid npm version by @jcoyne in #2858
  • Move searchbar prepend/append outside input group by @thatbudakguy in #2862
  • Revert "Move searchbar prepend/append outside input group" by @cbeer in #2863
  • Allow the application link in the header to be configured by @jcoyne in #2865
  • Copy the config to each new component as it is created by @jcoyne in #2868
  • Visually hide search button text on xs devices by @thatbudakguy in #2861
  • Run the compile tasks and bump npm version by @jcoyne in #2859
  • Style the autocomplete component by @jcoyne in #2856
  • Allow the component for actions to be specified by @jcoyne in #2869
  • Add a slot for rendering extra inputs in the search bar by @thatbudakguy in #2864
  • The default inspect can be so long that it's hard to read by @jcoyne in #2872
  • Allow logo-height to be set as a variable by @jcoyne in #2882
  • Remove unnecessary conditional by @jcoyne in #2878
  • Remove unnecessary stub from test by @jcoyne in #2886
  • Extract components for the headers by @jcoyne in #2866
  • Bump version of blacklight-frontend by @jcoyne in #2887
  • Add X-CSRF-Token header to checkbox AJAX by @marlo-longley in #2881
  • Add importmap configuration by @cbeer in #2891
  • Bump rubocop's TargetRailsVersion by @cbeer in #2892
  • Improve the pivot facet display by @cbeer in #2890
  • Pass through additional engine cart options when building the test app by @cbeer in #2895
  • Add data-turbo-track attributes by @jcoyne in #2903
  • Expose the original, uncompiled assets in importmaps by @cbeer in #2893
  • Make some CSS tweaks for non-js users by @cbeer in #2902
  • Use an inline script to remove the .no-js class to avoid an unstyled … by @cbeer in #2901
  • Update documentation for Bookmarks#create by @jcoyne in #2905
  • Remove unnecessary code by @jcoyne in #2909
  • Remove unused method by @jcoyne in #2910
  • Remove unnecessary code by @jcoyne in #2911
  • Revert "Remove unused method" by @cbeer in #2913
  • Revert "Expose the original, uncompiled assets in importmaps" by @jcoyne in #2914
  • Run Blacklight's javascript when loading turbo-frames by @cbeer in #2915
  • Move the checkbox rendering into the component by @cbeer in #2916
  • Fix Rails/FilePath rubocop by @jcoyne in #2919
  • Bump version of the blacklight-frontend by @jcoyne in #2918
  • Add a javascript test for bookmark checkboxes by @cbeer in #2925
  • Remove unnecessary test step by @jcoyne in #2926
  • Add special handling to add document titles to the json by @cbeer in #2928
  • Don't display an extra X on dismiss button by @jcoyne in #2924
  • Use the passed in local document variable rather than the ivar by @jcoyne in #2884
  • Move code from the template to the class by @jcoyne in #2870
  • Use container_classes from helpers rather than views by @jcoyne in #2936
  • Compile javascript for jsbundling-rails tests by @jcoyne in #2942
  • Resolve a todo about search_state with some documentation by @jcoyne in #2940
  • Extract a sidebar component for the search by @jcoyne in #2930
  • Update the configuration to use the component for bookmarks by @jcoyne in #2879
  • Extract the document show sidebar to a component by @jcoyne in #2883
  • Extract a SearchHeaderComponent by @jcoyne in #2906
  • Remove unnecessary Blacklight::Base by @jcoyne in #2943
  • Add documentation for the keyword argument by @jcoyne in #2946
  • Don't populate the q parameter unless a q parameter was provided by @cbeer in #2947
  • Move searches_from_history to SearchContext by @jcoyne in #2941
  • Don't include helpers on the views by @jcoyne in #2937
  • Move search_facet_path to catalog by @jcoyne in #2939
  • Put the bootstrap version is in quotes by @cbeer in #2948
  • Don't generate turbolinks into the application by @cbeer in #2949
  • Expand on document attributes to make them more expressive and capture some additional use cases by @cbeer in #2804
  • Have defined attributes default to nil by @cbeer in #2953
  • Fix typo in class documentation by @jcoyne in #2955
  • Test on ruby 3.2.0 by @jcoyne in #2932
  • Accept multiple default configuration blocks by @cbeer in #2950
  • Refactor DocumentPresenter#fields to use generic logic applicable for different types of field displays by @cbeer in #2811
  • Blacklight javascript should be shipped as a module by @jcoyne in #2898
  • Use ViewComponent::SlotableV2 API for compatibility with ViewComponent 3 by @barmintor in #2962
  • Restore whole document modal ajax behavior by @jcoyne in #2964
  • Fix typo by @jcoyne in #2966
  • Select the childNodes of the ajax response by @jcoyne in #2968
  • Fix the error handling for modal ajax by @jcoyne in #2967
  • Add core to the exported module by @jcoyne in #2965
  • Remove dialog-polyfill by @jcoyne in #2828
  • Update docs to show modal button behavior by @jcoyne in #2969
  • Use the DocumentMetadataComponent to render email + sms fields by @cbeer in #2803
  • Use collection parameters in line with idiomatic ViewComponent behaviors by @barmintor in #2698
  • Update the modal js event listener to look for ancestor close buttons by @sandbergja in #2973
  • Update yard doc by @hackartisan in #2976
  • V8 tracking configuration by @barmintor in #2970
  • Component template override by @barmintor in #2979
  • Issue 2980 by @barmintor in #2981
  • Provide a deprecation for Blacklight::Document::Email and Blacklight::Document::Sms by @cbeer in #2990
  • Register the compiled ESM as the module entry point by @cbeer in #2997
  • Build and publish javascript artifacts as part of the regular release… by @cbeer in #2996
  • Remove unused code by @cbeer in #2972
  • Expose the original, uncompiled assets in importmaps by @cbeer in #2995
  • Include github's autocomplete module using the appropriate asset handler by @cbeer in #3002
  • Use the pinned name in the importmap generator by @cbeer in #3003
  • Expose useful stuff from javascript imports by @cbeer in #3005
  • Remove unused code by @jcoyne in #3007
  • Make the Blacklight 8.x DocumentComponent less different by @cbeer in #3011
  • Remove cruft by @jcoyne in #3004
  • New style for collapsed facets on narrow browsers by @jcoyne in #3012
  • Continue to provide access to the view component's controller by @cbeer in #3014
  • Correct wrong compiled javascript folder name by @cbeer in #3018
  • Update documentation about subclassing the DocumentComponent by @jcoyne in #3022
  • Stub the icon components by @jcoyne in #3021
  • Escape bootstrap-version by @jcoyne in #3023
  • Allow the metadata_component to be configured by @jcoyne in #3020
  • Autocorrect new rubocop rules by @jcoyne in #3034
  • Log a warning when the configuration specifies a partial that isn't resolvable by @jcoyne in #3026
  • Allow the title_component to be configured by @jcoyne in #3033
  • Extract a component for the show tools by @jcoyne in #2885
  • Link only the blacklight logo via png filter by @carolyncole in #3035
  • Extract a logo_link method on the TopNavbarComponent by @jcoyne in #2889
  • tag v8.0.0 release by @barmintor in #3036

New Contributors

Full Changelog: v7.21.0...v8.0.0