2006-08-16 17:35:24 +00:00
|
|
|
NEWS ( CHANGELOG and HISTORY ) HTMLPurifier
|
2006-08-16 16:32:44 +00:00
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
2006-09-28 01:28:18 +00:00
|
|
|
= KEY ====================
|
2006-11-17 01:05:41 +00:00
|
|
|
# Breaks back-compat
|
2006-09-28 01:28:18 +00:00
|
|
|
! Feature
|
|
|
|
- Bugfix
|
|
|
|
+ Sub-comment
|
|
|
|
. Internal change
|
|
|
|
==========================
|
|
|
|
|
2007-09-06 19:38:12 +00:00
|
|
|
2.1.3, unknown release date
|
|
|
|
- Fixed poor include ordering for Email URI AttrDefs, causes fatal errors
|
|
|
|
on some systems.
|
2007-09-09 01:27:09 +00:00
|
|
|
- Injector algorithm further refined: off-by-one error regarding skip
|
|
|
|
counts for dormant injectors fixed
|
2007-09-09 01:46:59 +00:00
|
|
|
- Corrective blockquote definition now enabled for HTML 4.01 Strict
|
2007-09-26 23:18:24 +00:00
|
|
|
- Fatal error when <img> tag (or any other element with required attributes)
|
|
|
|
has 'id' attribute fixed, thanks NykO18 for reporting
|
2007-09-27 00:07:27 +00:00
|
|
|
- Fix warning emitted when a non-supported URI scheme is passed to the
|
|
|
|
MakeAbsolute URIFilter, thanks NykO18 (again)
|
2007-09-27 00:39:05 +00:00
|
|
|
- Further refine AutoParagraph injector. Behavior inside of elements
|
|
|
|
allowing paragraph tags clarified: only inline content delimeted by
|
|
|
|
double newlines (not block elements) are paragraphed.
|
2007-10-02 01:19:46 +00:00
|
|
|
- Buggy treatment of end tags of elements that have required attributes
|
|
|
|
fixed (does not manifest on default tag-set)
|
|
|
|
- Spurious internal content reorganization error suppressed
|
2007-10-02 22:50:59 +00:00
|
|
|
- HTMLDefinition->addElement now returns a reference to the created
|
|
|
|
element object, as implied by the documentation
|
2007-11-05 03:22:22 +00:00
|
|
|
- Phorum mod's HTML Purifier help message expanded (unreleased elsewhere)
|
|
|
|
- Fix a theoretical class of infinite loops from DirectLex reported
|
|
|
|
by Nate Abele
|
2007-09-09 01:35:50 +00:00
|
|
|
. %Core.AcceptFullDocuments renamed to %Core.ConvertDocumentToFragment
|
|
|
|
to better communicate its purpose
|
2007-10-02 01:19:46 +00:00
|
|
|
. Error unit tests can now specify the expectation of no errors. Future
|
|
|
|
iterations of the harness will be extremely strict about what errors
|
|
|
|
are allowed
|
2007-10-02 22:50:59 +00:00
|
|
|
. Extend Injector hooks to allow for more powerful injector routines
|
|
|
|
. HTMLDefinition->addBlankElement created, as according to the HTMLModule
|
|
|
|
method
|
2007-11-02 03:20:55 +00:00
|
|
|
. Doxygen configuration file updated, with minor improvements
|
|
|
|
. Test runner now checks for similarly named files in conf/ directory too.
|
2007-09-06 19:38:12 +00:00
|
|
|
|
2007-09-03 15:30:12 +00:00
|
|
|
2.1.2, released 2007-09-03
|
2007-08-08 05:16:15 +00:00
|
|
|
! Implemented Object module for trusted users
|
2007-08-19 18:49:35 +00:00
|
|
|
! Implemented experimental HTML5 parsing mode using PH5P. To use, add
|
|
|
|
this to your code:
|
|
|
|
require_once 'HTMLPurifier/Lexer/PH5P.php';
|
2007-08-26 18:42:55 +00:00
|
|
|
$config->set('Core', 'LexerImpl', 'PH5P');
|
2007-08-19 18:49:35 +00:00
|
|
|
Note that this Lexer introduces some classes not in the HTMLPurifier
|
2007-08-19 19:37:34 +00:00
|
|
|
namespace. Also, this is PHP5 only.
|
2007-09-03 15:30:12 +00:00
|
|
|
! CSS property border-spacing implemented
|
2007-08-08 05:05:30 +00:00
|
|
|
- Fix non-visible parsing error in DirectLex with empty tags that have
|
|
|
|
slashes inside attribute values.
|
2007-08-11 06:52:26 +00:00
|
|
|
- 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.
|
2007-08-19 16:24:55 +00:00
|
|
|
- Fix validation errors in configuration form
|
2007-08-19 21:38:19 +00:00
|
|
|
- Hammer out a bunch of edge-case bugs in the standalone distribution
|
2007-08-26 15:43:17 +00:00
|
|
|
- Inclusion reflection removed from URISchemeRegistry; you must manually
|
|
|
|
include any new schema files you wish to use
|
2007-08-26 18:20:46 +00:00
|
|
|
- Numerous typo fixes in documentation thanks to Brett Zamir
|
2007-08-08 05:38:52 +00:00
|
|
|
. 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
|
2007-08-19 18:49:35 +00:00
|
|
|
. HTML wrapper in DOMLex now takes DTD identifiers into account; doesn't
|
|
|
|
really make a difference, but is good for completeness sake
|
2007-08-26 17:04:31 +00:00
|
|
|
. merge-library.php script refactored for greater code reusability and
|
|
|
|
PHP4 compatibility
|
2007-08-08 05:05:30 +00:00
|
|
|
|
2007-08-05 01:20:55 +00:00
|
|
|
2.1.1, released 2007-08-04
|
2007-08-03 21:17:15 +00:00
|
|
|
- Fix show-stopper bug in %URI.MakeAbsolute functionality
|
2007-08-05 01:15:23 +00:00
|
|
|
- Fix PHP4 syntax error in standalone version
|
2007-08-03 15:11:08 +00:00
|
|
|
. Add prefix directory to include path for standalone, this prevents
|
|
|
|
other installations from clobbering the standalone's URI schemes
|
2007-08-04 14:51:06 +00:00
|
|
|
. Single test methods can be invoked by prefixing with __only
|
2007-08-03 15:11:08 +00:00
|
|
|
|
2007-08-03 03:04:40 +00:00
|
|
|
2.1.0, released 2007-08-02
|
2007-08-01 14:55:09 +00:00
|
|
|
# flush-htmldefinition-cache.php superseded in favor of a generic
|
2007-08-02 12:24:50 +00:00
|
|
|
flush-definition-cache.php script, you can clear a specific cache
|
|
|
|
by passing its name as a parameter to the script
|
2007-06-28 23:01:27 +00:00
|
|
|
! Phorum mod implemented for HTML Purifier
|
2007-06-27 16:40:18 +00:00
|
|
|
! With %Core.AggressivelyFixLt, <3 and similar emoticons no longer
|
|
|
|
trigger HTML removal in PHP5 (DOMLex). This directive is not necessary
|
|
|
|
for PHP4 (DirectLex).
|
2007-07-30 16:56:50 +00:00
|
|
|
! Standalone file now available, which greatly reduces the amount of
|
|
|
|
includes (although there are still a few files that reside in the
|
|
|
|
standalone folder)
|
2007-08-02 21:47:24 +00:00
|
|
|
! Relative URIs can now be transformed into their absolute equivalents
|
|
|
|
using %URI.Base and %URI.MakeAbsolute
|
2007-08-02 23:34:30 +00:00
|
|
|
! Ruby implemented for XHTML 1.1
|
|
|
|
! You can now define custom URI filtering behavior, see enduser-uri-filter.html
|
|
|
|
for more details
|
2007-08-03 02:48:52 +00:00
|
|
|
! UTF-8 font names now supported in CSS
|
2007-06-28 13:06:15 +00:00
|
|
|
- AutoFormatters emit friendly error messages if tags or attributes they
|
|
|
|
need are not allowed
|
2007-06-28 23:01:27 +00:00
|
|
|
- ConfigForm's compactification of directive names is now configurable
|
2007-06-29 03:57:14 +00:00
|
|
|
- AutoParagraph autoformatter algorithm refined after field-testing
|
2007-07-11 20:06:15 +00:00
|
|
|
- XHTML 1.1 now applies XHTML 1.0 Strict cleanup routines, namely
|
|
|
|
blockquote wrapping
|
|
|
|
- Contents of <style> tags removed by default when tags are removed
|
2007-06-28 23:01:27 +00:00
|
|
|
. HTMLPurifier_Config->getSerial() implemented, this is extremely useful
|
|
|
|
for output cache invalidation
|
|
|
|
. ConfigForm printer now can retrieve CSS and JS files as strings, in
|
|
|
|
case HTML Purifier's directory is not publically accessible
|
2007-06-29 01:54:48 +00:00
|
|
|
. Introduce new text/itext configuration directive values: these represent
|
|
|
|
longer strings that would be more appropriately edited with a textarea
|
|
|
|
. Allow newlines to act as separators for lists, hashes, lookups and
|
|
|
|
%HTML.Allowed
|
2007-06-29 02:16:47 +00:00
|
|
|
. ConfigForm generates textareas instead of text inputs for lists, hashes,
|
|
|
|
lookups, text and itext fields
|
2007-07-11 20:42:58 +00:00
|
|
|
. Hidden element content removal genericized: %Core.HiddenElements can
|
|
|
|
be used to customize this behavior, by default <script> and <style> are
|
|
|
|
hidden
|
2007-07-30 16:56:50 +00:00
|
|
|
. Added HTMLPURIFIER_PREFIX constant, should be used instead of dirname(__FILE__)
|
|
|
|
. Custom ChildDef added to default include list
|
|
|
|
. URIScheme reflection improved: will not attempt to include file if class
|
|
|
|
already exists. May clobber autoload, so I need to keep an eye on it
|
2007-07-31 01:04:38 +00:00
|
|
|
. ConfigSchema heavily optimized, will only collect information and validate
|
|
|
|
definitions when HTMLPURIFIER_SCHEMA_STRICT is true.
|
2007-08-01 14:55:09 +00:00
|
|
|
. AttrDef_URI unit tests and implementation refactored
|
2007-08-01 01:48:51 +00:00
|
|
|
. benchmarks/ directory now protected from public view with .htaccess file;
|
|
|
|
run the tests via command line
|
2007-08-01 13:16:49 +00:00
|
|
|
. URI scheme is munged off if there is no authority and the scheme is the
|
|
|
|
default one
|
2007-08-01 14:06:59 +00:00
|
|
|
. All unit tests inherit from HTMLPurifier_Harness, not UnitTestCase
|
2007-08-01 18:34:46 +00:00
|
|
|
. Interface for URIScheme changed
|
|
|
|
. Generic URI object to hold components of URI added, most systems involved
|
|
|
|
in URI validation have been migrated to use it
|
2007-08-02 01:12:27 +00:00
|
|
|
. Custom filtering for URIs factored out to URIDefinition interface for
|
|
|
|
maximum extensibility
|
2007-06-27 15:16:27 +00:00
|
|
|
|
2007-06-27 14:10:43 +00:00
|
|
|
2.0.1, released 2007-06-27
|
2007-06-23 20:52:57 +00:00
|
|
|
! Tag auto-closing now based on a ChildDef heuristic rather than a
|
|
|
|
manually set auto_close array; some behavior may change
|
2007-06-24 20:29:50 +00:00
|
|
|
! Experimental AutoFormat functionality added: auto-paragraph and
|
|
|
|
linkify your HTML input by setting %AutoFormat.AutoParagraph and
|
|
|
|
%AutoFormat.Linkify to true
|
2007-06-25 19:18:55 +00:00
|
|
|
! Newlines normalized internally, and then converted back to the
|
|
|
|
value of PHP_EOL. If this is not desired, set your newline format
|
|
|
|
using %Output.Newline.
|
2007-06-27 02:03:15 +00:00
|
|
|
! Beta error collection, messages are implemented for the most generic
|
|
|
|
cases involving Lexing or Strategies
|
2007-06-21 14:44:26 +00:00
|
|
|
- Clean up special case code for <script> tags
|
2007-06-22 00:09:20 +00:00
|
|
|
- Reorder includes for DefinitionCache decorators, fixes a possible
|
|
|
|
missing class error
|
2007-06-23 14:05:09 +00:00
|
|
|
- Fixed bug where manually modified definitions were not saved via cache
|
|
|
|
(mostly harmless, except for the fact that it would be a little slower)
|
|
|
|
- Configuration objects with different serials do not clobber each
|
|
|
|
others when revision numbers are unequal
|
2007-06-23 14:38:16 +00:00
|
|
|
- Improve Serializer DefinitionCache directory permissions checks
|
2007-06-23 14:45:13 +00:00
|
|
|
- DefinitionCache no longer throws errors when it encounters old
|
|
|
|
serial files that do not conform to the current style
|
2007-06-24 22:22:00 +00:00
|
|
|
- Stray xmlns attributes removed from configuration documentation
|
2007-06-25 18:38:39 +00:00
|
|
|
- configForm.php smoketest no longer has XSS vulnerability due to
|
|
|
|
unescaped print_r output
|
|
|
|
- Printer adheres to configuration's directives on output format
|
|
|
|
- Fix improperly named form field in ConfigForm printer
|
2007-06-21 15:15:02 +00:00
|
|
|
. Rewire some test-cases to swallow errors rather than expect them
|
2007-06-21 16:02:06 +00:00
|
|
|
. HTMLDefinition printer updated with some of the new attributes
|
2007-06-23 14:05:09 +00:00
|
|
|
. DefinitionCache keys reordered to reflect precedence: version number,
|
|
|
|
hash, then revision number
|
2007-06-24 20:29:50 +00:00
|
|
|
. %Core.DefinitionCache renamed to %Cache.DefinitionImpl
|
2007-06-24 22:22:00 +00:00
|
|
|
. Interlinking in configuration documentation added using
|
|
|
|
Injector_PurifierLinkify
|
|
|
|
. Directives now keep track of aliases to themselves
|
2007-06-24 23:20:35 +00:00
|
|
|
. Error collector now requires a severity to be passed, use PHP's internal
|
|
|
|
error constants for this
|
2007-06-25 18:38:39 +00:00
|
|
|
. HTMLPurifier_Config::getAllowedDirectivesForForm implemented, allows
|
|
|
|
much easier selective embedding of configuration values
|
|
|
|
. Doctype objects now accept public and system DTD identifiers
|
|
|
|
. %HTML.Doctype is now constrained by specific values, to specify a custom
|
|
|
|
doctype use new %HTML.CustomDoctype
|
|
|
|
. ConfigForm truncates long directives to keep the form small, and does
|
|
|
|
not re-output namespaces
|
2007-06-21 14:44:26 +00:00
|
|
|
|
2007-06-20 23:40:10 +00:00
|
|
|
2.0.0, released 2007-06-20
|
2007-05-14 00:14:21 +00:00
|
|
|
# Completely refactored HTMLModuleManager, decentralizing safety
|
|
|
|
information
|
2007-05-19 21:00:12 +00:00
|
|
|
# Transform modules changed to Tidy modules, which offer more flexibility
|
|
|
|
and better modularization
|
2007-05-20 18:06:51 +00:00
|
|
|
# Configuration object now finalizes itself when a read operation is
|
|
|
|
performed on it, ensuring that its internal state stays consistent.
|
|
|
|
To revert this behavior, you can set the $autoFinalize member variable
|
|
|
|
off, but it's not recommended.
|
2007-05-23 00:39:07 +00:00
|
|
|
# New compact syntax for AttrDef objects that can be used to instantiate
|
|
|
|
new objects via make()
|
2007-05-28 02:55:50 +00:00
|
|
|
# Definitions (esp. HTMLDefinition) are now cached for a significant
|
2007-05-29 20:21:33 +00:00
|
|
|
performance boost. You can disable caching by setting %Core.DefinitionCache
|
2007-06-16 20:21:00 +00:00
|
|
|
to null. You CANNOT edit raw definitions without setting the corresponding
|
|
|
|
DefinitionID directive (%HTML.DefinitionID for HTMLDefinition).
|
2007-06-16 19:31:45 +00:00
|
|
|
# Contents between <script> tags are now completely removed if <script>
|
|
|
|
is not allowed
|
2007-06-17 21:27:39 +00:00
|
|
|
# Prototype-declarations for Lexer removed in favor of configuration
|
|
|
|
determination of Lexer implementations.
|
2007-05-27 14:27:54 +00:00
|
|
|
! HTML Purifier now works in PHP 4.3.2.
|
2007-05-28 02:20:55 +00:00
|
|
|
! Configuration form-editing API makes tweaking HTMLPurifier_Config a
|
|
|
|
breeze!
|
|
|
|
! Configuration directives that accept hashes now allow new string
|
2007-05-28 03:55:36 +00:00
|
|
|
format: key1:value1,key2:value2
|
2007-05-28 02:55:50 +00:00
|
|
|
! ConfigDoc now factored into OOP design
|
2007-05-29 16:51:32 +00:00
|
|
|
! All deprecated elements now natively supported
|
2007-05-29 21:26:43 +00:00
|
|
|
! Implement TinyMCE styled whitelist specification format in
|
|
|
|
%HTML.Allowed
|
2007-06-16 20:21:00 +00:00
|
|
|
! Config object gives more friendly error messages when things go wrong
|
2007-06-19 01:55:31 +00:00
|
|
|
! Advanced API implemented: easy functions for creating elements (addElement)
|
|
|
|
and attributes (addAttribute) on HTMLDefinition
|
2007-06-20 21:39:28 +00:00
|
|
|
! Add native support for required attributes
|
2007-05-22 00:47:03 +00:00
|
|
|
- Deprecated and removed EnableRedundantUTF8Cleaning. It didn't even work!
|
2007-06-17 20:36:29 +00:00
|
|
|
- DOMLex will not emit errors when a custom error handler that does not
|
|
|
|
honor error_reporting is used
|
2007-06-18 19:53:46 +00:00
|
|
|
- StrictBlockquote child definition refrains from wrapping whitespace
|
|
|
|
in tags now.
|
2007-06-19 22:10:39 +00:00
|
|
|
- Bug resulting from tag transforms to non-allowed elements fixed
|
2007-06-20 15:54:50 +00:00
|
|
|
- ChildDef_Custom's regex generation has been improved, removing several
|
|
|
|
false positives
|
2007-05-07 00:38:23 +00:00
|
|
|
. Unit test for ElementDef created, ElementDef behavior modified to
|
|
|
|
be more flexible
|
2007-05-07 01:51:26 +00:00
|
|
|
. Added convenience functions for HTMLModule constructors
|
2007-05-20 19:29:05 +00:00
|
|
|
. AttrTypes now has accessor functions that should be used instead
|
|
|
|
of directly manipulating info
|
2007-05-20 21:22:54 +00:00
|
|
|
. TagTransform_Center deprecated in favor of generic TagTransform_Simple
|
2007-05-23 03:27:36 +00:00
|
|
|
. Add extra protection in AttrDef_URI against phantom Schemes
|
|
|
|
. Doctype object added to HTMLDefinition which describes certain aspects
|
|
|
|
of the operational document type
|
2007-05-24 20:36:50 +00:00
|
|
|
. Lexer is now pre-emptively included, with a conditional include for the
|
|
|
|
PHP5 only version.
|
2007-05-24 21:50:43 +00:00
|
|
|
. HTMLDefinition and CSSDefinition have a common parent class: Definition.
|
2007-06-18 02:01:01 +00:00
|
|
|
. DirectLex can now track line-numbers
|
2007-06-18 03:05:18 +00:00
|
|
|
. Preliminary error collector is in place, although no code actually reports
|
|
|
|
errors yet
|
2007-06-20 21:39:28 +00:00
|
|
|
. Factor out most of ValidateAttributes to new AttrValidator class
|
2007-04-02 03:58:59 +00:00
|
|
|
|
2007-05-05 20:26:42 +00:00
|
|
|
1.6.1, released 2007-05-05
|
2007-04-30 19:39:42 +00:00
|
|
|
! Support for more deprecated attributes via transformations:
|
|
|
|
+ hspace and vspace in img
|
2007-05-03 04:07:47 +00:00
|
|
|
+ size and noshade in hr
|
|
|
|
+ nowrap in td
|
2007-05-05 16:18:04 +00:00
|
|
|
+ clear in br
|
|
|
|
+ align in caption, table, img and hr
|
2007-05-05 19:13:52 +00:00
|
|
|
+ type in ul, ol and li
|
2007-05-05 20:26:42 +00:00
|
|
|
! DirectLex now preserves text in which a < bracket is followed by
|
|
|
|
a non-alphanumeric character. This means that certain emoticons
|
|
|
|
are now preserved.
|
|
|
|
! %Core.RemoveInvalidImg is now operational, when set to false invalid
|
|
|
|
images will hang around with an empty src
|
2007-04-30 21:19:15 +00:00
|
|
|
! target attribute in a tag supported, use %Attr.AllowedFrameTargets
|
|
|
|
to enable
|
2007-05-03 04:07:47 +00:00
|
|
|
! CSS property white-space now allows nowrap (supported in all modern
|
|
|
|
browsers) but not others (which have spotty browser implementations)
|
2007-05-04 01:17:00 +00:00
|
|
|
! XHTML 1.1 mode now sort-of works without any fatal errors, and
|
|
|
|
lang is now moved over to xml:lang.
|
2007-05-05 18:41:53 +00:00
|
|
|
! Attribute transformation smoketest available at smoketests/attrTransform.php
|
2007-05-05 18:56:45 +00:00
|
|
|
! Transformation of font's size attribute now handles super-large numbers
|
2007-04-21 02:19:18 +00:00
|
|
|
- Possibly fatal bug with __autoload() fixed in module manager
|
2007-04-21 02:31:38 +00:00
|
|
|
- Invert HTMLModuleManager->addModule() processing order to check
|
|
|
|
prefixes first and then the literal module
|
2007-04-30 01:14:21 +00:00
|
|
|
- Empty strings get converted to empty arrays instead of arrays with
|
|
|
|
an empty string in them.
|
2007-05-05 20:04:34 +00:00
|
|
|
- Merging in attribute lists now works.
|
2007-04-22 22:11:35 +00:00
|
|
|
. Demo script removed: it has been added to the website's repository
|
2007-04-30 00:53:13 +00:00
|
|
|
. Basic.php script modified to work out of the box
|
2007-05-05 02:25:55 +00:00
|
|
|
. Refactor AttrTransform classes to reduce duplication
|
2007-05-05 15:48:41 +00:00
|
|
|
. AttrTransform_TextAlign axed in favor of a more general
|
|
|
|
AttrTransform_EnumToCSS, refer to HTMLModule/TransformToStrict.php to
|
|
|
|
see how the new equivalent is implemented
|
2007-05-05 20:17:04 +00:00
|
|
|
. Unit tests now use exclusively assertIdentical
|
2007-04-22 22:11:35 +00:00
|
|
|
|
2007-04-01 22:31:16 +00:00
|
|
|
1.6.0, released 2007-04-01
|
2007-03-31 03:25:10 +00:00
|
|
|
! Support for most common deprecated attributes via transformations:
|
2007-03-29 21:20:44 +00:00
|
|
|
+ bgcolor in td, th, tr and table
|
2007-03-29 21:41:17 +00:00
|
|
|
+ border in img
|
2007-03-29 23:19:53 +00:00
|
|
|
+ name in a and img
|
2007-03-29 23:48:54 +00:00
|
|
|
+ width in td, th and hr
|
|
|
|
+ height in td, th
|
|
|
|
! Support for CSS attribute 'height' added
|
2007-03-31 02:58:16 +00:00
|
|
|
! Support for rel and rev attributes in a tags added, use %Attr.AllowedRel
|
|
|
|
and %Attr.AllowedRev to activate
|
2007-03-31 03:25:10 +00:00
|
|
|
- You can define ID blacklists using regular expressions via
|
|
|
|
%Attr.IDBlacklistRegexp
|
2007-03-31 03:41:22 +00:00
|
|
|
- Error messages are emitted when you attempt to "allow" elements or
|
|
|
|
attributes that HTML Purifier does not support
|
2007-03-27 23:29:10 +00:00
|
|
|
- Fix segfault in unit test. The problem is not very reproduceable and
|
|
|
|
I don't know what causes it, but a six line patch fixed it.
|
|
|
|
|
2007-03-24 00:35:53 +00:00
|
|
|
1.5.0, released 2007-03-23
|
|
|
|
! Added a rudimentary I18N and L10N system modeled off MediaWiki. It
|
|
|
|
doesn't actually do anything yet, but keep your eyes peeled.
|
|
|
|
! docs/enduser-utf8.html explains how to use UTF-8 and HTML Purifier
|
2007-02-04 23:17:13 +00:00
|
|
|
! Newly structured HTMLDefinition modeled off of XHTML 1.1 modules.
|
2007-03-24 00:35:53 +00:00
|
|
|
I am loathe to release beta quality APIs, but this is exactly that;
|
|
|
|
don't use the internal interfaces if you're not willing to do migration
|
|
|
|
later on.
|
2007-01-29 20:11:00 +00:00
|
|
|
- Allow 'x' subtag in language codes
|
2007-02-04 03:53:57 +00:00
|
|
|
- Fixed buggy chameleon-support for ins and del
|
2007-02-02 22:03:09 +00:00
|
|
|
. Added support for IDREF attributes (i.e. for)
|
2007-02-03 20:15:33 +00:00
|
|
|
. Renamed HTMLPurifier_AttrDef_Class to HTMLPurifier_AttrDef_Nmtokens
|
2007-02-04 03:53:57 +00:00
|
|
|
. Removed context variable ParentType, replaced with IsInline, which
|
|
|
|
is false when you're not inline and an integer of the parent that
|
|
|
|
caused you to become inline when you are (so possibly zero)
|
|
|
|
. Removed ElementDef->type in favor of ElementDef->descendants_are_inline
|
|
|
|
and HTMLDefinition->content_sets
|
|
|
|
. StrictBlockquote now reports what elements its supposed to allow,
|
|
|
|
rather than what it does allow
|
|
|
|
. Removed HTMLDefinition->info_flow_elements in favor of
|
|
|
|
HTMLDefinition->content_sets['Flow']
|
|
|
|
. Removed redundant "exclusionary" definitions from DTD roster
|
|
|
|
. StrictBlockquote now requires a construction parameter as if it
|
|
|
|
were an Required ChildDef, this is the "real" set of allowed elements
|
2007-02-14 20:38:51 +00:00
|
|
|
. AttrDef partitioned into HTML, CSS and URI segments
|
2007-03-14 21:34:37 +00:00
|
|
|
. Modify Youtube filter regexp to be multiline
|
|
|
|
. Require both PHP5 and DOM extension in order to use DOMLex, fixes
|
2007-03-24 00:35:53 +00:00
|
|
|
some edge cases where a DOMDocument class exists in a PHP4 environment
|
|
|
|
due to DOM XML extension.
|
2007-01-24 23:48:35 +00:00
|
|
|
|
2007-01-21 21:45:14 +00:00
|
|
|
1.4.1, released 2007-01-21
|
|
|
|
! docs/enduser-youtube.html updated according to new functionality
|
|
|
|
- YouTube IDs can have underscores and dashes
|
|
|
|
|
2007-01-21 17:24:18 +00:00
|
|
|
1.4.0, released 2007-01-21
|
2007-01-14 16:24:02 +00:00
|
|
|
! Implemented list-style-image, URIs now allowed in list-style
|
2007-01-20 01:40:56 +00:00
|
|
|
! Implemented background-image, background-repeat, background-attachment
|
2007-01-20 02:21:43 +00:00
|
|
|
and background-position CSS properties. Shorthand property background
|
|
|
|
supports all of these properties.
|
2007-01-18 02:52:20 +00:00
|
|
|
! Configuration documentation looks nicer
|
2007-01-19 03:54:55 +00:00
|
|
|
! Added %Core.EscapeNonASCIICharacters to workaround loss of Unicode
|
|
|
|
characters while %Core.Encoding is set to a non-UTF-8 encoding.
|
2007-01-20 18:43:58 +00:00
|
|
|
! Support for configuration directive aliases added
|
2007-01-21 14:29:46 +00:00
|
|
|
! Config object can now be instantiated from ini files
|
2007-01-21 15:09:07 +00:00
|
|
|
! 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.
|
2007-01-21 17:24:18 +00:00
|
|
|
! Moved SLOW to docs/enduser-slow.html and added code examples
|
2007-01-20 18:43:58 +00:00
|
|
|
- Replaced version check with functionality check for DOM (thanks Stephen
|
|
|
|
Khoo)
|
2007-01-20 02:21:43 +00:00
|
|
|
. Added smoketest 'all.php', which loads all other smoketests via frames
|
2007-01-14 15:54:05 +00:00
|
|
|
. Implemented AttrDef_CSSURI for url(http://google.com) style declarations
|
2007-01-19 23:02:28 +00:00
|
|
|
. Added convenient single test selector form on test runner
|
2006-11-27 00:15:43 +00:00
|
|
|
|
2006-12-26 04:31:48 +00:00
|
|
|
1.3.2, released 2006-12-25
|
2006-12-15 02:12:03 +00:00
|
|
|
! HTMLPurifier object now accepts configuration arrays, no need to manually
|
|
|
|
instantiate a configuration object
|
|
|
|
! Context object now accessible to outside
|
2006-12-20 02:59:19 +00:00
|
|
|
! Added enduser-youtube.html, explains how to embed YouTube videos. See
|
|
|
|
also corresponding smoketest preserveYouTube.php.
|
2006-12-20 23:51:09 +00:00
|
|
|
! Added purifyArray(), which takes a list of HTML and purifies it all
|
2006-12-26 04:31:48 +00:00
|
|
|
! Added static member variable $version to HTML Purifier with PHP-compatible
|
|
|
|
version number string.
|
2006-12-26 03:56:53 +00:00
|
|
|
- Fixed fatal error thrown by upper-cased language attributes
|
2006-12-13 04:14:30 +00:00
|
|
|
- printDefinition.php: added labels, added better clarification
|
2006-12-15 02:12:03 +00:00
|
|
|
. HTMLPurifier_Config::create() added, takes mixed variable and converts into
|
|
|
|
a HTMLPurifier_Config object.
|
2006-12-06 22:52:22 +00:00
|
|
|
|
|
|
|
1.3.1, released 2006-12-06
|
2006-12-06 22:04:16 +00:00
|
|
|
! Added HTMLPurifier.func.php stub for a convenient function to call the library
|
2006-12-06 22:29:08 +00:00
|
|
|
- Fixed bug in RemoveInvalidImg code that caused all images to be dropped
|
2006-12-06 22:41:40 +00:00
|
|
|
(thanks to .mario for reporting this)
|
2006-12-06 22:29:08 +00:00
|
|
|
. Standardized all attribute handling variables to attr, made it plural
|
2006-11-27 00:15:43 +00:00
|
|
|
|
2006-11-26 23:18:32 +00:00
|
|
|
1.3.0, released 2006-11-26
|
2006-11-23 23:59:20 +00:00
|
|
|
# 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.
|
2006-11-23 03:23:35 +00:00
|
|
|
! (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
|
2006-11-23 13:51:19 +00:00
|
|
|
! New directives %HTML.AllowedElements and %HTML.AllowedAttributes to let
|
|
|
|
users narrow the set of allowed tags
|
2006-11-23 22:15:35 +00:00
|
|
|
! <li value="4"> and <ul start="2"> now allowed in loose mode
|
2006-11-23 23:59:20 +00:00
|
|
|
! New directives %URI.DisableExternalResources and %URI.DisableResources
|
|
|
|
! New directive %Attr.DisableURI, which eliminates all hyperlinking
|
2006-11-24 00:29:16 +00:00
|
|
|
! 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.
|
2006-11-24 06:26:02 +00:00
|
|
|
! Added spiffy new smoketest printDefinition.php, which lets you twiddle with
|
|
|
|
the configuration settings and see how the internal rules are affected.
|
2006-11-26 23:14:12 +00:00
|
|
|
! New directive %URI.HostBlacklist for blocking links to bad hosts.
|
|
|
|
xssAttacks.php smoketest updated accordingly.
|
2006-11-23 03:23:35 +00:00
|
|
|
- Added missing type to ChildDef_Chameleon
|
2006-11-23 03:49:19 +00:00
|
|
|
- Remove Tidy option from demo if there is not Tidy available
|
2006-11-23 03:23:35 +00:00
|
|
|
. ChildDef_Required guards against empty tags
|
|
|
|
. Lookup table HTMLDefinition->info_flow_elements added
|
|
|
|
. Added peace-of-mind variable initialization to Strategy_FixNesting
|
2006-11-23 13:51:19 +00:00
|
|
|
. Added HTMLPurifier->info_parent_def, parent child processing made special
|
2006-11-23 22:33:07 +00:00
|
|
|
. Added internal documents briefly summarizing future progression of HTML
|
2006-11-24 06:26:02 +00:00
|
|
|
. HTMLPurifier_Config->getBatch($namespace) added
|
|
|
|
. More lenient casting to bool from string in HTMLPurifier_ConfigSchema
|
2006-11-22 18:55:15 +00:00
|
|
|
. Refactored ChildDef classes into their own files
|
2006-11-20 03:58:56 +00:00
|
|
|
|
2006-11-20 03:16:32 +00:00
|
|
|
1.2.0, released 2006-11-19
|
2006-11-17 01:05:41 +00:00
|
|
|
# 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
|
2006-11-19 04:37:26 +00:00
|
|
|
+ Profuse documentation on how to use these available in docs/enduser-id.txt
|
2006-10-02 16:56:47 +00:00
|
|
|
! Added MODx plugin <http://modxcms.com/forums/index.php/topic,6604.0.html>
|
2006-11-07 17:15:28 +00:00
|
|
|
! Added percent encoding normalization
|
2006-11-08 01:31:38 +00:00
|
|
|
! XSS attacks smoketest given facelift
|
2006-11-08 14:21:06 +00:00
|
|
|
! Configuration documentation now has table of contents
|
2006-11-12 03:35:41 +00:00
|
|
|
! Added %URI.DisableExternal, which prevents links to external websites. You
|
|
|
|
can also use %URI.Host to permit absolute linking to subdomains
|
2006-11-17 23:09:10 +00:00
|
|
|
! Non-accessible resources (ex. mailto) blocked from embedded URIs (img src)
|
2006-11-19 04:42:42 +00:00
|
|
|
- Type variable in HTMLDefinition was not being set properly, fixed
|
2006-11-03 02:40:37 +00:00
|
|
|
- Documentation updated
|
|
|
|
+ TODO added request Phalanger
|
|
|
|
+ TODO added request Native compression
|
2006-11-04 05:05:19 +00:00
|
|
|
+ TODO added request Remove redundant tags
|
2006-11-12 19:26:49 +00:00
|
|
|
+ TODO added possible plaintext formatter for HTML Purifier documentation
|
2006-11-12 00:05:27 +00:00
|
|
|
+ Updated ConfigDoc TODO
|
2006-11-12 19:26:49 +00:00
|
|
|
+ Improved inline comments in AttrDef/Class.php, AttrDef/CSS.php
|
|
|
|
and AttrDef/Host.php
|
2006-11-19 04:37:26 +00:00
|
|
|
+ Revamped documentation into HTML, along with misc updates
|
2006-11-16 23:58:33 +00:00
|
|
|
- HTMLPurifier_Context doesn't throw a variable reference error if you attempt
|
|
|
|
to retrieve a non-existent variable
|
2006-10-01 18:14:08 +00:00
|
|
|
. Switched to purify()-wide Context object registry
|
2006-10-01 21:55:13 +00:00
|
|
|
. Refactored unit tests to minimize duplication
|
2006-11-03 02:40:37 +00:00
|
|
|
. XSS attack sheet updated
|
2006-11-12 00:05:27 +00:00
|
|
|
. configdoc.xml now has xml:space attached to default value nodes
|
2006-11-12 02:59:36 +00:00
|
|
|
. Allow configuration directives to permit null values
|
2006-11-16 23:58:33 +00:00
|
|
|
. Cleaned up test-cases to remove unnecessary swallowErrors()
|
2006-09-17 00:17:45 +00:00
|
|
|
|
2006-09-30 19:02:32 +00:00
|
|
|
1.1.2, released 2006-09-30
|
2006-09-30 19:34:59 +00:00
|
|
|
! Add HTMLPurifier.auto.php stub file that configures include_path
|
2006-09-27 02:09:54 +00:00
|
|
|
- Documentation updated
|
2006-09-28 01:28:18 +00:00
|
|
|
+ INSTALL document rewritten
|
|
|
|
+ TODO added semi-lossy conversion
|
|
|
|
+ API Doxygen docs' file exclusions updated
|
2006-09-30 18:55:17 +00:00
|
|
|
+ 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
|
2006-09-27 02:09:54 +00:00
|
|
|
- Fixed lack of attribute parsing in HTMLPurifier_Lexer_PEARSax3
|
2006-09-30 17:24:12 +00:00
|
|
|
- ftp:// URIs now have their typecodes checked
|
2006-09-30 18:55:17 +00:00
|
|
|
- Hooked up HTMLPurifier_ChildDef_Custom's unit tests (they weren't being run)
|
2006-09-28 01:28:18 +00:00
|
|
|
. Line endings standardized throughout project (svn:eol-style standardized)
|
|
|
|
. Refactored parseData() to general Lexer class
|
2006-09-30 18:55:17 +00:00
|
|
|
. Tester named "HTML Purifier" not "HTMLPurifier"
|
2006-09-24 23:42:14 +00:00
|
|
|
|
|
|
|
1.1.1, released 2006-09-24
|
2006-09-28 01:28:18 +00:00
|
|
|
! 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)
|
2006-09-24 02:06:12 +00:00
|
|
|
- Various documentation updates
|
|
|
|
- Fixed parse error in configuration documentation script
|
2006-09-24 21:58:14 +00:00
|
|
|
- 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
|
2006-09-17 00:17:45 +00:00
|
|
|
|
|
|
|
1.1.0, released 2006-09-16
|
2006-09-28 01:28:18 +00:00
|
|
|
! Directive documentation generation using XSLT
|
|
|
|
! XHTML can now be turned off, output becomes <br>
|
2006-09-04 02:31:27 +00:00
|
|
|
- Made URI validator more forgiving: will ignore leading and trailing
|
|
|
|
quotes, apostrophes and less than or greater than signs.
|
2006-09-06 02:07:46 +00:00
|
|
|
- Enforce alphanumeric namespace and directive names for configuration.
|
2006-09-15 01:52:22 +00:00
|
|
|
- Table child definition made more flexible, will fix up poorly ordered elements
|
2006-09-28 01:28:18 +00:00
|
|
|
. Renamed ConfigDef to ConfigSchema
|
2006-09-11 02:20:33 +00:00
|
|
|
|
|
|
|
1.0.1, released 2006-09-04
|
2006-09-01 16:19:21 +00:00
|
|
|
- Fixed slight bug in DOMLex attribute parsing
|
2006-09-01 16:40:14 +00:00
|
|
|
- Fixed rejection of case-insensitive configuration values when there is a
|
|
|
|
set of allowed values. This manifested in %Core.Encoding.
|
2006-09-04 23:01:47 +00:00
|
|
|
- Fixed rejection of inline style declarations that had lots of extra
|
|
|
|
space in them. This manifested in TinyMCE.
|
2006-09-01 16:19:21 +00:00
|
|
|
|
2006-09-01 14:57:47 +00:00
|
|
|
1.0.0, released 2006-09-01
|
2006-09-28 01:28:18 +00:00
|
|
|
! 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
|
2006-08-18 17:49:33 +00:00
|
|
|
- Fixed broken numeric entity conversion
|
2006-08-20 22:06:11 +00:00
|
|
|
- API documentation completed
|
2006-09-28 01:28:18 +00:00
|
|
|
. (HTML|CSS)Definition de-singleton-ized
|
2006-08-18 00:04:05 +00:00
|
|
|
|
2006-08-16 17:35:24 +00:00
|
|
|
1.0.0beta, released 2006-08-16
|
2006-09-28 01:28:18 +00:00
|
|
|
! First public release, most functionality implemented. Notable omissions are:
|
|
|
|
+ Shorthand CSS properties
|
|
|
|
+ Table CSS properties
|
|
|
|
+ Deprecated attribute transformations
|