Opened 9 months ago

Closed 9 months ago

Last modified 8 months ago

#22640 closed enhancement (fixed)

simdutf-8.0.0

Reported by: Bruce Dubbs Owned by: Bruce Dubbs
Priority: normal Milestone: 13.0
Component: BOOK Version: git
Severity: medium Keywords:
Cc:

Description

New major version.

Change History (5)

comment:1 by Xi Ruoyao, 9 months ago

One test fails because it only works in a Git worktree:

90/90 Testing: check_feature_macros
90/90 Test: check_feature_macros
Command: "/usr/bin/python3.14" "/home/xry111/sources/12.5/simdutf-8.0.0/scripts/check_feature_macros.py"
Directory: /home/xry111/sources/12.5/simdutf-8.0.0
"check_feature_macros" start time: Jan 16 09:34 CST
Output:
----------------------------------------------------------
Error running git ls-files: Command '['git', 'ls-files', '*.cpp', '*.h']' returned non-zero exit status 128.
No .cpp or .h files found in the Git repository.

comment:2 by Bruce Dubbs, 9 months ago

Owner: changed from blfs-book to Bruce Dubbs
Status: new → assigned

comment:3 by Bruce Dubbs, 9 months ago

Version 8.0.0

Major changes

The major change in this release is that now most simdutf functions are immediate functions (constexpr), i.e., they can be executed at compile time. Thus, for example, you can validate that a string is proper UTF-8 at compile time:

static_assert(simdutf::validate_utf8(s));

The constexpr interface requires C++23. (You can still use simdutf with C++11.)

Another major change is the introduction of a C API. You can now easily call simdutf from C (although you still need to link against a C++ library, either statically or at runtime). This C API should make it easier to write wrappers to simdutf from other programming languages. We now include a C header as part of our releases.

What's Changed

  • make most of simdutf constexpr
  • add C API
  • fix bug in utf8_length_from_utf16() on big endian
  • interop with std::text_encoding
  • polish the functions in encoding_types.h
  • ensure the override keyword is used everywhere
  • Fix heap-buffer-overflow in convert_utf16_to_utf8_safe
  • fixing issue 914 (convert_latin1_to_utf8_safe is missing from the C api)
  • Fix typos
  • Update/optimize Loongson kernels

Because we fixed a couple of bugs, including a potential buffer overflow in convert_utf16_to_utf8_safe, we recommend that all users of the library update to 8.0.0. There are no breaking changes.

Infrastructure changes

  • oss-fuzz: Add unit testing build in oss-fuzz build script
  • fixes the check_feature_macros script.
  • add ci job for checking typos
  • add fuzzer for convert_*_safe() functions
  • strengthen the safe_conversion fuzzer

comment:4 by Bruce Dubbs, 9 months ago

Resolution: → fixed
Status: assigned → closed

Fixed at commits

9e7fb89e57 Update to libgsf-1.14.55.
35a77b8a2a Update to simdutf-8.0.0.
2c00d5b547 Update to pyatspi-2.58.1 (Python module).

comment:5 by Bruce Dubbs, 8 months ago

Milestone: 12.5 → 13.0

Milestone renamed

Note: See TracTickets for help on using tickets.