Skip to content

Releases: buck-yeh/bux

Tempt to make MSVC 'fatal error C1001: Internal compiler error' go away

14 Dec 17:32
Compare
Choose a tag to compare

OS-agnostic way to identify UTF-32 encodings

11 Dec 17:23
Compare
Choose a tag to compare
1.10.1

[Change] Sync `test/archlinux/aur_poc/` with `test/`

Enhancements on `Logger` & `UnicodeCvt`

07 Dec 06:56
Compare
Choose a tag to compare
  1. [New] Define TURN_OFF_LOGGER_ to turn off the logger globally.
  2. [New] LOG1(), SCOPELOGXn(), FUNLOGXn() more handy in simple scenarios than LOG(), SCOPELOGX(), FUNLOGX()
  3. [Bug] std::forward<T_Args>() is removed when used thru SCOPELOGX() & FUNLOGX() for both Linux & Windows.
  4. [Change] Re-haul to get UnicodeCvt to pass as many test cases as possible in both Linux & Windows, except:
    • In Linux, UTF-16BE without BOM still fails.
    • In Windows, UTF-32 has found no way to pass.

New `EZScape.cpp`

26 Oct 13:11
Compare
Choose a tag to compare

EZScape.cpp defines bux::easy_escape() & bux::easy_unescape() as replacements of curl_easy_escape() & curl_easy_unescape() of libcurl, respectively.

Make `FUNLOGX()` usable in Windows

28 Sep 10:22
Compare
Choose a tag to compare
  1. [Change] Retain use of std::forward<T>() in C_EntryLog::C_EntryLog() anywhere except Windows.
  2. [Change] MakeC_NFA::setAction() method template.

Re-haul logger hierarchy

16 Sep 16:27
Compare
Choose a tag to compare
  1. Allow choosing between system clock and local time (the default) by defining LOGGER_USE_LOCAL_TIME_
  2. The path formatting string(s) passed to C_PathFmtLogSnap::configPath() is now used as fmt parameter of std::vformat() instead of format parameter of std::strftime()
  3. Remove class C_UseLogger and extract the essence into more reusable function stamp()
  4. Macro DEF_FALLBACKABLE_LOGGER_FILES() renamed to shorter DEF_FALLBACK_LOGGER_FILES()
  5. Replace -g3 -Og with -O2 to build more efficient library.

Time to say goodbye to `fmt`

05 Aug 01:02
Compare
Choose a tag to compare
  1. [Change] Replace fmt::format(), fmt::print() with std::format(), std::print()
  2. [Change] I_LexAttr becomes abstract
  3. [Change] To '-std=c++23'
  4. [Change] Migrate to catch2 v3.x

Bugfix & vcpkg compliance

23 Feb 15:21
Compare
Choose a tag to compare
  1. [Bug] Help USAGE line for a subcommand, if any, is displayed in wrong order.
  2. [vcpkg] Merge from microsoft/vcpkg#26248 so that fix-clang-cl.patch can be removed.

Updates for newer compiler versions

29 Jan 08:02
Compare
Choose a tag to compare
  1. [VS2022] Include <utility> to get std::cmp_less_equal() compiled.
  2. [Standard] Re-implement bux::C_ScreenerNo in a more compliant way.

Accumulated updates

15 Jun 16:20
Compare
Choose a tag to compare
  1. [New] C_UnicodeIn::encoding()
  2. [Change] Pass std::basic_string_view<T> arguments by value, not by reference, to one of overloaded ctors of bux::C_MBCStr
  3. [Change] Rehaul bux::fittestType() in C++20 - concept lite & if constexpr
  4. [Change] Add code page 951 (Big5 with HKSCS-2001) as one of encoding candidates to test in C_UnicodeIn
  5. [Change] Forbid r-value string instance as ctor parameter of bux::C_IMemStreamT<>