v0.2.19
release-drafter
released this
28 Mar 00:56
·
45 commits
to refs/heads/master
since this release
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 failing when using BuildKit @nurupo (#2447)
- Remove explicit layering_check feature. @iphydf (#2438)
- Upgrade sonar-scan jvm to java 17. @iphydf (#2437)
- Add missing
htons
call when adding configured TCP relay. @iphydf (#2436) - Cancel old PR builds on docker and sonar-scan workflows. @iphydf (#2434)
- Retry freebsd tests 2 times. @iphydf (#2430)
- Use C99 on MSVC instead of C11. @iphydf (#2432)
- Add an s390x build (on alpine) for CI. @iphydf (#2429)
- Add a compcert docker run script. @iphydf (#2428)
- Use tcc docker image for CI. @iphydf (#2427)
- allow for larger incoming NGC packets @zoff99 (#2380)
- Fix memory leak in the error path of loading savedata. @iphydf (#2424)
- get the number of close dht nodes with announce/store support @Green-Sky (#2357)
- Add a
bin_unpack_bin_max
for max-length arrays. @iphydf (#2415) - Add more logging to loading conferences from savedata. @iphydf (#2416)
- Fix GCC compatibility. @iphydf (#2413)
- Ensure we have allocators available for the error paths. @iphydf (#2408)
- Remove redundant
-DSODIUM_EXPORT
from definitions. @iphydf (#2407) - Fix a few more clang-tidy warnings. @iphydf (#2406)
- Fix a few more clang-tidy warnings. @iphydf (#2405)
- Enforce stricter identifier naming using clang-tidy. @iphydf (#2404)
- Add
mem
module to allow tests to override allocators. @iphydf (#2393) - Add devcontainer setup for codespaces. @iphydf (#2396)
- Fix doxygen config and remove some redundant comments. @iphydf (#2391)
- Fix the Android CI job @robinlinden (#2390)
- Add missing
#include <array>
. @iphydf (#2389) - add missing ngc constants getter declarations and definitions @Green-Sky (#2383)
- Add missing module dependencies. @iphydf (#2388)
- fix group_peer_exit_cb @Green-Sky (#2371)
- resolve_bootstrap_node() not checking net_getipport() returned count correctly @Green-Sky (#2361)
- fuzz support for TCP server @sudden6 (#2367)
- potential endless loop under extremely high load @sudden6 (#2364)
- enable tcp relay for bootstrap fuzzing @sudden6 (#2362)
Breaking changes
- A more descriptive error for group invite accept function @JFreegman (#2736)
- align group send err enum order @Green-Sky (#2731)
- packet broadcast functions now return errors @JFreegman (#2542)
- tox_new() should return null when savedata loading fails @JFreegman (#1944)
- Increase max group message length by four bytes @JFreegman (#2351)
- behaviour of group api function @JFreegman (#2370)
- group custom packet size limits @JFreegman (#2355)
Features
- add message IDs to private group messages @JFreegman (#2727)
- Add groupchat API function that returns an IP address string for a peer @JFreegman (#2446)
- group connection queries now return our own connection type @JFreegman (#2448)
- Merge the remainder of the new groupchats implementation @JFreegman (#2269)
Bug Fixes
- partially fix a bug that prevented group part messages from sending @JFreegman (#2609)
- a few off by one errors in group autotests @JFreegman (#2601)
- issues with packet broadcast error reporting @JFreegman (#2549)
- DHTBootstrap should always respond to version packets with toxcore version @Tha14 (#2354)
- inversed return values @JFreegman (#2414)
- Increase max group message length by four bytes @JFreegman (#2351)
- #1144 by forcing misc_tools to be a static lib @Green-Sky (#2341)
- group custom packet size limits @JFreegman (#2355)
- Remove cmake cache files after copying to container build directory @Tha14 (#2325)
- missing net to host conversion of port in logging in group_chat.c @Green-Sky (#2340)
- bug causing friend group invites to sometimes fail & improve logging @JFreegman (#2338)
- missing net to host conversion of port in logging @Green-Sky (#2339)
- unlock correct dht_friend @sudden6 (#2327)
Documentation
- add the experimental api build option to INSTALL.md @JFreegman (#2708)
- Remove defunct IRC channel from README.md @JFreegman (#2456)
- incorrect documentation @JFreegman (#2381)
- Update README for bootstrap node docker @Tha14 (#2333)
- Update README.md to include cmp submodule info @Tha14 (#2323)
Maintenance (Grunt tasks)
- Remove "mod" and "founder" from group API naming scheme @JFreegman (#2709)
- Spellcheck tox-bootstrapd @nurupo (#2517)
- tox_new() should return null when savedata loading fails @JFreegman (#1944)
- Migrate from Appveyor to Azure Pipelines @robinlinden (#2271)
- disable warning about pre C99 code @sudden6 (#2318)
Maintenance (Code cleanup)
- A more descriptive error for group invite accept function @JFreegman (#2736)
- use typedef for private message ID's in callback @JFreegman (#2729)
- correct a few nullable annotations @JFreegman (#2685)
- make some improvements to group moderation test @JFreegman (#2576)
- skip a do_gc iteration before removing peers marked for deletion @JFreegman (#2573)
- Make group packet entry creation less error-prone @JFreegman (#2540)
- don't pass garbage data buffer to packet send functions @JFreegman (#2541)
- Make group saving/loading more forgiving with data errors @JFreegman (#2466)
- make it more clear that assert and uint32_t increment both only exist if NDEBUG is not defined @zoff99 (#2311)
Maintenance (Refactoring)
- Observers/ignored peers can now send and receive custom packets @JFreegman (#2728)
- Remove "mod" and "founder" from group API naming scheme @JFreegman (#2709)
- packet broadcast functions now return errors @JFreegman (#2542)
- Install header for private/experimental API functions @JFreegman (#2453)
- Store time in Mono_Time in milliseconds. @iphydf (#2203)
- Make some improvements to how often/when we announce a group @JFreegman (#2348)
- Refactor: Extract shared key cache into separate file @sudden6 (#2317)
- extract each case in handle packet in messenger @Green-Sky (#2329)