Bleach Changes
==============

Version 1.5 (November 4th, 2016)
--------------------------------

**Backwards incompatible changes**

- clean: The list of ``ALLOWED_PROTOCOLS`` now defaults to http, https and
  mailto. Previously it was a long list of protocols something like ed2k, ftp,
  http, https, irc, mailto, news, gopher, nntp, telnet, webcal, xmpp, callto,
  feed, urn, aim, rsync, tag, ssh, sftp, rtsp, afs, data. #149

**Changes**

- clean: Added ``protocols`` to arguments list to let you override the list of
  allowed protocols. Thank you, Andreas Malecki! #149
- linkify: Fix a bug involving periods at the end of an email address. Thank you,
  Lorenz Schori! #219
- linkify: Fix linkification of non-ascii ports. Thank you Alexandre, Macabies!
  #207
- linkify: Fix linkify inappropriately removing node tails when dropping nodes.
  #132
- Fixed a test that failed periodically. #161
- Switched from nose to py.test. #204
- Add test matrix for all supported Python and html5lib versions. #230
- Limit to html5lib ``>=0.999,!=0.9999,!=0.99999,<0.99999999`` because 0.9999
  and 0.99999 are busted.
- Add support for ``python setup.py test``. #97


Version 1.4.3 (May 23rd, 2016)
------------------------------

**Changes**

- Limit to html5lib ``>=0.999,<0.99999999`` because of impending change to
  sanitizer api. #195


Version 1.4.2 (September 11, 2015)
----------------------------------

**Changes**

- linkify: Fix hang in linkify with ``parse_email=True``. #124
- linkify: Fix crash in linkify when removing a link that is a first-child. #136
- Updated TLDs.
- linkify: Don't remove exterior brackets when linkifying. #146


Version 1.4.1 (December 15, 2014)
---------------------------------

**Changes**

- Consistent order of attributes in output.
- Python 3.4 support.


Version 1.4 (January 12, 2014)
------------------------------

**Changes**

- linkify: Update linkify to use etree type Treewalker instead of simpletree.
- Updated html5lib to version ``>=0.999``.
- Update all code to be compatible with Python 3 and 2 using six.
- Switch to Apache License.


Version 1.3
-----------

- Used by Python 3-only fork.


Version 1.2.2 (May 18, 2013)
----------------------------

- Pin html5lib to version 0.95 for now due to major API break.

Version 1.2.1 (February 19, 2013)
---------------------------------

- clean() no longer considers ``feed:`` an acceptable protocol due to
  inconsistencies in browser behavior.


Version 1.2 (January 28, 2013)
------------------------------

- linkify() has changed considerably. Many keyword arguments have been
  replaced with a single callbacks list. Please see the documentation
  for more information.
- Bleach will no longer consider unacceptable protocols when linkifying.
- linkify() now takes a tokenizer argument that allows it to skip
  sanitization.
- delinkify() is gone.
- Removed exception handling from _render. clean() and linkify() may now
  throw.
- linkify() correctly ignores case for protocols and domain names.
- linkify() correctly handles markup within an <a> tag.


Version 1.1.5
-------------


Version 1.1.4
-------------


Version 1.1.3 (July 10, 2012)
-----------------------------

- Fix parsing bare URLs when parse_email=True.


Version 1.1.2 (June 1, 2012)
----------------------------

- Fix hang in style attribute sanitizer. (#61)
- Allow '/' in style attribute values.


Version 1.1.1 (February 17, 2012)
---------------------------------

- Fix tokenizer for html5lib 0.9.5.


Version 1.1.0 (October 24, 2011)
--------------------------------

- linkify() now understands port numbers. (#38)
- Documented character encoding behavior. (#41)
- Add an optional target argument to linkify().
- Add delinkify() method. (#45)
- Support subdomain whitelist for delinkify(). (#47, #48)


Version 1.0.4 (September 2, 2011)
---------------------------------

- Switch to SemVer git tags.
- Make linkify() smarter about trailing punctuation. (#30)
- Pass exc_info to logger during rendering issues.
- Add wildcard key for attributes. (#19)
- Make linkify() use the HTMLSanitizer tokenizer. (#36)
- Fix URLs wrapped in parentheses. (#23)
- Make linkify() UTF-8 safe. (#33)


Version 1.0.3 (June 14, 2011)
-----------------------------

- linkify() works with 3rd level domains. (#24)
- clean() supports vendor prefixes in style values. (#31, #32)
- Fix linkify() email escaping.


Version 1.0.2 (June 6, 2011)
----------------------------

- linkify() supports email addresses.
- clean() supports callables in attributes filter.


Version 1.0.1 (April 12, 2011)
------------------------------

- linkify() doesn't drop trailing slashes. (#21)
- linkify() won't linkify 'libgl.so.1'. (#22)
