NEWS ( CHANGELOG and HISTORY ) HTMLPurifier ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| = KEY ==================== # Breaks back-compat ! Feature - Bugfix + Sub-comment . Internal change ========================== 2.1.3, unknown release date - Fixed poor include ordering for Email URI AttrDefs, causes fatal errors on some systems. - Injector algorithm further refined: off-by-one error regarding skip counts for dormant injectors fixed - Corrective blockquote definition now enabled for HTML 4.01 Strict - Fatal error when tag (or any other element with required attributes) has 'id' attribute fixed, thanks NykO18 for reporting - Fix warning emitted when a non-supported URI scheme is passed to the MakeAbsolute URIFilter, thanks NykO18 (again) - Further refine AutoParagraph injector. Behavior inside of elements allowing paragraph tags clarified: only inline content delimeted by double newlines (not block elements) are paragraphed. . %Core.AcceptFullDocuments renamed to %Core.ConvertDocumentToFragment to better communicate its purpose 2.1.2, released 2007-09-03 ! Implemented Object module for trusted users ! Implemented experimental HTML5 parsing mode using PH5P. To use, add this to your code: require_once 'HTMLPurifier/Lexer/PH5P.php'; $config->set('Core', 'LexerImpl', 'PH5P'); Note that this Lexer introduces some classes not in the HTMLPurifier namespace. Also, this is PHP5 only. ! CSS property border-spacing implemented - Fix non-visible parsing error in DirectLex with empty tags that have slashes inside attribute values. - Fix typo in CSS definition: border-collapse:seperate; was incorrectly accepted as valid CSS. Usually non-visible, because this styling is the default for tables in most browsers. Thanks Brett Zamir for pointing this out. - Fix validation errors in configuration form - Hammer out a bunch of edge-case bugs in the standalone distribution - Inclusion reflection removed from URISchemeRegistry; you must manually include any new schema files you wish to use - Numerous typo fixes in documentation thanks to Brett Zamir . Unit test refactoring for one logical test per test function . Config and context parameters in ComplexHarness deprecated: instead, edit the $config and $context member variables . HTML wrapper in DOMLex now takes DTD identifiers into account; doesn't really make a difference, but is good for completeness sake . merge-library.php script refactored for greater code reusability and PHP4 compatibility 2.1.1, released 2007-08-04 - Fix show-stopper bug in %URI.MakeAbsolute functionality - Fix PHP4 syntax error in standalone version . Add prefix directory to include path for standalone, this prevents other installations from clobbering the standalone's URI schemes . Single test methods can be invoked by prefixing with __only 2.1.0, released 2007-08-02 # flush-htmldefinition-cache.php superseded in favor of a generic flush-definition-cache.php script, you can clear a specific cache by passing its name as a parameter to the script ! Phorum mod implemented for HTML Purifier ! With %Core.AggressivelyFixLt, <3 and similar emoticons no longer trigger HTML removal in PHP5 (DOMLex). This directive is not necessary for PHP4 (DirectLex). ! Standalone file now available, which greatly reduces the amount of includes (although there are still a few files that reside in the standalone folder) ! Relative URIs can now be transformed into their absolute equivalents using %URI.Base and %URI.MakeAbsolute ! Ruby implemented for XHTML 1.1 ! You can now define custom URI filtering behavior, see enduser-uri-filter.html for more details ! UTF-8 font names now supported in CSS - AutoFormatters emit friendly error messages if tags or attributes they need are not allowed - ConfigForm's compactification of directive names is now configurable - AutoParagraph autoformatter algorithm refined after field-testing - XHTML 1.1 now applies XHTML 1.0 Strict cleanup routines, namely blockquote wrapping - Contents of