Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: Tehreer/SheenBidi

v2.9.0

10 Jun 07:13

Choose a tag to compare

Additions

  • CMake support added for easier integration into modern build systems (thanks @glebm)
  • C++ compatibility for public headers to support mixed-language codebases (thanks @glebm)
  • GitHub Actions replaced Travis CI as the CI system (thanks @AJenbo)
  • CI now runs on Linux, macOS, and Windows, performing both build and test using CMake and Meson:
    • Linux and macOS workflows use GCC and Clang
    • Windows workflow uses MSVC only
  • Valgrind job added in Linux CI using Make to detect uninitialized memory usage
  • Public version header <SheenBidi/SBVersion.h> introduced for programmatic version checks
  • SB_PUBLIC macro introduced to handle visibility of public functions across platforms
  • SB_DEPRECATED macro introduced to annotate deprecated APIs with compiler-specific attributes
  • UTF decoding helpers introduced for single code points:
    • SBCodepointDecodeNextFromUTF8
    • SBCodepointDecodePreviousFromUTF8
    • SBCodepointDecodeNextFromUTF16
    • SBCodepointDecodePreviousFromUTF16
  • SBScriptGetUnicodeTag(SBScript) introduced to return a single Unicode script tag (4-letter abbreviation) corresponding to the passed-in script, usable with HarfBuzz
  • Internal Object class introduced for consistent memory management across all major types (SBAlgorithm, SBParagraph, SBLine, etc.)
  • Unified versioning implemented across all build systems using the public version header
  • Support for building the library as a DLL on Windows added in both CMake and Meson
  • pkg-config support added in both CMake and Meson builds
  • Support for running individual test classes added (when the STANDALONE_TESTING macro is defined)
  • Dedicated targets for each test class added in CMake and Meson, allowing execution via ctest or meson test

Updates

  • SBCodepointSequence now uses a const buffer (thanks @glebm)
  • Source tree restructured:
    • Public headers moved to Headers/SheenBidi/
    • Test sources moved to Tests/
  • Internal Parser library rewritten to more robustly parse Unicode data files
  • General category lookup generator improved using Unicode’s DerivedGeneralCategory.txt
  • SBScriptGetOpenTypeTag data updated to match Microsoft’s OpenType script tags (as of 2024‑05‑31)
  • SBScriptGetOpenTypeTag marked as deprecated in favor of SBScriptGetUnicodeTag
  • Support for default property values of unassigned code points improved using enhanced parsing logic
  • Tests added for:
    • RunQueue
    • Script-to-tag conversion (OpenType & Unicode)
    • Bracket matching with canonical equivalence

Fixes

  • Fixed [#19]: eliminated uninitialized memory warning in Valgrind by introducing a flags array for BidiLink state tracking
  • Canonical bracket equivalence added for code points U+2329 and U+3008
  • Test coverage increased to 97% through targeted test additions

v2.8

28 Oct 11:00

Choose a tag to compare

  • Updated all lookups to Unicode 16.0.0
  • Added support for code point ranges in UnicodeData.txt file parser
  • Fixed unasigned values in general category lookup

v2.7

30 Nov 14:11

Choose a tag to compare

  • Updated all lookups to Unicode 15.1.0

v2.6

24 Apr 08:27

Choose a tag to compare

  • Fixed larger paragraph creation issue when specifying smaller suggested length
  • Fixed decreased paragraph boundary issue when specifying smaller suggested length

v2.5

11 Mar 14:45

Choose a tag to compare

  • Implemented safe allocation for all objects with NULL checks on malloc calls
  • Extracted element insertion functions from stack and queue push functions for simplification
  • Removed SB prefix from status stack related private structs
  • Added support for meson build system

v2.4

18 Sep 13:31

Choose a tag to compare

  • Updated all lookups to Unicode 14.0

v2.3

23 Aug 13:13

Choose a tag to compare

  • Used DerivedBidiClass.txt for generating bidi type lookup
  • Updated all lookups to Unicode 13.0

v2.2

09 Sep 05:52

Choose a tag to compare

  • Added support for Appveyor CI
  • Updated all lookups to Unicode 12.1
  • Revised convention for naming private types and functions

v2.1

18 Jun 14:01

Choose a tag to compare

Additions

SBScript:

  • OpenType Tag: SBUInt32 SBScriptGetOpenTypeTag(SBScript script)

Updates

  • Updated all lookups to Unicode 11.0

v2.0

12 May 10:54

Choose a tag to compare

Additions

SBCodepoint:

  • Bidirectional Type: SBBidiType SBCodepointGetBidiType(SBCodepoint codepoint)
  • General Category: SBGeneralCategory SBCodepointGetGeneralCategory(SBCodepoint codepoint)
  • Script: SBScript SBCodepointGetScript(SBCodepoint codepoint)

SBAlgorithm:

  • Bidirectional Types: const SBBidiType *SBAlgorithmGetBidiTypesPtr(SBAlgorithmRef algorithm)

SBScriptLocator:

  • Facilitates to find out script runs sequentially, as specified in UAX #24

Updates

  • Used const agent in SBMirrorLocator to avoid undesired mutations.
  • Used signed indexes to track boundary elements in custom stack and queue implementations.
  • Changed bidi type of unspecified code points from L to ON.
  • Added lookup postfix in Unicode tester files.

Fixes

  • Fixed minor compiler warnings.
  • Made minor clarifications in the documentation.