Skip to content

Releases: markqvist/Reticulum

RNS β 0.3.8

22 Jun 15:21
Compare
Choose a tag to compare

This release brings big improvements to compatibility with various system types, along with several convenient new features, and a lot of tuning, optimisation and stability improvements. In a continued effort, the documentation has also been updated, restructured, and had several new and informative sections added.

Changes

  • Added ability to install and run RNS without any dependencies
  • Added backend abstraction for cryptographic primitives
  • Added pure-python implementations of all cryptographic primitives
  • Added accept option to Link API
  • Added several undocumented API calls to the documentation
  • Added option to filter interfaces to rnstatus utility
  • Added "Communications Hardware" chapter to the documentation
  • Improved multiple chapters and restructured documentation
  • Improved efficiency of Transport instances
  • Improved performance of Resource transfers
  • Improved Resource handling strategies over different physical link types
  • Improved link capacity and speed estimation calculations
  • Improved I2P interface error handling and stability
  • Tuned Resource and Link timeouts
  • Tuned TCP socket options for better reliability over intermittent links
  • Tuned I2P interface timeouts for better reliability over intermittent links
  • Fixed a missing check for zero-length packets on IFAC-enabled interfaces
  • Fixed a socket allocation leak in I2P interfaces
  • Added unit tests
  • Added performance profiling tools
  • Improved build system

Release SHA-256 for rns-0.3.8-py3-none-any.whl is fdb53aba14840edf3d71dde1a745f319e7f60d6993851b7651bf8ba3d5c53ba7
Release SHA-256 for rnspure-0.3.8-py3-none-any.whl is b0eb004c3725bc20496b1c855e7d22729d8a39fd0cde957ab95aa8c7e13ee3a4

RNS β 0.3.7

29 May 13:57
Compare
Choose a tag to compare

This release comes with a big upgrade to reliability and resilience, with lots of small bug fixes and improvements, along with some significant new additions and features. The documentation and API reference has also seen several improvements for clarity.

Users of I2P interfaces will see big improvements in reliability with better handling of errors from the I2P SAM API, and much better automatic recovery when I2P connectivity is intermittent.

Reticulum is now able to perform network-wide discovery of unknown paths, using the new Gateway interface mode. The stability of established links has also been improved by using a better timeout calculation method.

It is also worth mentioning the addition of the two new utilities, rncp and rnx, that allow you to transfer files to remote systems, and perform remote command execution.

Please Note! For using 64-bit IFACs on RNode hardware, your RNodes must be running at least firmware version 1.28.

Changes

  • Added gateway interface mode
  • Added rncp utility for transferring files to remote destinations
  • Added rnx utility for remotely executing commands and returning output
  • Implemented unknown path discovery
  • Implemented recursive path request loop avoidance
  • Implemented bandwidth cap for recursive path requests
  • Improved Link authentication callbacks
  • Improved Link stale time calculations and process
  • Improved error detection and handling in I2P interfaces
  • Improved automatic recovery and reliability on intermittent I2P interfaces
  • Added request size to receipts, and updated relevant API documentation
  • Added default identity storage folder
  • Fixed deprecated options in libi2p's asyncio calls
  • Fixed I2P controller startup when event loop is not immediately ready
  • Fixed bug in conditional resource acceptance callback
  • Fixed an invalid interface mode check
  • Fixed missing recursive progress callback allocation in segmented resource transfer
  • Fixed expired AP and Roaming interface mode paths not being removed at the correct time
  • Fixed announce rate targets not being set on I2PInterface peers
  • Fixed naming conflict in resource advertisements
  • Fixed link stale time calculation on newly created links without any actual traffic
  • Fixed a bug that caused large packets (over 492 bytes) with IFAC enabled to be dropped on RNode hardware
  • Improved output of rnstatus utility
  • Improved Destination and Link API documentation
  • Updated documentation and readme

Release SHA-256 for Python Wheel is 2cd9a584d6b13bb478a43b49b7de3f2a8270c4b8979666b1ca40cd81daacbf42

RNS β 0.3.6

17 May 20:22
Compare
Choose a tag to compare

This release adds a number of improvements, a new interface type, and some very useful new interface modes.

Changes

  • Added PipeInterface, create interfaces with any program over stdio
  • Added "roaming" and "boundary" interface modes
  • Added per-interface announce rate control
  • Added ability to drop announce queues to rnpath utility
  • Added announce rate information output to rnpath utility
  • Improved announce queue processing
  • Improved several documentation chapters
  • Improved logging output

RNS β 0.3.5

28 Apr 14:15
Compare
Choose a tag to compare

This release brings major improvements and upgrades to Reticulum, along with better documentation and improved usability of the bundled utilities.

Changes

  • Greatly improved convergence time. Even on huge networks, newly created destinations become globally reachable in less than a minute.
  • New announce propagation mechanism allows flexible scalability. Extremely slow network segments can now interconnect seamlessly with huge, high-bandwidth networks while still prioritising end-to-end connectivity for local nodes.
  • Reticulum can now scale to huge and complex networks with up to 128 hops, and billions of active endpoints.
  • Added virtual network segmentation for running multiple virtual networks over the same physical channel.
  • Added interface authentication for creating private access network interfaces and access points.
  • Updated documentation in accordance with current implementation of announce propagation mechanism.
  • Updated several outdated documentation chapters.
  • Added documentation for new interface features.
  • The output display of the rnstatus utility has been greatly improved.
  • Added ability to drop paths to the rnpath utility.
  • Added path table display to rnpath utility.
  • Added interface rate determination and estimation.
  • Added configurable bandwidth allocation for announce traffic.
  • Improved and cleaned logging output.
  • Various Transport optimisations.
  • Improved AutoInterface peering timing.
  • Updated manual in accordance with release.
  • Fixed a possible race condition in Transport startup when a local shared instance was restarted and apps reconnected.

RNS β 0.3.4

28 Mar 13:28
Compare
Choose a tag to compare

This is a small maintenance release with a bugfix and some documentation and reliability improvements.

Changes

  • Fixed #18 that could potentially cause a routing loop if the API was used in an unintended way
  • Improved cryptography API compatibility
  • Improved documentation

RNS β 0.3.3

26 Feb 20:41
Compare
Choose a tag to compare

This release adds major new functionality to Reticulum, including new connectivity options, improves stability, simplifies configuration and fixes a few bugs.

Improvements

  • Added the I2P Interface to Reticulum
  • Added I2P tunneling support for TCP interfaces
  • Improved recovery of AutoInterface on underlying medium carrier loss
  • Improved AutoInterface timeouts and timing
  • Enabled the "outbound" interface option as on by default
  • Added the "Access Point" interface mode
  • Simplified default configuration
  • Added verbose configuration example to the "rnsd" program
  • Improved documentation and manual
  • Fixed a potential race condition in resource assembly
  • Fixed a reference error in TCP interfaces
  • Fixed a configuration keyword error

RNS β 0.3.2

27 Jan 23:14
Compare
Choose a tag to compare

This maintenance release adds support for using a much wider range of devices as RNode LoRa interfaces with Reticulum, and also contains a few bugfixes and improvements.

Important! From this release, RNodes used with Reticulum must have at least firmware version 1.26 installed, due to the new multiplatform RNode support.

Improvements

  • Added full support for RNodes based on ESP32 and ATmega2560 boards
  • Fixed a bug in TCP interfaces on macOS
  • Updated documentation and manual

RNS β 0.3.1

26 Jan 18:23
6b20a98
Compare
Choose a tag to compare

This is a small maintenance and update release of Reticulum, including a few improvements. It also adds support for using ESP32-based T-Beam devices.

Improvements:

  • Added support for using T-Beam devices using the RNodeInterface
  • Improved AutoInterface on Android
  • Improved platform handling
  • Improved malformed packet handling

RNS β 0.3.0

11 Dec 19:28
Compare
Choose a tag to compare

This is a major release of Reticulum, including a range of stability and performance improvements, along with important new features, expanding the connectivity of Reticulum.

An important improvement in this release is the addition of the AutoInterface, that will now be configured as the default interface on new installs. This interface automatically meshes with other Reticulum peers over any available system network devices, and doesn't require any existing IP infrastructure like a DHCP server or a router. For more information, consult the relevant section of the manual.

Improvements

  • Added new AutoInterface as default interface for new installs
  • Serial port interfaces now automatically attempt to reconnect devices that are unplugged and replugged
  • Added support for KISS over TCP in the TCPClientInterface
  • Added support for running Reticulum as a systemd service
  • Initial support for the Android operating system
  • Added documentation for installing Reticulum on Android in Termux
  • Improved documentation and manual
  • Better path request handling for shared instances
  • Better shutdown handling on external interrupts
  • Many small stability and reliability improvements
  • Fine-tuned various timing parameters for different link types

RNS β 0.2.9

15 Oct 17:37
Compare
Choose a tag to compare

This beta release adds the fundamentals of RSSI and SNR functionality. It also implements timing improvements, allowing Reticulum to function on even lower bitrate physical links.

Improvements

  • Added RSSI and SNR reporting on supported interfaces
  • Added RSSI and SNR to rnprobe utility
  • Added RSSI and SNR to Echo example
  • Support for physical layer throughput down to 500 bits per second.
  • Improved callback handling