ScroogeXHTML for Object Pascal 8.2
Release notes

Version 8.2 (released 2022-06-04)

  • Signed installer
  • Updated to Inno Setup 6.2.1
  • Updated to Doxygen 1.9.4
  • Added example code and documentation for PostProcessEventListeners usage
  • Internal improvements for TSimpleDOMNode classes

Version 8.1 (released 2021-11-28)

  • Added BaseMargin property to MarginBuilding interface
  • Added a component registration annotation for platform support 32/64

Version 8.0 (released 2021-09-26)

  • Fixed: wrong indentation for charset meta tag
  • Fixed: pictures which are tagged with the \nonshppict token should not be included in the conversion
  • Added TCustomScrooge.Convert method
  • Added TSxBase.HyperlinkURIBuilder property
  • Added TSxBase.MarginBuilder property
  • Added TSxBase.PostProcessEventListeners property
  • Added TEmbeddedPicture.IsDataURI property
  • Use generics container classes
  • Changed default TSxBase.FontConversionOptions property to include opFontHLColor
  • Removed AbortConversion property
  • Removed AfterConvert / BeforeConvert properties
  • Removed ConvertUsingPrettyIndents property
  • Removed ElementClasses / ElementStyles properties
  • Removed HyperlinkOptions property
  • Removed OnHyperlink property
  • Removed OnProgress property
  • Removed OptionsHead.MetaOptions property
  • Removed ScroogeXHTMLVCL class
  • Removed deprecated TMemoryPictureAdapter class

Version 7.3 (released 2021-08-28)

  • Renamed to "ScroogeXHTML for Object Pascal"
  • Tested with FPC 3.0.4 and FPC 3.2.0
  • Added deprecation warning for FPC before 3.2.0
  • MemoryPictureAdapterDataURI supports setting the maximum size for Data URI
  • Deprecated TMemoryPictureAdapter class (use TMemoryPictureAdapterDataURI)
  • Updated to Inno Setup 6.2.0
  • Updated to Doxygen 1.9.2
  • Removed packages from distribution

Version 7.2 (released 2021-05-24)

  • Added MemoryPictureAdapterDataURI

Version 7.1 (released 2020-11-07)

  • Changed the 'Version' property to be readonly
  • Fixed compiler warnings (Delphi 2009 and Free Pascal)
  • Fixed a memory leak in unit TBTRichPopup
  • Changed the 'Version' property to be readonly
  • Updated demo GUI application user interface
  • Tested with FPC 3.1.0 (64 Bit)

Version 7.0 (released 2018-08-18)

Version 6.17 (released 2018-04-21)

  • Added logging to the DUnit test project
  • Improved support for Symbol font conversion
  • Removed the type attribute for the style element (it is not needed and should be omitted)
  • Changed default CSS to use lower-case "body" instead of "BODY" element

Version 6.16 (released 2018-03-09)

  • Changed default value of IncludeXMLDeclaration property to False
  • Changed HTML head: use lang attribute on HTML root element (not on BODY element)
  • Changed HTML head: HTML5 documents use <meta charset="UTF-8"> instead of meta http-equiv
  • Changed HTML head: order of meta tags is charset / title / description / keywords / author
  • Changed HTML head: comments around CSS are not required and have been removed

Version 6.15 (released 2017-06-10)

  • Added Unicode conversion performance improvement (Delphi only)
  • Fixed Symbol characters conversion with Free Pascal
  • Fixed conversion of Unicode font names
  • Removed outdated demo code
  • Removed SxUnicode2 unit, conversion is now in SxUnicode
  • Removed SXText type, use string instead

Version 6.14 (released 2017-05-31)

  • Fixed FPC conversion of Unicode characters
  • Added support for paragraph background color / tested with LibreOffice
  • Added support for paragraph box border / tested with LibreOffice

Version 6.13 (released internally)

  • Code cleanup

Version 6.12 (released 2017-05-21)

  • Added support for paragraph space before / space after
  • Fixed mailto: link conversion

Version 6.11 (released 2016-07-20)

  • Added support for the SLF4P logging facade (configurable with SCROOGE_USE_SLF4P option)
  • Added global variable SxConst.SCROOGE_INDENT_CHAR with default ' ' which allows to set indent width in code instead of using SCROOGE_NO_INDENT

Version 6.10 (released 2016-01-16)

  • Improved list conversion support for \listtable and \listoverridetable
  • Fixed support for ConvertEmptyParagraphs of HTML5 conversion

Version 6.9 (released 2015-09-20)

  • Improved support for Hyperlink field conversion
  • Fix for plaintext conversion
  • Installer uses the user profile folder by default
  • Rearranged unit tests, moved DBCS tests to a separate unit
  • Documentation generated with doxygen 1.8.10
  • Reverted to private instead of strict private scope for better doxygen support

Version 6.8 (released 2015-03-11)

  • Added ConvertFields property for field expressions (default False)
  • Added Hyperlink field support class TLinkURIBuilder
  • Added HTML Anchor support
  • Added unit SxConst which declares margins (configurable with SCROOGE_NO_INDENT option)
  • Documentation generated with doxygen 1.8.8
  • Use strict private scope where possible
  • Changed THyperlinkEvent signature to procedure(Sender: TObject; const TextElement: ISimpleDomTextNode) of object
  • Moved TRichEdit conversion to separate class TBTScroogeXHTMLVCL
  • Added HTTPS as protocol for RequireHTTP hyperlink option
  • Removed unused hyperlink option hyHyperlinkFootnotes
  • Tested with Free Pascal 2.6.4
  • Web demo built with Indy 10.6.2

Version 6.7 (released 2014-08-11)

  • Support for mixed case RTF tokens
  • Fixed support for output without indentation (SCROOGE_NO_INDENT option)
  • Updated documentation
  • Removed debug mode (replaced by unit tests)
  • Removed incomplete Linux support code
  • Fixed conditional DecimalSeparator unit reference
  • Minor changes, cleanup and fixes

Version 6.6 (released 2014-07-02)

  • Fixed output HTML indentation differences between the Delphi and Java platform version
  • Added a new parameterless constructor for run-time instantiation
  • Added const to string parameters as optimization
  • Added FPCUnit tests for Free Pascal
  • Fixed SIGSEV in web demo application with Free Pascal 2.7.1

Version 6.5 (released 2013-11-24)

  • Free Pascal -MDelphi compiler switch is not required to compile the library units
  • Minor code cleanup

Version 6.4 (released 2013-06-12)

  • SCROOGE_NO_INDENT suppresses HTML output indentation
  • Tested with Free Pascal 2.6.2
  • web demo built with Indy 10.6

Version 6.3 (released 2012-10-23)

  • added support for aligned list items (right, centred, justified)
  • fixed WMF picture adapter
  • removed unused code
  • removed "Extended RTTI suppression"

Version 6.2 (released 2012-09-04)

  • Free Pascal fix for a bug introduced by "Extended RTTI suppression"
  • Deprecated properties and methods in SxBase have been removed

Version 6.1 (released 2012-05-08)

  • Extended RTTI (Delphi 2010 and newer) is disabled by default and can be enabled with the new conditional symbol SX_USE_RTTI
  • Deprecated properties and methods in SxBase are commented out
  • Documentation generated with doxygen 1.8.0
  • Compiles with Free Pascal 2.6.0
  • Unicode migration: removed unneccessary string() conversions
  • The component appears in the "Habarisoft" palette page now (instead of "BetaTools")

Version 6.0 (released 2011-12-13)

  • Fixed compiler warnings
  • Fixed package projects
  • Removed support for non-Unicode Delphi
  • Removed XHTML5 document type
  • Conversion returns UTF8String