Fetching contributors…
Cannot retrieve contributors at this time
106 lines (83 sloc) 4.28 KB

“agnostic” branch

  • added Sequel support

  • added an initialization hook for Merb

  • refactored URL generation

  • BACKWARDS INCOMPATIBLE: refactored LinkRenderer; also markup changes

    <span class="current">1</span> is now <em>1</em>
    a.prev_page -> a.previous_page (for consistency)
  • “prev_label” -> “previous_label”

  • ported view tests to specs

  • setup Autotest

  • added per_page=(limit) attribute writer to set default per_page

  • Remove :include option from count_all query when possible (Rails 2.1)

  • added WP::ViewHelpers::ActionView and LinkRenderer

  • specs for ViewHelpers::Base and LinkRendererBase

  • created LinkRendererBase that implements windowed visible page numbers logic

  • created WP::ViewHelpers::Base abstract module that implements generic view helpers

  • ported finder tests to specs

  • added WP::Finders::DataMapper

  • added WP::Finders::ActiveRecord mixin for ActiveRecord::Base

  • created WP::Finders::Base abstract module that implements generic pagination logic

  • removed dependency to ActiveSupport

2.3.1, released 2008-05-04

  • Fixed page numbers not showing with custom routes and implicit first page

  • Try to use Hanna for documentation (falls back to default RDoc template if not)

2.3.0, released 2008-04-29

  • Changed LinkRenderer to receive collection, options and reference to view template NOT in constructor, but with the #prepare method. This is a step towards supporting passing of LinkRenderer (or subclass) instances that may be preconfigured in some way

  • LinkRenderer now has #page_link and #page_span methods for easier customization of output in subclasses

  • Changed page_entries_info() method to adjust its output according to humanized class name of collection items. Override this with :entry_name parameter (singular).

    #-> "Displaying all 12 posts"
    page_entries_info(@posts, :entry_name => 'item')
    #-> "Displaying all 12 items"

2.2.3, released 2008-04-26

  • will_paginate gem is no longer published on RubyForge, but on

    gem sources -a  (you only need to do this once)
    gem install mislav-will_paginate
  • extract reusable pagination testing stuff into WillPaginate::View

  • rethink the page URL construction mechanism to be more bulletproof when combined with custom routing for page parameter

  • test that anchor parameter can be used in pagination links

2.2.2, released 2008-04-21

  • Add support for page parameter in custom routes like “/foo/page/2”

  • Change output of “page_entries_info” on single-page collection and erroneous output with empty collection as reported by Tim Chater

2.2.1, released 2008-04-08

  • take less risky path when monkeypatching named_scope; fix that it no longer requires ActiveRecord::VERSION

  • use strings in “respond_to?” calls to work around a bug in acts_as_ferret stable (ugh)

  • add rake release task

2.2.0, released 2008-04-07

API changes

  • Rename WillPaginate::Collection#page_count to “total_pages” for consistency. If you implemented this interface, change your implementation accordingly.

  • Remove old, deprecated style of calling Array#paginate as “paginate(page, per_page)”. If you want to specify :page, :per_page or :total_entries, use a parameter hash.

  • Rename LinkRenderer#url_options to “url_for” and drastically optimize it

View changes

  • Added “prev_page” and “next_page” CSS classes on previous/next page buttons

  • Add examples of pagination links styling in “examples/index.html”

  • Change gap in pagination links from “…” to “<span class=”gap“>&hellip;</span>”.

  • Add “paginated_section”, a block helper that renders pagination both above and below content in the block

  • Add rel=“prev|next|start” to page links


  • Add ability to opt-in for Rails 2.1 feature “named_scope” by calling WillPaginate.enable_named_scope (tested in Rails 1.2.6 and 2.0.2)

  • Support complex page parameters like “developers

  • Move Array#paginate definition to will_paginate/array.rb. You can now easily use pagination on arrays outside of Rails:

    gem 'will_paginate'
    require 'will_paginate/array'
  • Add “paginated_each” method for iterating through every record by loading only one page of records at the time

  • Rails 2: Rescue from WillPaginate::InvalidPage error with 404 Not Found by default