- includes Unitary Testing class and functions
  - bug fixed in WinAnsiBufferToUtf8() and all WinAnsi to UTF-8 encoding
    functions (issue identified thanks to new _UTF8 testing function)
  - bug fixed in val() under Delphi 2009/2010 for some values (issue identified
    thanks to new NumericalConversion testing function)
  - bug fixed in AnsiICompW() - used in SynPdf unit
  - ambiguous SameText() function rewritten as SameTextU() with UTF-8 decoding
  - TTextWriter class moved from SQLite3Commons to SynCommons
  - new JSONEncode and JSONDecode functions to directly encode or decode any
    content to/from a valid UTF-8 JSON object content
  - enhanced URLEncode() and URLDecode() functions
  - new ExtendedToStr/ExtendedToString functions
  - new tests added (mostly relative to the new functions or classes)

   - mostly code review for Delphi 2009/2010 integration

   - small modifications to better handling Jpeg saving

  - font substitution if the font is not existing in the system (worse case
    will use Arial for all fonts)
  - now handle ETO_GLYPH_INDEX in metafile rendering
  - new feature: allow forced JPEG compression for graphics
  - new feature: UNDERLINE + STRIKEOUT support (also in RICH TEXT and rotated text !)
  - new USE_SYNGDIPLUS conditional if you want to use the default jpeg unit
    instead of our SynGdiPlus (but you loose TIF, PNG, and GIF support)
  - enhanced: PenWidth changed to Single -> better precision (e.g. for underlined text)
  - fix issue: Rotated text was misplaced for some angles
  - some small fixes about FillRect() + scaling, and move/line stroke
  - REDDWARF / ONDREJ made a very good work - I had very few thinks to rewrite
  - added optional XOff,YOff parameters to RenderMetaFile()
  - now handle EMR_STRETCHDIBITS (used in Html2Pdf)
  - fix strike out line position (was too low)
  - fixed TextWidth() and TextMeasure()
  - fixed font enumeration problem (trigerred with asiatic windows)
  - system font enumeration is now stored using UTF-8, and any non ASCII font
    name will used in the PDF content the official Postscript name extracted
    from its TrueType font content
  - optional charset parameter is now available in TPdfCanvas.SetFont: this
    was needed in case of TMetaFile rendering to fix some encoding problems
  - bitmap embedding fix - see
  - now initializes the Gdi+ library if necessary
  - fix small issue with font orientation in metafile enumaration

  - first public release, corresponding to SQLite3 Framework 1.8
  - includes Unitary Testing class and functions

    - includes Unitary Testing class and functions
    - update engine to version 3.7
    - new direct methods to handle BLOB fields from clients or servers
    - new URI to GET or PUT BLOB fields: ModelRoot/TableName/ID/BlobFieldName
    - fixed bug in TSQLTable.GetJSONValues: FirstRow parameter not used
    - TTextWriter class moved from SQLite3Commons to SynCommons
    - new ModelRoot/[TableName/ID/]MethodName RESTful GET/PUT request
     (see TSQLRestServerCallBack definition and comments): implements some custom
     Client/Server request, similar to the DataSnap technology, but in a KISS way;
     it's fully integrated in the Client/Server architecture of our framework,
     and extend its ORM feature to Object-less communication - see new
     ModelRoot/Stat method implement in TSQLRestServer
    - floating point numbers are now encoded using new ExtendedStr[ing] methods:
     such values are now encoded in a more human readable way in the JSON content
    - new tests added (mostly relative to the new functions or classes)

    - includes Unitary Testing class and functions
    - update engine to version 3.7
    - SetWALMode() method for enabling Write-Ahead Logging for the database
    - the RTREE extension is now compiled by default into the engine
    - new tests added (mostly relative to the new functions or classes)

        - includes Unitary Testing class and functions
        - allows content-type changing for GET blob fields

  - some fixes for compilation under Delphi 2009/2010

    - possibility to add a background picture to the ribbon pages
     (creating a TSQLAdvPage class from TAdvPage with a BackgroundPicture property)

    - added TSynIntegerLabeledEdit component (e.g. used in SQLite3UIOptions)

Don't forget to consult the draft version of the documentation of this framework!

The full source code from the framework is available to download from licensed under a MPL/GPL/LGPL tri-license.
Compatible with Delphi 7 to Delphi 2010.

Comments and feedback are welcome on our forum: