Releases: buck-yeh/bux
Releases · buck-yeh/bux
Tempt to make MSVC 'fatal error C1001: Internal compiler error' go away
OS-agnostic way to identify UTF-32 encodings
1.10.1 [Change] Sync `test/archlinux/aur_poc/` with `test/`
Enhancements on `Logger` & `UnicodeCvt`
- [New] Define
TURN_OFF_LOGGER_
to turn off the logger globally. - [New]
LOG1()
,SCOPELOGXn()
,FUNLOGXn()
more handy in simple scenarios thanLOG()
,SCOPELOGX()
,FUNLOGX()
- [Bug]
std::forward<T_Args>()
is removed when used thruSCOPELOGX()
&FUNLOGX()
for both Linux & Windows. - [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`
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
- [Change] Retain use of
std::forward<T>()
inC_EntryLog::C_EntryLog()
anywhere except Windows. - [Change] Make
C_NFA::setAction()
method template.
Re-haul logger hierarchy
- Allow choosing between system clock and local time (the default) by defining
LOGGER_USE_LOCAL_TIME_
- The path formatting string(s) passed to
C_PathFmtLogSnap::configPath()
is now used asfmt
parameter ofstd::vformat()
instead offormat
parameter ofstd::strftime()
- Remove class
C_UseLogger
and extract the essence into more reusable functionstamp()
- Macro
DEF_FALLBACKABLE_LOGGER_FILES()
renamed to shorterDEF_FALLBACK_LOGGER_FILES()
- Replace
-g3 -Og
with-O2
to build more efficient library.
Time to say goodbye to `fmt`
- [Change] Replace
fmt::format()
,fmt::print()
withstd::format()
,std::print()
- [Change]
I_LexAttr
becomes abstract - [Change] To '-std=c++23'
- [Change] Migrate to catch2 v3.x
Bugfix & vcpkg compliance
- [Bug] Help USAGE line for a subcommand, if any, is displayed in wrong order.
- [vcpkg] Merge from microsoft/vcpkg#26248 so that
fix-clang-cl.patch
can be removed.
Updates for newer compiler versions
- [VS2022] Include
<utility>
to getstd::cmp_less_equal()
compiled. - [Standard] Re-implement
bux::C_ScreenerNo
in a more compliant way.
Accumulated updates
- [New]
C_UnicodeIn::encoding()
- [Change] Pass
std::basic_string_view<T>
arguments by value, not by reference, to one of overloaded ctors ofbux::C_MBCStr
- [Change] Rehaul
bux::fittestType()
in C++20 - concept lite &if constexpr
- [Change] Add code page 951 (Big5 with HKSCS-2001) as one of encoding candidates to test in
C_UnicodeIn
- [Change] Forbid r-value string instance as ctor parameter of
bux::C_IMemStreamT<>