#
CHANGELOG
#
Release Policy
Pagy follows the Semantic Versioning 2.0.0, and introduces BREAKING CHANGES only for MAJOR versions.
We release any new version (MAJOR, MINOR, PATCH) as soon as it is ready for release, regardless of any time constraint, frequency or duration.
We rarely deprecate elements (releasing a new MAJOR version is just simpler and more efficient). However, when we do, you can expect the old/deprecated functionality to be supported ONLY during the current MAJOR version.
#
Recommended Version Constraint
Given a version number MAJOR.MINOR.PATCH (e.g. 43.2.8):
The gem 'pagy', '~> 43.0' Gemfile entry (without the PATCH number) ensures that the bundle update command will update pagy to
the most recent version WITHOUT BREAKING CHANGES.
Increment the MAJOR version in your Gemfile ONLY when you are ready to handle the BREAKING CHANGES.
#
Breaking Changes
Follow the Upgrade to 43 Guide.
If you upgrade from version < 9.0.0 see the following:
- Breaking changes in version 9.0.0
- Breaking changes in version 8.0.0
- Breaking changes in version 7.0.0
- Breaking changes in version 6.0.0
- Breaking changes in version 5.0.0
- Breaking changes in version 4.0.0
- Breaking changes in version 3.0.0
- Breaking changes in version 2.0.0
- Breaking changes in version 1.0.0
Tip
If you need to update through multiple versions, reimplementing the updated pagination from scratch might be faster.
#
Version 43.2.0
- Implement :countish paginator
- Simplify Pagy::Linkable
#
Version 43.1.8
- Refactoring of elasticsearch_rails paginator:
- Fix "response" shadowing. Close #842.
- Simplify code
- Improve readability: rename variables and methods in more natural and unambiguous language
#
Version 43.1.7
- Fix and improve search paginators:
- Add support for elasticsearch_rails v8
- Prioritize elasticsearch_rails response over raw_response in total_count (causing multiple query executions)
- Fix the ignored :search_method paginator option
- Close #837, close #838, close #839.
#
Version 43.1.6
- Ensure the request GET and POST merge into a proper params Hash
- Simplify code efficiency and readability
#
Version 43.1.5
- Fix and improve the composition of the page url. Close #835
#
Version 43.1.4
- Add full support for legacy countless params, url composition and (limited) behavior
#
Version 43.1.3
- Improve the page options handling for countless:
Replace the crippled handling of legacy last-less links params introduced in 43.1.2 by gracefully starting the pagination from the beginning
Remove the compose_page_param method (it would need a deep refactoring for compatibility with the legacy handling)
Improve testing
- Improve the info message for empty collection in countless paginations
#
Version 43.1.2
- Support easy countless page param overriding (for legacy param and behavior). See #816
- Handle legacy page param for :countless paginator. Close #832
- Improve mock collections
- Improve code comments
#
Version 43.1.1
- Makes keynav pagination compatible with nested params:
- Improve the URL composing and unescaping
- Adds the keynav+root_key.ru showcase app
- Simplify the request code and arguments
#
Version 43.1.0
- Translate the aria_label.nav entry in the id, ja, kn, sw locales. Close #588, close #590, close #591, close #603.
- Improve the Pagy AI panel
- Simplify the paginators code
- Allow nested :page and :limit request params and URLs:
- Add the :root_key option:
- Simplify the :jsonapi handling as a special case of nested params
- Fix and simplify the pagy console code
#
Version 43.0.7
- Add compatibility for searchkick 6. Close #831
- Fix the search paginators request in passive mode. Close #830.
#
Version 43.0.6
- Improve Pagy AI Widget scripts
#
Version 43.0.5
- Add console loader for easier usage
- Add comment for the calendar usage. Close #827.
#
Version 43.0.4
- Remove the Pagy.options from the Calendar configuration. Close #825
#
Version 43.0.3
- Update tr.yml (#824)
#
Version 43.0.2
- Ensure the Pagy::Request#params are the original params sent with the request. Close #821
#
Version 43.0.1
- Reimplement reading params from POST requests; rename internal variables. Close #821
- Fix AI widget problem for apps. Close #817.
- Improve I18n documentation. Close #811
- Link to documentation website's CHANGELOG page (#804)
#
Version 43.0.0
We needed a leap version to unequivocally signaling that it's not just a major version: it's a complete redesign of the legacy code at all levels, usage and API included.
Why 43? Because it's exactly one step beyond "The answer to the ultimate question of life, the Universe, and everything." 😉
#
Changes
- The Countless pagination remembers the last page
- Pagination navs now allow jumping forward after navigating back a few pages.
- Javascript refactoring
- The new
Pagy.sync_javascriptfunction used in thepagy.jsinitializer, avoids complicated configurations. - Added the plain
pagy.jsand relative source map files.
- The new
- I18n refactoring
- No setup required: the locales and their pluralization are autoloaded when your app uses them.
- The locale files are easier to override with
Pagy::I18n.pathnames << my_dictionaries.
- HTML and CSS refactoring
- Stylesheets are now based on CSS properties and calculations, for easer customizstion.
- The new PagyWand interactive tool generates the CSS Override for your custom styles and provides live feedback right in your app.
- Playground apps
- Better usability and styles
- Bootstrap and Bulma
- Fixed a few style glitches.