v0.2.17
PRs to review:
- #2101 cleanup: improve CMakeLists.txt structure
v0.2.18
PRs to review:
- #1654 feat: New groupchat implementation
Planned tasks:
- #2014 Add sodium autotools CI build
v0.2.19
PRs to review:
- #2119 test: Migrate auto_tests to new events API.
- #1913 cleanup: Use a
switch
statement for the TCP client state machine.
- #1885 feat: Implement Tox network profiler
- #1847 test: add tests for the ToxAV multithreading modes
- #1821 feat: Add back the
tox_loop
implementation for low latency.
- #1683 feat: Add username/password SOCKS5 auth
Planned tasks:
- #2118 Add a private “get mono_time” API to
tox_private.h
and use it in auto_tests.
- #2109 Assimilate
messenger_test.c
: replace with public API test
- #2095 Add a test that doesn’t add a logger.
- #2051 Create a release script (and possibly helper workflow)
- #2029 Migrate all auto tests to the events API.
- #1855 auto_test/toxav_basic_test.c wrong assertion
- #1682 Feature request: authentication support for proxies
- #1144 DHT_bootstrap should not link against misc_tools
- #706 auto_tests/dht_test.c should not #include “DHT.c”
- #416 Add an
enable_tcp
option in Tox_Options
, default true
- #389 Suspicious NULL check in net_crypto
- #339 Use libev for the event loop.
- #225 Add public low latency API
v0.2.x
PRs to review:
- #1781 msgV3 PoC
- #1645 perf: Remove recursive calling code
- #1408 docs: Documented the Tox handshake/AKE in docs/tox_handshake.md and added c…
- #1401 test: WIP: add test of fallback use of TCP relays
- #1323 perf: WIP: Improve file transfer speed
- #1243 WIP: Capabilities Packet
Planned tasks:
- #2042 Retry bootstrap more than once
- #2012 Support building a DLL on Windows
- #1963 The user frequently changes status: -> negotiating -> offline -> negotiating -> offline
- #1831 Document the lifetime/ownership of Tox_Option and its fields
- #1660 pid_file_path keys_file_path in tox-bootstrapd.conf
- #1658 Segfault from toxav_call_control with invalid Messenger friendlist
- #1653 Why check it with the last node in is_path_used in onion_client.c
- #1624 Create a load testing script/workflow for tox-bootstrapd
- #1614 local discovery uses hard coded UDP ports
- #1599 ERROR: Iterating backwards in tcp_relays circular buffer in friend_connection.c
- #1524 Use socket-wrapper in tests if available (and use it on CI).
- #1455 Add ability to prevent messages from being sent if connection is interrupted
- #1438 peernumber and peerindex get mixed up for conferences
- #1432 Still sends IPv6 messages despite the IPv6 options being turned off
- #1360 Add “reply, delete and edit message”
- #1342 Feature request: Indicate latency of audio
- #1338 tox-bootstrap daemon behind reverse proxy
- #1328 Group titles in persistent groups
- #1315 Some peers keep going online/offline/online for no apparent reason
- #1304 [Proposal] Have “in call” state for AV groups, don’t send audio data if peer not “in call”
- #1286 Own messages sometimes aren’t received in group
- #1256 please add documentation to: bwcontroller.c
- #1255 packet ranges not very clearly explained
- #1253 function names misleading in ToxAV
- #1252 Proposal: reduce Video corruption even more by negotating the reference frame between sender and receiver
- #1249 PACKET_LOSSY_AV_RESERVED 8 # why?
- #1248 payload_type hardcoded
- #1247 toxcore removes message receipts and filetransfers from memory, when client has short network outage
- #1246 Invalid bit rate prevents call
- #1227 Resource exhaustion attack on TCP server
- #1226 Strange ONION_RECV_3 packets
- #1222 Protocol Extension Library
- #1200 Testing: Add/modify a test that reloads tox from save data before continuing
- #1160 History sync via trusted node or another client
- #1152 Overview of known vulnerabilities in the onion
- #1121 Announce nodes can read public keys from onion data packets
- #1113 File transfers tend to fail on unstable networks
- #1111 Reduce the use of DHT pings when GetNodes packets are sent
- #1044 Unnecessary relays on file transfers
- #1027 Beginning with 0.2.4, a lot of errors are printed: Friend 1 is not online
- #1026 Beginning with 0.2.4, a lot of errors are printed: attempted to send message with network family 10 (probably IPv6) on IPv4 socket
- #980 Add a way to plug in additional savedata types into Messenger
- #974 Remove most uses of unsized integer types
- #959 Get rid of all VLAs
- #940 ‘ERROR:net_crypto.c:send_lossless_packet’ without explanation
- #939 API to detect if the selected proxy supports UDP
- #938 [API] file kind should be of type FILE_KIND instead of uint32_t
- #919 Feature request: send/receive opus/vpx encoded A/V frames from toxav instead of decoded frames
- #896 [feature suggestion] Have the API for the client to know if the message was sent or not
- #885 Feature request: Receiving offline messages
- #882 Feature proposal: tags for organizing conversations
- #876 Create a secure way to disclose vulnerabilities
- #871 Segv in toxav on friend going offline during active call
- #858 Stardard way to get conference peer_list and to detect which peer joined/leaved the conference
- #856 toxins and toxbot don’t come online when qTox is already online, using UDP on the same host
- #843 [RFC] Capability flags and message V2, alternative implementation
- #802 General explanation about tox’s p2p?
- #653 toxencryptsave: Store scrypt parameters along with ciphertext
- #651 Changelog doesn’t sort versions correctly
- #644 Network Throttle
- #612 In file transfer, transmission of a file with long file name fails
- #604 Idea for real offline messaging without servers
- #601 [Proposal] Support QUIC
- #596 Proposal for reworking the way onion paths are created
- #547 Use guard nodes
- #541 Dynamically adjust contact presence timeout
- #469 When using SOCKS5 proxy, do name resolution through the proxy
- #466 Link multiple devices or clients belonging to one person together (MULTIDEVICE)
- #419 Message bytes and sizes sent over the network should be indistinguishable from the random stream
- #384 Document questions and answers related to crypto and p2p networking
- #264 Replace nospam with POW system
- #259 Add option to allow binding tox-bootstrapd to specific IPs
- #258 Add a way to verify ToxIDs
- #238 Implement session rekeying
- #234 Implement ToS (Type of Service) style priorities in the protocol
- #232 Fix automatic bitrate management in ToxAV
- #222 Make a new portable simple standard tox save format
- #219 NAT traversal: cleanup old functions
- #214 Deduplicate enums and typedefs from tox.h and lower layers
- #197 UDP requests are received through X IPv6 address, but replies to them are sent back through Y IPv6 address
- #195 UDP hole punching incompatible with cheap hardware routers
- #152 Backwards compatibility tests.
- #119 Clearer separation of toxcore layers and stable APIs between them
- #92 Multidevice and more: Call management
- #14 Reconsider the use of pthread
v0.3.0
PRs to review:
- #1944 chore: tox_new() should return null when savedata loading fails
- #1825 refactor: remove tox_options_default(…) and make Tox_Options opaque
- #1561 feat: New Handshake based on Noise IK pattern
- #1431 refactor: Make ToxAV independent of toxcore internals.
- #1335 feat: WIP: new friend finding
- #909 WIP: copy proxy_host and savedata_data
Planned tasks:
- #1991 Extract file transfers from core code, layer it on top of custom packets
- #1973 DHT infinite packet spam to offline peers
- #1965 Profile Pages and Microblogs using TunTox-like tunneled HTTP
- #1927 TCP-only mode, IP exposure risk
- #1621 [Feature request] Add support to i2p so that Tox clients can run hidden within it like RetroShare
- #1546 File transfers in groups
- #1369 Make ToxAV implementation pluggable
- #1364 Change the group A/V API from Tox to ToxAV
- #1260 Proposal: DHT Announcements
- #1259 Proposal: multidevice and (partial) offline messages
- #908 make Tox_Options self contained
- #848 Rebase toxcore to libp2p
- #655 Review all public API for 0.3.0
- #597 Support WebRTC ?
- #594 [Proposal] Numbered messages to enforce message ordering
- #593 [Proposal] Be able to reject a friend request, then later accept a friend request from the same person
- #577 Feature request: I2P integration via i2pd
- #517 Tox should be resilient to Sybil attack.
- #513 Implement client capability packet
- #499 [suggestion] Define Tox API in a structured form
- #492 [Feature request] Allow sending messages with (nearly) unlimited size
- #475 [suggestion] Better Tor integration
- #441 Add an option to disable relaying onion traffic
- #437 [suggestion] Have ‘Network Id’ sent with all requests
- #428 [feature request] Have a ‘message sent’ timestamp
- #426 Tox Handshake Vulnerable to KCI
- #408 Consider using Noise protocol construction for KE
- #356 Improving security through better use of nonces
- #273 Make Tox_Options struct opaque: remove definition from tox.h, leaving only declaration
- #199 allow notification of when a message has been read
groupchats
Planned tasks:
- #1666 Can you have channels like on Discord?
- #1361 Group moderation
- #1340 Proposal: Design Tox to be closer to Discord for usability
- #1337 join to group chat over group chat id
- #1327 How many friends to support group chat at most?
- #1265 NGC: Ensure that all group chats callbacks correctly pass user data
- #1190 NGC: Don’t invoke callbacks from functions other than
tox_iterate
.
- #1186 NGC: Add more context to
TODO: ???
- #1184 NGC: Fix vanilla NaCl builds
- #1183 NGC: Investigate use of
mono_time_update
in group chats
- #1181 NGC: Document all enumerators of error codes and other enums.
- #1180 NGC: Return undefined value on failure.
- #1179 NGC: Make
struct Group_Chat_Self_Peer_Info
private.
- #1178 NGC: Use only named types for callbacks
- #1177 NGC: Move structs out of headers back into .c files
- #1176 NGC: Disentangle onion_client and group chats
- #1174 NGC: Replace “fprintf” calls in with appropriate LOGGER_* calls.
- #1173 NGC: Bring tox.api.h up to date with tox.h.
- #1172 NGC: Fix memory leaks.
- #1171 NGC: Fix heap-use-after-free bug in tox_kill path
- #1167 NGC: Update spec on New Group Chats to account for changes done to get TCP working
- #581 [Proposal] Public channels