Repository navigation
Releases: TsukiNi22/libutils
Release list
v3.0.0
Note
First major release since v2.0.0: a full audit and bug fix pass over the whole library. The EETPParser handshake now works end to end, SharedMemory, Server / Client, Process, ArgParser and Cli got rid of their deadlocks, data races and undefined behaviours, and every section is covered by unit tests. The licenses of the dependencies are now stated: the MIT license only covers libutils itself.
See the changelog for more details.
| Part | What changed |
|---|---|
network |
Sockets moved to utils::network, listen never blocks on a partial payload, stop / kill safe from another thread, no more SIGPIPE |
manip |
EETPParser handshake fixed (new framing, random AES iv per payload), Base64 padding, ANSI codes aligned on ECMA-48 |
encapsulation |
SharedMemory reader thread, slot release and close / join fixed, Process::spawn child isolated |
security |
RSAKey encrypts data of any size, AES / Base64 size checks, observers safe at static init |
arguments / cli |
ArgParser usages and hooks, Settings casts with range checks, Cli deadlocks and history |
| tests | 854 unit tests (~89 % of the lines), regression tests for every fixed bug, clean under ASan / UBSan |
| packages | libutils-dev requires the OpenSSL headers, licenses of the dependencies shipped (THIRD_PARTY_NOTICES.md) |
Important
[MAJOR] Not compatible with the previous versions:
- the sockets moved from
utils::network::sockettoutils::network(the old names are kept with a migration warning until ~v4.0.0) - the
EETPParserframing changed (random iv per payload, sent with the tag): both sides must usev3.0.0 utils::verbose::verboseis astd::atomic, the ANSI blink / reset codes changed,IdHandler::free(bool)becameIdHandler::clear(bool)- several public names follow the naming convention, the old ones are kept with a migration warning until ~
v4.0.0
Caution
The algorithms synced in include/utils/algorithms/ (c2dmp-hsm, s.o.s) are under CC BY-NC-SA 4.0: no commercial use without an agreement with the author.
Full Changelog: https://github.com/TsukiNi22/libutils/blob/v3.0.0/CHANGELOG.md
Compare: v2.13.2...v3.0.0
v2.13.2
Note
Many changement on the sub-section and section part. New system section with a scheduler, a loadbalancer and other thing. New encapsulation section for thing like epoll or process encapsulation. system, encapsulation, type...
See the changelog for more details.
Full Changelog: https://github.com/TsukiNi22/my_lib_cpp/blob/main/CHANGELOG.md
Compare: v2.9.2...v2.13.2
v2.9.2
Note
Multiple change of section middleware -> pool/middleware and other, rework on the warning enabling/disabling. Add of unit tests and a wiki here (not finished), new class such has cluster and encapsulation of process/pipe/dup.
See the changelog for more details.
Important
[FORCED RELEASE] Patch invalid namespace on user side from the last release v2.3.3
[FIX] utils::exceptionutils::exception -> utils::exception, only visible on user side using external exception
Full Changelog: https://github.com/TsukiNi22/my_lib_cpp/blob/main/CHANGELOG.md
Compare: v2.3.3-release...v2.9.2
v2.3.3
Note
Add of a new section networking for socket/client/server. Handling of Codec & Parser into manip sub-section smanip and a whole security sub-section encryption to handle encryption with key such has RSA/AES.
See the changelog for more details.
Full Changelog: https://github.com/TsukiNi22/my_lib_cpp/blob/main/CHANGELOG.md
Compare: v2.2.0...v2.3.3-release
v2.2.0
Note
Rework the whole observer handling. See the changelog for more details.
Full Changelog: https://github.com/TsukiNi22/my_lib_cpp/blob/main/CHANGELOG.md
Compare: v2.1.0...v2.2.0
v2.1.0
Note
Added .deb support along the .rpm. See the changelog for more details.
Full Changelog: https://github.com/TsukiNi22/my_lib_cpp/blob/main/CHANGELOG.md
Warning
Packages build with on ghcr.io/tsukini22/ci:latest and release on ghcr.io/tsukini22/package:latest
| Package Name | Content |
|---|---|
libutils |
Install the default packages (libutils-dev, libutils-op) |
libutils-dev |
Contains all includes needed and cmake global configuration |
libutils-dev-op |
Contains cmake configuration for libutils-op |
libutils-dev-db |
Contains cmake configuration for libutils-db |
libutils-dev-as |
Contains cmake configuration for libutils-as |
libutils-op |
Compiled with optimization options |
libutils-db |
Compiled with debug options (intended for debugging only) |
libutils-as |
Compiled with asan options (intended for debugging only) |
Compare: v2.0.0...v2.1.0
v2.0.0
Note
Rework of the global usage. See the changelog for more details.
Full Changelog: https://github.com/TsukiNi22/my_lib_cpp/blob/main/CHANGELOG.md
Warning
Library build with on fedora:44
Note
Use the setup script on the repo to setup dnf
wget -qO- https://raw.githubusercontent.com/TsukiNi22/utils/main/setup.sh | bash -s| Package Name | Content |
|---|---|
libutils-dev |
Contains all includes needed |
libutils-op |
Compiled with optimization options |
libutils-db |
Compiled with debug options (intended for debugging only) |
libutils-as |
Compiled with asan options (intended for debugging only) |
Compare: v1.0.0...v2.0.0
v1.0.0
Note
First release of libutils.a. See the changelog for more details — everything was added.
Full Changelog: https://github.com/TsukiNi22/my_lib_cpp/blob/main/CHANGELOG.md
Warning
Library build with docker on ubuntu:24.04
| File Name | Content |
|---|---|
include.zip |
Contains all includes needed to fully use the code in *.a |
libutils.a |
Compiled with optimization options |
libutils_debug.a |
Compiled with debug options (intended for debugging only) |
Important
See next version for libutils_asan.a (compiled with debug options for asan)