- Base64 utils redesigned and moved to the
base64.hheader - SHA-1 implementation
- Windows support for TCP socket and bug fixes
- WebSocket support
- Serialization
- New
VersionedArchivertemplate to enable versioning with stream serializer - Fully unit tested
- New
- Build
- Moved to C++23
- Platform and compiler detection header
- CTTI was made platform independent
- Builds with GCC
- Builds on Windows with MSVC (unit tested)
- Various fixes in memory system and event bus
- Fixed clang-tidy
performanceandcertwarnings - Runtime CPU instruction sets detection
- Morton encoding uses a runtime ISA dispatch
- Arbitrary alignment supported by TLSF arena
- Spline class is a bit more generic
- Better stack trace with cpptrace (removed backward-cpp dependency)
- Refactored color header
- Job system:
- Can detach tasks (Experimental)
- Fixed a few races
- Assertions can be configured to throw instead of breaking into debugger
- Modernized
CMakescripts
- Refactored pack file system
- Stream serializer and archiver are used heavily
PackFiles can be read from genericstd::istream, in particularInputMemoryStreamkpakutility can export a pack file to a binary array in a C++ header (useful for resource bundling)
- Added stream serialization helpers and memory streams
- Removed the old logger,
logger2was renamed tologger
- Completely removed TOML support and config utility class.