From 297db8ac45ebf3c569fe210e1d2db80c0f8eb98f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 5 Feb 2026 07:45:27 +0000 Subject: [PATCH] chore: Release v0.2.22-rc.1 This release focuses on hardening, architectural refinement, and better testing capabilities. On the Hardening front, the ToxAV module has undergone significant security improvements. We have addressed a heap buffer overflow in RTP packet handling and fixed several logic bugs in the bandwidth controller and audio modules that could affect stability. Architectural Refactoring continues with the internalization of core system dependencies. The system clock, random number generation, and memory management are now accessed through abstract interfaces, further decoupling the core from OS-specific implementations and making the codebase more portable and testable. --- CHANGELOG.md | 40 +++++++++++++++++++++++++++ CMakeLists.txt | 2 +- configure.ac | 2 +- other/docker/pkgsrc/pkgsrc.Dockerfile | 4 +-- other/docker/pkgsrc/pkgsrc.patch | 4 +-- so.version | 4 +-- toxcore/tox.h | 2 +- 7 files changed, 49 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd7d6868d..2fec76cd8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,43 @@ + + +## v0.2.22-rc.1 (2026-02-05) + +### Release notes + +This release focuses on hardening, architectural refinement, and better testing capabilities. + +On the Hardening front, the ToxAV module has undergone significant security improvements. We have addressed a heap buffer overflow in RTP packet handling and fixed several logic bugs in the bandwidth controller and audio modules that could affect stability. + +Architectural Refactoring continues with the internalization of core system dependencies. The system clock, random number generation, and memory management are now accessed through abstract interfaces, further decoupling the core from OS-specific implementations and making the codebase more portable and testable. + +#### Bug Fixes + +- Prevent potential integer overflow in group chat handshake. ([8b467cc9](https://github.com/TokTok/c-toxcore/commit/8b467cc9634e97fdef2035f729756d45b93b9b1f)) +- potential division by zero in toxav and unsafe hex parsing ([fc4396ce](https://github.com/TokTok/c-toxcore/commit/fc4396cef61f4a5c277aa9f944766150a29f09cb)) +- correct printf format specifiers for unsigned integers ([46bfdc2d](https://github.com/TokTok/c-toxcore/commit/46bfdc2df769e9da8c6e1377493266fc70078e3e)) +- **DHT:** Correct node skipping logic timed out nodes. ([d5b5e879](https://github.com/TokTok/c-toxcore/commit/d5b5e879d0d57ecb5de91b8520461e7fd79c3ac1)) +- **autotools:** add `tox_log_level.h` to public headers list ([b79b7d43](https://github.com/TokTok/c-toxcore/commit/b79b7d4365c5835aafe2eb85b396440aa9d35911)) +- **group_chats:** fix sync packets reverting topics ([e206bffa](https://github.com/TokTok/c-toxcore/commit/e206bffa2dd25bffee1689a1605d4a78723f5eea)) +- **group_moderation:** allow validating unsorted sanction list signatures ([ece0e898](https://github.com/TokTok/c-toxcore/commit/ece0e89801282011397cb11b500670a016fb4284)) +- **toxav:** + - fix heap buffer overflow in RTP video packet handling ([4fbd7c10](https://github.com/TokTok/c-toxcore/commit/4fbd7c10a97eadbcf97b149e954cba5a92237381)) + - harden video processing and fix large frame handling ([da1c13a2](https://github.com/TokTok/c-toxcore/commit/da1c13a2f90d86d4f9a1692f9ffb8112db48cb69)) + - fix multiple logic bugs in audio module ([47282528](https://github.com/TokTok/c-toxcore/commit/47282528883d7b2474b82bf1a5f977dc2c0aa6c4)) + - fix multiple bugs in bandwidth controller and add tests ([dc963d9a](https://github.com/TokTok/c-toxcore/commit/dc963d9a9904d0f3c459604065669a2d8e2bc522)) + - handle `vpx_image_alloc` failure ([3e22fd5c](https://github.com/TokTok/c-toxcore/commit/3e22fd5cc418153571cb9ce5947701dabd061cce)) +- **toxencryptsave:** Wipe salt and passkey after usage. ([7cefa93c](https://github.com/TokTok/c-toxcore/commit/7cefa93cf2974a47f43c068d47ed8a198781ec48)) + +#### Features + +- Add a way to look up a file number by ID. ([b144e8db](https://github.com/TokTok/c-toxcore/commit/b144e8db10292d1016dfc2014a91a0eb03b49b8e)) +- Add a way to fetch groups by chat ID. ([849281ea](https://github.com/TokTok/c-toxcore/commit/849281ea08e764c63dad626abcc68ff583d24530)) +- Add Event Loop abstraction (Ev). ([2f87ac67](https://github.com/TokTok/c-toxcore/commit/2f87ac67b0b1ecaa8275e8c6d0f4cc97ca63c0c4)) + +#### Performance + +- Add a timed limit of number of cookie requests. ([8f92e710](https://github.com/TokTok/c-toxcore/commit/8f92e710f30b55ec0c21152624301d22a8e98d0b)) +- **toxav:** optimize audio and video intermediate buffers by keeping them around ([d68d1d09](https://github.com/TokTok/c-toxcore/commit/d68d1d0950487815f7a0069107dfdc518735c1a6)) + ## v0.2.21 (2025-05-15) diff --git a/CMakeLists.txt b/CMakeLists.txt index ebb9ccec6..02b774db8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -45,7 +45,7 @@ set_source_files_properties( # versions in a synchronised way. set(PROJECT_VERSION_MAJOR "0") set(PROJECT_VERSION_MINOR "2") -set(PROJECT_VERSION_PATCH "21") +set(PROJECT_VERSION_PATCH "22") set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}") # set .so library version / following libtool scheme diff --git a/configure.ac b/configure.ac index 5fe35cd97..c3c79f362 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.65]) -AC_INIT([tox], [0.2.21]) +AC_INIT([tox], [0.2.22]) AC_CONFIG_AUX_DIR(configure_aux) AC_CONFIG_SRCDIR([toxcore/net_crypto.c]) AM_INIT_AUTOMAKE([foreign 1.10 -Wall -Werror subdir-objects tar-ustar]) diff --git a/other/docker/pkgsrc/pkgsrc.Dockerfile b/other/docker/pkgsrc/pkgsrc.Dockerfile index 2c1c2df28..61496b201 100644 --- a/other/docker/pkgsrc/pkgsrc.Dockerfile +++ b/other/docker/pkgsrc/pkgsrc.Dockerfile @@ -1,8 +1,8 @@ FROM toxchat/pkgsrc:latest WORKDIR /work -COPY . /work/c-toxcore-0.2.21 -RUN ["tar", "zcf", "c-toxcore.tar.gz", "c-toxcore-0.2.21"] +COPY . /work/c-toxcore-0.2.22 +RUN ["tar", "zcf", "c-toxcore.tar.gz", "c-toxcore-0.2.22"] WORKDIR /work/pkgsrc COPY other/docker/pkgsrc/pkgsrc.patch /tmp/pkgsrc.patch diff --git a/other/docker/pkgsrc/pkgsrc.patch b/other/docker/pkgsrc/pkgsrc.patch index be2b29740..8eb034235 100644 --- a/other/docker/pkgsrc/pkgsrc.patch +++ b/other/docker/pkgsrc/pkgsrc.patch @@ -6,7 +6,7 @@ index 70466704d..53a08ad08 100644 # $NetBSD: Makefile,v 1.6 2024/01/22 13:16:56 ryoon Exp $ -DISTNAME= toxcore-0.2.18 -+DISTNAME= toxcore-0.2.21 ++DISTNAME= toxcore-0.2.22 PKGREVISION= 2 CATEGORIES= chat MASTER_SITES= ${MASTER_SITE_GITHUB:=TokTok/} @@ -26,6 +26,6 @@ index f0a5e4f04..4122b0867 100644 lib/libtoxcore.so lib/libtoxcore.so.2 -lib/libtoxcore.so.2.18.0 -+lib/libtoxcore.so.2.21.0 ++lib/libtoxcore.so.2.22.0 lib/pkgconfig/toxcore.pc share/bash-completion/completions/tox-bootstrapd diff --git a/so.version b/so.version index 7e5d9222e..a58166966 100644 --- a/so.version +++ b/so.version @@ -11,6 +11,6 @@ # For a full reference see: # https://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info -CURRENT=23 +CURRENT=24 REVISION=0 -AGE=21 +AGE=22 diff --git a/toxcore/tox.h b/toxcore/tox.h index c19182d34..926518a65 100644 --- a/toxcore/tox.h +++ b/toxcore/tox.h @@ -154,7 +154,7 @@ uint32_t tox_version_minor(void); * Incremented when bugfixes are applied without changing any functionality or * API or ABI. */ -#define TOX_VERSION_PATCH 21 +#define TOX_VERSION_PATCH 22 uint32_t tox_version_patch(void);