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

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