Releases: TokTok/c-toxcore
Releases · TokTok/c-toxcore
v0.2.19
Release Notes
- Add cmake flag to disable unit tests. @iphydf (#2742)
- Document that group topic lock is default on. @iphydf (#2744)
- Add missing param docs for callbacks. @iphydf (#2743)
- Don't expose Tox_System in the public API @nurupo (#2741)
- Small API doc fixes @nurupo (#2735)
- Rename
out
parameters toout_$something
. @iphydf (#2726) - event length naming inconsistencies @Green-Sky (#2732)
- flaky tcp test @Green-Sky (#2369)
- Update and improve the Windows cross-compilation @nurupo (#2713)
- Use a specific non-broken slimcc version. @iphydf (#2718)
- Update github actions. @iphydf (#2712)
- Update the list of CMake options @nurupo (#2710)
- Rename Queries to Query to align with other enums. @iphydf (#2705)
- Correct type for conference offline peer numbers. @iphydf (#2704)
- Add pkgsrc build. @iphydf (#2699)
- Add FreeBSD VM action on GitHub. @iphydf (#2700)
- Build toxcore on NetBSD (VM). @iphydf (#2697)
- Only install tox_private.h on request. @iphydf (#2698)
- Don't serve files from websockify. @iphydf (#2695)
- Correctly pass extended public keys to group moderation code. @iphydf (#2689)
- Use
structs
for extended public/secret keys. @iphydf (#2672) - Compile libsodium reference implementation with compcert. @iphydf (#2686)
- Don't use
memcpy
to cast arbitrarystruct
s touint8_t[]
. @iphydf (#2684) - Pass array, not array pointer, to
memcmp
. @iphydf (#2683) - Never pass
void*
directly tomemcpy
. @iphydf (#2682) - Use tox rng to seed the keypair generation. @iphydf (#2671)
- Small improvements found by PVS Studio. @iphydf (#2666)
- Disable NGC saving by default, enable through Tox_Options. @iphydf (#2678)
- Replace pointer arithmetic with explicit
&arr[i]
. @iphydf (#2675) - Use strong typedef for NGC peer id. @iphydf (#2643)
- Simplify custom packet length check in NGC. @iphydf (#2659)
- Correct a few potential null derefs in bootstrap daemon. @iphydf (#2662)
- Add missing memunlock of local variable when it goes out of scope. @iphydf (#2660)
- Zero out stack-allocated secret key before return. @iphydf (#2661)
- Make prune_gc_sanctions_list more obviously correct. @iphydf (#2658)
- Add static analysis tool list to README. @iphydf (#2656)
- Run prettier-markdown on markdown files. @iphydf (#2664)
- Use strong
typedef
instead ofstruct
forSocket
. @iphydf (#2640) - Fix some false positive from PVS Studio. @iphydf (#2657)
- Check that WINXP macro exists before comparing it. @iphydf (#2655)
- Make tox mutex non-recursive. @iphydf (#2652)
- Fix up doxyfile. @iphydf (#2647)
- Add more documentation to crypto_core. @iphydf (#2648)
- Remove
Tox *
fromtox_dispatch
. @iphydf (#2645) - Don't rely on tox_dispatch passing tox in tests. @iphydf (#2644)
- Use C++ mode for clang-tidy. @iphydf (#2642)
- Check that both gtest and gmock exist for tests. @iphydf (#2637)
- Add slimcc compiler compatibility test. @iphydf (#2624)
- Add some comments to the astyle config. @iphydf (#2634)
- Remove implicit bool conversions. @iphydf (#2621)
- Rename C++ headers to .hh suffixes. @iphydf (#2626)
- Further
#include
cleanups. @iphydf (#2617) - Only check the bootstrap daemon checksum on release. @iphydf (#2620)
- Add more
const
where possible. @iphydf (#2622) - Use Bazel modules to enforce proper
#include
hygiene. @iphydf (#2614) - Move pack/unpack
IP_Port
from DHT into network module. @iphydf (#2612) - Really fix coverage docker image build. @iphydf (#2611)
- Fix post-submit coverage image. @iphydf (#2610)
- Don't use
memcmp
to compareIP_Port
s. @iphydf (#2605) - Fix rpm build; add a CI check for it. @iphydf (#2604)
- Speed up docker builds a bit by reducing layer count. @iphydf (#2603)
- Add
const
where possible in auto tests. @iphydf (#2602) - Minor cleanup of event unpack code. @iphydf (#2580)
- Rename
system_{memory,...}
toos_{memory,...}
. @iphydf (#2598) - Remove all uses of
SIZEOF_VLA
. @iphydf (#2592) - Add goblint static analyser. @iphydf (#2597)
- Use
memzero(x, s)
instead ofmemset(x, 0, s)
. @iphydf (#2594) - Use explicit 0 instead of
PACKET_ID_PADDING
. @iphydf (#2593) - Expand the
Tox_Options
accessor macros. @iphydf (#2591) - Remove plan9 support. @iphydf (#2588)
- Add a simple new/delete test for Tox. @iphydf (#2590)
- Add comment after every
#endif
. @iphydf (#2587) - Fix comment I broke in the events test PR. @iphydf (#2583)
- Migrate auto_tests to new events API. @iphydf (#2559)
- Add common msgpack array packer with callback. @iphydf (#2577)
- Rename group to conference in groupav documentation. @iphydf (#2582)
- Ensure handler params are named after callback params. @iphydf (#2581)
- Pass
this
pointer as first param to s11n callbacks. @iphydf (#2575) - Allow NULL pointers for byte arrays in events. @iphydf (#2578)
- Remove
bin_pack_{new,free}
. @iphydf (#2572) - Add dht_get_nodes_response event to the events system. @iphydf (#2568)
- Use enum-specific pack functions for enum values. @iphydf (#2567)
- Factor out union pack switch from event packer. @iphydf (#2565)
- Move the 2-element array pack out of individual events. @iphydf (#2564)
- Remove empty test doing nothing. @iphydf (#2566)
- Add printf log statement to group_moderation_test. @iphydf (#2563)
- Make event dispatch ordered by receive time. @iphydf (#2392)
- tests use ipv6 by default, even with USE_IPV6 set to 0 @Green-Sky (#2468)
- add clangd files to .gitignore @Green-Sky (#2562)
- Move file streaming test to its own file. @iphydf (#2561)
- window builds now build in parallel @Green-Sky (#2560)
- Add C++ classes wrapping system interfaces. @iphydf (#2557)
- Make all the fuzzers work again, and add a test for protodump. @iphydf (#2554)
- Factor out malloc+memcpy into memdup. @iphydf (#2538)
- Make sure there's enough space for CONSUME1 in fuzzers. @iphydf (#2552)
- Add fuzz tests to the coverage run. @iphydf (#2547)
- Move from gcov to llvm source-based coverage. @iphydf (#2551)
- Use
operator==
for equality tests ofNode_format
. @iphydf (#2545) - Slightly nicer C++ interface to tox Random. @iphydf (#2543)
- Minor refactoring of get_close_nodes functions. @iphydf (#2539)
- Some more test cleanups, removing overly smart code. @iphydf (#2536)
- Assign malloc return to a local variable first. @iphydf (#2530)
- Add more unit tests for
add_to_list
. @iphydf (#2531) - Add "infer" CI check to github, remove from circle. @iphydf (#2529)
- Add dynamically derived array sizes to the API. @iphydf (#2525)
- Add explicit array sizes to toxencryptsave. @iphydf (#2524)
- Add Toxav alias for ToxAV. @iphydf (#2527)
- Make Tox_Options a typedef. @iphydf (#2526)
- Simplify msvc build using vcpkg. @iphydf (#2498)
- Move
tox_get_system
out of the public API. @iphydf (#2523) - Align group message sending with other send functions. @iphydf (#2519)
- Make setters take non-const
Tox *
. @iphydf (#2522) - Mark arrays in the tox API as
[]
instead of*
. @iphydf (#2520) - Make array params in toxav
[]
instead of*
. @iphydf (#2521) - Add typedefs for public API int identifiers. @iphydf (#2518)
- Add fetch-sha256 script to update bootstrap node hash. @iphydf (#2513)
- Remove settings.yml in favour of hs-github-tools. @iphydf (#2516)
- Use GPL license with https. @iphydf (#2515)
- Move all vptr-to-ptr casts to the beginning of a function. @iphydf (#2512)
- Use github actions matrix to simplify CI. @iphydf (#2510)
- Use QueryPerformanceCounter on windows for monotonic time. @iphydf (#2509)
- Add
net_(new|kill)_strerror
to cppcheck's allocators. @iphydf (#2508) - Run clang-tidy on headers, as well. @iphydf (#2507)
- Make TCP connection failures a warning instead of error. @iphydf (#2506)
- Make all .c files include the headers they need. @iphydf (#2505)
- Upgrade to clang-tidy-17 and fix some warnings. @iphydf (#2503)
- Upgrade cppcheck, fix some warnings. @iphydf (#2504)
- Use
pkg_search_module
directly in cmake. @iphydf (#2502) - Use target_link_libraries directly in cmake. @iphydf (#2499)
- Add
IMPORTED_TARGET
to pkg-config packages. @iphydf (#2501) - Remove NaCl support. @iphydf (#2497)
- unpack enum function names in event impl generator @Green-Sky (#2494)
- Disable targets for cross-compilation. @iphydf (#2493)
- Build a docker image with coverage info in it. @iphydf (#2491)
- Some portability/warning fixes for Windows builds. @iphydf (#2490)
- Correct a use-after-free and fix some memory leaks. @iphydf (#2488)
- Change all enum-like
#define
sequences into enums. @iphydf (#2487) - Fix make_single_file to support core-only. @iphydf (#2484)
- Change the
TCP_PACKET_*
defines into an enum. @iphydf (#2486) - event generation tool for reorder pr @Green-Sky (#2485)
- Give
enum-from-int
functions the ability to report errors. @iphydf (#2475) - Update github actions
uses
. @iphydf (#2481) - Make esp32 build actually try to instantiate tox. @iphydf (#2439)
- Remove test net support. @iphydf (#2474)
- add ngc related unpack functions @Green-Sky (#2480)
- Add
to_string
functions for all public enums. @iphydf (#2479) - add real timeout test @Green-Sky (#2477)
- Move s390x build to post-merge. @iphydf (#2476)
- Slightly reduce bandwidth usage when there are few nodes. @iphydf (#2442)
- Enable ubsan on bootstrap nodes. @iphydf (#2472)
- Add check-c run to bazel build. @iphydf (#2470)
- increase NGC lossy custom packet size @Green-Sky (#2384)
- replace memset with a loop @nurupo (#2465)
- also Install header for private/experimental API functions with autotools @zoff99 (#2458)
- Enable debug flag for ubsan. @iphydf (#2459)
- memory leaks @nurupo (#2454)
- replace DEFAULT_TCP_RELAY_PORTS_COUNT with a compile-time calculation @nurupo (#2452)
- clarify disabling of static assert checks @nurupo (#2451)
- Use Bin_Pack for packing Node_format. @iphydf (#2420)
- replace tabs with spaces @nurupo (#2449)
- Docker tox-bootstrapd hash update f...
v0.2.18
Release Notes
Features
- Merge group announce portion of new groupchats implementation @JFreegman (#2230)
- Allow overriding mono_time in tox_new. @iphydf (#2206)
- Store announcements @zugz (#2147)
- Add support for custom random number generator. @iphydf (#2190)
- Merge moderation portion of new groupchats codebase @JFreegman (#2169)
- Add support for overriding network functions. @iphydf (#2177)
- Merge onion_announce changes from new groupchats fork @JFreegman (#2164)
Performance improvements
Bug Fixes
- remove the assert because buffer can be larger than UINT16_MAX. @zoff99 (#2299)
- Don't allow onion paths to be built from real friends. @iphydf (#2287)
- Fix potential array out-of-bounds in DHT onion path building. @iphydf (#2282)
- Allow onion paths to be built from more random nodes. @iphydf (#2283)
- Really fix overrun added in e49a477 @zugz (#2273)
- Add missing return on error @JFreegman (#2272)
- Fixed leak and overrun added in e49a477 @zugz (#2266)
- Format IP as string again in error log. @iphydf (#2257)
- Fix a stack overflow triggered by small DHT packets. @iphydf (#2255)
- Don't crash if RNG init failed. @iphydf (#2246)
- fix typo in git command in INSTALL.md @zugz (#2225)
- Correct calculation of packet sent time @zugz (#2195)
- Eliminate memory leak in toxav. @iphydf (#2155)
- Allow port range in DHT_bootstrap.c. @iphydf (#2143)
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)
- Release 0.2.18 @robinlinden (#2300)
- Downgrade C++ version to 17 @JFreegman (#2275)
- Upgrade to C++20 in CMake build. @iphydf (#2263)
- Add initial ESP32 docker build. @iphydf (#2243)
- Add MISRA-2012 check using cppcheck's misra addon. @iphydf (#2251)
- Support producing shared libraries on Windows @robinlinden (#2204)
- Add dependabot config. @iphydf (#2236)
- Fix path to fuzzer binaries in clusterfuzz build. @iphydf (#2228)
- Add
uint8_t
version ofbin_pack
for numbers. @iphydf (#2223) - Clone submodules in clusterfuzzlite Dockerfile. @iphydf (#2210)
- Remove valgrind build. @iphydf (#2208)
- Add third_party to toxcore-sources docker image. @iphydf (#2189)
- Use "master" as the branch in toktok-fuzzer. @iphydf (#2173)
- Enable memory sanitizer build. @iphydf (#2163)
- Update the Appveyor build to VS2019 to work around conan issues @robinlinden (#2159)
- Be even more explicit about integer range bounds. @iphydf (#2145)
- Add testing/Dockerfile to the CI build. @iphydf (#2146)
Maintenance (Code cleanup)
- remove unused field last_seen from Onion_Friend @zugz (#2297)
- Avoid goto in msi.c. @iphydf (#2281)
- Replace a series of
if
statements with aswitch
. @iphydf (#2233) - remove populate_path_nodes_tcp @zugz (#2250)
- Use
static_assert
instead ofassert
where possible. @iphydf (#2242) - Make
*_free
andkill_*
functions nullable. @iphydf (#2238) - Remove layers in the cmake build. @iphydf (#2229)
- Add Network object parameter for addr_resolve. @iphydf (#2217)
- Remove unused random_testing program. @iphydf (#2213)
- Remove all uses of
TOX_*_MAX_SIZE
macros. @iphydf (#2214) - Add include for assert.h for the fuzzing build. @iphydf (#2224)
- Move definitions of tox_private.h functions to tox_private.c. @iphydf (#2211)
- Expand
CONST_FUNCTION
and remove the macro. @iphydf (#2212) - Mark Mono_Time const where possible. @iphydf (#2199)
- Avoid name clash between struct field and function. @iphydf (#2202)
- Add more null checks in
tox_new
. @iphydf (#2200) - Make addr_resolve a private function. @iphydf (#2188)
- Use
_Static_assert
in gcc/clang. @iphydf (#2186) - improve CMakeLists.txt structure @sudden6 (#2101)
- Expose
struct Tox
to internal code. @iphydf (#2158) - Reduce scope of array-typed variables where possible. @iphydf (#2167)
- Reduce scope of variables as requested by cimple. @iphydf (#2166)
- Avoid
memset
on structs. @iphydf (#2149) - Split the huge TCP client packet handler. @iphydf (#2157)
- Sync doc comments between .h and .c files. @iphydf (#2156)
- Move all the group.h structs into group.c. @iphydf (#2150)
- Minor cleanups in TCP_connection.c. @iphydf (#2144)
- Count re-adding an existing bootstrap node as success. @iphydf (#2142)
- Disable LAN discovery in TCP-only mode. @iphydf (#2141)
- Add assertion for decrypted data length. @iphydf (#2140)
Maintenance (Dependencies)
Maintenance (Refactoring)
- Move crypto utilities from util to crypto_core. @iphydf (#2284)
- Avoid
static_cast
inFuzz_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)
- Improve test hermeticity by using local TCP relay. @iphydf (#2280)
- Add a Null_System used in toxsave_harness. @iphydf (#2289)
- enable additional sanitizers for fuzzing @sudden6 (#2288)
- Enable fuzzing for TCP. @iphydf (#2279)
- Don't abort fuzz test when tox_new fails. @iphydf (#2285)
- Improve error messages in toxav_basic_test. @iphydf (#2270)
- Add more functionality to the bootstrap fuzz harness. @iphydf (#2234)
- Improve stability of forwarding_test. @iphydf (#2249)
- Add fuzzer support functions for internal toxcore objects. @iphydf (#2232)
- Add DHT and tox_events fuzz tests to the cmake build. @iphydf (#2187)
- Remove save_load_test from autotools build. @iphydf (#2196)
- Enable more tests for msan. @iphydf (#2183)
- Add some support functions to make writing fuzzers easier. @iphydf (#2184)
- Improve stability of tox_many_tcp_test. @iphydf (#2182)
- try to save the fuzzed save file again @sudden6 (#2176)
- Add fuzzer tests to the bazel build. @iphydf (#2170)
- Improve the stability of the save_load test @robinlinden (#2160)
- Speed up toxav_many_test by using fake mono_time. @iphydf (#2154)
v0.2.17
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
- Report failure to DHT bootstrap back to the client. @iphydf (#2104)
- Null function pointer dereference. @iphydf (#2094)
- out-of-memory condition by corrupted save file @sudden6 (#2084)
- toxsave memory leak while loading groups @sudden6 (#2064)
Documentation
Maintenance (Grunt tasks)
- Enable a bunch more warnings in GCC builds. @iphydf (#2122)
- remove cpufeatures.c @sudden6 (#2100)
- remove DHT_test.c since it's unused @sudden6 (#2098)
- Add a .clang-format that mostly agrees with astyle. @iphydf (#2075)
- Make coverity scan a nightly job. @iphydf (#2074)
- Simplify and speed up windows builds using docker image. @iphydf (#2072)
- Fix build-args in win32/win64 docker build. @iphydf (#2073)
- Add docker image builds for windows cross compiler. @iphydf (#2070)
Maintenance (Code cleanup)
- Add explicit callback setters for MSI callbacks. @iphydf (#2134)
- Split util.c out of the network library. @iphydf (#2131)
- Remove redundant
()
aroundreturn
expression. @iphydf (#2130) - Move test-only functions into tests. @iphydf (#2135)
- Remove redundant Messenger and DHT tests. @iphydf (#2133)
- Remove
EAGAIN
from the list of ignored errors. @iphydf (#2127) - Remove port from
Broadcast_Info
. @iphydf (#2126) - Don't reference local variables in macro bodies. @iphydf (#2125)
- Remove some more implicit bool conversions. @iphydf (#2123)
- Log at ERROR level when
connect()
fails. @iphydf (#2115) - Remove all boolean-int conversions. @iphydf (#2120)
- Remove more boolean conversions (and a bugfix). @iphydf (#2116)
- Comply with strict include ordering. @iphydf (#2117)
- Avoid creating invalid enum values. @iphydf (#2114)
- Remove superfluous parentheses on the rhs of assignments. @iphydf (#2113)
- Change valid status of onion friend to bool. @iphydf (#2105)
- Remove more implicit bool conversions. @iphydf (#2103)
- Mark all local non-pointers as const where possible. @iphydf (#2102)
- Reduce name shadowing; remove ptr-to-bool conversions. @iphydf (#2099)
- Remove implicit conversions from
uint32_t
tobool
. @iphydf (#2097) - Return boolean constants, not ints from bool functions. @iphydf (#2096)
- Remove any disallowed casts. @iphydf (#2093)
- Avoid casting function pointers. @iphydf (#2091)
- Enable most cppcheck warnings as errors. @iphydf (#2086)
- Remove all implicit bool conversions in if-conditions. @iphydf (#2088)
- Remove unused execution trace library. @iphydf (#2079)
Maintenance (Refactoring)
Maintenance (Tests)
v0.2.16
Release Notes
Features
- Improve how we share TCP relays with friends @JFreegman (#2047)
- add DHT queries to private API @JFreegman (#1935)
- add bash-completion for tox-bootstrapd @nurupo (#2007)
- Add unpacker functions for events structures. @iphydf (#1996)
- Add binary packing functions for tox events. @iphydf (#1993)
- Add async event handling (callbacks) code. @iphydf (#1952)
Performance improvements
- Take advantage of fast networks for file transfers @zugz (#1668)
- Reduce minimal encoding size of packed events. @iphydf (#2024)
Bug Fixes
- properly deallocate frozen peers @sudden6 (#2058)
- Fix return type of functions returning uint64_t. @iphydf (#2052)
- file transfer bug introduced in commit 2073d02 @JFreegman (#2041)
- remove bogus asserts in fuzzer harness @sudden6 (#2031)
- syntax error introduced in 8bf3799 @sudden6 (#2028)
- add continous fuzzing @sudden6 (#2027)
- Coverty scan @nurupo (#2018)
- shared toxcore autotools build failing @nurupo (#2015)
- Conan build link failures @robinlinden (#2011)
Documentation
- Add libmsgpack dependency in INSTALL.md @cryptogospod (#2016)
Maintenance (Grunt tasks)
- Simplify and speed up nacl build using toxchat/nacl. @iphydf (#2069)
- Add BUILD file for websockify. @iphydf (#2036)
- fine tune fuzzing settings @sudden6 (#2035)
- update the list of CMake options & Windows Docker build deps @nurupo (#2032)
- expand fuzzing to toxsave @sudden6 (#2030)
- Fix implicit declaration warning in fuzz build @robinlinden (#2026)
- add continous fuzzing to our CI @sudden6 (#2025)
- Set up an Android CI job @robinlinden (#1992)
- Disable non-null attributes by default. @iphydf (#2021)
- Silence clang compile warnings causing circle-ci/asan to fail @JFreegman (#2019)
- Coverty scan @nurupo (#2018)
- get skeletons out of the closet @nurupo (#2008)
- shared toxcore autotools build failing @nurupo (#2015)
- Remove duplicate source file in autotools build. @iphydf (#2010)
- Add an undefined behaviour/integer sanitizer build. @iphydf (#2001)
- Speed up cmake builds with
UNITY_BUILD
. @iphydf (#1999) - Add an easy way to run autotools and circleci builds locally. @iphydf (#1982)
- Update readme header @robinlinden (#1979)
Maintenance (Code cleanup)
- Enable tokstyle's
-Wlarge-struct-params
. @iphydf (#2053) - Avoid implicit bool conversions in logical operators. @iphydf (#2055)
- Avoid implicit boolean and floating point conversions in decls. @iphydf (#2056)
- Apply stronger type checks and fix errors. @iphydf (#2049)
- Avoid implicit pointer-to-bool conversion in
if
in toxav. @iphydf (#2046) - Add some more error path logging to TCP server code. @iphydf (#2033)
- Add wrapper library for msgpack pack functions @JFreegman (#2023)
- Don't use VLAs for huge allocations. @iphydf (#2013)
- Split tox_unpack into two smaller libs @JFreegman (#2022)
- get skeletons out of the closet @nurupo (#2008)
- Add more nonnull and nullable annotations. @iphydf (#2006)
- Add nonnull annotations to function definitions. @iphydf (#2002)
- Make LAN discovery thread-safe without data races. @iphydf (#1988)
- Comply with new cimple callback rules. @iphydf (#1987)
- Split msi callback array into 1 member per callback @robinlinden (#1985)
Maintenance (Refactoring)
- Compare pointers in if conditions to nullptr. @iphydf (#2043)
- Add a bit more logging; change WARNING to ERROR. @iphydf (#2039)
Maintenance (Tests)
v0.2.15
v0.2.14
Release Notes
Features
- Add WASM build for toxcore and websocket bootstrap node. @iphydf (#1950)
- Add programs for creating savedata & bootstrap keys @nurupo (#1818)
- Add automatic fuzz testing for c-toxcore @sudden6 (#1720)
Performance improvements
Bug Fixes
- potential freeing of an immutable static buffer @nurupo (#1948)
- Fix bootstrap on emscripten/wasm. @iphydf (#1945)
- unintentional integer down-casts @JFreegman (#1928)
- corruption in key files, making it unable to load when node starts. @Tha14 (#1923)
- group av memory leak @JFreegman (#1926)
- buffer overwrite in bootstrap config @JFreegman (#1917)
- Fix
toxav_basic_test
buffer overflow. @iphydf (#1879) - don't count filetransfer as sending until accepted @sudden6 (#1878)
- Fix some uninitialised memory errors found by valgrind. @iphydf (#1877)
- a double-unlocking mutex in toxav @nurupo (#1832)
- use correct sample size in toxav_basic_test @sudden6 (#1845)
- possible unintended negative loop bound @JFreegman (#1836)
- Fix file permission issue with toxchat/bootstrap-node Docker container @nurupo (#1765)
- off-by-one error caused by integer division without proper cast @JFreegman (#1754)
- Fixed uninitialised value copy. @iphydf (#1751)
Documentation
Maintenance (Grunt tasks)
- Make the last few remaining top level comments doxygen style. @iphydf (#1972)
- Sync all comments between header and source files. @iphydf (#1971)
- Make run-infer script use docker. @iphydf (#1958)
- Properly copy Node_format using serialized format @JFreegman (#1955)
- Disable some cimple warnings for now. @iphydf (#1956)
- use latest toktok-stack msan version @JFreegman (#1943)
- Use latest instead of versioned toktok-stack image. @iphydf (#1940)
- Rename bazel-release to -opt and -debug to -dbg. @iphydf (#1939)
- Don't run sonar scan on pull requests. @iphydf (#1922)
- Add a Bazel Buildifier CI job @robinlinden (#1933)
- Add cpplint to the CI. @iphydf (#1914)
- Run sonar scan on pull requests. @iphydf (#1918)
- Add a make_single_file script, used for CI. @iphydf (#1916)
- Expose public API headers as files in bazel. @iphydf (#1909)
- Mark unsafe code as testonly. @iphydf (#1905)
- Add mypy Python type check. @iphydf (#1884)
- Add sonar-scan analysis on pushes. @iphydf (#1883)
- Run static analysers in multiple variants. @iphydf (#1880)
- Ignore some failures in bazel-tsan. @iphydf (#1876)
- Add asan/tsan bazel builds. @iphydf (#1875)
- Run tokstyle with 3 cores. @iphydf (#1866)
- Enable layering check in all c-toxcore build files. @iphydf (#1873)
- Enable compiler layering check. @iphydf (#1871)
- Disable the OpenMP cracker in bazel for now. @iphydf (#1870)
- Retry asan/tsan tests a few more times. @iphydf (#1867)
- Get all* autotests working with MSVC @robinlinden (#1857)
- Remove all references to Travis CI. @iphydf (#1862)
- Add a GH Actions code coverage job @robinlinden (#1850)
- Remove old travis docker scripts. @iphydf (#1840)
- Add bazel-debug build. @iphydf (#1837)
- Add "tcc" and "compcert" compiler targets. @iphydf (#1830)
- Add macOS build. @iphydf (#1820)
- Login to dockerhub before trying to push to dockerhub. @iphydf (#1813)
- Only push versioned docker image on tag builds. @iphydf (#1812)
- Add bootstrap daemon docker image build. @iphydf (#1811)
- Remove apidsl comment from tox.h. @iphydf (#1810)
- Don't run CI on master branch pushes. @iphydf (#1807)
- merge friend_connections from NGC fork @JFreegman (#1798)
- Fix up a few source code comment and style issues. @iphydf (#1801)
- Move cmake-freebsd-stage2 back into the toxcore repo. @iphydf (#1794)
- Add FreeBSD build to CI. @iphydf (#1793)
- Add cross compilation CI targets. @iphydf (#1792)
- Update toktok-stack version. @iphydf (#1779)
- Tie down the use of doxygen comments. @iphydf (#1778)
- Remove config.h. @iphydf (#1774)
- merge tcp_connection changes from new groupchats fork @JFreegman (#1769)
- Fix gen-file.sh: it wasn't globbing properly. @iphydf (#1773)
- Add .cc files to the static analysis. @iphydf (#1772)
- merge DHT changes from new groupchats fork @JFreegman (#1768)
- Use docker for the autotools ci build. @iphydf (#1766)
- Add autotools build; exempt crypto_pwhash from tokstyle. @iphydf (#1762)
- Use an incrementing version number for coverity scans. @iphydf (#1752)
- Add missing
sudo
to coverity apt-get calls. @iphydf (#1738) - Add clang-tidy review github workflow. @iphydf (#1746)
- Minor cleanups of warnings given by cppcheck. @iphydf (#1743)
- Add workflow for running coverity scan. @iphydf (#1736)
- Add logger to onion and onion announce objects @JFreegman (#1734)
Maintenance (Code cleanup)
- Ensure we limit the system headers included in .h files. @iphydf (#1968)
- Don't pass the whole DHT object to lan discovery. @iphydf (#1964)
- make functions take const pointer to IP_Port wherever possible @JFreegman (#1954)
- Properly copy Node_format using serialized format @JFreegman (#1955)
- Add some toxav bounds/sanity checks @JFreegman (#1942)
- small refactor of DHT getnodes function @JFreegman (#1938)
- remove brackets from ip_ntoa ipv6 formatting @JFreegman (#1937)
- make some non-const pointers const @JFreegman (#1929)
- unintentional integer down-casts @JFreegman (#1928)
- refactor group audio packet data handling @JFreegman (#1920)
- replace magic numbers with appropriately named constants @JFreegman (#1915)
- Remove our only use of flexible array members in toxcore. @iphydf (#1910)
- Remove uses of
strcpy
andsprintf
. @iphydf (#1912) - Split large switch statement into functions. @iphydf (#1906)
- Even more pointer-to-const parameters. @iphydf (#1903)
- Remove old check Suite compat layer. @iphydf (#1900)
- Make parameters pointers-to-const where possible. @iphydf (#1901)
- Make
Networking_Core
pointer-to-const where possible. @iphydf (#1899) - Use pointer cast instead of memcpy in qsort callback. @iphydf (#1898)
- Deduplicate a somewhat complex loop in DHT.c. @iphydf (#1894)
- Merge crypto_core and crypto_core_mem. @iphydf (#1881)
- Stop using
strerror
directly. @iphydf (#1889) - Remove our only use of sprintf. @iphydf (#1891)
- refactor toxav_call_control @JFreegman (#1841)
- replace all instances of atoi with strtol @JFreegman (#1874)
- Remove extra parens around function arguments. @iphydf (#1865)
- Don't use memcpy where assignment can be used. @iphydf (#1864)
- Use
calloc
instead ofmalloc
for struct allocations. @iphydf (#1861) - Fix
calloc
argument order. @iphydf (#1860) - Remove useless parentheses. @iphydf (#1853)
- make struct typedefs have the same name as their struct @JFreegman (#1844)
- remove dead code @JFreegman (#1835)
- Reduce the scope of for-loop iterator variables. @iphydf (#1834)
- Remove hardening code from DHT @zugz (#1673)
- put breaks inside case braces @JFreegman (#1816)
- Sync doc comments in a few more .c/.h files. @iphydf (#1802)
- Move
sodium.h
include to front of network.c. @iphydf (#1797) - remove redundant (and incorrect) comments @JFreegman (#1790)
- Remove apidsl; remove
crypto_memcmp
. @iphydf (#1786) - fix format-source @JFreegman (#1783)
- Remove apidsl for everything except the public API. @iphydf (#1775)
- remove unused function argument from set_tcp_connection_status() @JFreegman (#1776)
- Remove crypto_pwhash import. @iphydf (#1777)
- merge onion.c changes from new groupchats fork @JFreegman (#1770)
- Don't include
"config.h"
unless needed. @iphydf (#1761) - address some unused return values @JFreegman (#1759)
- use crypto_memzero to wipe secret keys when no longer in use @JFreegman (#1753)
- Fix some clang-tidy warnings and make them errors. @iphydf (#1747)
- Put fatal errors where API return values should be impossible @JFreegman (#1740)
- Enforce for loop consistency. @iphydf (#1744)
- Use
static_assert
instead of preprocessor#error
. @iphydf (#1735) - Avoid endian-specific code in
crypto_core
. @iphydf (#1727) - Minor fixes in test code. @iphydf (#1733)
- Refactor kill_nonused_tcp() @JFreegman (#1732)
- Ensure that error codes are always initialised. @iphydf (#1729)
- Fix last instance of
-Wcast-align
and enable the warning. @iphydf (#1730)
Maintenance (Refactoring)
- use proper method for generating random numbers in a range @JFreegman (#1975)
- Deduplicate a bunch of code in TCP client/server. @iphydf (#1897)
- Extract some functions from the big run_auto_test function. @iphydf (#1819)
- rename variable to clarify purpose @sudden6 (#1789)
- Split toxav_iterate into audio and video part @sudden6 (#1307)
- Clean up friend loading. @sudden6 (#1333)
- Fix previous refactor @nurupo (#1737)
Maintenance (Tests)
- separate run_auto_tests into a library (revival of #1505) @JFreegman (#1932)
- refactor autotest live network bootstrapping @JFreegman (#1924)
- Add two more bootstrap/TCP nodes to autotests @JFreegman (#1887)
- add ability for autotests to use TCP connections @JFreegman (#1815)
- Make ERROR logging fatal in tests. @iphydf (#1758)
- Add a simple test for
ip_ntoa
. @iphydf (#1742)
v0.2.13
Release Notes
Features
Performance improvements
Bug Fixes
- Sec/fix crypto size compute @sudden6 (#1718)
- Fix buffer over-read when a peer leaves a conference @zugz (#1602)
- some friend connection issues @JFreegman (#1699)
- bug causing API to report wrong self connection status @JFreegman (#1698)
- issue with save_load autotest @JFreegman (#1705)
- Fix file tests on windows @robinlinden (#1663)
- AppVeyor failing due to conan remote being added twice @robinlinden (#1633)
- Fix a bug in savedata loading when malloc fails. @iphydf (#1467)
- Fix errors on error paths found by oomer. @iphydf (#1464)
Documentation
- Add instructions for building unit tests to INSTALL.md @zugz (#1672)
- Update INSTALL.md instructions @nurupo (#1684)
Maintenance (Grunt tasks)
- Run infer static analyser on circle ci builds. @iphydf (#1723)
- Use toktok-stack docker image with built third_party. @iphydf (#1716)
- Enable cimple tests on cirrus build. @iphydf (#1706)
- Upgrade to toktok-stack:0.0.11. @iphydf (#1703)
- Update IRC info @cryptogospod (#1693)
- Fix Appveyor and add workarounds for Cirrus CI @robinlinden (#1691)
- Enable c-toxcore conan packaging @AlexandrePTJ (#1686)
- Cygwin build @redmanmale (#1537)
- Update tox-bootstrapd checksum due to newer packages in Alpine @robinlinden (#1667)
- Add conan support @robinlinden (#1557)
- Add autotools build to localbuild docker images. @iphydf (#1487)
- Don't build pushes to branches, only to tags. @iphydf (#1510)
- Exclude imported libsodium sources from restyled. @iphydf (#1495)
- Remove release-drafter configuration in favour of global one. @iphydf (#1504)
- Add a script to run Travis CI locally. @iphydf (#1473)
- Enable cimple tests by default but allow disabling them. @iphydf (#1436)
Maintenance (Code cleanup)
- add some missing null checks @JFreegman (#1725)
- filetransfer code @sudden6 (#1674)
- Trivial cleanup @sudden6 (#1679)
- Update INSTALL.md instructions @nurupo (#1684)
- use heap memory instead of stack for large variables @JFreegman (#1664)
- Make pylint and mypy happy with bootstrap_node_info.py. @iphydf (#1516)
NAC_LIBS
->NACL_LIBS
. @iphydf (#1489)- Stop hard-coding packet IDs in tests. @iphydf (#1496)
- Add a check that we don't have any unused functions. @iphydf (#1463)
- Include
<string.h>
forexplicit_bzero
. @iphydf (#1462)
Maintenance (Refactoring)
- Remove multi-declarators entirely. @iphydf (#1514)
- Disallow multiple initialised declarators per decl. @iphydf (#1513)
- Use bash arrays instead of strings for static analysis scripts. @iphydf (#1497)
- Limit scope of loop iterators. @iphydf (#1498)
Maintenance (Tests)
- Add some unit tests for important internal DHT functions. @iphydf (#1713)
- issue with save_load autotest @JFreegman (#1705)
- Fix tcp_relay_test by adding a second bootstrap node. @iphydf (#1586)
Maintenance (Code style)
v0.2.12
Merged PRs:
- #1457 Disable non-hermetic tests by default.
- #1456 Limit the number of friends you can have to ~4 billion.
- #1452 Add execution trace option for debugging.
- #1447 Udp dht group chats
- #1444 Set up release-drafter to automatically draft the next release.
- #1443 Allow test coverage to fluctuate 2% up and down, but not below 80%.
- #1442 Add CODEOWNERS and settings.yml files.
- #1441 [ImgBot] Optimize images
- #1439 Fix continuous integration builds.
- #1437 Rework the toxchat/bootstrap-node Docker image.
- #1435 Enable TCP relay test in Bazel and autotools build.
- #1434 Skip invalid TCP relays and DHT nodes when loading save data.
- #1433 Fix saving of combination of loaded and connected TCP relays
- #1430 Invert
not_valid
functions and name themis_valid
. - #1429 Fix things not being initialized if creating a TCP-only network
- #1426 Remove tokstyle exemptions from build files.
- #1425 Stop using the "inline namespace" feature of apidsl.
- #1424 Add new semi-private API functions to set per-packet-id custom handlers.
- #1423 Give CI workflow a better name: clang-sanitizers
- #1422 Use public API for sending in RTP
- #1421 Install ci-tools and get tokstyle via the script it provides.
- #1420 Use tox public API for sending packets in toxav BWController
- #1419 Remove newlines from the end of LOGGER format strings.
- #1418 Change ToxAVCall struct mutex to a more distinct name
- #1417 Create own instance of Mono_Time for ToxAV
- #1416 Stop using Messenger's mono_time in bandwidth controller.
- #1415 Fix 2 memory leaks in ToxAV.
- #1414 Show function names in asan/tsan stack traces on CircleCI.
- #1413 Make afl_toxsave.c a bit more portable; fix memory leak.
- #1411 Fixes towards building on MSVC.
- #1409 Mark conference test as small.
- #1407 Add minimal save generator
- #1406 Migrate format-source script to new apidsl web app.
- #1404 Smarter setup of bazel remote cache on Cirrus CI.
- #1331 Add basic test adapter for AFL
Closed issues:
v0.2.11
Merged PRs:
- #1403 Install libsodium from apt instead of from source.
- #1402 Remove bazel build from Travis.
- #1400 Disable bazel remote cache on CI.
- #1399 Periodically try to send direct packets when connected by TCP.
- #1398 Minor cleanup: use
assoc_timeout
function where possible. - #1397 Check that LOGGER macros are only called with string literals.
- #1396 Make function defns match their decls regarding storage class.
- #1395 Mark file-local function definitions as
static
. - #1394 Enable remote cache for bazel builds.
- #1393 Add another bootstrap node to the bootstrap test.
- #1392 Clear out old conference connections.
- #1391 Minor cleanups in network code.
- #1390 Avoid casting back and forth between void-ptr.
- #1389 Standardise on having a comma at the end of enums.
- #1388 Fix up comments a bit to start being more uniform.
- #1387 Use rules_cc instead of native cc_library rules.
- #1386 Use spdx license identifier instead of GPL blurb.
- #1383 Pass packet ID to custom packet handlers.
- #1382 Add a mutex lock/unlock inside every public API function.
- #1381 Use
net_pack
instead of casting bytes to ints. - #1380 Disable FreeBSD travis build until it is fixed.
- #1379 Update and fix FreeBSD setup on Travis-CI
- #1378 Use ninja build system for the cmake-linux build.
- #1376 Remove testing/av_test.c.
- #1375 Add "cimple_test" to the bazel build.
- #1374 Handle invite to existing conference
- #1372 Upgrade bazel to 2.1.1.
- #1371 Bump to astyle-3.1 in travis build.
- #1370 use -1 rather than ~0 in unsigned integer types
- #1362 Workaround for message number saving
- #1358 Allow Bazel to rerun tests marked as flaky
- #1352 Update tests to use a working bootstrap node
- #1349 Fix tox-bootstrapd's README and update Dockerfile
- #1347 Fix pthread_mutex_destroy getting too many arguments
- #1346 Fix most TSAN failures
- #1345 fix concurrency issues in mono_time
- #1343 Fix TSAN failures in tests
- #1334 fix missing group title length check
- #1330 Force IPv4 for cirrus-ci tests
- #1329 bump libsodium version in appveyor.yml
- #1322 Clean-up of group.c code
- #1321 Some small fixes to groups.
- #1299 Add VScode folder to .gitignore
- #1297 Use net_pack/unpack instead of host_to_net.
Closed issues:
v0.2.10
Merged PRs:
- #1320 add undef guard in tox_many_tcp_test
- #1314 Fix bazel build version at 0.22.0 for CI.
- #1311 Disable failing TCP server test
- #1310 Do not send the same packet to the same node twice
- #1309 add configurable limit on number of stored frozen peers
- #1305 Expose api functions for enabling and disabling AV in AV groups
- #1302 Specify that buffer size for tox_conference_peer_get_name is given by $size
Closed issues:
- #1313 CirrusCI is failing and blocking PRs
- #1312 Onion client review
- #1306 Persistent conference's offline peer list always grows and never decreases
- #1303 Loaded persistent groups fail to send audio
- #1298 How to make libtox4j-c.so for android?
- #1261 Bump so version
- #1116 Message length is too large log spam