Table of Contents

DIHtmlParser: Version History

DIHtmlParser is a component suite to parse, analyze, extract information from, and generate HTML, XHTML, and XML documents for Delphi (Embarcadero, CodeGear, Borland).

DIHtmlParser v8.3.0 – 22 Nov 2023

DIHtmlParser 8.2.0 – 16 Sept 2021

DIHtmlParser 8.1.0 – 5 Jun 2020

DIHtmlParser 8.0.1 – 30 Oct 2019

Delphi compilers with support for the inline directive (starting with Delphi 2005) failed to compile DIHtmlParser *.bpl packages for the Demo and Commercial editions. They generated a “[dcc32 Fatal Error] DIUtils: F2051 Unit DIContainers was compiled with a different version of DIUtils.StrSameIW”. Regular *.exe applications compiled without problems. The DIHtmlParser Source Code also compiled to both *.bpl packages and *.exe applications with no problems.

DIHtmlParser 8.0.0 – 8 Oct 2019

Extend character support to the full range of Unicode Code Points from $000000 to $10FFFF.

Up to now, DIHtmlParser stored code points as WideChars. This limited Unicode support to the Basic Multilingual Plane (BMP) from $0000 to $FFFF. Code points from the Supplementary Planes were converted to the $FFFD replacement character. This went well with a great number of languages. But less common scripts did not work, just like the increasingly popular emojis from the Symbols and Pictographs Unicode blocks.

DIHtmlParser 8.0.0 overcomes these limitations and now covers the complete Unicode range. Changes are almost entirely internal and maintain backwards compatibility as much as possible. Existing applications should compile with no or minor changes only. WideChar routines are marked as deprecated and hint at their new complementary UCP routines.

TDIHtmlParser.Data is still a WideChar buffer. However, its contents is now fully UTF-16 encoded. This means that it may contain code points > $FFFF which take up two WideChars (surrogate pairs). As a result, indexed access to the buffer is no longer guaranteed. TDIHtmlParser.Data related methods, like TDIHtmlParser.DataAsStrTrimW are adjusted accordingly.

UnicodeString utility routines are rewritten to handle full UTF-16, including surrogate pairs. Most of them are in DIUtils.pas. YuUtf.pas also contains new utility routines for UTF-16 testing, encoding, and decoding. If possible, string handling routines now take NativeInt type parameters for the buffer length.

Other noteworthy changes:

DIHtmlParser 7.12.0 – 7 Mar 2019

DIHtmlParser 7.11.0 – 24 Dec 2018

DIHtmlParser 7.10.0 – 3 Apr 2017

DIHtmlParser 7.9.0 – 7 May 2016

DIHtmlParser 7.8.0 – 5 Apr 2016

DIHtmlParser 7.7.0 – 3 Mar 2016

DIHtmlParser 7.6.2 – 15 Sep 2015

DIHtmlParser 7.6.1 – 25 Apr 2015

DIHtmlParser 7.6.0 – 3 Oct 2014

DIHtmlParser 7.5.0 – 28 Apr 2014

DIHtmlParser 7.0.1 – 17 Feb 2014

DIHtmlParser 7.0.0 – 25 Sep 2013

DIHtmlParser 6.6.0 – 14 Jun 2013

DIHtmlParser 6.5.1 – 24 Jan 2013

DIHtmlParser 6.5.0 – 4 Oct 2012

DIHtmlParser 6.3.0 – 22 Jun 2012

DIHtmlParser 6.2.0 – 14 Apr 2012

DIHtmlParser 6.1.1 – 8 Dec 2011

DIHtmlParser 6.1.0 – 9 Nov 2011

DIHtmlParser 6.0.0 – 15 Oct 2011

DIHtmlParser 5.2.2 – 7 Jul 2011

DIHtmlParser 5.2.1 – 21 Feb 2011

DIHtmlParser 5.2.0 – 28 Sep 2010

DIHtmlParser 5.1.2 – 24 Apr 2010

DIHtmlParser 5.1.1 – 17 Dec 2009

DIHtmlParser 5.1. – 14 Sep 2009

DIHtmlParser 5.0.1 – 31 Jan 2009

DIHtmlParser 5.0.0 – 24 Nov 2008

DIHtmlParser 4.5.0 – 30 Jul 2008

DIHtmlParser 4.4.1 – 15 May 2007

DIHtmlParser 4.4.0 – 13 May 2007

DIHtmlParser 4.3.1 – 20 Jun 2006

DIHtmlParser 4.3 – 28 Dec 2005

DIHtmlParser 4.2 – 14 Oct 2005

DIHtmlParser 4.1.1 – 2 Sep 2005

DIHtmlParser 4.1 – 31 Aug 2005

DIHtmlParser 4.0 – 14 Apr 2005