Skip to content

Bump the production-dependencies-minor group across 1 directory with 32 updates - #1456

Open
dependabot[bot] wants to merge 1 commit into
supporter_level_goalfrom
dependabot/bundler/production-dependencies-minor-bae2e6e45f
Open

dependabot[bot] wants to merge 1 commit into
supporter_level_goalfrom
dependabot/bundler/production-dependencies-minor-bae2e6e45f

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 4, 2026

Copy link
Copy Markdown

Bumps the production-dependencies-minor group with 32 updates in the / directory:

Package From To
rake 13.3.1 13.4.2
rabl 0.17.0 0.18.0
jbuilder 2.13.0 2.15.1
kaminari 1.2.2 1.3.2
bootsnap 1.25.0 1.26.1
test-unit 3.2.7 3.7.8
aws-sdk-s3 1.208.0 1.237.0
yaaf 3.0.2 3.1.0
rack-attack 6.5.0 6.8.0
pg 1.5.9 1.7.0
carrierwave 3.1.3 3.1.4
carrierwave-aws 1.6.0 1.6.1
mini_magick 5.2.0 5.4.0
httparty 0.24.0 0.24.3
devise-two-factor 6.3.1 6.4.1
rails 7.1.6 8.1.4.1
rails-i18n 7.0.10 8.1.0
geocoder 1.6.1 1.8.6
table_print 1.5.4 1.5.7
rails-i18n 7.0.10 8.1.0
rexml 3.4.2 3.4.4
csv 3.3.4 3.3.7
maintenance_tasks 2.12.0 2.17.0
minitest 5.25.5 5.27.0
terser 1.2.5 1.2.8
lograge 0.3.6 0.15.1
recaptcha 5.19.0 5.21.2
fx 0.9.0 0.12.0
has_scope 0.8.2 0.9.0
globalid 1.2.1 1.4.0
js-routes 2.2.7 2.4.1
activerecord 7.1.6 8.1.4.1
actionpack 7.1.6 8.1.4.1

Updates rake from 13.3.1 to 13.4.2

Commits
  • 503b8ec v13.4.2
  • 46038e7 Merge pull request #723 from ruby/fix/testopts-preserve-existing-value
  • 604a3d9 Isolate TESTOPTS env in TestRakeTestTask setup/teardown
  • 5886caa Preserve ENV["TESTOPTS"] when verbose is enabled
  • 92193ac v13.4.1
  • b74be0b Merge pull request #721 from ruby/fix/add-options-to-gemspec
  • 829f66d Add lib/rake/options.rb to gemspec
  • 2d55bc4 v13.4.0
  • 1415070 Exclude dependabot updates from release note
  • b3dc948 Merge pull request #713 from pvdb/simplify_standard_system_dir
  • Additional commits viewable in compare view

Updates rabl from 0.17.0 to 0.18.0

Release notes

Sourced from rabl's releases.

v0.18.0

What changed, and what to do when upgrading: CHANGELOG.md.

What's Changed

New Contributors

Full Changelog: nesquena/rabl@v0.17.0...v0.18.0

Changelog

Sourced from rabl's changelog.

0.18.0 (Oct 31, 2026)

Requirements

  • Require Ruby 2.7 or newer. rabl hasn't loaded on Ruby 1.9 since 0.16.0, and 2.0–2.6 are long past end of life; apps on older Rubies can stay on 0.17.0 (@​nesquena)

Changes that can affect existing apps

  • Every cache key changes once in this release (keys now start with rabl-v2/ instead of rabl/), so no entry cached by an earlier version (which lacks this release's output fixes) is served after upgrading: expect a cold cache once. Old entries are never read again and expire under your store's own policy; in a store without expiry (a file store, or Redis without a TTL), delete keys starting with rabl/ to reclaim the space. If you delete or match rabl's keys yourself (e.g. delete_matched), use the rabl-v2/ prefix. Fragments Rails caches itself (a rabl template inside an ERB cache block, or render …, cached: true) are keyed by Rails, so clear those when upgrading. Template paths in keys are relative to the working directory, so only templates outside it get new keys when the application moves (@​nesquena)
  • Include the template's identity (its source, location and view path, or the Rails template digest) and the options that shape nested renderings in cache keys, so different templates, child blocks, formats, or an object and a collection caching the same key no longer share cached output (@​nesquena)
  • Validate JSONP callback names, write callbacks as /**/name(...), and apply them after the cache so cached output never includes a callback. With enable_json_callbacks on, a callback parameter that isn't a JavaScript function name (ASCII letters, digits, _ and $, optionally dotted, at most 128 characters) now renders plain JSON, and a valid one gets the /**/ prefix, as with Rails' render json:, callback:. Browsers need no change; clients that compare the response text, or send other callback names, must be updated (@​nesquena)
  • child :name on a collection is now keyed by the name you wrote, the same as child :name => :name. Before, rabl used the relation's table name or the first item's class, so child :units on has_many :units, through: ..., source: :product_unit rendered "product_units": [{"product_unit": ...}] and two associations on one table overwrote each other. Existing apps whose association or method name differs from its table or item class get the new key and item root ("units": [{"unit": ...}]); to keep the old output, write the name: child :units => :product_units. Item roots are the singular of the name you wrote (child :data gives "data": [{"datum": ...}]), and with :root => :other the key is other while items are still named after the symbol (child :favorites, :root => :likes gives "likes": [{"favorite": ...}]). child @collection without a name is unchanged (@​nesquena; reported by @​jifka in #394)
  • child @items, :root => :name now keeps its key when @items is empty or nil, rendering "name": [] or "name": null (<name type="array"/> or <name nil="true"/> in XML), the same as child @items => :name. Before, the key was left out; existing apps using the :root form will see the new key for empty or nil data. To keep leaving it out, add a condition: child @items, :root => :name, :unless => lambda { |_| @items.blank? }. Other blank data (false, "") and a false :if/:unless still leave it out (@​nesquena; reported by @​Kinaan in #725)
  • XML: a collection with an explicit :object_root now wraps each item once, in the object root. collection @categories, :root => "data", :object_root => "category" rendered <data type="array"><datum><category>...</category></datum></data> and now renders <data type="array"><category>...</category></data>. Existing XML clients of such collections lose the extra element and must read the items directly; JSON output and collections without :object_root are unchanged (@​nesquena; reported by @​jeffleeismyhero in #581)
  • With Oj 3.17.7 or newer, require 'rabl' no longer overwrites Oj options the app has already set. If Oj.default_options still has Oj's shipped mode, time_format and use_to_json when rabl is loaded, rabl sets them globally as before (mode: :compat, time_format: :ruby, use_to_json: true); if the app (or a library loaded earlier) already chose any of them, they are left alone, and rabl passes Oj.dump only the options that differ from Oj's global ones, so rabl's JSON is unchanged. Options the app changes after loading rabl still apply to rabl's output as before: time_format, use_to_json, and mode when it is :compat, :rails (which escapes <, > and &) or :custom; a :strict, :null or :object mode set after loading rabl no longer makes rabl's JSON raise or drop values (it stays :compat). What changes for apps on Oj 3.17.7+ that set Oj options before loading rabl: their own Oj.dump calls, and a custom config.json_engine that calls Oj.dump(obj) without options, now use the app's options instead of rabl's (pass Rabl.configuration.oj_dump_options, or use config.json_engine = Oj, to get rabl's). With older Oj, behaviour is unchanged: rabl sets its options globally at load and calls Oj.dump(obj), because Oj before 3.17.7 passes per-call options on to to_json, which json 3.x rejects (@​nesquena; reported by @​BuonOmo in #744)
  • Fix XML collection items ignoring inflections that match only the underscored name: Array#to_xml singularizes the dasherized name, so with inflect.irregular 'lesson_progress', 'lessons_progresses', collection @progresses => :lessons_progresses rendered <lessons-progress> items; they are now <lesson-progress>, for child collections and arrays returned by node too. A name changes when an app inflection that matches the underscored name but not the dasherized one is newer than the rule ActiveSupport applies to the dasherized name: a rule written in underscored form (the irregular above), an underscored uncountable word (inflect.uncountable 'user_settings' now gives <user-settings> items instead of <user-setting>), or a rule using \w (inflect.singular(/^(\w+)ves$/, '\1ve') now gives <orange-grove> for :orange_groves instead of <orange-grofe>). Built-in inflections, inflections written with dashes (the workaround in #559), acronyms and arrays with their own to_xml render as before. XML clients that read these items must use the new names (@​nesquena; reported by @​passalini in #559)
  • Fix :root and :child_root given to the engine being ignored in favour of the global include_*_root setting, a regression since 0.11; they now win for every entry point, e.g. Rabl::Renderer.new(..., :root => true) and Sinatra/Padrino rabl :template, :root => false. If you pass these options and relied on them being ignored, remove them (@​nesquena; reported by @​ninkibah in #486)
  • Fix options passed with an alias, as in child :posts => :items, :if => ..., being ignored (Ruby folds them into the data hash), and allow conditions on a node without a name (node(:if => ...) { ... }). Each method takes only its own options out of such a hash: child takes :if, :unless, :root and :object_root; glue takes :if and :unless; collection takes :root and :object_root. A Hash given to one of them with some of those keys plus exactly one other key whose value is a String or Symbol is now read as an alias with options, when no options are passed separately. To keep options apart from the data, pass them as their own hash: child({ :posts => :items }, :if => ...) (@​nesquena; reported by @​vimutter in #455 and @​jfeust in #395)
  • Fix attributes :format (or any name of a private Kernel method) on objects backed by method_missing, such as Hashie::Mash or Mongoid dynamic fields, calling the Kernel method. Objects whose respond_to_missing? is true for one of their own private methods (e.g. a Draper decorator with delegate_all and a private helper of the same name) now get method_missing or delegation instead of the private method; make the method public if the template should call it (@​nesquena; reported by @​johnvoloski in #533)
  • Fix object @foo => 'foo' (a String alias) naming the root "string" instead of "foo". Clients reading the string root must read the alias you gave (@​nesquena; reported by @​aripollak in #619)
  • extends on a collection of plain Hashes now renders each Hash's own values. Before, the item handed to the extended template was re-read as rabl's @object => :name syntax (one key) or as a collection (several keys), so collection @friends + extends 'friends/show' rendered [{"uid":"uid"}] or [{}], or raised. Existing apps rendering Hash items through extends get the real values instead of that output, so update clients that relied on it; the alias syntax in object, collection, child, glue and an explicit :object option to extends or partial is unchanged. Unchanged too: an unnamed collection @hashes still takes its item root from the first Hash (name it, e.g. collection @friends => :friends) (@​nesquena; reported by @​ericgross in #396)
  • Fix escape_all_output escaping values twice outside Rails (a&amp;amp;b) when they are rendered through child, glue, extends or partial; nested templates are now escaped once, with the template they are part of. Under Rails, a node that turns partial output into a string (e.g. partial(...).to_json) was escaped twice too and is now escaped once. Cached nested fragments now have their own cache keys. Clients that unescaped such values twice must now unescape them once (@​nesquena)
  • Fix extends and partial templates looked up during an HTML request on Rails 7.0 and higher: rabl asked Rails' lookup for the JSON format as a String, which Rails 7.0+ never matches, so the lookup always failed and rabl fell back to its own file search, which ignores the locale and variant (it took the first such file in alphabetical order: base.fr.json.rabl for every locale, and base.json+mobile.rabl with or without the +mobile variant). For the default .rabl handler's renders, they are now looked up the same way as for a JSON request. Apps rendering RABL with the default handler for HTML requests on Rails 7.0+ now get the template a .json request for the same page gets, where they got a different one before; if a page relied on the template it got before, give that template a name of its own and extends it by that name (@​nesquena)
  • Under Rails, a template rendered in a format other than JSON during an HTML request (e.g. Rabl.render(@post, 'posts/show', :format => :xml, :scope => view_context) in an HTML action) now finds the template itself, its partials and its extends (nested ones too) in that format, on every Rails version. Before, the template and its partials were found as JSON (show.json.rabl) while a top-level extends used the rendered format, and with caching on such a render could share cached output with the same render during a JSON request. Apps rendering a JSON-named template this way now get the template named for the rendered format (show.xml.rabl) when there is one; to keep the JSON one, give it a name of its own and render it by that name. Renders during .json or .xml requests still find templates in the request's format (@​nesquena)
  • Outside Rails' own lookup (Sinatra, Padrino, Rabl::Renderer, and templates Rails can't find, such as those in config.view_paths or a :view_path option), extends and partial now pick the template for the format being rendered and the current locale, as Rails does. Before, they took the first file in alphabetical order: show.json.rabl when rendering XML next to show.xml.rabl, and base.fr.json.rabl for every locale next to base.json.rabl. In each view path in order, and the template before the partial, rabl now prefers a file named for the locale and format (show.fr.json.rabl), then the locale (show.fr.rabl), then the format (show.json.rabl), then neither (show.rabl); the locales are I18n.locale, its fallbacks and the default locale (under Rails, the lookup context's locales). When no file in any view path matches, it takes the first file found, as before, so no template that was found goes missing. What changes for existing apps: templates for several formats or locales under one name now render for their own format or locale; a show.rabl next to show.json.rabl is now used for formats other than JSON; and a matching template in a later view path now wins over one named for another format or locale in an earlier path. To keep rendering a particular file, give it a name of its own and extends it by that name. cache_sources keeps these lookups apart by format and locale. The template Sinatra or Padrino renders first is still found by Sinatra or Padrino (@​nesquena)

Fixes

  • Ignore extends called while a template renders, e.g. inside a node block, with a warning, instead of writing rabl's internal settings (including the view path) into the response and adding the template to later elements of a collection; attribute, node, child and glue called there keep working but now warn too. Use partial there (@​nesquena; reported by @​barmstrong in #477)
  • Fix XML rendering outside Rails raising NoMethodError for to_xml unless the app had loaded ActiveSupport's XML conversions; rabl now loads them, and explains when the builder gem is missing (@​nesquena)
  • Fix JSON rendering without Oj raising NameError (uninitialized constant JSON) unless the app had loaded the json library; rabl now loads it when Oj isn't available (@​nesquena)
  • Fix config.xml_options being ignored when set after the first XML render: rabl kept the options it read on that render. Each XML render now uses the current xml_options; the defaults are unchanged (@​nesquena)
  • Fix extract_options! being undefined (a NoMethodError) when nothing else had loaded ActiveSupport's Array extensions, e.g. in Sinatra apps (@​A1bi)
  • Fix caching outside Rails: rendering a cached collection raised LocalJumpError, and cached collection fragments were never read back. Sinatra, Padrino and Rabl::Renderer cache with config.perform_caching = true (@​nesquena; reported by @​destroytoday in #582)
  • Fix cached child nodes in a collection being flattened (or dropped, for a child collection) on a cache hit (@​nesquena)
  • Fix cache keys in templates rendered for each item (extends, partial, child) that use the instance variable the template names in object or collection, such as cache @user or cache ['v1', @topic]: object @user takes the item, but @user keeps the outer template's value (or nil), so every item shared one cache entry and could render another item's cached output. The same applied to a template rendered by Rabl::Renderer for an object its instance variable doesn't hold (object @article rendered with a Post). When such a key has that variable but not the item, the item is now added to it, so each item gets its own entry; the rest of the key (e.g. current_user) is kept. When the variable is nil, any nil part of the key counts as it, so a key with a nil part (such as an anonymous current_user) gets the item added too. Keys that already include the item, such as those using root_object, are unaffected by this fix (@​nesquena; reported by @​quidproquo in #490 and @​chancancode in #391)
  • Fix NoMethodError (undefined method 'replace_engine' for nil) when rendering a cached collection whose read_multi results can't be matched to the templates that asked for them, for example with a custom cache engine whose read_multi returns other keys than it was given (such as tenant-prefixed ones). Such results are now skipped and rendered as cache misses; to get cache hits, return the keys read_multi was given (@​nesquena; reported by @​Ed-Whitwell-The-Intern in #784 and @​BastianHofmann in #639, root cause found by @​djlmills)
  • Fix cache_sources serving one request's template to another when extends or partial resolves to a different file per request. Under Rails the source cache is now keyed by the request's format, the lookup details (locale, variants, handlers and registered details such as versioncake's versions) and the view paths, and under Sinatra and Padrino by the app's views, so show.xml.rabl, show.json+mobile.rabl, show.fr.json.rabl, versioncake's show.json.v2.rabl, a template in a prepended view path, or the same name in another mounted app's views are no longer replaced by whichever was looked up first. Apps with cache_sources on keep one cache entry per distinct lookup, and a lookup through a view path that has no path of its own (a custom resolver without to_path), or with a lookup context whose details can't be listed (one wrapped in a delegator), is no longer cached (@​nesquena; reported by @​alepore in #493)
  • Fix escape_all_output changing the app's own arrays and hashes in place (and re-escaping cached fragments outside Rails on every render), raising FrozenError on frozen hashes and arrays, and raising NameError for ERB outside Rails (@​nesquena)
  • Errors raised in a template now point at the template's file and line. Under Rails, the backtrace named (eval at .../rabl/engine.rb) instead of the .rabl file, so the error page showed the wrong line; with Rabl::Renderer, Rabl.render, Tilt, Sinatra and Padrino the file was right but the line was one too high. This covers errors at the top level, in node, child and glue blocks, in extends and partial templates, syntax errors, and the location in the warning for extends inside a node block (@​nesquena; reported by @​jontonsoup in #423)
  • Errors raised in a Sinatra inline template (one after __END__ in the app's file) now point at the template's line in that file; they pointed at the line within the template instead, i.e. at the top of the app's file (@​nesquena; refs #423)
  • Fix templates saved with a UTF-8 byte order mark (as some Windows editors save files) raising NoMethodError for an invisible-prefixed object (or whatever the first word is); the mark is now ignored, under Rails, Sinatra, Padrino, Tilt and Rabl::Renderer, and in extends and partial templates (@​nesquena)

Other changes

  • Allow BSON >= 2.0 (@​tagliala)
  • Support frozen string literals: rabl's files are marked # frozen_string_literal: true, and the suite runs with --enable-frozen-string-literal (@​tagliala)
  • Speed up template lookups with cache_sources when there are many view paths (@​pharris2411)
  • README: camelize_keys applies to the attribute, node and child names rabl builds, not to root names or to keys inside a hash a node block returns; documents the deep_transform_keys workaround. No behaviour change (@​nesquena; reported by @​apuntovanini in #701)
  • README: caching outside Rails, what cache_all_output keys include (don't use it for output that differs per viewer), nil parts in per-item cache keys, and rendering through the controller (PostsController.render) outside a request to get the same cache keys as a request, e.g. to warm the cache. No behaviour change (@​nesquena; reported by @​blotto in #546)
Commits
  • 6248954 Merge pull request #804 from nesquena/claude/release-0.18.0
  • 0e63ef7 Release 0.18.0: date the CHANGELOG heading
  • 9d33ec8 Merge pull request #803 from nesquena/claude/nested-key-format
  • 90035f3 CHANGELOG: correct the old fallback's variant pick; scope the HTML entry to d...
  • 5823679 CHANGELOG: describe the HTML-request lookup change in full; test the nested l...
  • 9106504 Look up partials in the rendered format during an HTML request under Rails
  • d1fc4d6 Say that editing an extended template keeps its cached output
  • e01fd70 Load the json library when Oj isn't available
  • 0907c30 Key nested renderings by the format their templates are looked up in
  • d0b6c54 Merge pull request #799 from nesquena/claude/release-0.18.0-prep
  • Additional commits viewable in compare view

Updates jbuilder from 2.13.0 to 2.15.1

Release notes

Sourced from jbuilder's releases.

v2.15.1

What's Changed

New Contributors

Full Changelog: rails/jbuilder@v2.15.0...v2.15.1

v2.15.0

What's Changed

New Contributors

Full Changelog: rails/jbuilder@v2.14.1...v2.15.0

v2.14.1

What's Changed

New Contributors

Full Changelog: rails/jbuilder@v2.14.0...v2.14.1

v2.14.0

What's Changed

... (truncated)

Commits
  • 31eb6e9 Prepare for 2.15.1
  • 154b0fe Merge pull request #617 from rails/rm-fix-616
  • d3e763b Fix partial for Active Model when extra locals are passed in
  • 018083d Prepare for 2.15.0
  • 72cf067 Update devcontainer image to Ruby 4.0.4 and add devcontainer-lock.json
  • d35a962 Merge pull request #615 from taketo1113/ci-rails8.1-ruby4.0
  • cc42e7e CI: Add Rails 8.1 & Ruby 4.0 to CI Matrix
  • cd7482e Merge pull request #613 from affinity/moberegger/fix-inline-partial-locals-be
  • 58283a0 Merge pull request #612 from affinity/moberegger/optimize-_map_collection
  • 09ca3e1 Merge pull request #603 from taketo1113/update-rack-unprocessable_content
  • Additional commits viewable in compare view

Updates kaminari from 1.2.2 to 1.3.2

Release notes

Sourced from kaminari's releases.

v1.3.2

1.3.2

Bug Fixes:

  • Fixed paginate raising NoMethodError on Rails 8.2, which removed LookupContext#find_template #1161 [@​thibaudgg]

v1.3.1

1.3.1

Bug Fixes:

  • total_count keeps eager_load in the count query again, which the conditions may need when they refer to the eager loaded tables without references (a regression in 1.3.0) #1160 [@​r-uehara0219]
  • total_count keeps includes in the count query when they are joined along with eager_load or joins, which the conditions may need: 1462042

v1.3.0

1.3.0

Security Fixes:

  • page ignores a Hash or an Array page number (e.g. ?page[]=1) instead of raising #1087 [@​xiaohui-zhangxh]
  • page_entries_info escapes the entry_name, which could contain user input, while keeping an html_safe entry_name as is: d599c37

Incompatible Changes:

  • Dropped Ruby 2.0 support: 2f1f84b
  • The default English page_entries_info message now separates the range with an en dash (e.g. "1–25") instead of &nbsp;-&nbsp; #1105 [@​jdufresne]
  • page_entries_info displays "No entries found" on out of range pages, instead of an inverted range like "Displaying users 81–80 of 50 in total": b712562

Enhancements:

  • Rails 7.1, 7.2, 8.0, and 8.1 support
  • Ruby 3.1, 3.2, 3.3, 3.4, and 4.0 support
  • Added paginated? to models, relations, and paginatable arrays #1118 [@​jarenas9539]
  • Added the data: option to paginate for the links' data attributes #1095 [@​theforestvn88]
  • Registered Kaminari's deprecator to Rails.application.deprecators #1103 [@​etiennebarrie]
  • require 'kaminari' also loads Kaminari::VERSION #1079 [@​d-otis]
  • The views generator warns when it falls back to erb for an unsupported template engine: 4c2991e
  • Improved performance of total_count for grouped relations by counting the groups in the database with a subquery #1157 (based on #1022 and #1023 [@​bendilley])
  • Improved performance of total_count by removing irrelevant eager_load and preload that ran unwanted joins in the count query #1043 [@​Viktor-Ivliev]
  • Improved performance of paginate by calling url_for only a few times per paginator: 7b5f079
  • Improved performance of paginate by looking up each partial template only once per paginator: c5cc1a1
  • Improved performance of paginate by reducing object allocations: 1cc6f98, ff07a28, b951069, 2e80453, 794724e, and 7f08863
  • Improved performance of page and per on Active Record by copying the Relation only once: 0cb494d, c35e5a1, and ae23bc6
  • Improved performance of page_entries_info #1109 [@​jdufresne]

Bug Fixes:

  • Fixed ActionController::UrlGenerationError on Rails 8+ when the request params include route options such as subdomain or host #1147 [@​hpanwar09]
  • Fixed view helpers called with keyword arguments inside the paginator templates on Ruby 3 #1114 [@​diasjorge]

... (truncated)

Changelog

Sourced from kaminari's changelog.

1.3.2

Bug Fixes:

  • Fixed paginate raising NoMethodError on Rails 8.2, which removed LookupContext#find_template #1161 [@​thibaudgg]

1.3.1

Bug Fixes:

  • total_count keeps eager_load in the count query again, which the conditions may need when they refer to the eager loaded tables without references (a regression in 1.3.0) #1160 [@​r-uehara0219]
  • total_count keeps includes in the count query when they are joined along with eager_load or joins, which the conditions may need: 1462042

1.3.0

Security Fixes:

  • page ignores a Hash or an Array page number (e.g. ?page[]=1) instead of raising #1087 [@​xiaohui-zhangxh]
  • page_entries_info escapes the entry_name, which could contain user input, while keeping an html_safe entry_name as is: d599c37

Incompatible Changes:

  • Dropped Ruby 2.0 support: 2f1f84b
  • The default English page_entries_info message now separates the range with an en dash (e.g. "1–25") instead of &nbsp;-&nbsp; #1105 [@​jdufresne]
  • page_entries_info displays "No entries found" on out of range pages, instead of an inverted range like "Displaying users 81–80 of 50 in total": b712562

Enhancements:

  • Rails 7.1, 7.2, 8.0, and 8.1 support
  • Ruby 3.1, 3.2, 3.3, 3.4, and 4.0 support
  • Added paginated? to models, relations, and paginatable arrays #1118 [@​jarenas9539]
  • Added the data: option to paginate for the links' data attributes #1095 [@​theforestvn88]
  • Registered Kaminari's deprecator to Rails.application.deprecators #1103 [@​etiennebarrie]
  • require 'kaminari' also loads Kaminari::VERSION #1079 [@​d-otis]
  • The views generator warns when it falls back to erb for an unsupported template engine: 4c2991e
  • Improved performance of total_count for grouped relations by counting the groups in the database with a subquery #1157 (based on #1022 and #1023 [@​bendilley])
  • Improved performance of total_count by removing irrelevant eager_load and preload that ran unwanted joins in the count query #1043 [@​Viktor-Ivliev]
  • Improved performance of paginate by calling url_for only a few times per paginator: 7b5f079
  • Improved performance of paginate by looking up each partial template only once per paginator: c5cc1a1
  • Improved performance of paginate by reducing object allocations: 1cc6f98, ff07a28, b951069, 2e80453, 794724e, and 7f08863
  • Improved performance of page and per on Active Record by copying the Relation only once: 0cb494d, c35e5a1, and ae23bc6
  • Improved performance of page_entries_info #1109 [@​jdufresne]

Bug Fixes:

  • Fixed ActionController::UrlGenerationError on Rails 8+ when the request params include route options such as subdomain or host #1147 [@​hpanwar09]
  • Fixed view helpers called with keyword arguments inside the paginator templates on Ruby 3 #1114 [@​diasjorge]
  • Fixed an error with a Symbol param_name other than :page #1121 [@​magnum]
  • Fixed NameError when including Kaminari::Helpers::UrlHelper outside of the...

    Description has been truncated

…32 updates

Bumps the production-dependencies-minor group with 32 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [rake](https://github.com/ruby/rake) | `13.3.1` | `13.4.2` |
| [rabl](https://github.com/nesquena/rabl) | `0.17.0` | `0.18.0` |
| [jbuilder](https://github.com/rails/jbuilder) | `2.13.0` | `2.15.1` |
| [kaminari](https://github.com/kaminari/kaminari) | `1.2.2` | `1.3.2` |
| [bootsnap](https://github.com/rails/bootsnap) | `1.25.0` | `1.26.1` |
| [test-unit](https://github.com/test-unit/test-unit) | `3.2.7` | `3.7.8` |
| [aws-sdk-s3](https://github.com/aws/aws-sdk-ruby) | `1.208.0` | `1.237.0` |
| [yaaf](https://github.com/rootstrap/yaaf) | `3.0.2` | `3.1.0` |
| [rack-attack](https://github.com/rack/rack-attack) | `6.5.0` | `6.8.0` |
| [pg](https://github.com/ged/ruby-pg) | `1.5.9` | `1.7.0` |
| [carrierwave](https://github.com/carrierwaveuploader/carrierwave) | `3.1.3` | `3.1.4` |
| [carrierwave-aws](https://github.com/sorentwo/carrierwave-aws) | `1.6.0` | `1.6.1` |
| [mini_magick](https://github.com/minimagick/minimagick) | `5.2.0` | `5.4.0` |
| [httparty](https://github.com/jnunemaker/httparty) | `0.24.0` | `0.24.3` |
| [devise-two-factor](https://github.com/devise-two-factor/devise-two-factor) | `6.3.1` | `6.4.1` |
| [rails](https://github.com/rails/rails) | `7.1.6` | `8.1.4.1` |
| [rails-i18n](https://github.com/svenfuchs/rails-i18n) | `7.0.10` | `8.1.0` |
| [geocoder](https://github.com/alexreisner/geocoder) | `1.6.1` | `1.8.6` |
| [table_print](https://github.com/arches/table_print) | `1.5.4` | `1.5.7` |
| [rails-i18n](https://github.com/svenfuchs/rails-i18n) | `7.0.10` | `8.1.0` |
| [rexml](https://github.com/ruby/rexml) | `3.4.2` | `3.4.4` |
| [csv](https://github.com/ruby/csv) | `3.3.4` | `3.3.7` |
| [maintenance_tasks](https://github.com/Shopify/maintenance_tasks) | `2.12.0` | `2.17.0` |
| [minitest](https://github.com/minitest/minitest) | `5.25.5` | `5.27.0` |
| [terser](https://github.com/ahorek/terser-ruby) | `1.2.5` | `1.2.8` |
| [lograge](https://github.com/roidrage/lograge) | `0.3.6` | `0.15.1` |
| [recaptcha](https://github.com/ambethia/recaptcha) | `5.19.0` | `5.21.2` |
| [fx](https://github.com/teoljungberg/fx) | `0.9.0` | `0.12.0` |
| [has_scope](https://github.com/heartcombo/has_scope) | `0.8.2` | `0.9.0` |
| [globalid](https://github.com/rails/globalid) | `1.2.1` | `1.4.0` |
| [js-routes](https://github.com/railsware/js-routes) | `2.2.7` | `2.4.1` |
| [activerecord](https://github.com/rails/rails) | `7.1.6` | `8.1.4.1` |
| [actionpack](https://github.com/rails/rails) | `7.1.6` | `8.1.4.1` |



Updates `rake` from 13.3.1 to 13.4.2
- [Release notes](https://github.com/ruby/rake/releases)
- [Changelog](https://github.com/ruby/rake/blob/master/History.rdoc)
- [Commits](ruby/rake@v13.3.1...v13.4.2)

Updates `rabl` from 0.17.0 to 0.18.0
- [Release notes](https://github.com/nesquena/rabl/releases)
- [Changelog](https://github.com/nesquena/rabl/blob/master/CHANGELOG.md)
- [Commits](nesquena/rabl@v0.17.0...v0.18.0)

Updates `jbuilder` from 2.13.0 to 2.15.1
- [Release notes](https://github.com/rails/jbuilder/releases)
- [Commits](rails/jbuilder@v2.13.0...v2.15.1)

Updates `kaminari` from 1.2.2 to 1.3.2
- [Release notes](https://github.com/kaminari/kaminari/releases)
- [Changelog](https://github.com/kaminari/kaminari/blob/master/CHANGELOG.md)
- [Commits](kaminari/kaminari@v1.2.2...v1.3.2)

Updates `bootsnap` from 1.25.0 to 1.26.1
- [Release notes](https://github.com/rails/bootsnap/releases)
- [Changelog](https://github.com/rails/bootsnap/blob/main/CHANGELOG.md)
- [Commits](rails/bootsnap@v1.25.0...v1.26.1)

Updates `test-unit` from 3.2.7 to 3.7.8
- [Release notes](https://github.com/test-unit/test-unit/releases)
- [Commits](test-unit/test-unit@3.2.7...3.7.8)

Updates `aws-sdk-s3` from 1.208.0 to 1.237.0
- [Release notes](https://github.com/aws/aws-sdk-ruby/releases)
- [Changelog](https://github.com/aws/aws-sdk-ruby/blob/version-3/gems/aws-sdk-s3/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-ruby/commits)

Updates `yaaf` from 3.0.2 to 3.1.0
- [Release notes](https://github.com/rootstrap/yaaf/releases)
- [Commits](rootstrap/yaaf@v3.0.2...v3.1.0)

Updates `rack-attack` from 6.5.0 to 6.8.0
- [Release notes](https://github.com/rack/rack-attack/releases)
- [Changelog](https://github.com/rack/rack-attack/blob/main/CHANGELOG.md)
- [Commits](rack/rack-attack@v6.5.0...v6.8.0)

Updates `pg` from 1.5.9 to 1.7.0
- [Changelog](https://github.com/ged/ruby-pg/blob/master/CHANGELOG.md)
- [Commits](ged/ruby-pg@v1.5.9...v1.7.0)

Updates `carrierwave` from 3.1.3 to 3.1.4
- [Release notes](https://github.com/carrierwaveuploader/carrierwave/releases)
- [Changelog](https://github.com/carrierwaveuploader/carrierwave/blob/master/CHANGELOG.md)
- [Commits](carrierwaveuploader/carrierwave@v3.1.3...v3.1.4)

Updates `carrierwave-aws` from 1.6.0 to 1.6.1
- [Release notes](https://github.com/sorentwo/carrierwave-aws/releases)
- [Changelog](https://github.com/carrierwaveuploader/carrierwave-aws/blob/master/CHANGELOG.md)
- [Commits](carrierwaveuploader/carrierwave-aws@v1.6.0...v1.6.1)

Updates `mini_magick` from 5.2.0 to 5.4.0
- [Release notes](https://github.com/minimagick/minimagick/releases)
- [Commits](minimagick/minimagick@v5.2.0...v5.4.0)

Updates `httparty` from 0.24.0 to 0.24.3
- [Release notes](https://github.com/jnunemaker/httparty/releases)
- [Changelog](https://github.com/jnunemaker/httparty/blob/main/Changelog.md)
- [Commits](jnunemaker/httparty@v0.24.0...v0.24.3)

Updates `devise-two-factor` from 6.3.1 to 6.4.1
- [Release notes](https://github.com/devise-two-factor/devise-two-factor/releases)
- [Changelog](https://github.com/devise-two-factor/devise-two-factor/blob/main/CHANGELOG.md)
- [Commits](devise-two-factor/devise-two-factor@v6.3.1...v6.4.1)

Updates `rails` from 7.1.6 to 8.1.4.1
- [Release notes](https://github.com/rails/rails/releases)
- [Commits](rails/rails@v7.1.6...v8.1.4.1)

Updates `rails-i18n` from 7.0.10 to 8.1.0
- [Changelog](https://github.com/svenfuchs/rails-i18n/blob/master/CHANGELOG.md)
- [Commits](svenfuchs/rails-i18n@v7.0.10...v8.1.0)

Updates `geocoder` from 1.6.1 to 1.8.6
- [Changelog](https://github.com/alexreisner/geocoder/blob/master/CHANGELOG.md)
- [Commits](alexreisner/geocoder@v1.6.1...v1.8.6)

Updates `table_print` from 1.5.4 to 1.5.7
- [Commits](https://github.com/arches/table_print/commits)

Updates `rails-i18n` from 7.0.10 to 8.1.0
- [Changelog](https://github.com/svenfuchs/rails-i18n/blob/master/CHANGELOG.md)
- [Commits](svenfuchs/rails-i18n@v7.0.10...v8.1.0)

Updates `rexml` from 3.4.2 to 3.4.4
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](ruby/rexml@v3.4.2...v3.4.4)

Updates `csv` from 3.3.4 to 3.3.7
- [Release notes](https://github.com/ruby/csv/releases)
- [Changelog](https://github.com/ruby/csv/blob/main/NEWS.md)
- [Commits](ruby/csv@v3.3.4...v3.3.7)

Updates `maintenance_tasks` from 2.12.0 to 2.17.0
- [Release notes](https://github.com/Shopify/maintenance_tasks/releases)
- [Commits](Shopify/maintenance_tasks@v2.12.0...v2.17.0)

Updates `minitest` from 5.25.5 to 5.27.0
- [Changelog](https://github.com/minitest/minitest/blob/master/History.rdoc)
- [Commits](minitest/minitest@v5.25.5...v5.27.0)

Updates `terser` from 1.2.5 to 1.2.8
- [Release notes](https://github.com/ahorek/terser-ruby/releases)
- [Changelog](https://github.com/ahorek/terser-ruby/blob/master/CHANGELOG.md)
- [Commits](ahorek/terser-ruby@1.2.5...1.2.8)

Updates `lograge` from 0.3.6 to 0.15.1
- [Changelog](https://github.com/roidrage/lograge/blob/master/CHANGELOG.md)
- [Commits](roidrage/lograge@v0.3.6...v0.15.1)

Updates `recaptcha` from 5.19.0 to 5.21.2
- [Changelog](https://github.com/ambethia/recaptcha/blob/master/CHANGELOG.md)
- [Commits](ambethia/recaptcha@v5.19.0...v5.21.2)

Updates `fx` from 0.9.0 to 0.12.0
- [Release notes](https://github.com/teoljungberg/fx/releases)
- [Changelog](https://github.com/teoljungberg/fx/blob/master/CHANGELOG.md)
- [Commits](teoljungberg/fx@v0.9.0...v0.12.0)

Updates `has_scope` from 0.8.2 to 0.9.0
- [Release notes](https://github.com/heartcombo/has_scope/releases)
- [Changelog](https://github.com/heartcombo/has_scope/blob/main/CHANGELOG.md)
- [Commits](heartcombo/has_scope@v0.8.2...v0.9.0)

Updates `globalid` from 1.2.1 to 1.4.0
- [Release notes](https://github.com/rails/globalid/releases)
- [Commits](rails/globalid@v1.2.1...v1.4.0)

Updates `js-routes` from 2.2.7 to 2.4.1
- [Release notes](https://github.com/railsware/js-routes/releases)
- [Changelog](https://github.com/railsware/js-routes/blob/main/CHANGELOG.md)
- [Commits](railsware/js-routes@v2.2.7...v2.4.1)

Updates `activerecord` from 7.1.6 to 8.1.4.1
- [Release notes](https://github.com/rails/rails/releases)
- [Changelog](https://github.com/rails/rails/blob/v8.1.4.1/activerecord/CHANGELOG.md)
- [Commits](rails/rails@v7.1.6...v8.1.4.1)

Updates `actionpack` from 7.1.6 to 8.1.4.1
- [Release notes](https://github.com/rails/rails/releases)
- [Changelog](https://github.com/rails/rails/blob/v8.1.4.1/actionpack/CHANGELOG.md)
- [Commits](rails/rails@v7.1.6...v8.1.4.1)

---
updated-dependencies:
- dependency-name: rake
  dependency-version: 13.4.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: rabl
  dependency-version: 0.18.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: jbuilder
  dependency-version: 2.15.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: kaminari
  dependency-version: 1.3.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: bootsnap
  dependency-version: 1.26.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: test-unit
  dependency-version: 3.7.8
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: aws-sdk-s3
  dependency-version: 1.237.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: yaaf
  dependency-version: 3.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: rack-attack
  dependency-version: 6.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: pg
  dependency-version: 1.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: carrierwave
  dependency-version: 3.1.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies-minor
- dependency-name: carrierwave-aws
  dependency-version: 1.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies-minor
- dependency-name: mini_magick
  dependency-version: 5.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: httparty
  dependency-version: 0.24.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies-minor
- dependency-name: devise-two-factor
  dependency-version: 6.4.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: rails
  dependency-version: 8.1.4.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies-minor
- dependency-name: rails-i18n
  dependency-version: 8.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies-minor
- dependency-name: geocoder
  dependency-version: 1.8.6
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: table_print
  dependency-version: 1.5.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies-minor
- dependency-name: rails-i18n
  dependency-version: 8.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies-minor
- dependency-name: rexml
  dependency-version: 3.4.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies-minor
- dependency-name: csv
  dependency-version: 3.3.7
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies-minor
- dependency-name: maintenance_tasks
  dependency-version: 2.17.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: minitest
  dependency-version: 5.27.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: terser
  dependency-version: 1.2.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: production-dependencies-minor
- dependency-name: lograge
  dependency-version: 0.15.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: recaptcha
  dependency-version: 5.21.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: fx
  dependency-version: 0.12.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: has_scope
  dependency-version: 0.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: globalid
  dependency-version: 1.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: js-routes
  dependency-version: 2.4.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: production-dependencies-minor
- dependency-name: activerecord
  dependency-version: 8.1.4.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies-minor
- dependency-name: actionpack
  dependency-version: 8.1.4.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: production-dependencies-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot requested a review from wwahammy as a code owner November 4, 2026 03:03
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code labels Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file ruby Pull requests that update Ruby code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants