products:tidy:history
Table of Contents
DITidy: Version History
DITidy v6.7.0 – 22 Nov 2023
- Support Delphi 12 Athens Win32 and Win64.
DITidy 6.6.0 – 16 Sept 2021
- Support Delphi 11 Alexandria Win32 and Win64.
DITidy 6.5.0 – 22 Jul 2021
Update libtidy to version 5.8.0 final. Main changes:
- Add support for the
<slot>
tag. - Add IMG loading attribute
TidyAttr_LOADING
, like<img loading=“lazy” src=“…”>
. - Add SVG paint attributes:
TidyAttr_FILL
,TidyAttr_FILLRULE
,TidyAttr_STROKE
,TidyAttr_STROKEDASHARRAY
,TidyAttr_STROKEDASHOFFSET
,TidyAttr_STROKELINECAP
,TidyAttr_STROKELINEJOIN
,TidyAttr_STROKEMITERLIMIT
,TidyAttr_STROKEWIDTH
,TidyAttr_COLORINTERPOLATION
,TidyAttr_COLORRENDERING
,TidyAttr_OPACITY
,TidyAttr_STROKEOPACITY
,TidyAttr_FILLOPACITY
. - Add support for HTML5 extended color names.
- Warn and clean up multiple
<title>
elements. Also issue a warning if the<title>
element is empty. - Fix
<open>
tag to boolean. - Fix percentage validation.
- Fix
TidyWrapPhp
wrapping multiple lines. - Fix warning about missing
</summary>
. - Fix integer overflow parsing huge HTML documents.
- Fix case-insensitive compare of
html
in doctype. - Fix AV when cleaning unbalanced
<![if …]> … <![endif]>
. - Fix HTML parsing memory leaks.
- Fix parsing files with the readonly attributes set.
- Fix missing bounds check decoding MacRoman.
Other changes:
- Add the
TidyCloseQuotedValuesAtGt
option. It instructs the parser to close a quoted value prematurely if it encounters a “>” character before or instead of the closing quote character. This can improve parsing of HTML tag attribute values which are accidentally missing a closing quote character.
DITidy 6.4.0 – 5 Jun 2020
- Support Delphi 10.4 Sydney Win32 and Win64.
DITidy 6.3.0 – 10 Jan 2020
- Add support for DATA element.
- Keep case of anchors for HTML5.
DITidy 6.2.0 – 24 Dec 2018
- Support Delphi 10.3 Rio Win32 and Win64.
DITidy 6.1.0 – 30 Sept 2018
New:
TidyShowFilename
option to show file names in error messages and warnings.
Bug Fixes:
tidyCleanAndRepair
a malformed meta tag could cause an access violation.- COLOR attribute no longer causes a warning for LINK tags.
- Fix SCRIPT parsing in HTML5 mode.
- Allow “auto” for DIR attribute for HTML5.
DITidy 6.0.0 – 8 Dec 2017
New:
tidyErrorSummary
– Write error information to the current error sink.tidyGeneralInfo
– Write markup information to the current error sink.tidyPlatform
– The Tidy build platform.tidyOptionIsList
– Does an option take a list of items?tidyOptGetPriorityAttrList
– Create a new priority attributes iterator.tidyOptGetNextPriorityAttr
– Retrieve the first / next priority attribute from an iterator.tidyOptGetMutedMessageList
– Create a muted messages iterator.tidyOptGetNextMutedMessage
– Retrieve the first / next muted message from an iteraor.tidySetEmacsFile
– Set the file path to use for reports with TidyEmacs.tidyGetEmacsFile
– Get the file path to use for reports with TidyEmacs.tidySetConfigCallback
– Extend configuration file options.tidySetConfigChangeCallback
– Monitor configuration changes.tidySetReportCallback
– Use a va_lists callback to send reports.tidySetMessageCallback
– Use a TidyMessage callback to send reports.tidyGetMessageDoc
– Get the TidyDoc of a message.tidyGetMessageCode
– Get the integer code of a message.tidyGetMessageKey
– Get the text key of a message.tidyGetMessageLine
– Get the line number a message applies to.tidyGetMessageColumn
– Get the column a message applies to.tidyGetMessageLevel
– Get the TidyReportLevel of the message.tidyGetMessageArguments
– Create a new message arguments iterator.tidyGetNextMessageArgument
– Retrieve the first / next TidyMessageArgument from an iterator.tidyGetArgType
– Return the TidyFormatParameterType of the given message argument.tidyGetArgFormat
– Return the format specifier of the given message argument.tidyGetArgValueString
– Return the string value of the given message argument.tidyGetArgValueUInt
– Return the unsigned integer value of the given message argument.tidyGetArgValueInt
– Return the integer value of the given message argument.tidyGetArgValueDouble
– Return the double value of the given message argument.tidyErrorCodeAsKey
– Return the text message key from an integer message code.tidyErrorCodeFromKey
– Return the integer message code from a text message key.getErrorCodeList
– Create a new message code iterator.getNextErrorCode
– Get the first / next integer error code from an error code iterator.tidySetLanguage
– Set the Tidy output language.tidyGetLanguage
– Get the current Tidy output language.tidyLocalizedStringN
– Retrieve the localized string of a quantity.tidyLocalizedString
– Retrieve the localized string for a MessageType.tidyDefaultString
– Retrieve a MessageType string in the default localization.getStringKeyList
– Initiate an iterator for a list of string key codes available in Tidy.getNextStringKey
– Get the next key from a string key list iterator.getInstalledLanguageList
– Initiate an iterator for a list of Tidy's installed languages.getNextInstalledLanguage
– Get the next language string from the list of installed languages.getWindowsLanguageList
– Create a new Windows ↔ POSIX locale mappings iterator.getNextWindowsLanguage
– Get the next tidyLocaleMapItemPtr from a Windows language list iterator.TidyLangWindowsName
– Return the Windows name from a tidyLocaleMapItem.TidyLangPosixName
– Return the POSIX name from a tidyLocaleMapItem.
Removed:
- Delphi 4 and Delphi 5 support.
tidyAttrIsProp
– it did not know the element which is required to tell whether an attribute is proprietary.tidySetReportFilter2
– replaced by similar functiontidySetReportCallback
.tidySetReportFilter3
– replaced by similar functiontidySetMessageCallback
.- All
tidyNodeIs…
functions – usetidyNodeGetId
. - All
tidyAttrIs…
functions – usetidyAttrGetId
.
Changed:
tidySetReportFilter
.TidyConfigCategory
elements.TidyDialogueDoc
is deprecated: UseTidyDialogueFootnote
instead.
Bug Fixes:
- Add missing
TidyDoc
argument totidyFileExists
. - Fix memory leak in
tidyCleanAndRepair
when converting XHTML input to HTML output. - Fix memory leaks with nested <a><div><a href=1>.
DITidy 5.11.0 – 1 Jun 2017
- Add
TidyAttr_XMLNSXLINK
attribute “xmlns:xlink” to support inline <svg>. - If <table> is encountered when already in a <table>, close the first <table>. The previous action was to discard the second, while it is the second table that browsers will render.
- Fix space missing when opening tag at end of a line.
- Fix generating invalid UTF-8 (surrogate pairs).
DITidy 5.10.0 – 3 Apr 2017
- Support Delphi 10.2 Tokyo Win32 and Win64.
DITidy 5.9.0 – 19 Dec 2016
- Add a set of new parser options to disable detection of non-HTML tokens sometimes found in server contexts.
- Fix: Especially crafted HTML could cause the parser to enter an infinite loop.
- Fix a
tidyOptParseValue
access violation crash when writing a read-only option.
DITidy 5.8.0 – 9 Sep 2016
- Add option
TidyEscapeScripts
to control how DITidy escapes items that look like closing tags in scripts. Enabled by default. - Add support for HTML5 attributes
TidyAttr_CROSSORIGIN
,TidyAttr_INTEGRITY
,TidyAttr_AS
. - Fix wrong indentation if
TidyOmitOptionalTags
is enabled. - Allow zero <li> in <ul> in HTML5.
- Do not crash
tidyCleanAndRepair
if no document was loaded.
DITidy 5.7.0 – 7 May 2016
- Support Delphi 10.1 Berlin Win32 and Win64.
DITidy 5.6.3 – 10 Mar 2016
- New tidySetReportFilter3 and TidyReportFilter3.
- New
tidySetPrettyPrinterCallback
andTidyPPProgress
. - Add options
TidySkipNested
andTidyStrictTagsAttr
. - HTML5 improvements and bug fixes.
DITidy 5.6.2 – 15 Sep 2015
- Support Delphi 10 Seattle Win32 and Win64.
- Add
tidyAttrDiscard
andtidyDiscardElement
interfaces.
DITidy 5.6.1 – 25 Apr 2015
- Add support for Delphi XE8 Win32 and Win64.
- New
tidyLibraryVersion
to replace deprecatedtidyReleaseDate
. - New tidySetReportFilter2 message filter using a TidyReportFilter2 callback.
- New
tidyReportDoctype
. - Numerous HTML5 improvements and bug fixes.
DITidy 5.6.0 – 3 Oct 2014
- Support Delphi XE7 Win32 and Win64.
- Improved documentation.
DITidy 5.5.0 – 28 Apr 2014
- Support Delphi XE6 Win32 and Win64.
DITidy 5.0.1 – 17 Feb 2014
- New
DITidyUtils
unit with useful functions to simplify document parsing fromTStream
, among others. - New example project to show how to iterate a node tree without recursion in
Demos\DITidy_Traverse_Tree\DITidy_Traverse_Tree_non_recursive.dpr
.
DITidy 5.0.0 – 25 Sep 2013
- Support Delphi XE5 Win32 and Win64.
DITidy 4.5.0 – 14 Jun 2013
- Support Delphi XE4 Win32 and Win64.
DITidy 4.0.0 – 4 Oct 2012
- Support Delphi XE3 Win32 and Win64.
- Support HTML5 tag and attribute processing.
- New options:
TidyShowInfo
,TidyOmitOptionalTags
,TidyGDocClean
, andTidyDropEmptyElems
. - Option
TidyHideEndTags
renamed toTidyCoerceEndTags
, but still supported. - Fix:
TidyMakeClean
must not merge inline scripts into <p> or <div>. - Other bug fixes.
DITidy 3.1.0 – 22 Dec 2011
- Support Delphi XE2 Win64.
DITidy 3.0.0 – 15 Oct 2011
- Support Delphi XE2 Win32.
DITidy 2.2.0 – 28 Sep 2010
- Delphi XE support.
DITidy 2.1.0 – 14 Sep 2009
- Delphi 2010 support.
- Some minor Tidy bug fixes.
DITidy 2.0.0 – 11 Mar 2009
- Delphi 2009 support.
- New
TidyAnchorAsName
option. - Fix backslash in a URI in with javascript, which was converted to slash.
- Fix some Word 2000 HTML parsing which could remove some content.
- Fix an AV in HTML parsing.
DITidy 1.1 – 6 Sep 2007
- Fix interface for
TidyAllocator
andTidyAllocatorVtbl
. - New Tidy options
TidySortAttributes
andTidyMergeSpans
. - New proprietary option
TidyDropEmptyHeadings
. - New
TidyTagIdSet
type. - New Delphi extra function
tidyBufAppendStr
. - Remove “type” from definition of
tmbstr = C_char_ptr;
to achieve compatiblity withPAnsiChar
. - New DITidy_Analyse GUI demo.
- DITidy_Node_TreeView demo: Show node types for Start, End, and StartEnd, Reload button, Options tab sheet, auto-restore options on startup.
DITidy 1.0 – 31 May 2007
- First public release.
products/tidy/history.txt · Last modified: 2023/11/23 10:18 by 127.0.0.1