tomato-testing/CHANGELOG.md
Green Sky 47ad96e2b6 Squashed 'external/toxcore/c-toxcore/' changes from 3e05824b80..da438763d5
da438763d5 chore: Release 0.2.19
f90417987c chore: Add cmake flag to disable unit tests.
7df3f99417 docs: Document that group topic lock is default on.
9e9ed77390 docs: Add missing param docs for callbacks.
0ec4978de5 refactor: Don't expose Tox_System in the public API
a3d1b8595c docs: Public headers, Core/toxcore -> Tox/the Tox library
f78d0f3f39 docs: Public headers, events_alloc -> internal
817518949e docs: Public headers, NULL-terminated -> NUL-terminated
be085db191 docs: Public headers, spellcheck
4c902955f3 docs: Public headers, 80 column width comments
be8a82a818 docs: Public headers, null -> NULL
419d783d95 docs: Public headers, tox -> Tox
5c8aa65e41 docs: Update user data API explanation
ad4921dbaa cleanup: A more descriptive error for group invite accept function

git-subtree-dir: external/toxcore/c-toxcore
git-subtree-split: da438763d5b8e071de6e061a1dcaddd2177dff7d
2024-03-28 16:13:51 +01:00

168 KiB

v0.2.19

Merged PRs:

  • #2744 docs: Document that group topic lock is default on.
  • #2743 docs: Add missing param docs for callbacks.
  • #2742 chore: Add cmake flag to disable unit tests.
  • #2741 refactor: Don't expose Tox_System in the public API
  • #2736 cleanup: A more descriptive error for group invite accept function
  • #2735 chore: Small API doc fixes
  • #2732 cleanup: event length naming inconsistencies
  • #2731 cleanup: align group send err enum order
  • #2729 cleanup: use typedef for private message ID's in callback
  • #2728 refactor: Observers/ignored peers can now send and receive custom packets
  • #2727 feat: add message IDs to private group messages
  • #2726 refactor: Rename out parameters to out_$something.
  • #2718 chore: Use a specific non-broken slimcc version.
  • #2713 feat: Update and improve the Windows cross-compilation
  • #2712 chore: Update github actions.
  • #2710 docs: Update the list of CMake options
  • #2709 refactor: Remove "mod" and "founder" from group API naming scheme
  • #2708 docs: add the experimental api build option to INSTALL.md
  • #2705 refactor: Rename Queries to Query to align with other enums.
  • #2704 fix: Correct type for conference offline peer numbers.
  • #2700 test: Add FreeBSD VM action on GitHub.
  • #2699 test: Add pkgsrc build.
  • #2698 chore: Only install tox_private.h on request.
  • #2697 test: Build toxcore on NetBSD (VM).
  • #2696 fix: save_compatibility_test failing on big-endian systems
  • #2695 fix: Don't serve files from websockify.
  • #2689 fix: Correctly pass extended public keys to group moderation code.
  • #2686 chore: Compile libsodium reference implementation with compcert.
  • #2685 cleanup: correct a few nullable annotations
  • #2684 cleanup: Don't use memcpy to cast arbitrary structs to uint8_t[].
  • #2683 fix: Pass array, not array pointer, to memcmp.
  • #2682 cleanup: Never pass void* directly to memcpy.
  • #2678 chore: Disable NGC saving by default, enable through Tox_Options.
  • #2675 cleanup: Replace pointer arithmetic with explicit &arr[i].
  • #2672 refactor: Use structs for extended public/secret keys.
  • #2671 refactor: Use tox rng to seed the keypair generation.
  • #2666 cleanup: Small improvements found by PVS Studio.
  • #2664 docs: Run prettier-markdown on markdown files.
  • #2662 fix: Correct a few potential null derefs in bootstrap daemon.
  • #2661 fix: Zero out stack-allocated secret key before return.
  • #2660 fix: Add missing memunlock of local variable when it goes out of scope.
  • #2659 cleanup: Simplify custom packet length check in NGC.
  • #2658 refactor: Make prune_gc_sanctions_list more obviously correct.
  • #2657 fix: Fix some false positive from PVS Studio.
  • #2656 docs: Add static analysis tool list to README.
  • #2655 cleanup: Check that WINXP macro exists before comparing it.
  • #2652 refactor: Make tox mutex non-recursive.
  • #2648 docs: Add more documentation to crypto_core.
  • #2647 docs: Fix up doxyfile.
  • #2645 refactor: Remove Tox * from tox_dispatch.
  • #2644 refactor: Don't rely on tox_dispatch passing tox in tests.
  • #2643 refactor: Use strong typedef for NGC peer id.
  • #2642 chore: Use C++ mode for clang-tidy.
  • #2640 refactor: Use strong typedef instead of struct for Socket.
  • #2637 chore: Check that both gtest and gmock exist for tests.
  • #2634 chore: Add some comments to the astyle config.
  • #2629 chore: Reformat sources with astyle.
  • #2626 chore: Rename C++ headers to .hh suffixes.
  • #2624 test: Add slimcc compiler compatibility test.
  • #2622 cleanup: Add more const where possible.
  • #2621 cleanup: Remove implicit bool conversions.
  • #2620 chore: Only check the bootstrap daemon checksum on release.
  • #2617 cleanup: Further #include cleanups.
  • #2614 cleanup: Use Bazel modules to enforce proper #include hygiene.
  • #2612 refactor: Move pack/unpack IP_Port from DHT into network module.
  • #2611 chore: Really fix coverage docker image build.
  • #2610 chore: Fix post-submit coverage image.
  • #2609 fix: partially fix a bug that prevented group part messages from sending
  • #2605 fix: Don't use memcmp to compare IP_Ports.
  • #2604 chore: Fix rpm build; add a CI check for it.
  • #2603 chore: Speed up docker builds a bit by reducing layer count.
  • #2602 cleanup: Add const where possible in auto tests.
  • #2601 fix: a few off by one errors in group autotests
  • #2598 refactor: Rename system_{memory,...} to os_{memory,...}.
  • #2597 test: Add goblint static analyser.
  • #2594 cleanup: Use memzero(x, s) instead of memset(x, 0, s).
  • #2593 cleanup: Use explicit 0 instead of PACKET_ID_PADDING.
  • #2592 cleanup: Remove all uses of SIZEOF_VLA.
  • #2591 cleanup: Expand the Tox_Options accessor macros.
  • #2590 test: Add a simple new/delete test for Tox.
  • #2588 cleanup: Remove plan9 support.
  • #2587 cleanup: Add comment after every #endif.
  • #2583 test: Fix comment I broke in the events test PR.
  • #2582 cleanup: Rename group to conference in groupav documentation.
  • #2581 cleanup: Ensure handler params are named after callback params.
  • #2580 cleanup: Minor cleanup of event unpack code.
  • #2578 refactor: Allow NULL pointers for byte arrays in events.
  • #2577 refactor: Add common msgpack array packer with callback.
  • #2576 cleanup: make some improvements to group moderation test
  • #2575 refactor: Pass this pointer as first param to s11n callbacks.
  • #2573 cleanup: skip a do_gc iteration before removing peers marked for deletion
  • #2572 cleanup: Remove bin_pack_{new,free}.
  • #2568 feat: Add dht_get_nodes_response event to the events system.
  • #2567 refactor: Use enum-specific pack functions for enum values.
  • #2566 cleanup: Remove empty test doing nothing.
  • #2565 refactor: Factor out union pack switch from event packer.
  • #2564 cleanup: Move the 2-element array pack out of individual events.
  • #2563 test: Add printf log statement to group_moderation_test.
  • #2562 chore: add clangd files to .gitignore
  • #2561 refactor: Move file streaming test to its own file.
  • #2560 fix(ci): window builds now build in parallel
  • #2559 refactor: Migrate auto_tests to new events API.
  • #2557 test: Add C++ classes wrapping system interfaces.
  • #2555 fix: Remove fatal error for non-erroneous case
  • #2554 fix: Make all the fuzzers work again, and add a test for protodump.
  • #2552 fix: Make sure there's enough space for CONSUME1 in fuzzers.
  • #2551 chore: Move from gcov to llvm source-based coverage.
  • #2549 fix: issues with packet broadcast error reporting
  • #2547 test: Add fuzz tests to the coverage run.
  • #2545 refactor: Use operator== for equality tests of Node_format.
  • #2543 refactor(test): Slightly nicer C++ interface to tox Random.
  • #2542 refactor: packet broadcast functions now return errors
  • #2541 fix: don't pass garbage data buffer to packet send functions
  • #2540 cleanup: Make group packet entry creation less error-prone
  • #2539 refactor: Minor refactoring of get_close_nodes functions.
  • #2538 refactor: Factor out malloc+memcpy into memdup.
  • #2536 cleanup: Some more test cleanups, removing overly smart code.
  • #2531 test: Add more unit tests for add_to_list.
  • #2530 refactor: Assign malloc return to a local variable first.
  • #2529 test: Add "infer" CI check to github, remove from circle.
  • #2527 cleanup: Add Toxav alias for ToxAV.
  • #2526 cleanup: Make Tox_Options a typedef.
  • #2525 cleanup: Add dynamically derived array sizes to the API.
  • #2524 cleanup: Add explicit array sizes to toxencryptsave.
  • #2523 cleanup: Move tox_get_system out of the public API.
  • #2522 cleanup: Make setters take non-const Tox *.
  • #2521 cleanup: Make array params in toxav [] instead of *.
  • #2520 cleanup: Mark arrays in the tox API as [] instead of *.
  • #2519 refactor: Align group message sending with other send functions.
  • #2518 cleanup: Add typedefs for public API int identifiers.
  • #2517 chore: Spellcheck tox-bootstrapd
  • #2516 chore: Remove settings.yml in favour of hs-github-tools.
  • #2515 chore: Use GPL license with https.
  • #2513 chore: Add fetch-sha256 script to update bootstrap node hash.
  • #2512 cleanup: Move all vptr-to-ptr casts to the beginning of a function.
  • #2510 cleanup: Use github actions matrix to simplify CI.
  • #2509 fix: Use QueryPerformanceCounter on windows for monotonic time.
  • #2508 chore: Add net_(new|kill)_strerror to cppcheck's allocators.
  • #2507 cleanup: Run clang-tidy on headers, as well.
  • #2506 cleanup: Make TCP connection failures a warning instead of error.
  • #2505 cleanup: Make all .c files include the headers they need.
  • #2504 cleanup: Upgrade cppcheck, fix some warnings.
  • #2503 cleanup: Upgrade to clang-tidy-17 and fix some warnings.
  • #2502 chore: Use pkg_search_module directly in cmake.
  • #2501 chore: Add IMPORTED_TARGET to pkg-config packages.
  • #2499 cleanup: Use target_link_libraries directly in cmake.
  • #2498 chore: Simplify msvc build using vcpkg.
  • #2497 cleanup: Remove NaCl support.
  • #2494 fix: unpack enum function names in event impl generator
  • #2493 chore: Disable targets for cross-compilation.
  • #2491 chore: Build a docker image with coverage info in it.
  • #2490 cleanup: Some portability/warning fixes for Windows builds.
  • #2488 fix: Correct a use-after-free and fix some memory leaks.
  • #2487 refactor: Change all enum-like #define sequences into enums.
  • #2486 refactor: Change the TCP_PACKET_* defines into an enum.
  • #2485 refactor: event generation tool for reorder pr
  • #2484 chore: Fix make_single_file to support core-only.
  • #2481 chore: Update github actions uses.
  • #2480 feat: add ngc related unpack functions
  • #2479 feat: Add to_string functions for all public enums.
  • #2477 test: add real timeout test
  • #2476 chore: Move s390x build to post-merge.
  • #2475 refactor: Give enum-from-int functions the ability to report errors.
  • #2474 cleanup: Remove test net support.
  • #2472 feat: Enable ubsan on bootstrap nodes.
  • #2470 test: Add check-c run to bazel build.
  • #2468 fix(test): tests use ipv6 by default, even with USE_IPV6 set to 0
  • #2466 cleanup: Make group saving/loading more forgiving with data errors
  • #2465 refactor: replace memset with a loop
  • #2459 fix: Enable debug flag for ubsan.
  • #2458 fix: also Install header for private/experimental API functions with autotools
  • #2456 docs: Remove defunct IRC channel from README.md
  • #2454 fix: memory leaks
  • #2453 refactor: Install header for private/experimental API functions
  • #2452 refactor: replace DEFAULT_TCP_RELAY_PORTS_COUNT with a compile-time calculation
  • #2451 cleanup: clarify disabling of static assert checks
  • #2449 cleanup: replace tabs with spaces
  • #2448 feat: group connection queries now return our own connection type
  • #2447 fix: Docker tox-bootstrapd hash update failing when using BuildKit
  • #2446 feat: Add groupchat API function that returns an IP address string for a peer
  • #2442 perf: Slightly reduce bandwidth usage when there are few nodes.
  • #2439 test: Make esp32 build actually try to instantiate tox.
  • #2438 cleanup: Remove explicit layering_check feature.
  • #2437 chore: Upgrade sonar-scan jvm to java 17.
  • #2436 fix: Add missing htons call when adding configured TCP relay.
  • #2434 chore: Cancel old PR builds on docker and sonar-scan workflows.
  • #2432 chore: Use C99 on MSVC instead of C11.
  • #2430 chore: Retry freebsd tests 2 times.
  • #2429 test: Add an s390x build (on alpine) for CI.
  • #2428 chore: Add a compcert docker run script.
  • #2427 cleanup: Use tcc docker image for CI.
  • #2424 fix: Fix memory leak in the error path of loading savedata.
  • #2420 refactor: Use Bin_Pack for packing Node_format.
  • #2416 chore: Add more logging to loading conferences from savedata.
  • #2415 refactor: Add a bin_unpack_bin_max for max-length arrays.
  • #2414 fix: inversed return values
  • #2413 cleanup: Fix GCC compatibility.
  • #2408 fix: Ensure we have allocators available for the error paths.
  • #2407 cleanup: Remove redundant -DSODIUM_EXPORT from definitions.
  • #2406 cleanup: Fix a few more clang-tidy warnings.
  • #2405 cleanup: Fix a few more clang-tidy warnings.
  • #2404 cleanup: Enforce stricter identifier naming using clang-tidy.
  • #2396 chore: Add devcontainer setup for codespaces.
  • #2393 refactor: Add mem module to allow tests to override allocators.
  • #2392 refactor: Make event dispatch ordered by receive time.
  • #2391 docs: Fix doxygen config and remove some redundant comments.
  • #2390 chore: Fix the Android CI job
  • #2389 fix: Add missing #include <array>.
  • #2388 chore: Add missing module dependencies.
  • #2384 feat: increase NGC lossy custom packet size
  • #2383 fix: add missing ngc constants getter declarations and definitions
  • #2381 fix: incorrect documentation
  • #2380 feat: allow for larger incoming NGC packets
  • #2371 docs: fix group_peer_exit_cb
  • #2370 fix: behaviour of group api function
  • #2369 fix: flaky tcp test
  • #2367 fix: fuzz support for TCP server
  • #2364 fix: potential endless loop under extremely high load
  • #2362 test: enable tcp relay for bootstrap fuzzing
  • #2361 fix: resolve_bootstrap_node() not checking net_getipport() returned count correctly
  • #2357 feat: get the number of close dht nodes with announce/store support
  • #2355 fix: group custom packet size limits
  • #2354 fix: DHTBootstrap should always respond to version packets with toxcore version
  • #2351 fix: Increase max group message length by four bytes
  • #2348 refactor: Make some improvements to how often/when we announce a group
  • #2341 fix: #1144 by forcing misc_tools to be a static lib
  • #2340 fix: missing net to host conversion of port in logging in group_chat.c
  • #2339 fix: missing net to host conversion of port in logging
  • #2338 fix: bug causing friend group invites to sometimes fail & improve logging
  • #2333 docs: Update README for bootstrap node docker
  • #2329 refactor: extract each case in handle packet in messenger
  • #2327 fix: unlock correct dht_friend
  • #2325 fix: Remove cmake cache files after copying to container build directory
  • #2323 docs: Update README.md to include cmp submodule info
  • #2318 chore: disable warning about pre C99 code
  • #2317 Refactor: Extract shared key cache into separate file
  • #2311 cleanup: make it more clear that assert and uint32_t increment both only exist if NDEBUG is not defined
  • #2291 test: Add a protocol dump test to generate initial fuzzer input.
  • #2271 chore: Migrate from Appveyor to Azure Pipelines
  • #2269 feat: Merge the remainder of the new groupchats implementation
  • #2203 refactor: Store time in Mono_Time in milliseconds.
  • #1944 chore: tox_new() should return null when savedata loading fails

Closed issues:

  • #2739 Tox_Options.operating_system is not clear about it being an experimental option
  • #2734 error compiling on fedora
  • #2649 create_extended_keypair should use Random and be made deterministic for fuzzing
  • #2358 resolve_bootstrap_node assert hit
  • #2352 SEGV after infinite loop retrying proxy_socks5_read_connection_response
  • #2335 ipv6 disabled on kernel cmdline disrupts Tox = most tests fail
  • #2303 Add new group chats events to tox_events and tox_dispatch modules.
  • #2302 Run strong fuzz tests against NGC
  • #2301 Implement NGC save/load in hs-toxcore and run round-trip tests against c-toxcore
  • #2192 Provide official signed release tarballs
  • #2118 Add a private "get mono_time" API to tox_private.h and use it in auto_tests.
  • #2029 Migrate all auto tests to the events API.
  • #2014 Add sodium autotools CI build
  • #1144 DHT_bootstrap should not link against misc_tools

v0.2.18

Merged PRs:

  • #2300 chore: Release 0.2.18
  • #2299 fix: remove the assert because buffer can be larger than UINT16_MAX.
  • #2297 cleanup: remove unused field last_seen from Onion_Friend
  • #2289 test: Add a Null_System used in toxsave_harness.
  • #2288 test: enable additional sanitizers for fuzzing
  • #2287 fix: Don't allow onion paths to be built from real friends.
  • #2285 test: Don't abort fuzz test when tox_new fails.
  • #2284 refactor: Move crypto utilities from util to crypto_core.
  • #2283 fix: Allow onion paths to be built from more random nodes.
  • #2282 fix: Fix potential array out-of-bounds in DHT onion path building.
  • #2281 cleanup: Avoid goto in msi.c.
  • #2280 test: Improve test hermeticity by using local TCP relay.
  • #2279 test: Enable fuzzing for TCP.
  • #2277 refactor: Avoid static_cast in Fuzz_System functions.
  • #2275 chore: Downgrade C++ version to 17
  • #2273 fix: Really fix overrun added in e49a477a
  • #2272 fix: Add missing return on error
  • #2270 test: Improve error messages in toxav_basic_test.
  • #2266 fix: Fixed leak and overrun added in e49a477a
  • #2263 chore: Upgrade to C++20 in CMake build.
  • #2261 refactor: Protect array unpacking against invalid lengths.
  • #2258 refactor: Rename announce functions into their own namespace.
  • #2257 fix: Format IP as string again in error log.
  • #2255 fix: Fix a stack overflow triggered by small DHT packets.
  • #2251 chore: Add MISRA-2012 check using cppcheck's misra addon.
  • #2250 cleanup: remove populate_path_nodes_tcp
  • #2249 test: Improve stability of forwarding_test.
  • #2248 refactor: Use a struct for the ip_ntoa buffer.
  • #2246 fix: Don't crash if RNG init failed.
  • #2244 refactor: Allow NULL logger; make it no-op in NDEBUG.
  • #2243 chore: Add initial ESP32 docker build.
  • #2242 cleanup: Use static_assert instead of assert where possible.
  • #2240 chore(deps): Use upstream cmp directly instead of our fork.
  • #2238 cleanup: Make *_free and kill_* functions nullable.
  • #2236 chore: Add dependabot config.
  • #2234 test: Add more functionality to the bootstrap fuzz harness.
  • #2233 cleanup: Replace a series of if statements with a switch.
  • #2232 test: Add fuzzer support functions for internal toxcore objects.
  • #2230 feat: Merge group announce portion of new groupchats implementation
  • #2229 cleanup: Remove layers in the cmake build.
  • #2228 chore: Fix path to fuzzer binaries in clusterfuzz build.
  • #2227 cleanup: Disallow stack frames of over 9000 bytes.
  • #2225 fix: fix typo in git command in INSTALL.md
  • #2224 cleanup: Add include for assert.h for the fuzzing build.
  • #2223 chore: Add uint8_t version of bin_pack for numbers.
  • #2219 refactor: Rename bin_pack/unpack functions the same as cmp funcs.
  • #2217 cleanup: Add Network object parameter for addr_resolve.
  • #2214 cleanup: Remove all uses of TOX_*_MAX_SIZE macros.
  • #2213 cleanup: Remove unused random_testing program.
  • #2212 cleanup: Expand CONST_FUNCTION and remove the macro.
  • #2211 cleanup: Move definitions of tox_private.h functions to tox_private.c.
  • #2210 chore: Clone submodules in clusterfuzzlite Dockerfile.
  • #2208 chore: Remove valgrind build.
  • #2206 feat: Allow overriding mono_time in tox_new.
  • #2204 chore: Support producing shared libraries on Windows
  • #2202 cleanup: Avoid name clash between struct field and function.
  • #2201 docs: Add information regarding git submodules, cmp to INSTALL.md
  • #2200 cleanup: Add more null checks in tox_new.
  • #2199 cleanup: Mark Mono_Time const where possible.
  • #2196 test: Remove save_load_test from autotools build.
  • #2195 fix: Correct calculation of packet sent time
  • #2193 perf: Make time move a lot faster in fuzzing runs.
  • #2190 feat: Add support for custom random number generator.
  • #2189 chore: Add third_party to toxcore-sources docker image.
  • #2188 cleanup: Make addr_resolve a private function.
  • #2187 test: Add DHT and tox_events fuzz tests to the cmake build.
  • #2186 cleanup: Use _Static_assert in gcc/clang.
  • #2184 test: Add some support functions to make writing fuzzers easier.
  • #2183 test: Enable more tests for msan.
  • #2182 test: Improve stability of tox_many_tcp_test.
  • #2177 feat: Add support for overriding network functions.
  • #2176 test: try to save the fuzzed save file again
  • #2175 refactor: Use cmp instead of msgpack-c for events packing.
  • #2173 chore: Use "master" as the branch in toktok-fuzzer.
  • #2170 test: Add fuzzer tests to the bazel build.
  • #2169 feat: Merge moderation portion of new groupchats codebase
  • #2167 cleanup: Reduce scope of array-typed variables where possible.
  • #2166 cleanup: Reduce scope of variables as requested by cimple.
  • #2164 feat: Merge onion_announce changes from new groupchats fork
  • #2163 chore: Enable memory sanitizer build.
  • #2160 test: Improve the stability of the save_load test
  • #2159 chore: Update the Appveyor build to VS2019 to work around conan issues
  • #2158 cleanup: Expose struct Tox to internal code.
  • #2157 cleanup: Split the huge TCP client packet handler.
  • #2156 cleanup: Sync doc comments between .h and .c files.
  • #2155 fix: Eliminate memory leak in toxav.
  • #2154 test: Speed up toxav_many_test by using fake mono_time.
  • #2153 docs: Put all the tox public api into a fake "tox" namespace.
  • #2150 cleanup: Move all the group.h structs into group.c.
  • #2149 cleanup: Avoid memset on structs.
  • #2147 feat: Store announcements
  • #2146 chore: Add testing/Dockerfile to the CI build.
  • #2145 chore: Be even more explicit about integer range bounds.
  • #2144 cleanup: Minor cleanups in TCP_connection.c.
  • #2143 fix: Allow port range in DHT_bootstrap.c.
  • #2142 cleanup: Count re-adding an existing bootstrap node as success.
  • #2141 cleanup: Disable LAN discovery in TCP-only mode.
  • #2140 cleanup: Add assertion for decrypted data length.
  • #2101 cleanup: improve CMakeLists.txt structure
  • #2100 chore: remove cpufeatures.c
  • #2098 chore: remove DHT_test.c since it's unused

Closed issues:

  • #2298 assert makes incorrect assumption
  • #2256 New Defects reported by Coverity Scan for TokTok/c-toxcore
  • #2109 Assimilate messenger_test.c: replace with public API test
  • #2012 Support building a DLL on Windows
  • #907 use dll abnormal System.AccessViolationException win7 x32 but x64 no problem

v0.2.17

Merged PRs:

  • #2138 chore: Release 0.2.17
  • #2136 docs: Clean up doxygen comments to be more doxygen-like.
  • #2135 cleanup: Move test-only functions into tests.
  • #2134 cleanup: Add explicit callback setters for MSI callbacks.
  • #2133 cleanup: Remove redundant Messenger and DHT tests.
  • #2132 cleanup: Remove dependency from LAN_discovery onto DHT.
  • #2131 cleanup: Split util.c out of the network library.
  • #2130 cleanup: Remove redundant () around return expression.
  • #2128 test: Add unit test for create/handle request packets.
  • #2127 cleanup: Remove EAGAIN from the list of ignored errors.
  • #2126 cleanup: Remove port from Broadcast_Info.
  • #2125 cleanup: Don't reference local variables in macro bodies.
  • #2123 cleanup: Remove some more implicit bool conversions.
  • #2122 chore: Enable a bunch more warnings in GCC builds.
  • #2120 cleanup: Remove all boolean-int conversions.
  • #2117 cleanup: Comply with strict include ordering.
  • #2116 cleanup: Remove more boolean conversions (and a bugfix).
  • #2115 cleanup: Log at ERROR level when connect() fails.
  • #2114 cleanup: Avoid creating invalid enum values.
  • #2113 cleanup: Remove superfluous parentheses on the rhs of assignments.
  • #2108 test: Add mallocfail and proxy test to our coverage runs.
  • #2106 test: Add test coverage docker build for local tests.
  • #2105 cleanup: Change valid status of onion friend to bool.
  • #2104 fix: Report failure to DHT bootstrap back to the client.
  • #2103 cleanup: Remove more implicit bool conversions.
  • #2102 cleanup: Mark all local non-pointers as const where possible.
  • #2099 cleanup: Reduce name shadowing; remove ptr-to-bool conversions.
  • #2097 cleanup: Remove implicit conversions from uint32_t to bool.
  • #2096 cleanup: Return boolean constants, not ints from bool functions.
  • #2094 fix: Null function pointer dereference.
  • #2093 cleanup: Remove any disallowed casts.
  • #2092 perf: fix issue with friend finding taking too long after disconnects.
  • #2091 cleanup: Avoid casting function pointers.
  • #2090 refactor: Move tox_new_log to auto_test_support.
  • #2088 cleanup: Remove all implicit bool conversions in if-conditions.
  • #2086 cleanup: Enable most cppcheck warnings as errors.
  • #2084 fix: out-of-memory condition by corrupted save file
  • #2079 cleanup: Remove unused execution trace library.
  • #2078 perf: Refactor onion_client.c do_friends() to reduce network traffic
  • #2075 chore: Add a .clang-format that mostly agrees with astyle.
  • #2074 chore: Make coverity scan a nightly job.
  • #2073 chore: Fix build-args in win32/win64 docker build.
  • #2072 chore: Simplify and speed up windows builds using docker image.
  • #2070 chore: Add docker image builds for windows cross compiler.
  • #2064 fix: toxsave memory leak while loading groups

Closed issues:

  • #2121 Improve speed and stability of LAN discovery test
  • #2083 Tox save file format/loader doesn't limit or check the number of frozen peers
  • #2080 speedup getting online after tox process has been suspended
  • #2050 Excessive onion friend lookups
  • #2034 Make coverity-scan workflow a nightly build instead of on master push
  • #2000 Move win32 docker image build out to dockerfiles
  • #1990 Add a .clang-format config that matches the astyle config as closely as possible.
  • #1115 Add empty handler for LAN discovery packets when LAN discovery is disabled
  • #647 tox_bootstrap should return an error on unrecoverable getnodes failure
  • #169 Get rid of TOX_USER_STATUS_BUSY + 1

v0.2.16

Merged PRs:

  • #2071 chore: Release 0.2.16
  • #2069 chore: Simplify and speed up nacl build using toxchat/nacl.
  • #2066 test: Add a profiling script and Dockerfile.
  • #2058 fix: properly deallocate frozen peers
  • #2056 cleanup: Avoid implicit boolean and floating point conversions in decls.
  • #2055 cleanup: Avoid implicit bool conversions in logical operators.
  • #2053 cleanup: Enable tokstyle's -Wlarge-struct-params.
  • #2052 fix: Fix return type of functions returning uint64_t.
  • #2049 cleanup: Apply stronger type checks and fix errors.
  • #2047 feat: Improve how we share TCP relays with friends
  • #2046 cleanup: Avoid implicit pointer-to-bool conversion in if in toxav.
  • #2043 refactor: Compare pointers in if conditions to nullptr.
  • #2041 fix: file transfer bug introduced in commit 2073d02
  • #2039 refactor: Add a bit more logging; change WARNING to ERROR.
  • #2036 chore: Add BUILD file for websockify.
  • #2035 chore: fine tune fuzzing settings
  • #2033 cleanup: Add some more error path logging to TCP server code.
  • #2032 chore: update the list of CMake options & Windows Docker build deps
  • #2031 fix: remove bogus asserts in fuzzer harness
  • #2030 chore: expand fuzzing to toxsave
  • #2028 fix: syntax error introduced in 8bf37994fd12acec9e3010437502f478399b99b4
  • #2027 fix: add continous fuzzing
  • #2026 chore: Fix implicit declaration warning in fuzz build
  • #2025 chore: add continous fuzzing to our CI
  • #2024 perf: Reduce minimal encoding size of packed events.
  • #2023 cleanup: Add wrapper library for msgpack pack functions
  • #2022 cleanup: Split tox_unpack into two smaller libs
  • #2021 chore: Disable non-null attributes by default.
  • #2019 chore: Silence clang compile warnings causing circle-ci/asan to fail
  • #2018 fix: Coverty scan
  • #2016 docs: Add libmsgpack dependency in INSTALL.md
  • #2015 fix: shared toxcore autotools build failing
  • #2013 cleanup: Don't use VLAs for huge allocations.
  • #2011 fix: Conan build link failures
  • #2010 chore: Remove duplicate source file in autotools build.
  • #2008 chore: get skeletons out of the closet
  • #2007 feat: add bash-completion for tox-bootstrapd
  • #2006 cleanup: Add more nonnull and nullable annotations.
  • #2002 cleanup: Add nonnull annotations to function definitions.
  • #2001 chore: Add an undefined behaviour/integer sanitizer build.
  • #1999 chore: Speed up cmake builds with UNITY_BUILD.
  • #1996 feat: Add unpacker functions for events structures.
  • #1993 feat: Add binary packing functions for tox events.
  • #1992 chore: Set up an Android CI job
  • #1988 cleanup: Make LAN discovery thread-safe without data races.
  • #1987 cleanup: Comply with new cimple callback rules.
  • #1985 cleanup: Split msi callback array into 1 member per callback
  • #1982 chore: Add an easy way to run autotools and circleci builds locally.
  • #1979 chore: Update readme header
  • #1952 feat: Add async event handling (callbacks) code.
  • #1935 feat: add DHT queries to private API
  • #1668 perf: Take advantage of fast networks for file transfers

Closed issues:

  • #2009 Autotools build fails
  • #2004 Add nullable and nonnull annotations to all functions.
  • #1998 Large stack allocations
  • #1977 Turn array of callbacks in msi.h into separate callbacks.
  • #1670 Broken link in readme
  • #405 Remove all¹ uses of global state in toxcore
  • #340 Set up a continuous integration build for Android
  • #236 Tox file transfers do not use available bandwidth
  • #128 Toxcore should provide an easy, local method for making sure Travis checks will pass

v0.2.15

Merged PRs:

  • #1984 fix: Reduce logging verbosity even more.
  • #1983 chore: Release 0.2.15
  • #1980 fix: Reduce logging verbosity in TCP server.

v0.2.14

Merged PRs:

  • #1978 chore: Release 0.2.14
  • #1976 docs: Make crypto_core.h appear on doxygen.
  • #1975 refactor: use proper method for generating random numbers in a range
  • #1974 docs: Add doxygen configuration and netlify publishing.
  • #1972 chore: Make the last few remaining top level comments doxygen style.
  • #1971 chore: Sync all comments between header and source files.
  • #1968 cleanup: Ensure we limit the system headers included in .h files.
  • #1964 cleanup: Don't pass the whole DHT object to lan discovery.
  • #1958 chore: Make run-infer script use docker.
  • #1956 chore: Disable some cimple warnings for now.
  • #1955 cleanup: Properly copy Node_format using serialized format
  • #1954 cleanup: make functions take const pointer to IP_Port wherever possible
  • #1950 feat: Add WASM build for toxcore and websocket bootstrap node.
  • #1948 fix: potential freeing of an immutable static buffer
  • #1945 fix: Fix bootstrap on emscripten/wasm.
  • #1943 chore: use latest toktok-stack msan version
  • #1942 cleanup: Add some toxav bounds/sanity checks
  • #1940 chore: Use latest instead of versioned toktok-stack image.
  • #1939 chore: Rename bazel-release to -opt and -debug to -dbg.
  • #1938 cleanup: small refactor of DHT getnodes function
  • #1937 cleanup: remove brackets from ip_ntoa ipv6 formatting
  • #1933 chore: Add a Bazel Buildifier CI job
  • #1932 test: separate run_auto_tests into a library (revival of #1505)
  • #1929 cleanup: make some non-const pointers const
  • #1928 fix: unintentional integer down-casts
  • #1926 fix: group av memory leak
  • #1924 test: refactor autotest live network bootstrapping
  • #1923 fix: corruption in key files, making it unable to load when node starts.
  • #1922 chore: Don't run sonar scan on pull requests.
  • #1920 cleanup: refactor group audio packet data handling
  • #1918 chore: Run sonar scan on pull requests.
  • #1917 fix: buffer overwrite in bootstrap config
  • #1916 chore: Add a make_single_file script, used for CI.
  • #1915 cleanup: replace magic numbers with appropriately named constants
  • #1914 chore: Add cpplint to the CI.
  • #1912 cleanup: Remove uses of strcpy and sprintf.
  • #1910 cleanup: Remove our only use of flexible array members in toxcore.
  • #1909 chore: Expose public API headers as files in bazel.
  • #1906 cleanup: Split large switch statement into functions.
  • #1905 chore: Mark unsafe code as testonly.
  • #1903 cleanup: Even more pointer-to-const parameters.
  • #1901 cleanup: Make parameters pointers-to-const where possible.
  • #1900 cleanup: Remove old check Suite compat layer.
  • #1899 cleanup: Make Networking_Core pointer-to-const where possible.
  • #1898 cleanup: Use pointer cast instead of memcpy in qsort callback.
  • #1897 refactor: Deduplicate a bunch of code in TCP client/server.
  • #1894 cleanup: Deduplicate a somewhat complex loop in DHT.c.
  • #1891 cleanup: Remove our only use of sprintf.
  • #1889 cleanup: Stop using strerror directly.
  • #1887 test: Add two more bootstrap/TCP nodes to autotests
  • #1884 chore: Add mypy Python type check.
  • #1883 chore: Add sonar-scan analysis on pushes.
  • #1881 cleanup: Merge crypto_core and crypto_core_mem.
  • #1880 chore: Run static analysers in multiple variants.
  • #1879 fix: Fix toxav_basic_test buffer overflow.
  • #1878 fix: don't count filetransfer as sending until accepted
  • #1877 fix: Fix some uninitialised memory errors found by valgrind.
  • #1876 chore: Ignore some failures in bazel-tsan.
  • #1875 chore: Add asan/tsan bazel builds.
  • #1874 cleanup: replace all instances of atoi with strtol
  • #1873 chore: Enable layering check in all c-toxcore build files.
  • #1871 chore: Enable compiler layering check.
  • #1870 chore: Disable the OpenMP cracker in bazel for now.
  • #1867 chore: Retry asan/tsan tests a few more times.
  • #1866 chore: Run tokstyle with 3 cores.
  • #1865 cleanup: Remove extra parens around function arguments.
  • #1864 cleanup: Don't use memcpy where assignment can be used.
  • #1862 chore: Remove all references to Travis CI.
  • #1861 cleanup: Use calloc instead of malloc for struct allocations.
  • #1860 cleanup: Fix calloc argument order.
  • #1857 chore: Get all* autotests working with MSVC
  • #1853 cleanup: Remove useless parentheses.
  • #1850 chore: Add a GH Actions code coverage job
  • #1845 fix: use correct sample size in toxav_basic_test
  • #1844 cleanup: make struct typedefs have the same name as their struct
  • #1841 cleanup: refactor toxav_call_control
  • #1840 chore: Remove old travis docker scripts.
  • #1837 chore: Add bazel-debug build.
  • #1836 fix: possible unintended negative loop bound
  • #1835 cleanup: remove dead code
  • #1834 cleanup: Reduce the scope of for-loop iterator variables.
  • #1832 fix: a double-unlocking mutex in toxav
  • #1830 chore: Add "tcc" and "compcert" compiler targets.
  • #1820 chore: Add macOS build.
  • #1819 refactor: Extract some functions from the big run_auto_test function.
  • #1818 feat: Add programs for creating savedata & bootstrap keys
  • #1816 cleanup: put breaks inside case braces
  • #1815 test: add ability for autotests to use TCP connections
  • #1813 chore: Login to dockerhub before trying to push to dockerhub.
  • #1812 chore: Only push versioned docker image on tag builds.
  • #1811 chore: Add bootstrap daemon docker image build.
  • #1810 chore: Remove apidsl comment from tox.h.
  • #1807 chore: Don't run CI on master branch pushes.
  • #1802 cleanup: Sync doc comments in a few more .c/.h files.
  • #1801 chore: Fix up a few source code comment and style issues.
  • #1798 chore: merge friend_connections from NGC fork
  • #1797 cleanup: Move sodium.h include to front of network.c.
  • #1794 chore: Move cmake-freebsd-stage2 back into the toxcore repo.
  • #1793 chore: Add FreeBSD build to CI.
  • #1792 chore: Add cross compilation CI targets.
  • #1790 cleanup: remove redundant (and incorrect) comments
  • #1789 refactor: rename variable to clarify purpose
  • #1786 cleanup: Remove apidsl; remove crypto_memcmp.
  • #1783 cleanup: fix format-source
  • #1779 chore: Update toktok-stack version.
  • #1778 chore: Tie down the use of doxygen comments.
  • #1777 cleanup: Remove crypto_pwhash import.
  • #1776 cleanup: remove unused function argument from set_tcp_connection_status()
  • #1775 cleanup: Remove apidsl for everything except the public API.
  • #1774 chore: Remove config.h.
  • #1773 chore: Fix gen-file.sh: it wasn't globbing properly.
  • #1772 chore: Add .cc files to the static analysis.
  • #1770 cleanup: merge onion.c changes from new groupchats fork
  • #1769 chore: merge tcp_connection changes from new groupchats fork
  • #1768 chore: merge DHT changes from new groupchats fork
  • #1766 chore: Use docker for the autotools ci build.
  • #1765 fix: Fix file permission issue with toxchat/bootstrap-node Docker container
  • #1762 chore: Add autotools build; exempt crypto_pwhash from tokstyle.
  • #1761 cleanup: Don't include "config.h" unless needed.
  • #1759 cleanup: address some unused return values
  • #1758 test: Make ERROR logging fatal in tests.
  • #1754 fix: off-by-one error caused by integer division without proper cast
  • #1753 cleanup: use crypto_memzero to wipe secret keys when no longer in use
  • #1752 chore: Use an incrementing version number for coverity scans.
  • #1751 fix: Fixed uninitialised value copy.
  • #1747 cleanup: Fix some clang-tidy warnings and make them errors.
  • #1746 chore: Add clang-tidy review github workflow.
  • #1744 cleanup: Enforce for loop consistency.
  • #1743 chore: Minor cleanups of warnings given by cppcheck.
  • #1742 test: Add a simple test for ip_ntoa.
  • #1740 cleanup: Put fatal errors where API return values should be impossible
  • #1738 chore: Add missing sudo to coverity apt-get calls.
  • #1737 refactor: Fix previous refactor
  • #1736 chore: Add workflow for running coverity scan.
  • #1735 cleanup: Use static_assert instead of preprocessor #error.
  • #1734 chore: Add logger to onion and onion announce objects
  • #1733 cleanup: Minor fixes in test code.
  • #1732 cleanup: Refactor kill_nonused_tcp()
  • #1730 cleanup: Fix last instance of -Wcast-align and enable the warning.
  • #1729 cleanup: Ensure that error codes are always initialised.
  • #1727 cleanup: Avoid endian-specific code in crypto_core.
  • #1720 feat: Add automatic fuzz testing for c-toxcore
  • #1673 cleanup: Remove hardening code from DHT
  • #1622 perf: Make the key cracker a bit faster
  • #1333 refactor: Clean up friend loading.
  • #1307 refactor: Split toxav_iterate into audio and video part

Closed issues:

  • #1967 Potential freeing of an immutable static buffer
  • #1788 Rename dht->last_run
  • #1719 Enforce braces around macros that compute a value
  • #1694 Double unlocking in the ac_iterate
  • #1332 Padding bytes in Tox save format are not specified
  • #1217 valgrind reports "Conditional jump or move depends on uninitialised value(s)"
  • #1118 Fix threading issues in tests caught by tsan (data race etc)
  • #1087 Remove all uses of %zu in printf formats.
  • #1040 Random numbers should not be produced using rng() % max.
  • #540 Stop deleting source files
  • #501 Testsuite fails and hangs on FreeBSD
  • #451 Don't fail when building toxcore on windows with cmake .
  • #350 Configure coverity runs for nightly builds
  • #349 Run clang-tidy on Travis with specific warnings as errors.
  • #348 Run cppcheck on Travis and push the results to toktok.github.io.
  • #323 Set library version on future releases
  • #235 Video corruption: Don't drop video keyframes
  • #203 ToxAV is still on the old API style
  • #198 Crash on call while peer calling you
  • #167 Const-ify pointers
  • #124 Don't include OS specific headers in .h files
  • #106 Sometimes Toxcore reports the wrong connection status for both the DHT, and friends.
  • #85 Reproducible Builds // OBS a bad Idea

v0.2.13

Merged PRs:

  • #1725 cleanup: add some missing null checks
  • #1723 chore: Run infer static analyser on circle ci builds.
  • #1722 chore: Release 0.2.13
  • #1718 fix: Sec/fix crypto size compute
  • #1716 chore: Use toktok-stack docker image with built third_party.
  • #1713 test: Add some unit tests for important internal DHT functions.
  • #1708 perf: reduce calling into Mono_Time in DHT
  • #1706 chore: Enable cimple tests on cirrus build.
  • #1705 fix: issue with save_load autotest
  • #1703 chore: Upgrade to toktok-stack:0.0.11.
  • #1699 fix: some friend connection issues
  • #1698 fix: bug causing API to report wrong self connection status
  • #1693 chore: Update IRC info
  • #1691 chore: Fix Appveyor and add workarounds for Cirrus CI
  • #1686 chore: Enable c-toxcore conan packaging
  • #1684 cleanup: Update INSTALL.md instructions
  • #1679 cleanup: Trivial cleanup
  • #1674 cleanup: filetransfer code
  • #1672 docs: Add instructions for building unit tests to INSTALL.md
  • #1667 chore: Update tox-bootstrapd checksum due to newer packages in Alpine
  • #1664 cleanup: use heap memory instead of stack for large variables
  • #1663 fix: Fix file tests on windows
  • #1633 fix: AppVeyor failing due to conan remote being added twice
  • #1602 fix: Fix buffer over-read when a peer leaves a conference
  • #1586 test: Fix tcp_relay_test by adding a second bootstrap node.
  • #1580 style: Format comments according to tokstyle's requirements.
  • #1557 chore: Add conan support
  • #1537 chore: Cygwin build
  • #1516 cleanup: Make pylint and mypy happy with bootstrap_node_info.py.
  • #1515 style: Run restyled on Travis and Circle CI scripts.
  • #1514 refactor: Remove multi-declarators entirely.
  • #1513 refactor: Disallow multiple initialised declarators per decl.
  • #1510 chore: Don't build pushes to branches, only to tags.
  • #1504 chore: Remove release-drafter configuration in favour of global one.
  • #1498 refactor: Limit scope of loop iterators.
  • #1497 refactor: Use bash arrays instead of strings for static analysis scripts.
  • #1496 cleanup: Stop hard-coding packet IDs in tests.
  • #1495 chore: Exclude imported libsodium sources from restyled.
  • #1493 feat: Add logging to TCP and onion client.
  • #1489 cleanup: NAC_LIBS -> NACL_LIBS.
  • #1487 chore: Add autotools build to localbuild docker images.
  • #1473 chore: Add a script to run Travis CI locally.
  • #1467 fix: Fix a bug in savedata loading when malloc fails.
  • #1464 fix: Fix errors on error paths found by oomer.
  • #1463 cleanup: Add a check that we don't have any unused functions.
  • #1462 cleanup: Include <string.h> for explicit_bzero.
  • #1436 chore: Enable cimple tests by default but allow disabling them.

Closed issues:

  • #1598 ERROR: heap-buffer-overflow in group.c found with AddressSanitizer
  • #1326 the cause is great, but this thing is completely unusable
  • #1319 Is this new application is safe & trusted ??
  • #1236 Ruby Extension?
  • #1149 uTox aborts on toxcore restart
  • #886 Maybe need to set the stacksize for musl-libc

v0.2.12

Merged PRs:

  • #1458 Release 0.2.12
  • #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.
  • #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 them is_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:

  • #1365 Add the option to use LAN discovery even when using a proxy for remote connections
  • #1353 libtoxdns.a and libtoxav.a
  • #86 Freenet as Offline Messaging Backend

v0.2.11

Merged PRs:

  • #1405 Release 0.2.11
  • #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:

  • #1373 handle crashes after group invites
  • #1368 Are tox clients also open source
  • #1366 Generate a link for websites (Friendship and proxy)
  • #1354 Unstable Tests
  • #1316 Documentation claims toxav_iteration_interval is threadsafe but it's not
  • #1274 build error
  • #850 GPG App Usage

v0.2.10

Merged PRs:

  • #1324 Release 0.2.10
  • #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:

  • #1325 Question: ETA of v0.2.10?
  • #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

v0.2.9

Merged PRs:

  • #1296 Add some const qualifiers
  • #1295 Implement all min/max functions for (un)signed int types.
  • #1293 Fix misaligned 4-byte access in trace logging.
  • #1291 Use correct path to test log to cat on error.
  • #1290 Display build log for autotools build on failure.
  • #1289 Enable auto tests under STRICT_ABI if static libs are available.
  • #1288 Add MIN_LOGGER_LEVEL to the Circle CI builds.
  • #1287 Avoid sending group messages to a peer before we have its group number
  • #1284 Use new WineHQ Debian package repository key
  • #1283 Release 0.2.9
  • #1282 Merge irungentoo/master back into toktok/master.
  • #1281 Allow unauthenticated wine packages in the Windows build.
  • #1278 Add cmake option for building additional tests
  • #1277 Define tox_conference_id_size and tox_conference_uid_size
  • #1273 Avoid format truncation in save compatibility test
  • #1272 Upgrade bazel to 0.19.0 to fix the bazel build.
  • #1271 Return TOX_ERR_CONFERENCE_SEND_MESSAGE_NO_CONNECTION if we are not connected to any peers
  • #1268 Fix indices calculation for congestion control.
  • #1267 Improve handling of peers entering and leaving conferences
  • #1266 Expose offline conference peers in API
  • #1242 Fix critical stack overflow arising from VLA usage
  • #1239 Add some hopefully helpful documentation to the functions in mono_time.h
  • #1235 Change method of PK production for FAKE friend in DHT
  • #1234 Increase NOFILE limit for tox-bootstrapd
  • #1231 Use bool for IPv6 flag in test programs and DHT_bootstrap.
  • #1230 Add LOGGER_ASSERT for checking fatal error conditions.
  • #1229 Include CTest in CMakeLists.txt to get valgrind support.
  • #1228 Consistently use camel case enum names.
  • #1223 Add AUTOTEST option to CMakeLists.txt
  • #1221 Make tox-bootstrapd free memory on SIGINT and SIGTERM
  • #1218 Support DragonFlyBSD and prune unused variables.
  • #1215 Ensure save data unchanged after save and load
  • #1213 Make saving and loading the responsibility of Tox rather than Messenger
  • #1211 Some improvements to tox-bootstrapd's Dockerfile
  • #1210 Remove Alpine Linux bootstrap daemon dockerfile.
  • #1209 Improve Windows compatibility of toxav code.
  • #1206 Add LAN_discovery to the list of apidsl-generated files.
  • #1156 conferences saving

Closed issues:

  • #1285 Persistent group titles get mixed up
  • #1276 How to run test case?
  • #1275 Save file corruption
  • #1269 Tox conference connected callback isn't triggered
  • #1264 tox_conference_id_size() symbol missing
  • #1262 Fails to build with STRICT_ABI option
  • #1169 PK should not be generated with random_bytes
  • #1143 Test #1081
  • #956 friendlist access (add, delete, ...) causes crashes sometimes
  • #777 Proposal: TFCL [Tox Friend Capabilities Level]
  • #762 packet ranges not very clearly explained
  • #743 Proposal: reduce Video corruption even more by negotating the reference frame between sender and receiver
  • #735 Proposal: Tox MessageV2
  • #663 libvpx vulnerability
  • #626 please add documentation to: bwcontroller.c
  • #625 function names misleading in ToxAV
  • #617 WIP: ToxIdenticon - howto
  • #610 PACKET_LOSSY_AV_RESERVED 8 # why?
  • #609 payload_type hardcoded
  • #589 running a normal tox node as tcp relay is not possible
  • #584 [INFO]: network graphs 0.1.9 vs 0.1.10
  • #548 toxcore removes message receipts and filetransfers from memory, when client has short network outage
  • #375 Invalid bit rate prevents call

v0.2.8

Merged PRs:

  • #1225 Release 0.2.8
  • #1224 Avoid use of IPv6 in tests if not supported (e.g. on Travis).
  • #1216 Fix memory leak in tcp server by wiping priority queues on deletion.
  • #1212 Fix logger level defaulting to TRACE in CMake
  • #1208 Remove a function-like macro and replace it with a function.
  • #1205 Use a working DHT node for bootstrap tests.
  • #1203 Revert "Improve cmake build for MSVC."
  • #1202 Reset onion search rate for a friend when we see evidence that they are online
  • #1199 Run tests on Appveyor (Windows native build).
  • #1198 Add Cirrus CI configuration.
  • #1197 Use new @pthread library from toktok-stack for Windows compat.
  • #1196 Run UBSAN (undefined behaviour sanitizer) on Circle CI.
  • #1195 Fix using uninitialized mutex on call end
  • #1192 Send rejoin packets on conference disconnection
  • #1191 Improve cmake build for MSVC
  • #1188 Fix yamllint test (it's gone from bazel, add a new one).
  • #1187 Fix typos in comments and log and test assertion messages.
  • #1165 Fixed a silly boolean practice using uint8_t
  • #1164 Format yaml files according to yamllint's requirements and remove branch filter for appveyor.
  • #1161 Use most recent version of Bazel (0.17.1).
  • #1158 Use C++ style casts in C++ code.
  • #1157 Use run_auto_test fixture in typing_test.c
  • #1155 Standardise header guards.
  • #1154 Assert that we don't kill tox before killing toxav.
  • #1153 Always use the passed logger (from Messenger) in msi_kill.
  • #1151 Fix typo: tcp_replays -> tcp_relays.
  • #1150 Use (void) for empty parameter lists in C.
  • #1147 Ignore "unused-result" warning in super_donators code.
  • #1145 Fix login issue on Travis-CI FreeBSD build
  • #1141 Include necessary opencv2 header on OSX.
  • #1140 Clean up add_to_list function a bit.
  • #1139 Avoid recursion in ip_is_lan and ip_is_local.
  • #1138 Add tool to find directly recursive calls in toxcore.
  • #1136 Remove the use of CLOCK_MONOTONIC_RAW.
  • #1135 Avoid use of global mutable state in mono_time on win32.
  • #1134 Use code font for tool names and flags in INSTALL.md.
  • #1126 Simplify configure.ac for faster autotools build.
  • #1095 Use test clock in run_auto_test tests and dht test
  • #1069 Add mechanism for recovering from disconnections in conferences
  • #1046 Finish the messenger state plugin system
  • #895 Feature bootstrap trace/debug log output

Closed issues:

  • #1214 Massive red shutdown of nodes
  • #1201 Windows cross-compilation is broken
  • #1194 Cancelling unanswered toxav call locks uninitialied mutex
  • #961 Can't send messages in persistent group chat
  • #960 Persistent groups don't work properly when using toxync bot
  • #838 How to get groupchat identifier?

v0.2.7

Merged PRs:

  • #1142 Release 0.2.7
  • #1137 Make ip_is_lan return bool instead of 0/-1.
  • #1133 Make the tsan build fail instead of swallowing its errors.
  • #1132 Use bool in place of 0/1 int values.
  • #1131 Format crypto_core.c.
  • #1130 Fix test class name for mono_time_test.
  • #1129 Call abort instead of exit on test failure.
  • #1128 Add some tests for ping_array.
  • #1127 Update copyright to 2018.
  • #1125 Run save_compatibility_test in the autotools build.
  • #1124 Fix the PORT_ALLOC failure of save_compatibility_test.
  • #1123 Add support for setting a custom monotonic time function in mono_time
  • #1122 Run all tests (and compilation) in parallel with autotools.
  • #1120 Stop using massive macros in toxav_basic_test.
  • #1119 Use do-while instead of while in tests.
  • #1117 Fix leave callback calling in del_groupchat
  • #1112 Fix auto_tests Makefile
  • #1110 Add check to make sure tox was created successfully
  • #1109 Consistently use 'mono_time' rather than 'monotime'
  • #1107 Always print output on failure in cmake tests on Travis.
  • #1106 Fix libmisc_tools building
  • #1104 Avoid redefining macros from different files.
  • #1103 Upload coverage to codecov as well as coveralls.
  • #1102 Enable color diagnostics on circleci.
  • #1101 Make the save_compatibility_test work with bazel.
  • #1100 Make Mono_Time an argument to current_time_monotonic
  • #1099 Fix const cast in save-generator.
  • #1098 Run both asan and tsan on Circle CI.
  • #1097 Run project tests like yamllint_test.
  • #1096 Enable .travis.yml check and use non-markdown license.
  • #1094 Set _POSIX_C_SOURCE to 200112L. We need it for C99 compat.
  • #1092 Install the DHT_bootstrap binary on make install.
  • #1086 Try ipv6 connections even after udp timeout
  • #1081 Change while-loop to for-loop to express for-each-frame.
  • #1075 Fix FreeBSD VM on Travis not shutting down
  • #1061 Force storing the result of crypto_memcmp in the test.
  • #1057 Reduce the number of times unix_time_update is called.
  • #1051 Add save file generator, compatibility test, and generate a savefile
  • #1038 Use per-instance Mono_Time instead of a global unix_time

Closed issues:

  • #1114 Segfault on group quit, free of invalid audio_decoder
  • #1105 Sodium.h missing?

v0.2.6

Merged PRs:

  • #1093 Release 0.2.6
  • #1090 Fix possible resource leaks in test
  • #1089 Limit the size of a save file in file_saving_test.
  • #1088 Use --config to tell bazel about the environment.
  • #1085 Prune long long warnings.
  • #1084 Fix style in toxav.c.
  • #1083 Fix coding style in rtp module.
  • #1082 Fix groupav.c style and avoid casts in toxav_old.c.
  • #1080 Fix memory leak in error path in group A/V.
  • #1079 Fix style in video.c.
  • #1078 Fix style in msi.c.
  • #1077 Make conferences_object properly typed.
  • #1076 Fix style in bwcontroller module.
  • #1074 Move OSX to stage 1 of Travis.
  • #1073 Stop running tests in the bazel build.
  • #1072 Avoid forward declaration of rtp structs.
  • #1071 Temporarily disable FreeBSD build, since it times out.
  • #1070 Fix enumerator names in toxav to comply with toxcore naming standards.
  • #1068 Fix a few warnings from clang.
  • #1067 Remove last use of the MIN macro.
  • #1066 Remove all uses of the PAIR macro in toxav.
  • #1064 Fix ToxAv's use of struct Tox.
  • #1063 Avoid passing -1 as friend connection to new groups.
  • #1062 Check that the save file size isn't larger than our address space.
  • #1060 Avoid implicit conversion of negative value to uint32_t.
  • #1059 Assert that we don't divide by 0 in random_testing.cc.
  • #1056 Fix typo in loop over assocs.
  • #1053 Use tokstyle in the cmake travis build.
  • #1049 Fix some printf format specifiers.
  • #1043 Add simple deterministic random number generator for tests
  • #1042 Add callback for successful connection to a conference
  • #1039 Use the crypto random functions instead of rand().
  • #1036 Add deprecation notice to some UPPER_CASE enums.
  • #1016 Split out conference type (text/av) from identifier.

v0.2.5

Merged PRs:

  • #1054 Release 0.2.5
  • #1048 Fix error message in m_send_generic_message
  • #1047 Remove unused m_callback_log function.
  • #1041 Avoid multiple for-next expressions.
  • #1037 Run all tests in the Autotools build
  • #1035 Fix problems with initial connections and name-setting in conferences
  • #1032 Use auto_test fixture in some tests and standardise filenames
  • #1030 Make a separate struct Tox containing the Messenger.
  • #1029 Add by_id and get_id functions, renaming from *_uid.
  • #1025 More fixed_width ints and incorporating file_saving_test.c
  • #1023 Run buildifier on c-toxcore BUILD files.
  • #1022 Make resize in list.c return bool instead of 0/1.
  • #1021 Remove redundant casts to the same type.
  • #1020 Add github usernames to TODOs.
  • #1019 Synchronise parameter names in headers with those in the implementation.
  • #1018 Reduce nesting by doing more early returns on error.
  • #1017 Add missing braces in dht_test.c.
  • #1011 Run Clang global static analysis on Travis.
  • #1010 Avoid implementations in .h files or #including .c files.

Closed issues:

  • #1028 qTox crashes 1-2 times a day after update to 0.2.4
  • #1002 Implement an abstraction over pthread and windows thread synchronisation primitives

v0.2.4

Merged PRs:

  • #1024 Release v0.2.4
  • #1014 Use string comparison operator in configure.ac.
  • #1013 Link -lsocket and -lnsl for socket functions on Solaris.
  • #1012 Correct the max hostname length constant.
  • #1009 Using stdint instead of int/long
  • #1008 Set _XOPEN_SOURCE to 700 for FreeBSD.
  • #1007 Use enums for group packet types.
  • #1006 Set C++11/C99 flag manually in older cmake on not-msvc.
  • #1005 Use the correct repository name in the coverage badge.
  • #1003 Remove LOGGER_ERROR for harmless send failure.
  • #1001 Add conference_by_uid and conference_get_uid functions.
  • #1000 Limit number of group chats to 65536.
  • #998 Use named function types for group callbacks.
  • #997 Style fixes in TCP code; remove MIN and PAIR from util.h.
  • #996 Add the bazel build as one of the PR blocking builds.
  • #995 Fix style in some header files.
  • #994 Fix style in DHT.c.
  • #993 Move load_state and its helper functions to their own module.
  • #991 Use named function types for friend_connection callbacks.
  • #990 Use named function types for friend_requests callbacks.
  • #989 Use named function types for callbacks in net_crypto.
  • #987 Use named types for onion callbacks.
  • #986 Simplify Travis-CI FreeBSD build
  • #985 Clarify the intent of "file kinds" in the API.
  • #984 Avoid side-effectful assignments in conditionals.
  • #981 Factor out time keeping code into its own module: mono_time.c.
  • #979 Add a thread-safe version of unix_time and friends.
  • #978 Rename BS_LIST to BS_List to follow the naming conventions.
  • #977 Remove VLA usage from send_audio_packet.
  • #976 Call the "peer leaves" callback only once on group delete.
  • #975 Factor out the actual test code from conference_test.
  • #972 Add a test that reproduces the NULL peer nick bug.
  • #968 Make tox.c unambiguously parseable.
  • #967 lan_discovery_test and version_test cleanup
  • #966 Use run_auto_test.h test fixture for some auto-tests.
  • #965 Add #include <cstdio> for std::printf.
  • #964 Add some tests for our ring_buffer implementation.
  • #962 Collect PACKET_ID* constants in net_crypto.h, cleanup their uses
  • #958 Fix leak of Logger instances in dht_test.
  • #957 Remove broken conference tests.
  • #955 Another TCP_test upgrade
  • #954 Proposal: Make arg host understand clearly.
  • #953 Add missing MAX_HOSTNAME_LENGTH doc.
  • #945 Add a test to try and overflow the send queue in net_crypto.
  • #943 Correct check for net_crypto packet index.
  • #942 Simplify Travis CI builds.
  • #932 Various minor cleanups in net_crypto.

Closed issues:

  • #1015 Improve Solaris support
  • #1004 qTox: "Program received signal SIGPIPE, Broken pipe." with TokTok-c-toxcore-v0.2.3_GH0 on FreeBSD 11.x.
  • #988 Registration on https://nodes.tox.chat (question)
  • #982 Merge the two travis stages for freebsd back into one
  • #970 Crash with persistent groups
  • #963 ToxAV's rb_write function is written in a strange way
  • #946 [API] for max proxy address length
  • #944 How detect that friend is busy
  • #936 Help needed in testing a tox client,I need some dummy toxids to test .
  • #923 Crash on malloc in ping_array_add
  • #911 Weekly Tox Dev Meeting
  • #910 Crash in clear_entry in ping_array.c
  • #903 c-toxcore and LGPL (question)
  • #528 c-toxcore on Windows can be compiled using MSYS2 (with modern MinGW-w64)
  • #472 Crash in ping_array.c:35
  • #450 Run format-test earlier in the build
  • #429 Cannot build on Windows using MinGW

v0.2.3

Merged PRs:

  • #952 Release v0.2.3
  • #951 Only run astyle if the astyle binary exists.
  • #950 Remove utils.c and utils.h from toxencryptsave build.
  • #949 Fixes to the imported sodium sources to compile without warnings.
  • #948 Add a MAX_HOSTNAME_LENGTH constant.
  • #947 Remove the format test.
  • #937 Add new Circle CI configuration.
  • #935 Add a test for double conference invite.
  • #933 Add Logger to various net_crypto functions, and add const to Logger where possible.
  • #931 Avoid conditional-uninitialised warning for tcp test.
  • #930 Disable UDP when proxy is enabled.
  • #928 Use clang-format for C++ code.
  • #927 Add assertions to bootstrap tests for correct connection type.
  • #926 Make NULL options behave the same as default options.
  • #925 Add tests for what happens when passing an invalid proxy host.
  • #924 Make the net_crypto connection state an enum.
  • #922 Clarify/Improve test_some test
  • #921 Beginnings of a TCP_test.c overhaul
  • #920 Add test for creating multiple conferences in one tox.
  • #918 Merge irungentoo/master into toktok
  • #917 Add random testing program.
  • #916 Fix linking with address sanitizer.
  • #915 Remove resource_leak_test.
  • #914 Make dht_test more stable.
  • #913 Minor cleanup: return early on error condition.
  • #906 Sort bazel build file according to buildifier standard.
  • #905 In DEBUG mode, make toxcore crash on signed integer overflow.
  • #902 Log only the filename, not the full path in LOGGER.
  • #899 Fix macOS macro because of GNU Mach
  • #898 Fix enumeration of Crypto_Connection instances
  • #897 Fix ipport_isset: port 0 is not a valid port.
  • #894 Fix logging related crash in bootstrap node
  • #893 Fix bootstrap crashes, still
  • #892 Add empty logger to DHT bootstrap daemons.
  • #887 Fix FreeBSD build on Travis
  • #884 Fix the often call of event tox_friend_connection_status
  • #883 Make toxcore compile on BSD
  • #878 fix DHT_bootstrap key loading
  • #877 Add minitox to under "Other resources" section in the README
  • #875 Make bootstrap daemon use toxcore's version
  • #867 Improve network error reporting on Windows
  • #841 Only check full rtp offset if RTP_LARGE_FRAME is set
  • #823 Finish @Diadlo's network Family abstraction.
  • #822 Move system header includes from network.h to network.c

Closed issues:

  • #900 Log messages include the full build path
  • #881 Toxcore does not build with cmake on OpenBSD.
  • #879 DHT_bootstrap asserts due to no default logger
  • #868 A tox_friend_connection_status event often occurs

v0.2.2

Merged PRs:

  • #872 Restrict packet kinds that can be sent through onion path.
  • #864 CMake warn if libconfig not found
  • #863 Remove broken and unmaintained scripts.
  • #862 Release v0.2.2
  • #859 Add clarifying comment to cryptpacket_received function.
  • #857 Avoid the use of rand() in tests.
  • #852 bugfix build error on MacOS
  • #846 Disallow stderr logger by default.
  • #845 Fix coveralls reporting.
  • #844 Add COVERAGE cmake flag for clang.
  • #825 Add default stderr logger for logging to nullptr.
  • #824 Simplify sendpacket function, deduplicate some logic.
  • #809 Remove the use of the 'hh' format specifier.
  • #801 Add logging to the onion_test.
  • #797 Move struct DHT_Friend into DHT.c.

Closed issues:

  • #873 Onion vulnerability
  • #786 Make format strings msvc/mingw-happy

v0.2.1

Merged PRs:

  • #839 Update changelog for 0.2.1
  • #837 Update version to 0.2.1.
  • #833 Add missing tox_nospam_size() function
  • #832 Don't set RTP_LARGE_FRAME on rtp audio packets
  • #831 Don't throw away rtp packets from old Toxcore
  • #828 Make file transfers 50% faster.

v0.2.0

Merged PRs:

  • #821 Remove deprecated conference namelist change callback.
  • #820 Fix auto_tests to stop using the deprecated conference API.
  • #819 Change default username to empty string
  • #818 Change README to talk about cmake instead of autoreconf.
  • #817 Fix warning on Mac OS X and FreeBSD.
  • #815 Some minor cleanups suggested by cppcheck.
  • #814 Fix memory leak of Logger instance on error paths.
  • #813 Minor cleanups: dead stores and avoiding complex macros.
  • #811 Update changelog for 0.2.0
  • #808 Fix a bunch of compiler warnings and remove suppressions.
  • #807 Link all tests to the android cpufeatures library if available.
  • #806 Fix toxcore.pc generation.
  • #805 Add an option that allows us to specify that we require toxav.
  • #804 Fix OSX tests: find(1) doesn't work like on Linux.
  • #803 Fix the windows build: pthread needs to be linked after vpx.
  • #800 Make group number in the toxav public API uint32_t
  • #799 Implement the "persistent conference" callback changes as new functions.
  • #798 Add deprecation notices to functions that will go away in v0.3.0.
  • #796 Make some sizeof tests linux-only.
  • #794 Remove apidsl from the build.
  • #793 Add a bazel test that ensures all our projects are GPL-3.0.
  • #792 Increase range of ports available to Toxes during tests
  • #791 Run all tests in parallel on Travis.
  • #790 Disable lan discovery in most tests.
  • #789 Remove tox_test from autotools build.
  • #788 Don't print trace level logging in tests.
  • #787 Split up tox_test into multiple smaller tests
  • #784 Use Wine Devel instead of Wine Staging
  • #783 Send 0 as peer number in CHANGE_OCCURRED group event.
  • #782 Use const more in C code.
  • #781 Don't build all the small sub-libraries.
  • #780 Get rid of the only GNU extension we used.
  • #779 Remove leftover symmetric key from DHT struct.
  • #778 Add static asserts for all the struct sizes in toxcore.
  • #776 Optionally use newer cmake features.
  • #775 Look for dependencies in third_party/
  • #774 Improve gtest finding, support local checkout.
  • #773 Add gtest include directory to -I flags if found.
  • #772 Reject discovery packets coming from outside the "LAN".
  • #771 Adopt the "change occurred" API change from isotoxin-groupchat.
  • #770 Add MSVC compilation instructions
  • #767 Build toxcore with libsodium.dll instead of libsodium.lib.
  • #766 Remove libcheck from the dependencies.
  • #765 Make outgoing Filetransfers round-robin.
  • #764 Fix LAN discovery on FreeBSD.
  • #761 use official debian domain
  • #760 Make cmake script more forgiving.
  • #759 Use more ubuntu packages; remove hstox for now.
  • #757 Improve stability of crypto_memcmp test.
  • #756 Format .cpp files with format-source.
  • #755 Add some unit tests for util.h.
  • #754 Move the tox_sync tool to the toxins repository.
  • #753 Move irc_syncbot to the toxins repository.
  • #752 Move tox_shell program to the toxins repository.
  • #751 Use the markdown GPLv3 license in the c-toxcore repo.
  • #750 Remove csrc from the RTPHeader struct.
  • #748 Revert "Add correction message type"
  • #745 Change the "capabilities" field to a "flags" field.
  • #742 Improve conference test stability.
  • #741 Add -D__STDC_LIMIT_MACROS=1 for C++ code.
  • #739 Add RTP header fields for the full frame length and offset.
  • #737 Use nullptr as NULL pointer constant instead of NULL or 0.
  • #736 Avoid clashes with "build" directories on case-insensitive file systems.
  • #734 Make audio/video bit rates "properties"
  • #733 Fix link in README.md
  • #730 Fix out of bounds read in error case in messenger_test.
  • #729 Remove dead return statement.
  • #728 Disable the autotools build in PR builds.
  • #727 Rename some rtp header struct members to be clearer.
  • #725 Publish a single public BUILD target for c-toxcore.
  • #723 Use <stdlib.h> for alloca on FreeBSD.
  • #722 Use self-built portaudio instead of system-provided.
  • #721 Manually serialise RTPHeader struct instead of memcpy.
  • #718 Improve sending of large video frames in toxav.
  • #716 Add comment from #629 in ring_buffer.c.
  • #714 Make BUILD files more finely-grained.
  • #713 Add BUILD files for all the little tools in the repo.
  • #712 Fix high quality video sending (backport to 0.1.x).
  • #711 Make the monolith test a C++ binary.
  • #710 Don't allocate or dereference Tox_Options in tests.
  • #709 Remove nTox from the repo.
  • #708 Add testing/*.c (except av_test) to bazel build.
  • #707 Fix log message in simple_conference_test: invite -> message.
  • #705 Add correction support for conference
  • #703 Add a simple conference test with 3 friends.
  • #702 Update to astyle 2.04 on CircleCI to get the correct result
  • #701 Add astyle to Circle CI build.
  • #700 Use more descriptive names in bwcontroller.
  • #699 Add some explanatory comments to the toxav audio code.
  • #698 Extract named constants from magic numbers in toxav/audio.c.
  • #697 Use C99 standard in bazel builds.
  • #694 Add bazel build scripts for c-toxcore.
  • #693 Make libcheck optional for windows builds.
  • #691 Don't install packages needlessly on Travis
  • #690 Run fewer Travis jobs during Pull Requests.
  • #689 Make Net_Crypto a module-private type.
  • #688 Make DHT a module-private type.
  • #687 Use apidsl to generate LAN_discovery.h.
  • #686 Remove hstox test for now.
  • #685 Add message type for correction
  • #684 Add random_u16 function and rename the others to match.
  • #682 Use larger arrays in crypto timing tests.
  • #681 Fix some memory or file descriptor leaks in test code.
  • #680 Filter out annoying log statements in unit tests.
  • #679 Use apidsl to generate ping.h.
  • #678 Sort monolith.h according to ls(1): uppercase first.
  • #677 Make pack/unpack_ip_port public DHT functions.
  • #675 Make Onion_Announce a module-private type.
  • #674 Make TCP_Client_Connection a module-private type.
  • #673 Move TCP_Secure_Connection from .h to .c file.
  • #672 Make Friend_Connections a module-private type.
  • #670 Make Friend_Requests a module-private type.
  • #669 Make Onion_Client a module-private type.
  • #668 Make Ping_Array a module-private type.
  • #667 pkg-config .pc files: added .private versions of Libs and Required
  • #666 Fix some typos in code and cmake comments
  • #665 Remove useless if statement
  • #662 Move Networking_Core struct into the .c file.
  • #661 Disable asan, since it seems to break on travis.
  • #660 Increase test retries to 10 (basically infinite).
  • #659 Fix formatting in some C files.
  • #658 Call freeaddrinfo on error paths in net_getipport.
  • #657 Zero-initialise stack-allocated objects in hstox driver.
  • #656 Fix file descriptor leak in hstox test.
  • #654 Bump toxcore version to 0.2.0.
  • #652 Add support for building the monolith test on android.
  • #650 Remove deprecated ToxDNS
  • #648 Make hstox compile on FreeBSD
  • #624 Update rpm spec and use variables in cmake instead of hardcoded paths
  • #616 Add projects link to Readme.
  • #613 Fix travis
  • #605 Fix OS X Travis.
  • #598 Fix typos in docs
  • #578 Split toxav_bit_rate_set() into two functions to hold the maximum bitrates libvpx supports
  • #477 Update install instructions to use CMake
  • #465 Add Alpine linux Dockerfile in addition to the existing Debian one
  • #442 Generate only one large library "libtoxcore".
  • #334 Change toxencryptsave API to never overwrite pass keys.

Closed issues:

  • #810 Release 0.2.0
  • #704 Add CORRECTION support to group chats
  • #620 Video bug: large video frames are not sent correctly
  • #606 groupId is int whereas friendId is uint32_t, reason?
  • #599 Error when linking against libtoxcore: undefined reference to symbol 'crypto_hash_sha256'
  • #572 int32_t may be not large enough as a argument for video_bit_rate of vp8/9 codec
  • #566 LAYER #: modules for static linking - build issue
  • #383 TODO: add cmake instructions in README.md
  • #42 Remove ToxDNS and related stuff from toxcore

v0.1.11

Merged PRs:

  • #643 Add .editorconfig
  • #638 Release v0.1.11
  • #637 Update tox-bootstrapd Dockerfile
  • #635 Separate FreeBSD Travis build in 2 stages
  • #632 Lift libconfig to v1.7.1
  • #631 Add aspcud for Opam
  • #630 Fix for Travis fail on addr_resolve testing
  • #623 Split video payload into multiple RTP messages when too big to fit into one
  • #615 forget DHT pubkey of offline friend after DHT timeout
  • #611 Fix typo
  • #607 set onion pingid timeout to announce timeout (300s)
  • #592 Adjust docs of few toxencrypt function to the code
  • #587 Fix tox test
  • #586 Improve LAN discovery
  • #576 Replace include(CTest) on enable_testing()
  • #574 Reset hole-punching parameters after not punching for a while
  • #571 Configure needs to find libsodium headers.
  • #515 Network cleanup: reduce dependency on system-defined constants
  • #505 Add FreeBSD Travis
  • #500 Fixed the bug when receipts for messages sent from the receipt callback never arrived.

Closed issues:

  • #493 Receipts for messages sent from the receipt callback never arrive
  • #240 Tox doesn't reconnect after internet connection interruption
  • #237 Contacts are shown offline when they are online

v0.1.10

Merged PRs:

  • #575 Release v0.1.10
  • #564 Fix Windows build
  • #542 Save bandwidth by moderating onion pinging

v0.1.9

Merged PRs:

  • #563 Release v0.1.9
  • #561 Remove unused variable
  • #560 Fix non-portable zeroing out of doubles
  • #559 Fix theoretical memory leaks
  • #557 Document inverted mutex lock/unlock.
  • #556 Build tests on appveyor, the MSVC build, but don't run them yet.
  • #555 Fold hstox tests into the general linux test.
  • #554 Add a monolith_test that includes all toxcore sources.
  • #553 Factor out strict_abi cmake code into a separate module.
  • #552 Fix formatting and spelling in version-sync script.
  • #551 Forbid undefined symbols in shared libraries.
  • #546 Make variable names in file saving test less cryptic
  • #539 Make OSX test failures fail the Travis CI build.
  • #537 Fix TokTok/c-toxcore#535
  • #534 Fix markdown formatting
  • #530 Implement missing TES constant functions.
  • #511 Save bandwidth by avoiding superfluous Nodes Requests to peers already on the Close List
  • #506 Add test case for title change
  • #498 DHT refactoring
  • #487 Split daemon's logging backends in separate modules
  • #468 Test for memberlist not changing after changing own name
  • #449 Use new encoding of Maybe in msgpack results.

Closed issues:

  • #482 CMake can't detect and compile ToxAV on OSX

v0.1.8

Merged PRs:

  • #538 Reverting tox_loop PR changes
  • #536 Release v0.1.8
  • #526 Add TOX_NOSPAM_SIZE to the public API.
  • #525 Retry autotools tests the same way as cmake tests.
  • #524 Reduce ctest timeout to 2 minutes from 5 minutes.
  • #512 Add test for DHT pack_nodes and unpack_nodes
  • #504 CMake: install bootstrapd if it is built
  • #488 Save compiled Android artifacts after CircleCI builds.
  • #473 Added missing includes: <netinet/in.h> and <sys/socket.h>
  • #335 Implement tox_loop

Closed issues:

  • #535 OS X tests failing
  • #503 Undefined functions: tox_pass_salt_length, tox_pass_key_length, tox_pass_encryption_extra_length
  • #456 Tox.h doesn't expose the size of the nospam.
  • #411 Reduce CTest timeout to 2 minutes

v0.1.7

Merged PRs:

  • #523 Release v0.1.7
  • #521 Fix appveyor script: install curl from chocolatey.
  • #510 Fix list malloc(0) bug
  • #509 Fix network malloc(0) bug
  • #497 Fix network
  • #496 Fix Travis always succeeding despite tests failing
  • #491 Add crypto_memzero for temp buffer
  • #490 Move c_sleep to helpers.h and misc_tools.h
  • #486 Remove empty line in Messenger.c
  • #483 Make BUILD_TOXAV an option and fail if dependencies are missing
  • #481 Remove dependency on strings.h
  • #480 Use VLA macro
  • #479 Fix pthreads in AppVeyor build
  • #471 Remove statics used in onion comparison functions.
  • #461 Replace part of network functions on platform-independent implementation
  • #452 Add VLA compatibility macro for C89-ish compilers.

Closed issues:

  • #495 Fix heap buffer overflow introduced by #461
  • #494 Format networking code introduced by #461
  • #474 TOX_VERSION_PATCH isn't in sync with the version

v0.1.6

Merged PRs:

  • #460 Release v0.1.6.
  • #459 Add Android build to CI.
  • #454 Add appveyor build for native windows tests.
  • #448 Only retry failed tests on Circle CI instead of all.
  • #434 Replace redundant packet type check in handler with assert.
  • #432 Remove some static variables
  • #385 Add platform-independent Socket and IP implementation

Closed issues:

  • #457 EPOLLRDHUP not defined in android ndk on lower API that 21
  • #415 Set up a native windows build on appveyor

v0.1.5

Merged PRs:

  • #447 Release v0.1.5.
  • #446 Limit number of retries to 3.
  • #445 Make Travis tests slightly more robust by re-running them.
  • #443 Make building DHT_bootstrap in cmake optional.
  • #433 Add tutorial and "danger: experimental" banner to README.
  • #431 Update license headers and remove redundant file name comment.
  • #424 Fixed the FreeBSD build failure due to the undefined MSG_NOSIGNAL.
  • #420 Setup autotools to read .so version info from a separate file
  • #418 Clarify how the autotools build is done on Travis.
  • #414 Explicitly check if compiler supports C99

Closed issues:

  • #413 Support C compilation with -std=c99 in autotools

v0.1.4

Merged PRs:

  • #422 Release v0.1.4.
  • #410 Fix NaCl build: tar was called incorrectly.
  • #409 Clarify that the pass key new function can fail.
  • #407 Don't use git.depth=1 anymore.
  • #404 Issue 404: semicolon not found
  • #403 Warn on -pedantic, don't error yet.
  • #401 Add logging callback to messenger_test.
  • #400 Run windows tests but ignore their failures.
  • #398 Portability Fixes
  • #397 Replace make_quick_sort with qsort
  • #396 Add an OSX build that doesn't run tests.
  • #394 CMake: Add soversion to library files to generate proper symlinks
  • #393 Set up autotools build to build against vanilla NaCl.
  • #392 Check that TCP connections aren't dropped in callbacks.
  • #391 Minor simplification in file_seek code.
  • #390 Always kill invalid file transfers when receiving file controls.
  • #388 Fix logging condition for IPv6 client timestamp updates.
  • #387 Eliminate dead return statement.
  • #386 Avoid accessing uninitialised memory in net_crypto.
  • #381 Remove TOX_DEBUG and have asserts always enabled.

Closed issues:

  • #378 Replace all uses of make_quick_sort with qsort
  • #364 Delete misc_tools.h after replacing its use by qsort.
  • #363 Test against NaCl in addition to libsodium on Travis.

v0.1.3

Merged PRs:

  • #395 Revert "Portability fixes"
  • #380 Test a few cmake option combinations before the build.
  • #377 Fix SSL verification in coveralls.
  • #376 Bring back autotools instructions
  • #373 Only fetch 1 revision from git during Travis builds.
  • #369 Integrate with CircleCI to build artifacts in the future
  • #366 Release v0.1.3.
  • #362 Remove .cabal-sandbox option from tox-spectest find line.
  • #361 Simplify integration as a third-party lib in cmake projects
  • #354 Add secure memcmp and memzero implementation.
  • #324 Do not compile and install DHT_bootstrap if it was disabled in configure
  • #297 Portability fixes

Closed issues:

  • #347 Implement our own secure memcmp and memzero if libsodium isn't available
  • #319 toxcore installs DHT_bootstrap even though --disable-daemon is passed to ./configure

v0.1.2

Merged PRs:

  • #355 Release v0.1.2
  • #353 Fix toxav use after free caused by premature MSI destruction
  • #346 Avoid array out of bounds read in friend saving.
  • #344 Remove unused get/set salt/key functions from toxencryptsave.
  • #343 Wrap all sodium/nacl functions in crypto_core.c.
  • #341 Add test to check if tox_new/tox_kill leaks.
  • #336 Correct TES docs to reflect how many bytes functions actually require.
  • #333 Use tox_options_set_* instead of direct member access.

Closed issues:

  • #345 Array out of bounds read in "save" function
  • #342 Wrap all libsodium functions we use in toxcore in crypto_core.
  • #278 ToxAV use-after-free bug

v0.1.1

Merged PRs:

  • #337 Release v0.1.1
  • #332 Add test for encrypted savedata.
  • #330 Strengthen the note about ABI compatibility in tox.h.
  • #328 Drop the broken TOX_VERSION_REQUIRE macro.
  • #326 Fix unresolved reference in toxencryptsave API docs.
  • #309 Fixed attempt to join detached threads (fixes toxav test crash)
  • #306 Add option to disable local peer discovery

Closed issues:

  • #327 The TOX_VERSION_REQUIRE macro is broken.
  • #221 Option to disable local peer detection

v0.1.0

Merged PRs:

  • #325 Fix Libs line in toxcore.pc pkg-config file.
  • #322 Add compatibility pkg-config modules: libtoxcore, libtoxav.
  • #318 Fix --enable-logging flag in autotools configure script.
  • #316 Release 0.1.0.
  • #315 Fix version compatibility test.
  • #314 Fix off by one error in saving our own status message.
  • #313 Fix padding being in the wrong place in SAVED_FRIEND struct
  • #312 Conditionally enable non-portable assert on LP64.
  • #310 Add apidsl file for toxencryptsave.
  • #307 Clarify toxencryptsave documentation regarding buffer sizes
  • #305 Fix static builds
  • #303 Don't build nTox by default.
  • #301 Renamed messenger functions, prepend m_.
  • #299 net_crypto give handle_data_packet_helper a better name
  • #294 Don't error on warnings by default

Closed issues:

  • #317 toxcore fails to build with autotools and debugging level enabled
  • #311 Incorrect padding
  • #308 Review TES and port it to APIDSL
  • #293 error building on ubuntu 14.04
  • #292 Don't build nTox by default with CMake
  • #290 User Feed
  • #266 Support all levels listed in TOX_DHT_NAT_LEVEL
  • #216 When v0.1 release?

v0.0.5

Merged PRs:

  • #289 Version Patch v0.0.4 => v0.0.5
  • #287 Add CMake knobs to suppress building tests
  • #286 Support float32 and float64 in msgpack type printer.
  • #285 Mark Tox_Options struct as deprecated.
  • #284 Add NONE enumerator to bit mask.
  • #281 Made save format platform-independent
  • #277 Fix a memory leak in hstox interface
  • #276 Fix NULL pointer dereference in log calls
  • #275 Fix a memory leak in GroupAV
  • #274 Options in new_messenger() must never be null.
  • #271 Convert to and from network byte order in set/get nospam.
  • #262 Add ability to disable UDP hole punching

Closed issues:

  • #254 Add option to disable UDP hole punching
  • #215 The current tox save format is non-portable
  • #205 nospam value is reversed in array returned by tox_self_get_address()

v0.0.4

Merged PRs:

  • #272 v0.0.4
  • #265 Disable -Wunused-but-set-variable compiler warning flag.
  • #261 Work around Travis issue that causes build failures.
  • #260 Support arbitrary video resolutions in av_test
  • #257 Add decode/encode PlainText test support.
  • #256 Add spectest to the cmake test suite.
  • #255 Disable some gcc-specific warnings.
  • #249 Use apidsl for the crypto_core API.
  • #248 Remove new_nonce function in favour of random_nonce.
  • #224 Add DHT_create_packet, an abstraction for DHT RPC packets

v0.0.3

Merged PRs:

  • #251 Rename log levels to remove the extra "LOG" prefix.
  • #250 Release v0.0.3.
  • #245 Change packet kind enum to use hex constants.
  • #243 Enable address sanitizer on the cmake build.
  • #242 Remove assoc
  • #241 Move log callback to options.
  • #233 Enable all possible C compiler warning flags.
  • #230 Move packing and unpacking DHT request packets to DHT module.
  • #228 Remove unimplemented "time delta" parameter.
  • #227 Compile as C++ for windows builds.
  • #223 TravisCI shorten IRC message
  • #220 toxav renaming: group.{h,c} -> groupav.{h,c}
  • #218 Rename some internal "group chat" thing to "conference".
  • #212 Convert series of NET_PACKET_* defines into a typedef enum
  • #196 Update readme, moved the roadmap to a higher position
  • #193 Remove duplicate tests: split tests part 2.

Closed issues:

  • #40 Stateless callbacks in toxcore's public API

v0.0.2

Merged PRs:

  • #207 docs: correct instructions for cloning & harden against repo name changes
  • #206 Corrected libsodium tag
  • #204 Error if format_test can't be executed.
  • #202 Version Patch v0.0.2
  • #190 Install libraries with RPATH.
  • #189 Use socklen_t instead of unsigned int in call to accept.
  • #188 Add option to set test timeout
  • #187 Add option to build tox-bootstrapd
  • #185 Import the hstox SUT interface from hstox.
  • #183 Set log level for DEBUG=ON to LOG_DEBUG.
  • #182 Remove return after no-return situation.
  • #181 Minor documentation fixes.
  • #180 Add the 'Tox' context object to the logger.
  • #179 Remove the _test suffix in auto_test calls.
  • #178 Rebuild apidsl'd headers in cmake.
  • #177 docs(INSTALL): update compiling instructions for Linux
  • #176 Merge irungentoo/toxcore into TokTok/c-toxcore.
  • #173 Duplicate tox_test to 4 other files.

Closed issues:

  • #201 Logging callback was broken

v0.0.1

Merged PRs:

  • #174 Remove redundant callback objects.
  • #171 Simple Version tick to v0.0.1
  • #170 C++ the second round.
  • #166 Add version-sync script.
  • #164 Replace void* with RingBuffer* to avoid conversions.
  • #163 Move ring buffer out of toxcore/util into toxav.
  • #162 Allow the OSX build to fail on travis.
  • #161 Minor cleanups: unused vars, unreachable code, static globals.
  • #160 Work around bug in opencv3 headers.
  • #157 Make TCP_Connections module-private.
  • #156 Make TCP_Server opaque.
  • #153 Fix strict-ld grep expressions to include digits.
  • #151 Revert #130 "Make ToxAV stateless"
  • #148 Added UB comment r/t deleting a friend w/ active call
  • #146 Make group callbacks stateless
  • #145 Make internal chat list function take uint32_t* as well.
  • #144 Only build toxav if opus and vpx are found.
  • #143 Make toxcore code C++ compatible.
  • #142 Fix for windows dynamic libraries.
  • #141 const-correctness in windows code.
  • #140 Use C99 %zu format conversion in printf for size_t.
  • #139 Clean up Travis build a bit in preparation for osx/win.
  • #138 Remove format-source from travis script.
  • #135 Convert old groupchats to new API format
  • #134 Add some astyle options to make it do more.
  • #133 Ensure that all TODOs have an owner.
  • #132 Remove else directly after return.
  • #130 Make ToxAV stateless
  • #129 Use TokTok's apidsl instead of the iphydf one.
  • #127 Use "phase" script for travis build phases.
  • #126 Add option to build static libraries.
  • #125 Group #include directives in 3-4 groups.
  • #123 Use correct logical operator for tox_test
  • #120 make the majority of the callbacks stateless and add some status to a testcase
  • #118 Use const for version numbers.
  • #117 Add STRICT_ABI cmake flag to generate export lists.
  • #116 Fix potential null pointer dereference.
  • #115 Fix memory leak on error paths in tox_new.
  • #114 Fix compilation for Windows.
  • #111 Add debugging option to autotools configuration
  • #110 Comment intentional switch fallthroughs
  • #109 Separate ip_port packing from pack_nodes() and unpack_nodes()
  • #108 Prevent <winsock.h> inclusion by <windows.h>.
  • #107 Print a message about missing astyle in format-source.
  • #104 Merge with irungentoo/master
  • #103 Allocate sizeof(IP_ADAPTER_INFO) bytes instead of sizeof(T*).
  • #101 Add TODO for @mannol.
  • #100 Remove the packet mutation in toxav's bwcontroller.
  • #99 Make packet data a ptr-to-const.
  • #97 Improve static and const correctness.
  • #96 Improve C standard compliance.
  • #94 Rearrange fields to decrease size of structure
  • #84 Remove useless casts.
  • #82 Add missing #include <pthread.h> to av_test.c.
  • #81 Match parameter names in declarations with their definitions.
  • #80 Sort #includes in all source files.
  • #79 Remove redundant return statements.
  • #78 Do not use else after return.
  • #77 Add OSX and Windows build to travis config.
  • #76 Remove unused and bit-rotten friends_test.
  • #75 Enable build of av_test.
  • #74 Add missing #includes to headers and rename tox_old to tox_group.
  • #73 Add braces to all if statements.
  • #72 Add getters/setters for options.
  • #70 Expose constants as functions.
  • #68 Add address sanitizer option to cmake file.
  • #66 Fix plane size calculation in test
  • #65 Avoid large stack allocations on thread stacks.
  • #64 Comment out useless TODO'd if block.
  • #63 Initialise the id in assoc_test.
  • #62 Reduce the timeout on travis to something much more reasonable
  • #60 Make friend requests stateless
  • #59 Replace uint with unsigned int in assoc.c.
  • #58 Make Message received receipts stateless
  • #57 Make Friend User Status stateless
  • #55 docs(INSTALL.md): update instructions for Gentoo
  • #54 Make typing change callback stateless
  • #53 Add format-source script.
  • #52 Build assoc DHT code on travis.
  • #51 Fix operation sequencing in TCP_test.
  • #49 Apidsl test
  • #48 Make friend message callback stateless
  • #46 Move logging to a callback.
  • #45 Stateless friend status message
  • #43 Allow NULL as argument to tox_kill.
  • #41 Fix warnings
  • #39 Merge irungentoo/toxcore into TokTok/c-toxcore.
  • #38 Try searching for libsodium with pkg-config in ./configure.
  • #37 Add missing DHT_bootstrap to CMakeLists.txt.
  • #36 Make tox_callback_friend_name stateless.
  • #33 Update readme with tentative roadmap, removed old todo.md
  • #32 Fix a bug I introduced that would make toxcore fail to initialise a second time
  • #31 7. Travis envs
  • #30 2. Hstox test
  • #29 1. Move toxcore travis build scripts out of .travis.yml.
  • #27 8. Stateless
  • #26 6. Cmake bootstrapd
  • #25 5. Coverage clang
  • #24 Silence/fix some compiler warnings.
  • #23 4. Cmake
  • #20 3. Travis astyle
  • #13 Enable, and report test status
  • #12 Fix readme for TokTok
  • #11 Documentation: SysVInit workaround for <1024 ports
  • #2 Enable toxcore logging when building on Travis.
  • #1 Apidsl fixes and start tracking test coverage

Closed issues:

  • #158 Error while build with OpenCV 3.1
  • #147 Add comment to m_delfriend about the NULL passing to the internal conn status cb
  • #136 Replace astyle by clang-format
  • #113 Toxcore tests fail
  • #83 Travis tests are hard to quickly parse from their output.
  • #22 Make the current tests exercise both ipv4 and ipv6.
  • #9 Fix the failing test
  • #8 Toxcore should make more liberal use of assertions
  • #4 Integrate hstox tests with toxcore Travis build