Skip to content

Releases: TsukiNi22/libutils

v3.0.0

Choose a tag to compare

@TsukiNi22 TsukiNi22 released this 04 Oct 22:14
Immutable release. Only release title and notes can be modified.

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::socket to utils::network (the old names are kept with a migration warning until ~v4.0.0)
  • the EETPParser framing changed (random iv per payload, sent with the tag): both sides must use v3.0.0
  • utils::verbose::verbose is a std::atomic, the ANSI blink / reset codes changed, IdHandler::free(bool) became IdHandler::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

Choose a tag to compare

@TsukiNi22 TsukiNi22 released this 06 Sep 06:28
Immutable release. Only release title and notes can be modified.

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

Choose a tag to compare

@TsukiNi22 TsukiNi22 released this 20 Aug 20:01
Immutable release. Only release title and notes can be modified.

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

Choose a tag to compare

@TsukiNi22 TsukiNi22 released this 16 Aug 08:30
Immutable release. Only release title and notes can be modified.

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

Choose a tag to compare

@TsukiNi22 TsukiNi22 released this 01 Aug 17:45
Immutable release. Only release title and notes can be modified.

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

Choose a tag to compare

@TsukiNi22 TsukiNi22 released this 29 Jul 20:59
Immutable release. Only release title and notes can be modified.

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

Choose a tag to compare

@TsukiNi22 TsukiNi22 released this 28 Jul 18:16
Immutable release. Only release title and notes can be modified.
63e62bf

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

Choose a tag to compare

@TsukiNi22 TsukiNi22 released this 17 Jul 01:02

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)