ScroogeXHTML for Object Pascal 9.5
Loading...
Searching...
No Matches
Release notes

Version 9.5 (released 2026-04-25)

  • Fix warnings reported by Pascal Expert
  • Update Doxygen to 1.16.1
  • The license text has been modified with version 9.5, to match more closely the license for the ScroogeXHTML RTF Converter for the Java platform. It now also contains licensing information for usage of the ScroogeXHTML for Object Pascal library in client/server systems.

Version 9.4 (released 2025-07-24)

  • Add support for Unicode-based representation of Symbol font characters

Version 9.3 (released 2025-06-29)

  • Add property ConvertToPreviewText
  • Remove deprecated ConvertFields property
  • Fix warnings reported by Pascal Expert
  • Fix warnings reported by Doxygen
  • Update Doxygen to 1.14.0
  • Add option "Convert to plain text" to demo
  • Add option "Convert to 'Preview Text'" to demo

Version 9.2.1 (released 2025-04-13)

  • Add documentation for enum type values.
  • Improve documentation of class TSxBase.
  • Remove obsolete suppresssions of warnings.

Version 9.2 (released 2024-10-29)

  • Fix range warnings for Integer fields.
  • Suppress false positives reported by Pascal Experts
  • Introduce properties for TCharacterProperties class fields that were declared in the public sections.
  • Introduce properties for TParagraphProperties class fields that were declared in the public sections.
  • Remove unnecessary paranthesis.
  • Fixed mixed operator precedence levels.
  • Change parameter type from var to out in method TUnicodeConverter.GetChars.
  • Remove virtual keyword from methods (procedures/functions) that are not overridden.
  • Removed function PrependWmfHeader from unit interface.
  • Removed function PrependBmpHeader from unit interface.
  • Minor documentation fixes.

Version 9.1 (released 2024-07-24)

  • Property ConvertFields is obsolete and now deprecated. Setting its value has no effect and does not impact conversion of hyperlinks.
  • Fix installer to include optional source code.
  • Enable ConvertSpaces by default.
  • Enable ConvertHyperlinks by default.
  • Use "Courier New" and "Times New Roman" as default replacement fonts.
  • Add the lang-attribute to the HTML root element (even if is empty).
  • Add support for document language detection, based on deflang RTF token.

Version 9.0 (released 2024-05-05)

  • Add property ParagraphElementAttributes
  • Add property MarginConversionFlags
  • Add generation of BMP header for embedded BMP pictures
  • Add fallback picture conversion from BMP to PNG if no custom converter is set
  • Add fallback picture conversion from WMF to PNG if no custom converter is set (Delphi only)
  • Add support for binary picture data
  • Set MemoryPictureAdapterDataURI threshold to 1 kilobyte
  • Move picture conversion code to new unit SxPictureService
  • Remove support for deprecated document types (commented out/using IFDEF)
  • Move complimentary / unsupported units to new folder source/optional

Version 8.7 (released 2024-04-04)

  • Add property NoRTFHeaderAction with possible values acReturnEmptyString (default) and acRaiseException
  • Add support for extracting BMP picture data ('as is', without BMP header)
  • Add warning 'Compiled with support for deprecated document types.'
  • Test with Indy 10.6.3
  • Fix warnings reported by 'Pascal Expert'
  • Enable optimization in TUnicodeConverter.CharToUnicode which was formerly disabled for FPC
  • Handle result of TUnicodeConverter.GetChars
  • Ensure that TMemoryPictureAdapterDataURI does not process unsupported image types
  • Refactor TSxOutputWriter class
  • Refactor TSxMain class
  • Refactor TSxReader class
  • Refactor TSxOutputWriter.WritePlainText
  • Refactor TFontDescriptor class
  • Refactor method Hex() to RGBToHex()
  • Rename property ISxWriter.IsHidden to Hidden
  • Rename property ISxWriter.WriterNumbered to ParagraphHasStarPn
  • Rename TRTFDestination destUnknown to destIgnore
  • Remove obsolete condition in TSxReader.SetProperty
  • Remove unused properties in SxTypes unit
  • Refactor SxLinkURIBuilder unit

Version 8.6 (released 2024-03-03)

  • Fix issues with right-to-left text direction
  • Fix warnings reported by 'Pascal Expert'
  • Move function Convert(const AStream: TStream): UTF8String; overload; to SxMain
  • Move methods and fields to private section where possible
  • Make fields in TReaderProperties read-only
  • Refactored method AddLinebreak
  • Add more unit tests

Version 8.5 (released 2024-02-04)

  • Add more unit tests
  • Add more API documentation
  • Add Add description for the 'ls' token
  • Fix warnings reported by 'Pascal Expert'
  • Suppress some minor warnings reported by 'Pascal Expert' with //NOPE
  • Update Doxygen to 1.10.0

Version 8.4 (released 2023-06-10)

  • Sign installer with new certificate
  • Suppress Indy hints and warnings
  • Fix Class Index in HTML documentation (ignore class name prefix T)
  • Use LoadFromFile with UTF8 encoding in FPC
  • Remove unneccessary FPC workarounds in unit TestExampleFiles
  • Remove unneccessary TReaderProperties property InternalState
  • Fix todos in unit SxTypes

Version 8.3 (released 2023-02-04)

  • Fixed Free Pascal compilation error in unit SxPostProcessEventObject
  • Added basic Linux platform support (Free Pascal only)
  • Removed unused unit SxPlatform
  • Updated to Doxygen 1.9.6

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 https://github.com/michaelJustin/slf4p (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