Skip to content

Releases: biojppm/c4core

Release 0.6.0

Choose a tag to compare

@github-actions github-actions released this 21 Jul 22:10

This release commits to SONAME stability on patch releases (for versions 0.x) and on minor releases (for versions after 1.x). The release version is set to 0.6.0 (and therefore the SONAME to 0.6) because the SONAME of the previous release is 0.5.0.

  • PR#177: set SONAME to major/minor after/before 1.x. See #176.

Release 0.5.0

Choose a tag to compare

@github-actions github-actions released this 05 Jul 23:52
91737d3
  • PR#175: update fastfloat to 8.2.10
  • PR#174: improve amalgamate_utils.py
  • PR#172:
    • [BREAKING] C4_LIKELY() and C4_UNLIKELY() now use [[likely]] and [[unlikely]] in C++20. Every use of this macro needs to refactored:
      if(C4_LIKELY(condition)) ... // error now
      // needs to be rewritten as:
      if C4_LIKELY(condition)  ...
      // same for C4_UNLIKELY
    • Add C4_LIKELY20 and C4_UNLIKELY20, which resolve directly into [[likely]] and [[unlikely]] when C++ is 20 or later, or nothing otherwise.
    • Add C++23 detection (C4_CPP and C4_CPP23)
  • PR#171:
    • fix warnings from names with underscores (clang: -Wreserved-identifier)
    • c4/std/std.hpp: remove tuple.hpp
  • PR#170 add option to use fastfloat from system: C4CORE_WITH_FASTFLOAT_SYSTEM
  • PR#169 atof()/atod():
    • disable assertions that prevent returning false
    • c4/std/std.hpp: remove tuple.hpp

Release 0.4.0

Choose a tag to compare

@github-actions github-actions released this 05 Jun 11:13
f46d6ab
  • PR#167: fixes to substr:
    • .begins_with() and .ends_with() now return false when input length is 0
  • PR#166: fixes to substr and type_name()
    • substr:
      • improve SFINAE rules and overloads
      • add member type value_type
    • type_name():
      • make noexcept
      • return a new dedicated type TypeNameStr. This spares costly include of span.hpp
    • Improve std interop headers
    • Fix: from_chars_first() must use csubstr for the chars parameters
    • clang-tidy fixes with clang-22
  • PR#161 Improve base64 facilities:
    • Move encoding/decoding/validation to low-level functions without abstractions:
      • c4::base64_valid()
      • c4::base64_encode()
      • c4::base64_decode()
    • Change the semantics of base64_decode() to return true when decode succeeds, or false when decode fails or the output buffer is insufficient.
    • Move the formatting facilities to c4/format_base64.hpp:
      • c4::fmt::base64()
      • c4::to_chars(buf, fmt::cbase64())
      • c4::from_chars(buf, fmt::cbase64())
    • Add c4/std/string_view_fwd.hpp

Release 0.3.0

Choose a tag to compare

@github-actions github-actions released this 22 May 13:30
ed246e8
  • PR#162:
    • charconv.hpp:
      • add implementation of to_chars() for raw char pointers
      • improve from_chars() for bool
      • minor simplification of atoi_first() and atou_first()
    • format.hpp:
      • simplify boolalpha() implementation
      • catrs()/catseprs()/formatrs(): resize to capacity before trying
      • fix uncatsep(): force sep as a csubstr, and enforce it
      • cat()/catsep()/format(): add tests to ensure repeated args
      • improve implementation of fmt::left()/fmt::right(). add fmt::center()
    • Improve doxygen comments
  • PR#163:
    • to_chars():
      • ensure char*/const char* (using strlen) overloads accept null pointer
      • add implementation for nullptr_t
  • PR#164:
    • Move aalloc() et al to new hdr/src c4/alloc.hpp
    • Fix shared library exports, which were causing a link error in lld-link on Windows (see rapidyaml#600).
  • PR#165: c4/std/span.hpp missing from amalgamate.py.

Release 0.2.12

Choose a tag to compare

@github-actions github-actions released this 06 May 14:58
eca89ea

PR#158:

  • dump.hpp: fix c4::dump_directly<T> to use remove_cvref<T> such that references and consts are transitively handled.
  • base64 formatting: add wrapper version of from_chars()

Release 0.2.11

Choose a tag to compare

@github-actions github-actions released this 26 Mar 17:18
18543ed
  • Fix #141: incorrect detection of clang-cl (PR#152). Also adds support for Visual Studio 2026.
  • Fix missing value of C4CORE_VERSION in c4coreConfig.cmake (reported in rapidyaml#584).

Release 0.2.10

Choose a tag to compare

@github-actions github-actions released this 13 Mar 14:25
c138727

PR#156:

  • Add traits class c4::is_writeable_string<>
  • c4/std/*.hpp adapters: add missing forward declarations of c4::is_string<>
  • Add default-less csubstr::copy_from() to simplify implementations of to_chars()/from_chars()
  • Minor internal changes in c4::substr
  • Add C++20 std::span<char> and std::span<const char> adapters in new header c4/std/span.hpp

Release 0.2.9

Choose a tag to compare

@github-actions github-actions released this 11 Mar 19:51

PR#154:

  • Add c4::is_string<T> trait in c4/substr.hpp, and appropriate definitions for std::string, std::string_view and std::vector<char>. Default c4::dump_directly<T> to c4::is_string<T>.
  • Minor cleanup to c4::srcloc in c4/error.hpp
  • Minor implementation changes in c4::mem_repeat()
  • Suppress false-positive null-dereference warnings for GCC >6
  • Update fast_float to 8.2.4

Release 0.2.8

Choose a tag to compare

@github-actions github-actions released this 26 Jan 15:05
828c552

Fixes

  • charconv: fix conversion warning (triggered in clang 21)

Release 0.2.7

Choose a tag to compare

@github-actions github-actions released this 30 Sep 07:37
  • enum symbols:
    • remove useless const in return value of c4::esyms()
    • add overload for building from ptr,len
  • dump.hpp: fix implicit typing in implementation of c4::format_dump()
  • utf.hpp: add missing C4_EXPORT to c4::decode_code_point()
  • fix warnings with cmake 4