summaryrefslogtreecommitdiffstats
path: root/.gitignore
blob: e87484504e0df44dd2fd04d99d42ed619354e0b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#specific to news app
node_modules/
*.log
/build/
/js/coverage/
js/*.xml
.rvm
*.clover

# python
PKG-INFO
*pyc
*~
__pycache__
dist/
owncloud_news_updater.egg-info
bin/updater/build

# just sane ignores
.*.sw[po]
*.bak
*.BAK
*~
*.orig
*.class
.cvsignore
Thumbs.db
*.py[co]
_darcs/*
CVS/*
.svn/*
RCS/*

# kdevelop
.kdev
*.kdev4

# Lokalize
*lokalize*

# eclipse
.project
.settings

# netbeans
nbproject

# phpStorm
.idea

# geany
*.geany

# Cloud9IDE
.settings.xml

# vim ex mode
.vimrc

# Mac OS
.DS_Store
238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056
NEWS ( CHANGELOG and HISTORY )                                     HTMLPurifier
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||

= KEY ====================
    # Breaks back-compat
    ! Feature
    - Bugfix
      + Sub-comment
    . Internal change
==========================

4.5.0, released 2013-02-17
# Fix bug where stacked attribute transforms clobber each other;
  this also means it's no longer possible to override attribute
  transforms in later modules.  No internal code was using this
  but this may break some clients.
# We now use SHA-1 to identify cached definitions, instead of MD5.
! Support display:inline-block
! Support for more white-space CSS values.
! Permit underscores in font families
! Support for page-break-* CSS3 properties when proprietary properties
  are enabled.
! New directive %Core.EnableExcludes; can be set to 'false' to turn off
  SGML excludes checking.  If HTML Purifier is removing too much text
  and you don't care about full standards compliance, try setting this to
  'false'.
- Use prepend for SPL autoloading on PHP 5.3 and later.
- Fix bug with nofollow transform when pre-existing rel exists.
- Fix bug where background:url() always gets lower-cased
  (but not background-image:url())
- Fix bug with non lower-case color names in HTML
- Fix bug where data URI validation doesn't remove temporary files.
  Thanks Javier Marín Ros <javiermarinros@gmail.com> for reporting.
- Don't remove certain empty tags on RemoveEmpty.

4.4.0, released 2012-01-18
# Removed PEARSax3 handler.
# URI.Munge now munges URIs inside the same host that go from https
  to http.  Reported by Neike Taika-Tessaro.
# Core.EscapeNonASCIICharacters now always transforms entities to
  entities, even if target encoding is UTF-8.
# Tighten up selector validation in ExtractStyleBlocks.
  Non-syntactically valid selectors are now rejected, along with
  some of the more obscure ones such as attribute selectors, the
  :lang pseudoselector, and anything not in CSS2.1.  Furthermore,
  ID and class selectors now work properly with the relevant
  configuration attributes.  Also, mute errors when parsing CSS
  with CSS Tidy.  Reported by Mario Heiderich and Norman Hippert.
! Added support for 'scope' attribute on tables.
! Added %HTML.TargetBlank, which adds target="blank" to all outgoing links.
! Properly handle sub-lists directly nested inside of lists in
  a standards compliant way, by moving them into the preceding <li>
! Added %HTML.AllowedComments and %HTML.AllowedCommentsRegexp for
  limited allowed comments in untrusted situations.
! Implement iframes, and allow them to be used in untrusted mode with
  %HTML.SafeIframe and %URI.SafeIframeRegexp.  Thanks Bradley M. Froehle
  <brad.froehle@gmail.com> for submitting an initial version of the patch.
! The Forms module now works properly for transitional doctypes.
! Added support for internationalized domain names. You need the PEAR
  Net_IDNA2 module to be in your path; if it is installed, ensure the
  class can be loaded and then set %Core.EnableIDNA to true.
- Color keywords are now case insensitive.  Thanks Yzmir Ramirez
  <yramirez-htmlpurifier@adicio.com> for reporting.
- Explicitly initialize anonModule variable to null.
- Do not duplicate nofollow if already present.  Thanks 178
  for reporting.
- Do not add nofollow if hostname matches our current host.  Thanks 178
  for reporting, and Neike Taika-Tessaro for helping diagnose.
- Do not unset parser variable; this fixes intermittent serialization
  problems.  Thanks Neike Taika-Tessaro for reporting, bill
  <10010tiger@gmail.com> for diagnosing.
- Fix iconv truncation bug, where non-UTF-8 target encodings see
  output truncated after around 8000 characters.  Thanks Jörg Ludwig
  <joerg.ludwig@iserv.eu> for reporting.
- Fix broken table content model for XHTML1.1 (and also earlier
  versions, although the W3C validator doesn't catch those violations).
  Thanks GlitchMr <glitch.mr@gmail.com> for reporting.

4.3.0, released 2011-03-27
# Fixed broken caching of customized raw definitions, but requires an
  API change.  The old API still works but will emit a warning,
  see http://htmlpurifier.org/docs/enduser-customize.html#optimized
  for how to upgrade your code.
# Protect against Internet Explorer innerHTML behavior by specially
  treating attributes with backticks but no angled brackets, quotes or
  spaces.  This constitutes a slight semantic change, which can be
  reverted using %Output.FixInnerHTML.  Reported by Neike Taika-Tessaro
  and Mario Heiderich.
# Protect against cssText/innerHTML by restricting allowed characters
  used in fonts further than mandated by the specification and encoding
  some extra special characters in URLs.  Reported by Neike
  Taika-Tessaro and Mario Heiderich.
! Added %HTML.Nofollow to add rel="nofollow" to external links.
! More types of SPL autoloaders allowed on later versions of PHP.
! Implementations for position, top, left, right, bottom, z-index
  when %CSS.Trusted is on.
! Add %Cache.SerializerPermissions option for custom serializer
  directory/file permissions
! Fix longstanding bug in Flash support for non-IE browsers, and
  allow more wmode attributes.
! Add %CSS.AllowedFonts to restrict permissible font names.
- Switch to an iterative traversal of the DOM, which prevents us
  from running out of stack space for deeply nested documents.
  Thanks Maxim Krizhanovsky for contributing a patch.
- Make removal of conditional IE comments ungreedy; thanks Bernd
  for reporting.
- Escape CDATA before removing Internet Explorer comments.
- Fix removal of id attributes under certain conditions by ensuring
  armor attributes are preserved when recreating tags.
- Check if schema.ser was corrupted.
- Check if zend.ze1_compatibility_mode is on, and error out if it is.
  This safety check is only done for HTMLPurifier.auto.php; if you
  are using standalone or the specialized includes files, you're
  expected to know what you're doing.
- Stop repeatedly writing the cache file after I'm done customizing a
  raw definition.  Reported by ajh.
- Switch to using require_once in the Bootstrap to work around bad
  interaction with Zend Debugger and APC.  Reported by Antonio Parraga.
- Fix URI handling when hostname is missing but scheme is present.
  Reported by Neike Taika-Tessaro.
- Fix missing numeric entities on DirectLex; thanks Neike Taika-Tessaro
  for reporting.
- Fix harmless notice from indexing into empty string.  Thanks Matthijs
  Kooijman <matthijs@stdin.nl> for reporting.
- Don't autoclose no parent elements are able to support the element
  that triggered the autoclose.  In particular fixes strange behavior
  of stray <li> tags.  Thanks pkuliga@gmail.com for reporting and
  Neike Taika-Tessaro <pinkgothic@gmail.com> for debugging assistance.

4.2.0, released 2010-09-15
! Added %Core.RemoveProcessingInstructions, which lets you remove
  <? ... ?> statements.
! Added %URI.DisableResources functionality; the directive originally
  did nothing.  Thanks David Rothstein for reporting.
! Add documentation about configuration directive types.
! Add %CSS.ForbiddenProperties configuration directive.
! Add %HTML.FlashAllowFullScreen to permit embedded Flash objects
  to utilize full-screen mode.
! Add optional support for the <code>file</code> URI scheme, enable
  by explicitly setting %URI.AllowedSchemes.
! Add %Core.NormalizeNewlines options to allow turning off newline
  normalization.
- Fix improper handling of Internet Explorer conditional comments
  by parser.  Thanks zmonteca for reporting.
- Fix missing attributes bug when running on Mac Snow Leopard and APC.
  Thanks sidepodcast for the fix.
- Warn if an element is allowed, but an attribute it requires is
  not allowed.

4.1.1, released 2010-05-31
- Fix undefined index warnings in maintenance scripts.
- Fix bug in DirectLex for parsing elements with a single attribute
  with entities.
- Rewrite CSS output logic for font-family and url().  Thanks Mario
  Heiderich <mario.heiderich@googlemail.com> for reporting and Takeshi
  Terada <t-terada@violet.plala.or.jp> for suggesting the fix.
- Emit an error for CollectErrors if a body is extracted
- Fix bug where in background-position for center keyword handling.
- Fix infinite loop when a wrapper element is inserted in a context
  where it's not allowed.  Thanks Lars <lars@renoz.dk> for reporting.
- Remove +x bit and shebang from index.php; only supported mode is to
  explicitly call it with php.
- Make test script less chatty when log_errors is on.

4.1.0, released 2010-04-26
! Support proprietary height attribute on table element
! Support YouTube slideshows that contain /cp/ in their URL.
! Support for data: URI scheme; not enabled by default, add it using
  %URI.AllowedSchemes
! Support flashvars when using %HTML.SafeObject and %HTML.SafeEmbed.
! Support for Internet Explorer compatibility with %HTML.SafeObject
  using %Output.FlashCompat.
! Handle <ol><ol> properly, by inserting the necessary <li> tag.
- Always quote the insides of url(...) in CSS.

4.0.0, released 2009-07-07
# APIs for ConfigSchema subsystem have substantially changed. See
  docs/dev-config-bcbreaks.txt for details; in essence, anything that
  had both namespace and directive now have a single unified key.
# Some configuration directives were renamed, specifically:
    %AutoFormatParam.PurifierLinkifyDocURL -> %AutoFormat.PurifierLinkify.DocURL
    %FilterParam.ExtractStyleBlocksEscaping -> %Filter.ExtractStyleBlocks.Escaping
    %FilterParam.ExtractStyleBlocksScope -> %Filter.ExtractStyleBlocks.Scope
    %FilterParam.ExtractStyleBlocksTidyImpl -> %Filter.ExtractStyleBlocks.TidyImpl
  As usual, the old directive names will still work, but will throw E_NOTICE
  errors.
# The allowed values for class have been relaxed to allow all of CDATA for
  doctypes that are not XHTML 1.1 or XHTML 2.0.  For old behavior, set
  %Attr.ClassUseCDATA to false.
# Instead of appending the content model to an old content model, a blank
  element will replace the old content model.  You can use #SUPER to get
  the old content model.
! More robust support for name="" and id=""
! HTMLPurifier_Config::inherit($config) allows you to inherit one
  configuration, and have changes to that configuration be propagated
  to all of its children.
! Implement %HTML.Attr.Name.UseCDATA, which relaxes validation rules on
  the name attribute when set. Use with care. Thanks Ian Cook for
  sponsoring.
! Implement %AutoFormat.RemoveEmpty.RemoveNbsp, which removes empty
  tags that contain non-breaking spaces as well other whitespace. You
  can also modify which tags should have &nbsp; maintained with
  %AutoFormat.RemoveEmpty.RemoveNbsp.Exceptions.
! Implement %Attr.AllowedClasses, which allows administrators to restrict
  classes users can use to a specified finite set of classes, and
  %Attr.ForbiddenClasses, which is the logical inverse.
! You can now maintain your own configuration schema directories by
  creating a config-schema.php file or passing an extra argument. Check
  docs/dev-config-schema.html for more details.
! Added HTMLPurifier_Config->serialize() method, which lets you save away
  your configuration in a compact serial file, which you can unserialize
  and use directly without having to go through the overhead of setup.
- Fix bug where URIDefinition would not get cleared if it's directives got
  changed.
- Fix fatal error in HTMLPurifier_Encoder on certain platforms (probably NetBSD 5.0)
- Fix bug in Linkify autoformatter involving <a><span>http://foo</span></a>
- Make %URI.Munge not apply to links that have the same host as your host.
- Prevent stray </body> tag from truncating output, if a second </body>
  is present.
. Created script maintenance/rename-config.php for renaming a configuration
  directive while maintaining its alias.  This script does not change source code.
. Implement namespace locking for definition construction, to prevent
  bugs where a directive is used for definition construction but is not
  used to construct the cache hash.

3.3.0, released 2009-02-16
! Implement CSS property 'overflow' when %CSS.AllowTricky is true.
! Implement generic property list classess
- Fix bug with testEncodingSupportsASCII() algorithm when iconv() implementation
  does not do the "right thing" with characters not supported in the output
  set.
- Spellcheck UTF-8: The Secret To Character Encoding
- Fix improper removal of the contents of elements with only whitespace. Thanks
  Eric Wald for reporting.
- Fix broken test suite in versions of PHP without spl_autoload_register()
- Fix degenerate case with YouTube filter involving double hyphens.
  Thanks Pierre Attar for reporting.
- Fix YouTube rendering problem on certain versions of Firefox.
- Fix CSSDefinition Printer problems with decorators
- Add text parameter to unit tests, forces text output
. Add verbose mode to command line test runner, use (--verbose)
. Turn on unit tests for UnitConverter
. Fix missing version number in configuration %Attr.DefaultImageAlt (added 3.2.0)
. Fix newline errors that caused spurious failures when CRLF HTML Purifier was
  tested on Linux.
. Removed trailing whitespace from all text files, see
  remote-trailing-whitespace.php maintenance script.
. Convert configuration to use property list backend.

3.2.0, released 2008-10-31
# Using %Core.CollectErrors forces line number/column tracking on, whereas
  previously you could theoretically turn it off.
# HTMLPurifier_Injector->notifyEnd() is formally deprecated. Please
  use handleEnd() instead.
! %Output.AttrSort for when you need your attributes in alphabetical order to
  deal with a bug in FCKEditor. Requested by frank farmer.
! Enable HTML comments when %HTML.Trusted is on. Requested by Waldo Jaquith.
! Proper support for name attribute. It is now allowed and equivalent to the id
  attribute in a and img tags, and is only converted to id when %HTML.TidyLevel
  is heavy (for all doctypes).
! %AutoFormat.RemoveEmpty to remove some empty tags from documents. Please don't
  use on hand-written HTML.
! Add error-cases for unsupported elements in MakeWellFormed. This enables
  the strategy to be used, standalone, on untrusted input.
! %Core.AggressivelyFixLt is on by default. This causes more sensible
  processing of left angled brackets in smileys and other whatnot.
! Test scripts now have a 'type' parameter, which lets you say 'htmlpurifier',
  'phpt', 'vtest', etc. in order to only execute those tests. This supercedes
  the --only-phpt parameter, although for backwards-compatibility the flag
  will still work.
! AutoParagraph auto-formatter will now preserve double-newlines upon output.
  Users who are not performing inbound filtering, this may seem a little
  useless, but as a bonus, the test suite and handling of edge cases is also
  improved.
! Experimental implementation of forms for %HTML.Trusted
! Track column numbers when maintain line numbers is on
! Proprietary 'background' attribute on table-related elements converted into
  corresponding CSS.  Thanks Fusemail for sponsoring this feature!
! Add forward(), forwardUntilEndToken(), backward() and current() to Injector
  supertype.
! HTMLPurifier_Injector->handleEnd() permits modification to end tokens. The
  time of operation varies slightly from notifyEnd() as *all* end tokens are
  processed by the injector before they are subject to the well-formedness rules.
! %Attr.DefaultImageAlt allows overriding default behavior of setting alt to
  basename of image when not present.
! %AutoFormat.DisplayLinkURI neuters <a> tags into plain text URLs.
- Fix two bugs in %URI.MakeAbsolute; one involving empty paths in base URLs,
  the other involving an undefined $is_folder error.
- Throw error when %Core.Encoding is set to a spurious value. Previously,
  this errored silently and returned false.
- Redirected stderr to stdout for flush error output.
- %URI.DisableExternal will now use the host in %URI.Base if %URI.Host is not
  available.
- Do not re-munge URL if the output URL has the same host as the input URL.
  Requested by Chris.
- Fix error in documentation regarding %Filter.ExtractStyleBlocks
- Prevent <![CDATA[<body></body>]]> from triggering %Core.ConvertDocumentToFragment
- Fix bug with inline elements in blockquotes conflicting with strict doctype
- Detect if HTML support is disabled for DOM by checking for loadHTML() method.
- Fix bug where dots and double-dots in absolute URLs without hostname were
  not collapsed by URIFilter_MakeAbsolute.
- Fix bug with anonymous modules operating on SafeEmbed or SafeObject elements
  by reordering their addition.
- Will now throw exception on many error conditions during lexer creation; also
  throw an exception when MaintainLineNumbers is true, but a non-tracksLineNumbers
  is being used.
- Detect if domxml extension is loaded, and use DirectLEx accordingly.
- Improve handling of big numbers with floating point arithmetic in U