mirror of
https://github.com/ezyang/htmlpurifier.git
synced 2024-11-08 06:48:42 +00:00
806901cfd2
git-svn-id: http://htmlpurifier.org/svnroot/htmlpurifier/trunk@706 48356398-32a2-884e-a903-53898d9a118a
187 lines
9.0 KiB
Plaintext
187 lines
9.0 KiB
Plaintext
NEWS ( CHANGELOG and HISTORY ) HTMLPurifier
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
= KEY ====================
|
|
# Breaks back-compat
|
|
! Feature
|
|
- Bugfix
|
|
+ Sub-comment
|
|
. Internal change
|
|
==========================
|
|
|
|
1.5.0, unknown release date
|
|
! Added a rudimentary I18N and L10N system modeled off MediaWiki
|
|
- Allow 'x' subtag in language codes
|
|
. Added support for IDREF attributes (i.e. for)
|
|
. Renamed HTMLPurifier_AttrDef_Class to HTMLPurifier_AttrDef_Nmtokens
|
|
|
|
1.4.2, unknown release date
|
|
! docs/enduser-utf8.html explains how to use UTF-8 and HTML Purifier
|
|
|
|
1.4.1, released 2007-01-21
|
|
! docs/enduser-youtube.html updated according to new functionality
|
|
- YouTube IDs can have underscores and dashes
|
|
|
|
1.4.0, released 2007-01-21
|
|
! Implemented list-style-image, URIs now allowed in list-style
|
|
! Implemented background-image, background-repeat, background-attachment
|
|
and background-position CSS properties. Shorthand property background
|
|
supports all of these properties.
|
|
! Configuration documentation looks nicer
|
|
! Added %Core.EscapeNonASCIICharacters to workaround loss of Unicode
|
|
characters while %Core.Encoding is set to a non-UTF-8 encoding.
|
|
! Support for configuration directive aliases added
|
|
! Config object can now be instantiated from ini files
|
|
! YouTube preservation code added to the core, with two lines of code
|
|
you can add it as a filter to your code. See smoketests/preserveYouTube.php
|
|
for sample code.
|
|
! Moved SLOW to docs/enduser-slow.html and added code examples
|
|
- Replaced version check with functionality check for DOM (thanks Stephen
|
|
Khoo)
|
|
. Added smoketest 'all.php', which loads all other smoketests via frames
|
|
. Implemented AttrDef_CSSURI for url(http://google.com) style declarations
|
|
. Added convenient single test selector form on test runner
|
|
|
|
1.3.2, released 2006-12-25
|
|
! HTMLPurifier object now accepts configuration arrays, no need to manually
|
|
instantiate a configuration object
|
|
! Context object now accessible to outside
|
|
! Added enduser-youtube.html, explains how to embed YouTube videos. See
|
|
also corresponding smoketest preserveYouTube.php.
|
|
! Added purifyArray(), which takes a list of HTML and purifies it all
|
|
! Added static member variable $version to HTML Purifier with PHP-compatible
|
|
version number string.
|
|
- Fixed fatal error thrown by upper-cased language attributes
|
|
- printDefinition.php: added labels, added better clarification
|
|
. HTMLPurifier_Config::create() added, takes mixed variable and converts into
|
|
a HTMLPurifier_Config object.
|
|
|
|
1.3.1, released 2006-12-06
|
|
! Added HTMLPurifier.func.php stub for a convenient function to call the library
|
|
- Fixed bug in RemoveInvalidImg code that caused all images to be dropped
|
|
(thanks to .mario for reporting this)
|
|
. Standardized all attribute handling variables to attr, made it plural
|
|
|
|
1.3.0, released 2006-11-26
|
|
# Invalid images are now removed, rather than replaced with a dud
|
|
<img src="" alt="Invalid image" />. Previous behavior can be restored
|
|
with new directive %Core.RemoveInvalidImg set to false.
|
|
! (X)HTML Strict now supported
|
|
+ Transparently handles inline elements in block context (blockquote)
|
|
! Added GET method to demo for easier validation, added 50kb max input size
|
|
! New directive %HTML.BlockWrapper, for block-ifying inline elements
|
|
! New directive %HTML.Parent, allows you to only allow inline content
|
|
! New directives %HTML.AllowedElements and %HTML.AllowedAttributes to let
|
|
users narrow the set of allowed tags
|
|
! <li value="4"> and <ul start="2"> now allowed in loose mode
|
|
! New directives %URI.DisableExternalResources and %URI.DisableResources
|
|
! New directive %Attr.DisableURI, which eliminates all hyperlinking
|
|
! New directive %URI.Munge, munges URI so you can use some sort of redirector
|
|
service to avoid PageRank leaks or warn users that they are exiting your site.
|
|
! Added spiffy new smoketest printDefinition.php, which lets you twiddle with
|
|
the configuration settings and see how the internal rules are affected.
|
|
! New directive %URI.HostBlacklist for blocking links to bad hosts.
|
|
xssAttacks.php smoketest updated accordingly.
|
|
- Added missing type to ChildDef_Chameleon
|
|
- Remove Tidy option from demo if there is not Tidy available
|
|
. ChildDef_Required guards against empty tags
|
|
. Lookup table HTMLDefinition->info_flow_elements added
|
|
. Added peace-of-mind variable initialization to Strategy_FixNesting
|
|
. Added HTMLPurifier->info_parent_def, parent child processing made special
|
|
. Added internal documents briefly summarizing future progression of HTML
|
|
. HTMLPurifier_Config->getBatch($namespace) added
|
|
. More lenient casting to bool from string in HTMLPurifier_ConfigSchema
|
|
. Refactored ChildDef classes into their own files
|
|
|
|
1.2.0, released 2006-11-19
|
|
# ID attributes now disabled by default. New directives:
|
|
+ %HTML.EnableAttrID - restores old behavior by allowing IDs
|
|
+ %Attr.IDPrefix - %Attr.IDBlacklist alternative that munges all user IDs
|
|
so that they don't collide with your IDs
|
|
+ %Attr.IDPrefixLocal - Same as above, but for when there are multiple
|
|
instances of user content on the page
|
|
+ Profuse documentation on how to use these available in docs/enduser-id.txt
|
|
! Added MODx plugin <http://modxcms.com/forums/index.php/topic,6604.0.html>
|
|
! Added percent encoding normalization
|
|
! XSS attacks smoketest given facelift
|
|
! Configuration documentation now has table of contents
|
|
! Added %URI.DisableExternal, which prevents links to external websites. You
|
|
can also use %URI.Host to permit absolute linking to subdomains
|
|
! Non-accessible resources (ex. mailto) blocked from embedded URIs (img src)
|
|
- Type variable in HTMLDefinition was not being set properly, fixed
|
|
- Documentation updated
|
|
+ TODO added request Phalanger
|
|
+ TODO added request Native compression
|
|
+ TODO added request Remove redundant tags
|
|
+ TODO added possible plaintext formatter for HTML Purifier documentation
|
|
+ Updated ConfigDoc TODO
|
|
+ Improved inline comments in AttrDef/Class.php, AttrDef/CSS.php
|
|
and AttrDef/Host.php
|
|
+ Revamped documentation into HTML, along with misc updates
|
|
- HTMLPurifier_Context doesn't throw a variable reference error if you attempt
|
|
to retrieve a non-existent variable
|
|
. Switched to purify()-wide Context object registry
|
|
. Refactored unit tests to minimize duplication
|
|
. XSS attack sheet updated
|
|
. configdoc.xml now has xml:space attached to default value nodes
|
|
. Allow configuration directives to permit null values
|
|
. Cleaned up test-cases to remove unnecessary swallowErrors()
|
|
|
|
1.1.2, released 2006-09-30
|
|
! Add HTMLPurifier.auto.php stub file that configures include_path
|
|
- Documentation updated
|
|
+ INSTALL document rewritten
|
|
+ TODO added semi-lossy conversion
|
|
+ API Doxygen docs' file exclusions updated
|
|
+ Added notes on HTML versus XML attribute whitespace handling
|
|
+ Noted that HTMLPurifier_ChildDef_Custom isn't being used
|
|
+ Noted that config object's definitions are cached versions
|
|
- Fixed lack of attribute parsing in HTMLPurifier_Lexer_PEARSax3
|
|
- ftp:// URIs now have their typecodes checked
|
|
- Hooked up HTMLPurifier_ChildDef_Custom's unit tests (they weren't being run)
|
|
. Line endings standardized throughout project (svn:eol-style standardized)
|
|
. Refactored parseData() to general Lexer class
|
|
. Tester named "HTML Purifier" not "HTMLPurifier"
|
|
|
|
1.1.1, released 2006-09-24
|
|
! Configuration option to optionally Tidy up output for indentation to make up
|
|
for dropped whitespace by DOMLex (pretty-printing for the entire application
|
|
should be done by a page-wide Tidy)
|
|
- Various documentation updates
|
|
- Fixed parse error in configuration documentation script
|
|
- Fixed fatal error in benchmark scripts, slightly augmented
|
|
- As far as possible, whitespace is preserved in-between table children
|
|
- Sample test-settings.php file included
|
|
|
|
1.1.0, released 2006-09-16
|
|
! Directive documentation generation using XSLT
|
|
! XHTML can now be turned off, output becomes <br>
|
|
- Made URI validator more forgiving: will ignore leading and trailing
|
|
quotes, apostrophes and less than or greater than signs.
|
|
- Enforce alphanumeric namespace and directive names for configuration.
|
|
- Table child definition made more flexible, will fix up poorly ordered elements
|
|
. Renamed ConfigDef to ConfigSchema
|
|
|
|
1.0.1, released 2006-09-04
|
|
- Fixed slight bug in DOMLex attribute parsing
|
|
- Fixed rejection of case-insensitive configuration values when there is a
|
|
set of allowed values. This manifested in %Core.Encoding.
|
|
- Fixed rejection of inline style declarations that had lots of extra
|
|
space in them. This manifested in TinyMCE.
|
|
|
|
1.0.0, released 2006-09-01
|
|
! Shorthand CSS properties implemented: font, border, background, list-style
|
|
! Basic color keywords translated into hexadecimal values
|
|
! Table CSS properties implemented
|
|
! Support for charsets other than UTF-8 (defined by iconv)
|
|
! Malformed UTF-8 and non-SGML character detection and cleaning implemented
|
|
- Fixed broken numeric entity conversion
|
|
- API documentation completed
|
|
. (HTML|CSS)Definition de-singleton-ized
|
|
|
|
1.0.0beta, released 2006-08-16
|
|
! First public release, most functionality implemented. Notable omissions are:
|
|
+ Shorthand CSS properties
|
|
+ Table CSS properties
|
|
+ Deprecated attribute transformations
|