Skip to content

Releases: TokTok/c-toxcore

nightly

27 Jan 15:37
1973640

Choose a tag to compare

nightly Pre-release
Pre-release
cleanup: Add nullability to more function params and return types.

v0.2.22

07 Feb 22:36
v0.2.22
da26052

Choose a tag to compare

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)
  • potential division by zero in toxav and unsafe hex parsing (fc4396ce)
  • correct printf format specifiers for unsigned integers (46bfdc2d)
  • DHT: Correct node skipping logic timed out nodes. (d5b5e879)
  • autotools: add tox_log_level.h to public headers list (b79b7d43)
  • group_chats: fix sync packets reverting topics (e206bffa)
  • group_moderation: allow validating unsorted sanction list signatures (ece0e898)
  • toxav:
    • fix heap buffer overflow in RTP video packet handling (4fbd7c10)
    • harden video processing and fix large frame handling (da1c13a2)
    • fix multiple logic bugs in audio module (47282528)
    • fix multiple bugs in bandwidth controller and add tests (dc963d9a)
    • handle vpx_image_alloc failure (3e22fd5c)
  • toxencryptsave: Wipe salt and passkey after usage. (7cefa93c)

Features

  • Add a way to look up a file number by ID. (b144e8db)
  • Add a way to fetch groups by chat ID. (849281ea)
  • Add Event Loop abstraction (Ev). (2f87ac67)

Performance

  • Add a timed limit of number of cookie requests. (8f92e710)
  • toxav: optimize audio and video intermediate buffers by keeping them around (d68d1d09)

v0.2.22-rc.1

05 Feb 15:07
v0.2.22-rc.1
297db8a

Choose a tag to compare

v0.2.22-rc.1 Pre-release
Pre-release

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)
  • potential division by zero in toxav and unsafe hex parsing (fc4396ce)
  • correct printf format specifiers for unsigned integers (46bfdc2d)
  • DHT: Correct node skipping logic timed out nodes. (d5b5e879)
  • autotools: add tox_log_level.h to public headers list (b79b7d43)
  • group_chats: fix sync packets reverting topics (e206bffa)
  • group_moderation: allow validating unsorted sanction list signatures (ece0e898)
  • toxav:
    • fix heap buffer overflow in RTP video packet handling (4fbd7c10)
    • harden video processing and fix large frame handling (da1c13a2)
    • fix multiple logic bugs in audio module (47282528)
    • fix multiple bugs in bandwidth controller and add tests (dc963d9a)
    • handle vpx_image_alloc failure (3e22fd5c)
  • toxencryptsave: Wipe salt and passkey after usage. (7cefa93c)

Features

  • Add a way to look up a file number by ID. (b144e8db)
  • Add a way to fetch groups by chat ID. (849281ea)
  • Add Event Loop abstraction (Ev). (2f87ac67)

Performance

  • Add a timed limit of number of cookie requests. (8f92e710)
  • toxav: optimize audio and video intermediate buffers by keeping them around (d68d1d09)

v0.2.21

15 May 17:21
v0.2.21
3e6b22f

Choose a tag to compare

Release notes

This release brings 2 great featues. First, the abillty to disable DNS lookups, which has been a long requested security feature, which we plan to default to in an upcoming version.
Second, there is an network profiler, which tallies up sent and received network packets.

Beside these features we also have fixes like a 75% memory usage reduction for NGCs and connecting to NGC with a password if we are already joined, which might be necessary if a password was set or changed while you where away.
Furthermore, we now have better localhost discovery, which means that nodes on the same system find each other.


If you have not yet upgraded to the previous release (0.2.20), you absolutely should, as it fixes a security issue. All releases before 0.2.20 used VBR opus encoding, which is susceptible to transcription attacks. ( see #2757 )

Features

  • Add a Makefile for the single file deploy build. (432ab60c)
  • Implement Tox network profiler (80fabd4a)
  • Add to_string functions for toxencryptsave errors. (d10c966b)
  • implement the last 2 missing network struct functions and make use of them (ac812871)
  • Add option to disable DNS lookups in toxcore. (819aa2b2)
  • net: add missing connect to network struct (2e94da60)

Performance

  • Use stack allocation for strerror rendering. (f1991aaa)

Bug Fixes

  • ip to string function not accepting tcp families (26a991ed)
  • run do_gca also in bootstrap nodes (9f723f89)
  • Don't crash on malloc failures in bin_unpack. (edb4dfc4)
  • Fake broadcast address for 127.x.x.x (d9b8fa60)
  • Avoid memcpy-ing structs into onion ping id data. (3cfe41c7)
  • Add more information on why the frame was not sent. (e32ac001)
  • Allow TCP connections to fail connect calls. (ab887003)
  • Allow peers to reconnect to group chats using a password (fc065060)
  • reduce memory usage in group chats by 75% Significantly reduced the memory usage of groups since all message slots are preallocated for every peer for send and receive buffers of buffer size (hundreds of MiB peak when save contained alot of peers to try to connect to) (11ab1d2a)
  • friend requests with very long messages are no longer dropped (93aafd78)
  • windows use of REUSEADDR (0ac23cee)
  • forgot an enum in the nodes request rename see #2860 (9324a974)
  • bazel:
    • one more fuzz target that needs netprof (1d4cc783)
    • make net_prof visible to its consumers (066aafbf)
    • missing dep for auto_tests (9dcc2f53)
    • missing dep for fuzz target (741ac5f5)
  • ngc: dont double every message, if we are not directly connected but we and the other peer would support direct. (219773bf)

v0.2.21-rc.1

24 Feb 23:17
v0.2.21-rc.1
81b1e4f

Choose a tag to compare

v0.2.21-rc.1 Pre-release
Pre-release

Release notes

Pre-release for toxcore. Primarily, we now have an experimental network profiling callback.

Features

  • Add a Makefile for the single file deploy build. (432ab60c)
  • Implement Tox network profiler (80fabd4a)
  • Add to_string functions for toxencryptsave errors. (d10c966b)
  • implement the last 2 missing network struct functions and make use of them (ac812871)
  • Add option to disable DNS lookups in toxcore. (819aa2b2)
  • net: add missing connect to network struct (2e94da60)

Performance

  • Use stack allocation for strerror rendering. (f1991aaa)

Bug Fixes

  • ip to string function not accepting tcp families (26a991ed)
  • run do_gca also in bootstrap nodes (9f723f89)
  • Don't crash on malloc failures in bin_unpack. (edb4dfc4)
  • Fake broadcast address for 127.x.x.x (d9b8fa60)
  • Avoid memcpy-ing structs into onion ping id data. (3cfe41c7)
  • Add more information on why the frame was not sent. (e32ac001)
  • Allow TCP connections to fail connect calls. (ab887003)
  • Allow peers to reconnect to group chats using a password (fc065060)
  • reduce memory usage in group chats by 75% Significantly reduced the memory usage of groups since all message slots are preallocated for every peer for send and receive buffers of buffer size (hundreds of MiB peak when save contained alot of peers to try to connect to) (11ab1d2a)
  • friend requests with very long messages are no longer dropped (93aafd78)
  • windows use of REUSEADDR (0ac23cee)

v0.2.20

11 Nov 01:55
v0.2.20
934a830

Choose a tag to compare

Release Notes

Bug Fixes

Documentation

Maintenance (Grunt tasks)

Maintenance (Code cleanup)

Maintenance (Dependencies)

  • bump golang.org/x/net from 0.17.0 to 0.23.0 in /other/bootstrap_daemon/websocket/websockify @dependabot (#2751)

Maintenance (Refactoring)

  • Make ToxAV independent of toxcore internals. @iphydf (#2651)

v0.2.19

28 Mar 00:56
v0.2.19
da43876

Choose a tag to compare

Release Notes

Read more

v0.2.18

18 Apr 18:31
v0.2.18
3a5da35

Choose a tag to compare

Release Notes

Features

Performance improvements

  • Make time move a lot faster in fuzzing runs. @iphydf (#2193)

Bug Fixes

Documentation

  • Add information regarding git submodules, cmp to INSTALL.md @Tha14 (#2201)
  • Put all the tox public api into a fake "tox" namespace. @iphydf (#2153)

Maintenance (Grunt tasks)

Maintenance (Code cleanup)

Maintenance (Dependencies)

  • Use upstream cmp directly instead of our fork. @iphydf (#2240)

Maintenance (Refactoring)

  • Move crypto utilities from util to crypto_core. @iphydf (#2284)
  • Avoid static_cast in Fuzz_System functions. @iphydf (#2277)
  • Protect array unpacking against invalid lengths. @iphydf (#2261)
  • Rename announce functions into their own namespace. @iphydf (#2258)
  • Use a struct for the ip_ntoa buffer. @iphydf (#2248)
  • Allow NULL logger; make it no-op in NDEBUG. @iphydf (#2244)
  • Rename bin_pack/unpack functions the same as cmp funcs. @iphydf (#2219)
  • Use cmp instead of msgpack-c for events packing. @iphydf (#2175)

Maintenance (Tests)

v0.2.17

06 Mar 01:32
v0.2.17
0467101

Choose a tag to compare

Release Notes

Performance improvements

  • Refactor onion_client.c do_friends() to reduce network traffic @JFreegman (#2078)
  • fix issue with friend finding taking too long after disconnects. @JFreegman (#2092)

Bug Fixes

Documentation

  • Clean up doxygen comments to be more doxygen-like. @iphydf (#2136)

Maintenance (Grunt tasks)

Maintenance (Code cleanup)

Maintenance (Refactoring)

Maintenance (Tests)

  • Add unit test for create/handle request packets. @iphydf (#2128)
  • Add mallocfail and proxy test to our coverage runs. @iphydf (#2108)
  • Add test coverage docker build for local tests. @iphydf (#2106)

v0.2.16

19 Feb 00:09
v0.2.16
1937ee3

Choose a tag to compare

Release Notes

Features

Performance improvements

  • Take advantage of fast networks for file transfers @zugz (#1668)
  • Reduce minimal encoding size of packed events. @iphydf (#2024)

Bug Fixes

Documentation

Maintenance (Grunt tasks)

Maintenance (Code cleanup)

Maintenance (Refactoring)

  • Compare pointers in if conditions to nullptr. @iphydf (#2043)
  • Add a bit more logging; change WARNING to ERROR. @iphydf (#2039)

Maintenance (Tests)