2.0b4 (XXXX-XX-XX)
------------------

- Change test suite to py.test, and convert doctests to unit tests. Some Python
  examples were left in the docs for documentation. Did not port the doctests
  in the 'html' subpackage because of the potential overhaul of that package.

- delete submodules:

  * media (moved ``choose_height()`` to misc. ``get_dimensions()`` has equivalents on
    PyPI; e.g., the ``dimensions`` and ``imagefacts`` distributions)

- webhelpers.containers:

  * Rename ``only_some_keys()`` to ``copy_keys()``, and ``except_keys()`` to 
    ``copy_keys_except()``, and ``extract_keys()`` to ``split_dict()``. In all
    these functions change the ``keys`` argument to ``\*keys``. This parallels
    a previous change to ``del_keys()`` in 2.0b3.

- webhelpers.html.tags:

  * The ``image()`` helper no longer accepts args 'path' or 'use_pil'. In
    WebHelpers these invoked the 'media' package to parse the width and
    height from the image file, but the 'media' package was not ported to
    WebHelpers2. It raises TypeError if these args are specified.

- webhelpers.text:

  * Change the argument signature of ``series()``. The items are now positional
    args, and the keyword args are renamed to ``conj`` and ``strict``.


2.0b3 (2013-04-07)
------------------

- Delete submodules:

  * html.converters (merged to html.tools)

- webhelpers.containers:

  * Rename ``del_quiet`` to ``del_keys``, and change to accept keys as
    positional arguments. 
  * Rename ``extract_keys`` to ``split_dict``.
  * Delete ``get_many``.

- webhelpers2.html.misc:

  * Delete ``format_number``. To display with thosands separators, use
    ``"{:,}".format(12346)`` (always comma) or ``"{:n}".format(12345)``
    (locale-specific).

- webhelpers.html.number:

  * Keep the individual statistic helpers but delete the container classes
    (``Stats`` and ``SimpleStats``).

- webhelpers.html.tags:

  * Delete ``required_legend()``.

- webhelpers2.html.tools: 

  * Merge 'webhelpers2.html.converters' into 'webhelpers2.html.tools'.
  * Rename ``format_paragraphs`` to ``text_to_html`` (from converters module).
  * Rename ``render`` to ``html_to_text`` (from converters module).
  * Bugfix in ``text_html``, should return a literal.

- webhelpers.misc:

  * Delete ``all``, ``any``, and ``no``.  Python >= 2.5 has builtins for the
    first two.
  * Rename ``convert_or_none`` to ``convert``.

- Delete the sample CSS stylesheet.


2.0b2 (2012-01-29)
------------------

- All HTML tag helpers now convert underscores to hyphens in attribute names. This
  is to support HTML5 "data-" attributes as keyword args. Trailing underscores
  are still removed ("class\_" -> "class"). (Bitbucket #55)

- webhelpers2.html.tools:

  * Delete 'highlighter' arg in ``highight`` helper. It has been deprecated
    since WebHelpers 1.0b2.


2.0b1 (2012-01-26)
------------------

- Import code and docs from WebHelpers 1.3. Source:
  https://bitbucket.org/bbangert/webhelpers/changeset/979fc4537c87c54eed933e5a84d43df51be88ff2
- Rename top-level package to ``webhelpers2``.
- Delete submodules: 

  * feedgenerator
  * html.grid
  * html.grid_demo
  * markdown
  * mimehelper
  * paginate
  * pylonslib (flash, grid, minify, secure_form)
  * textile
  * util

- webhelpers2.containers:
  
  * Delete Accumulator: use ``collections.defaultdict(list)`` in stdlib or 
    WebOb's '`MultiDict``. 
  * Delete UniqueAccumulator: use ``collections.defaultdict(set)`` in stdlib.

- webhelpers2.html.tags:

  * Delete Doctype: use simply "<!DOCTYPE html>" for HTML 5.
  * Rename sample stylesheet to 'webhelpers2/static/stylesheets/webhelpers2.css'.

- webhelpers2.misc:

  * Rename 'subclasses_only' to 'subclasses_of'.
  * Delete DeclarativeException and OverwriteError.

- Bugfix in leap year algorithm contributed by "rejoc" on GitHub.
  (``webhelpers2.date._is_leap_year()``)
- Moved 'update_params()' to the unfinished directory pending a new home; it
  was in the deleted util module.
