[1.3.0] More control of URIs granted
[htmlpurifier.git] / NEWS
blob7f05908ac66b3dc79a69a21dc0f1704aaf186789
1 NEWS ( CHANGELOG and HISTORY )                                     HTMLPurifier
2 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
4 = KEY ====================
5     # Breaks back-compat
6     ! Feature
7     - Bugfix
8       + Sub-comment
9     . Internal change
10 ==========================
12 1.3.0, unknown release date
13 (major feature release)
14 # Invalid images are now removed, rather than replaced with a dud
15   <img src="" alt="Invalid image" />. Previous behavior can be restored
16   with new directive %Core.RemoveInvalidImg set to false.
17 ! (X)HTML Strict now supported
18   + Transparently handles inline elements in block context (blockquote)
19 ! Added GET method to demo for easier validation, added 50kb max input size
20 ! New directive %HTML.BlockWrapper, for block-ifying inline elements
21 ! New directive %HTML.Parent, allows you to only allow inline content
22 ! New directives %HTML.AllowedElements and %HTML.AllowedAttributes to let
23   users narrow the set of allowed tags
24 ! <li value="4"> and <ul start="2"> now allowed in loose mode
25 ! New directives %URI.DisableExternalResources and %URI.DisableResources
26 ! New directive %Attr.DisableURI, which eliminates all hyperlinking
27 - Added missing type to ChildDef_Chameleon
28 - Remove Tidy option from demo if there is not Tidy available
29 . ChildDef_Required guards against empty tags
30 . Lookup table HTMLDefinition->info_flow_elements added
31 . Added peace-of-mind variable initialization to Strategy_FixNesting
32 . Added HTMLPurifier->info_parent_def, parent child processing made special
33 . Added internal documents briefly summarizing future progression of HTML
35 1.2.1, unknown release date
36 (bugfix/minor feature release, may be dropped if 1.2.0 is stable)
37 . Refactored ChildDef classes into their own files
39 1.2.0, released 2006-11-19
40 # ID attributes now disabled by default. New directives:
41   + %HTML.EnableAttrID - restores old behavior by allowing IDs
42   + %Attr.IDPrefix - %Attr.IDBlacklist alternative that munges all user IDs
43     so that they don't collide with your IDs
44   + %Attr.IDPrefixLocal - Same as above, but for when there are multiple
45     instances of user content on the page
46   + Profuse documentation on how to use these available in docs/enduser-id.txt
47 ! Added MODx plugin <http://modxcms.com/forums/index.php/topic,6604.0.html>
48 ! Added percent encoding normalization
49 ! XSS attacks smoketest given facelift
50 ! Configuration documentation now has table of contents
51 ! Added %URI.DisableExternal, which prevents links to external websites.  You
52   can also use %URI.Host to permit absolute linking to subdomains
53 ! Non-accessible resources (ex. mailto) blocked from embedded URIs (img src)
54 - Type variable in HTMLDefinition was not being set properly, fixed
55 - Documentation updated
56   + TODO added request Phalanger
57   + TODO added request Native compression
58   + TODO added request Remove redundant tags
59   + TODO added possible plaintext formatter for HTML Purifier documentation
60   + Updated ConfigDoc TODO
61   + Improved inline comments in AttrDef/Class.php, AttrDef/CSS.php
62     and AttrDef/Host.php
63   + Revamped documentation into HTML, along with misc updates
64 - HTMLPurifier_Context doesn't throw a variable reference error if you attempt
65   to retrieve a non-existent variable
66 . Switched to purify()-wide Context object registry
67 . Refactored unit tests to minimize duplication
68 . XSS attack sheet updated
69 . configdoc.xml now has xml:space attached to default value nodes
70 . Allow configuration directives to permit null values
71 . Cleaned up test-cases to remove unnecessary swallowErrors()
73 1.1.2, released 2006-09-30
74 ! Add HTMLPurifier.auto.php stub file that configures include_path
75 - Documentation updated
76   + INSTALL document rewritten
77   + TODO added semi-lossy conversion
78   + API Doxygen docs' file exclusions updated
79   + Added notes on HTML versus XML attribute whitespace handling
80   + Noted that HTMLPurifier_ChildDef_Custom isn't being used
81   + Noted that config object's definitions are cached versions
82 - Fixed lack of attribute parsing in HTMLPurifier_Lexer_PEARSax3
83 - ftp:// URIs now have their typecodes checked
84 - Hooked up HTMLPurifier_ChildDef_Custom's unit tests (they weren't being run)
85 . Line endings standardized throughout project (svn:eol-style standardized)
86 . Refactored parseData() to general Lexer class
87 . Tester named "HTML Purifier" not "HTMLPurifier"
89 1.1.1, released 2006-09-24
90 ! Configuration option to optionally Tidy up output for indentation to make up
91   for dropped whitespace by DOMLex (pretty-printing for the entire application
92   should be done by a page-wide Tidy)
93 - Various documentation updates
94 - Fixed parse error in configuration documentation script
95 - Fixed fatal error in benchmark scripts, slightly augmented
96 - As far as possible, whitespace is preserved in-between table children
97 - Sample test-settings.php file included
99 1.1.0, released 2006-09-16
100 ! Directive documentation generation using XSLT
101 ! XHTML can now be turned off, output becomes <br>
102 - Made URI validator more forgiving: will ignore leading and trailing
103   quotes, apostrophes and less than or greater than signs.
104 - Enforce alphanumeric namespace and directive names for configuration.
105 - Table child definition made more flexible, will fix up poorly ordered elements
106 . Renamed ConfigDef to ConfigSchema
108 1.0.1, released 2006-09-04
109 - Fixed slight bug in DOMLex attribute parsing
110 - Fixed rejection of case-insensitive configuration values when there is a
111   set of allowed values.  This manifested in %Core.Encoding.
112 - Fixed rejection of inline style declarations that had lots of extra
113   space in them.  This manifested in TinyMCE.
115 1.0.0, released 2006-09-01
116 ! Shorthand CSS properties implemented: font, border, background, list-style
117 ! Basic color keywords translated into hexadecimal values
118 ! Table CSS properties implemented
119 ! Support for charsets other than UTF-8 (defined by iconv)
120 ! Malformed UTF-8 and non-SGML character detection and cleaning implemented
121 - Fixed broken numeric entity conversion
122 - API documentation completed
123 . (HTML|CSS)Definition de-singleton-ized
125 1.0.0beta, released 2006-08-16
126 ! First public release, most functionality implemented. Notable omissions are:
127   + Shorthand CSS properties
128   + Table CSS properties
129   + Deprecated attribute transformations