1. xpahos
  2. WebHelpers


WebHelpers / CHANGELOG

WebHelpers ChangeLog

tip (development version)

1.0b1 (2009-11-20)
* Delete deprecated subpackage: rails.
  These are replaced by new helpers in date, html, misc, number, text.
* Delete other deprecated subpackages: commands, hinclude, htmlgen, pagination.
  Pagination is replaced by paginate.
* webhelpers.constants:
  - ``uk_counties`` returns tuples rather than lists.
* webhelpers.feedgenerator:
  - ``rfc3339_date`` now accepts date objects without crashing.
  - Add 'generator' and 'source' properties to RSS2 feeds. Patch by
    Vince Spicer.
  - Add 'published' property to Atom1 feeds.
* webhelpers.html.converters:
  - New helper ``render()`` formats HTML to text.
  - New helper ``sanitize()`` strips HTML tags from user input.
* webhelprs.html.tags:
  - New helper ``css_classes()`` to add classes to a tag programmatically.
  - Fix bug in tag helpers when passing 'id_' argument (although 'id' is
    recommended instead).
  - Add OptionGroup class and optgroup support to select().  Patch by
    Alexandre Bourget.
* webhelpers.html.tools:
  - New helper ``strip_tags()`` deletes HTML tags in a string.
* webhelpers.paginate:
  - Allow all versions of SQLAlchemy > 0.3.
  - convert "_range" and "_pagelink" function to Page class method so that they
    can be overridden
  - pager "onclick" argument use template string value. So, javascript code can
    use "partial_url" or "page" value or any. Backward compatibility is
  - Add presliced list option to avoid slicing when list is already.
* webhelpers.pylonslib:
  - is now a package.
  - The ``Flash`` class now accepts severity categories, thanks to Wichert
    Akkerman.  The docstring shows how to set up auto-fading messages using
    Javascript a la Mac OSX's "Growl" feature.  This is backward compatible 
    although you should delete existing sessions when upgrading from 0.6.x.
  - ``webhelpers.pylonslib.minify`` contains enhanced versions of
    ``javascript_link`` and ``stylesheet_link`` to minify (shrink) files for
    more efficient transmission.  (EXPERIMENTAL: tests fail in
    unfinished/disabled_test_pylonslib_minify.py; see
    http://pylonshq.com/project/pylonshq/ticket/466 .)
* webhelpers.text:
  - Port several helpers from Ruby's "stringex" package.
    + ``urlify()`` converts any string to a URL-friendly equivalent.  
    + ``remove_formatting()``
    + If the ``unidecode`` package is installed, these two helpers will also
      transliterate non-ASCII characters to their closest pronounciation
      equvivalent in ASCII.  
    + Four other helpers reduce HTML entities or whitespace.

0.6.4 (12/2/2008)
* text(), password(), checkbox(), textarea(), and select() have a
  magic 'id attribute. If not specified it defaults to the name. To suppress
  the ID entirely, pass ``id=""``.  This is to help set the ID for title().
  radio() doesn't do this because it generates the ID another way.  hidden()
  doesn't because hidden fields aren't used with labels.
* Bugfixes in mt.select(): 
  - selected values not being passed as list.
  - allow currently-selected value to be a long.
* Delete experimental module webhelpers.html.form_layout.

0.6.3 (10/7/2008)
* Bugfix in distribute() found by Randy Syring.
* New helpers title() and required_legend() in webhelpers.html.tags.
* New directory webhelpers/public for static files
* Suggested stylesheet webhelpers/public/stylesheets/webhelpers.css
  (You'll have to manually add this to your application.)

0.6.2 (10/2/2008)
* nl2br() and format-paragraphs were not literal-safe.
* webhelpers.converters:
  - New helper transpose() to turn a 2D list sideways (making the rows columns
    and the columns rows).
* webhelpers.markdown:
  - Upgrade to Markdown 1.7.
  - Add a warning about escaping untrusted HTML to 
    webhelpers.html.converters.markdown() docstring.
  - Did not include Markdown's extensions due to relative import issues.
    Use the full Markdown package if you want footnotes or RSS.
* webhelpers.media:
  - New module for muiltimedia helpers.  Initial functions determine the size
    of an image and choose a scaling factor.
* webhelpers.html.tags:
  - Options tuple contains Option objects for select/checkbox/radio groups.
    select() now uses this automatically.
  - checkbox() and radio() now have a ``label`` argument.
* webhelpers.number:
  - Population standard deviation contributed by Lorenzo Catucci.
* webhelpers.html.form_layout: form field layout (PRELIMINARY, UNSTABLE).

0.6.1 (7/31/2008)
* Include a faster version of cgi.escape for use by the literal object.
* Fixed bug in SimplerXMLGenerator that the FeedGenerator uses, so that
  it doesn't use a {} arg.
* New helpers:
  - nl2br() and format_paragraphs() in webhelpers.html.converters.
  - ul() and ol() in webhelpers.html.tags.
  - series() in webhelpers.text.
* HTML.tag() is a synonym for make_tag(), both in webhelpers.html.builder.
* Change default form method to "post" (rather than "POST") to conform to XHTML.
* Add DeprecationWarning for webhelpers.rails package,
  webhelpers.rails.url_for(), and webhelpers.pagination.

0.6 (07/08/2008)
* Add webhelpers.html.builder to generate HTML tags with smart escaping,
  along with a literal type to mark preformatted strings.
* Deprecate webhelpers.rails, including its Javascript libraries (Prototype
  and Scriptaculous).  Wrap all rails helpers in a literal.
* Many new modules:
  constants - countries, states, and provinces.
  containers - high-level collections, including flash messages.
  date - date/time (rails replacement).
  html.converters - text-to-HTML (rails replacement).
  html.tags - HTML tags (rails replacement).
  html.tools - larger HTML chunks (rails replacement).
  mail - sending email.
  misc -  helpers that are neither text, numeric, container, nor date.
  number - numeric helpers and number formatters.
  paginate - successor to deprecated pagination module.
  text - non-HTML text formatting (rails replacement).
* Removed dependency on simplejson and normalized quotes. Patch by Elisha 

- image(), javascript_link(), stylesheet_link(), and auto_discovery_link()
  in webhelpers.html.tags do not add prefixes or suffixes to the URL args
  anymore; they output the exact URL given. Same for button_to() in
- webhelpers.html.tags.javascript_path was deleted.

0.3.4 (03/18/08)
* Fixed missing javascripts dir.

0.3.3 (02/27/08)
* Fixed strip_unders so that it won't explode during iteration when the size
* Updated feedgenerator with the latest changes from Django's version (only
  a few additional attributes).

0.3.2 (09/05/07)
* Added capability to pass pagination a SA 0.4 Session object which will be 
  used for queries. This allows compatibility with Session.mapper'd objects
  and normal SA 0.4 mapper relations.
* Updated SQLAlchemy ORM pagination for SA 0.4 Session.mapper objects.
* Updated Scriptaculous to 1.7.1 beta 3 (1.7.0 is incompatible with Prototype
  1.5.1). Thanks errcw. Fixes #288.

0.3.1 (07/14/07)
* Added the secure_form_tag helper module, for generating form tags
  including client-specific authorization tokens for preventing CSRF
  attacks. Original patch by David Turner. Fixes #157.
* current_url now accepts arguments to pass along to url_for. Fixes #251.
* Updated prototype to
* Added image support to button_to. Patch by Alex Conrad. Fixes #184.
* Fix radio_button and submit_to_remote not handling unicode values.
  Fixes #235.
* Added support for the defer attribute to javascript_include_tag. Suggested
  by s0undt3ch. Fixes #214.
* Added a distutils command compress_resources, which can combine CSS
  and Javascript files, and compress Javascript via ShrinkSafe.  Add
  "command_packages=webhelpers.commands" in [global] in setup.cfg to
  enable this command for your package.

0.3 (03/18/2007)
* WARNING: paginate now takes arguments intended for the collection object as
  query_args. This could affect backwards compatibility. This fixes a common
  issue that non-keyword arguments passed into paginate get eaten by
  paginate's keyword arguments instead of being in *args to go on to the
* Added environ checking with Routes so that page will be automatically pulled
  out of the query string, or from the Routes match dict if available.
* Added ability for paginate to check for objects that had SQLAlchemy's 
  assign_mapper applied to them.
* Added better range checking to paginator to require a positive value that is
  less than the total amount of pages available for a page.
* WARNING: Due to a typo, the Text helper highlight function no longer
  highlights text with the CSS class name 'hilight' by default: it now uses
  the CSS class name 'highlight' instead. The function's 'hilighter' keyword
  argument has also been deprecated, use 'highlighter' instead.
* Fixed the broken markdown function.
* Upgraded markdown from 1.5 to 1.6a.
* Sync'd Prototype helper to 6057.
* Sync'd Urls helper to 6070.
* Sync'd Text helper to 6096.
* Sync'd Date helper to 6080.
* Sync'd Tags helper to 5857.
* Sync'd Asset tag helper to 6057.
* Sync'd Rails Number helper to 6045.
* Updated Ajax commands to internally use 'with_' to avoid name conflicts with
  Python 2.5 and beyond. Reported by anilj. Fixes #190.
* Applied patch from David Smith to decode URL parts as Routes does.
  Fixes #186.
* Changed pagination to give better response if its passed an invalid object.
  Patch from Christoph Haas.
* Fixed scriptaculous helper docs example. Fixes #178.
* Updated scriptaculous/prototype to Prototype 1.5.0 and Scriptaculous 1.7.0.
* Updated scriptaculous javascripts to 1.6.5. Fixes #155.
* Updated remote_function doc-string to more clearly indicate the arguments
  it can receive.
* Synced Rails Javascript helper to 5245 (escape_javascript now escaping
  backslashes and allow passing html_options to javascript_tag).

0.2.2 (10/20/06)
* Fixed tag_options function to not str() string and let html_escape handle
  it so unicode is properly handled. Reported with fix by Michael G. Noll.
* Added sqlalchemy.Query support to the pagination orm wrappers, patch from
  Andrija Zarić
* Fixed python 2.3 compliance in webhelpers.rails (use of sorted()) (Thanks
  Jamie Wilkinson)

0.2.1 (9/7/06)
* Adding counter func to text helpers, patch from Jamie Wilkinson.
* Sync'd Rails Text helper to 4994.
* Sync'd Rails Asset tag helper to 4999.
* Sync'd Rails Form tag helper to 5045, also doesn't apply to our version.
* Sync'd Rails Javascript func to 5039, doesn't apply to us.
* Updated Scriptaculous to 1.6.3.
* Updated Prototype to 1.5.0_rc1.
* Updated radio_button so that id's are unique. Brings up to date with Rails
  changeset #4925, also fixes #103.
* More precise distance_of_time_in_words (Follows bottom half of #4989 Rails
* button_to accepts method keyword so you can PUT and DELETE with it. 
  (Follows #4914 Rails changeset)
* Fixed auto_link to parse more valid url formats (Thanks Jamie Wilkinson).
* Sync'd text helper from latest Rails version.
* Fixed form tag's method matching to be case insensitive.

0.2 (8/31/06)
* Adding simplejson req, adding use of json'ification. Updated scriptaculous
  helpers to split out JS generation for use in JS Generation port.
* Finished sync'ing Rails ports (urls, tags) in WebHelpers. Closes #69.
  url and prototype tests updated, url helpers updated to handle method
* Sync'd scriptaculous helper.
* Sync'd javascript, prototype helpers and prototype.js to latest Rails
  modifications. Added more prototype tests.
* Sync'd form_options, form_tag helpers. form_tag's form function can now
  accept other HTTP methods, and will include a hidden field for them if
  its not 'get' or 'post'.
* Sync'd number helper, added number unit tests.
* Added markdown.py (python-markdown) for new markdown support in text helper.
* Added textile.py (PyTextile) for new textilize support in text helper.
* Brought asset/date/text helpers up to date with revision info.

0.1.3 (Release)
* Brought feedgenerator in line with Django's version, which fixed the missing
  support for feed categories and updated classes for new-style. Other minor
  feed updates as well. Now synced as of Django r3143.
* Fixed typo in feedgenerator import, reported by tiksin@free.fr.
* Added ``webhelpers.rails.asset_tag``, for generating links to other assets
  such as javascripts, stylesheets, and feeds.