The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
1.4.0    19.06.2020
            - basic_string: avoid access to uninitialized memory in c_str()
            - basic_string: distinguish char array from const char array in constructor for safety
            - logger: add root logging macros, add function to codepoint
            - logger: add formatter feature
            - logger: use formatter by default, pass to simple logger API compiled string
            - logger: make logger/formatter usage and changing thread safe via iptr-on-atomic
            - logger: add pattern formatter (used by default)
            - logger: improve logger API with variadic macros
            - logger: fix main module initialization order
            - logger: add console logger impl
            - logger: add multi logger
            - exceptions: export Windows Debugger Enginge in API
            - exceptions: add default to_string implementation
            - exceptions: BacktraceInfo has reasonable default implementation
            - exceptions: add Backtrace::dump_trace() default stack trace dumper
            - massively speedup multiple "+=" operations without reserve() for basic_string
            - fix rfind() and find_last* default value for "pos" in string and string_view
            - remove useless xs file
1.3.14   02.04.2020
            - exceptions: add default backtrace producer (info gather info from symbols)
            - exceptions: enable tests for all *nix systems
            - fix logging on global destruction
1.3.13   24.03.2020
           - panda log: refactor a little
           - VarIntStack iterator
           - ErrorCode::contains
1.3.12   13.02.2020
           - bad_expected_access<ErrorCode> specialization for better error messages
           - remove copy ctor and copy= from excepted(), throw exc if copy= to object with not checked error
           - workaround thread_local global dtor bug in freebsd
           - improve ErrorCode
           - add noexcept to some basic_string ctors
           - global tls ptr storage is now destroyed with statics, not with thread_locals
1.3.11   22.02.2020
           - additional log macro
           - remove std::optional to prevent binary incompatibility
1.3.10   16.02.2020
           - fix 32bit systems backtrace segv (disable backtrace for 32bit)
           - add stringized arguments field for Stackframe object
           - fix expected<>
1.3.9    30.01.2020
           - renamed to XS::libpanda
1.3.8    28.01.2020
           - fix tests for windows (again)
1.3.7    27.01.2020
           - fix tests for windows
1.3.6    24.01.2020
           - renamed to Alien::libpanda
           - fix t/exception.cc tests with -O3
1.3.5    21.01.2020
           - improve backtrace interface (glibc only)
           - fix SunOS compilation
1.3.4    17.01.2020
           - fix compilation warnings
1.3.3    14.01.2020
           - improve basic_string
1.3.2    14.01.2020
           - bugfix for 32bit systems
1.3.1    30.12.2019
           - temporarily disable exception backtrace test
1.3.0    30.12.2019
           - panda::log modules
           - backtracable exceptions
           - ErrorCode - list of std::error_code
           - basic_string small optimization
           - AllocatedObject bugfix: add default placement new
           - add comparison ops to panda::optional
           - remove docs for C++ API
1.2.10   14.08.2019
           - fix panda::expected and panda::excepted constructors
           - add comparison operator to iptr
           - fix compilation warnings
1.2.9    02.08.2019
           - remove useless fix for string_view
1.2.8    02.08.2019
           - fix compilation for GCC 4.9, change previous fix for panda::string, so tests are now ok
1.2.7    01.08.2019
           - panda::string compilation fix for GCC [4.9 - 6.0) - workaround GCC's bug with return type of literal
           - string map containers test compilation fix for GCC 5
1.2.6    30.07.2019
           - fix compilation warnings for some compilers
           - fix panda::string tests for 32bit systems
           - fix panda::string tests for clang4-6
1.2.5    25.07.2019
           - require newer XS::Install
1.2.4    24.07.2019
           - require newer XS::Install
1.2.3    22.07.2019
           - move fake std::string_view to panda::string_view + related changes
           - fix endian.h for C++17 clang (fuck macros)
           - fix intrusive_chain compilation for clang17
           - fix compilation warnings for clang17
           - return #include <ostream> to log.h (unfortunately, but there is no workaround)
           - remove panda::lib/traits/etc namespace, accumulate all utils in panda::
1.2.2    15.07.2019
           - fix compiler warnings
1.2.1    12.07.2019
           - add get_global_[tls_]ptr
           - add PANDA_GLOBAL/TLS_MEMBER[_PTR] macros helpers for creating static members
             (global or tls) which has the same address across any shared library.
           - change log level names to camel case (fuck the fucking macros)
           - fix intrusive_chain size(): now O(1)
           - CallbackDispatcher: extended callback is now accepted only in add_event_listener
             to resolve ambiguity with template lambdas when dispatcher.add([](auto...) { });
1.2.0    25.06.2019
           - add panda::excepted (expected with strict error checking and exception propagation)
           - add panda::expected (P0323R7)
           - add string_view compare operators with const C*
           - removed panda::shared_ptr, panda::Refcounted (use panda::Refcnt instead)
           - iptr now uses refcnt_inc/dec/get proxies
           - dyn_cast is now no-op if classes match
           - moved to XS::Install
1.1.4    14.06.2018
           - fix dll loading for Windows
1.1.3    18.05.2018
           - fix tests on older versions of Test::More
           - allow build back to v5.12.0
1.1.2    08.04.2018
           - add empty test when building without TEST_FULL
1.1.1    08.02.2018
           - std::integer_sequence for old C++ lower than 14
           - panda::function optimizations
1.1.0    06.02.2018
           - bugfixes and warn fixes in panda::string
           - move all tests from perl to c++
           - iptr<> added
1.0.7    17.01.2018
           - C++14 requirements lowered to C++11
           - new overloads for endian conversions
1.0.6    12.01.2018
           - class panda::function - compareble version of std::function
           - class CallbackDispatcher - implementation of observer pattern
           - simple logger tools
1.0.5    08.09.2017
           - string::append now can use COW in case of empty string
1.0.4    07.05.2017
           - shared_ptr::operator bool is explicit now
1.0.3    16.05.2017
           - fix default pos value for find_last_of, find_last_not_of
1.0.2    16.05.2017
           - bugfix for stoX group of functions in case of no pos argument
1.0.1    15.05.2017
           - do not bootstrap so library (no XS code inside), it will be loaded automatically because of "-l" linker flag
1.0.0    11.05.2017
           - C++ code moved from Panda::Lib