Tags

Tags give the ability to mark specific points in history as being important
  • 1.1.4

    1b50b7f4 · Updated changelog ·
    RNS 1.1.4
    
    **Changes**
    - Fixed invalid application of IP/hostname validation for on non-relevant interfaces. Thanks @joakim!
    
    **Release Hashes**
    ```
    b2a175abd64d1581dd058206832793dbf7053a304c819ff8bc143a79c49cb747 rns-1.1.4-py3-none-any.whl
    16c4ae6722bbd016e8db046e7bdd60eb24f9ec55966ec5723dc39301265d0186 rnspure-1.1.4-py3-none-any.whl
    ```
    
    **Release Signatures**
    Release artifacts include `rsg` signature files that can be validated against the RNS release signing identity `<bc7291552be7a58f361522990465165c>` using `rnid`:
    
    ```sh
    rnid -i bc7291552be7a58f361522990465165c -V rns-1.1.4-py3-none-any.whl.rsg
    ```
  • 1.1.3

    286a78ef · Prepare release ·
    RNS 1.1.3
    
    **Changes**
    - Improved discovered interface auto-connect handling
    - Improved interface discovery handling
    - Added `discovered_interfaces` API method
    - Fixed a potential race condition in request timeout handling
    - Fixed a regression in resource file transfers
    
    **Release Hashes**
    ```
    1de9b46c8f24931fa41974664ddbf4251d3fdd069be4de03c64b42a7cf4f8fb4 rns-1.1.3-py3-none-any.whl
    eac8d223fcb6ce94e1bd3f04730d8542675caf4b22286e11988e9402ea9b69c0 rnspure-1.1.3-py3-none-any.whl
    ```
    
    **Release Signatures**
    Release artifacts include `rsg` signature files that can be validated against the RNS release signing identity `<bc7291552be7a58f361522990465165c>` using `rnid`:
    
    ```sh
    rnid -i bc7291552be7a58f361522990465165c -V rns-1.1.3-py3-none-any.whl.rsg
    ```
  • 1.1.1

    843891cd · Updated docs ·
    1.1.1
  • 1.1.0

    4eb5dbc6 · Prepare release ·
    RNS 1.1.0
    
    Enjoy.
    
    **Changes**
    - Added on-network global interface discovery. Hello world.
    - Added discovered interface auto-connection. Robotic.
    - Added external IP resolution for discovery-enabled interfaces. Snip-snip.
    - Added encrypted interface discovery announces. Welcome home.
    - Added bootstrap interface functionality. Decent.
    - Added blackhole handling and management. Thank the Chinese guy.
    - Added distributed blackhole list publishing and updating. Spammers go home.
    - Added foundational network identity implementation. All your base.
    - Added `await_path` method to API. Tick-tock.
    - Added reverse-unicast peer discovery packet mechanism to AutoInterface. Ping-pong.
    - Added custom identity support to `rncp`, thanks MikelCalvo!
    - Added monitor mode to `rnstatus`, thanks MikelCalvo!
    - Improved announce processing. Swoosh.
    - Updated documentation quite a bit. Looky.
    - Enabled per-peer ingress limiting on Weave and Auto interfaces. Hammertime.
    - Fixed **the** typo, yes it's the olny one I'm sure.
    - Fixed bugs. Squish.
    
    **Release Hashes**
    ```
    180b8baec2ec7d21abe2cec25ff763e70b2129c012fb02fc23c2fd654f94c1f5 dist/rns-1.1.0-py3-none-any.whl
    d9e32caf66a9c53199e901d2c173e1de1bf50f1f0c9d5250e5d1b3b07bedcd7c dist/rnspure-1.1.0-py3-none-any.whl
    ```
  • 1.0.4

    708f6667 · Updated changelog ·
    RNS 1.0.4
    
    This release includes updates to RNode BLE reliability, and adds support for connecting RNodes to a host over WiFi and Ethernet.
    
    **Changes**
    - Improved handling for RNodes with PA/LNA combo
    - Added interference detection stats to `rnstatus` output for RNode interfaces
    - Updated documentation
    
    **Release Hashes**
    ```
    7a2b7893410833b42c0fa7f9a9e3369cebb085cdd26bd83f3031fa6c1051653c rns-1.0.4-py3-none-any.whl
    ee647e7b3b94abdf1fab618a861390531a4aacc93eecce12c9e97280195c0e2d rnspure-1.0.4-py3-none-any.whl
    ```
  • 1.0.3

    a63dd67a · Updated changelog ·
    RNS 1.0.3
    
    This release includes updates to RNode BLE reliability, and adds support for connecting RNodes to a host over WiFi and Ethernet.
    
    **Changes**
    - Added support for connecting RNode devices over WiFi and Ethernet
    - Added support for configuring RNode WiFi and IP settings to `rnodeconf`
    - Updated BLE connection read timeouts on Android, fixes intermittent BLE connection resets in areas with high 2.4GHz spectrum utilization
    - Added handling for edge case where RNode serial port was never opened due to failure on interface detach
    - Fixed broken links in documentation
    
    **Release Hashes**
    ```
    6bafde4c838ad778bf6878967e84c798e34d6ca621b255f59a60f38cb04ac138  dist/rns-1.0.3-py3-none-any.whl
    f277899f95c1189c6bf3beb40ac656c8b36dfd3d7e4cfb2bc3b4a1e6dc3484fa  dist/rnspure-1.0.3-py3-none-any.whl
    ```
  • 1.0.2

    080216bd · Updated version ·
    RNS 1.0.2
    
    This maintenance release adds support for high-power RNodes with a LoRa PA and/or LNA.
    
    **Changes**
    - Added support for RNodes with a PA and/or LNA
    - Added support for monitoring RNode CPU temperature via `rnodeconf`
  • 1.0.1

    RNS 1.0.1
    
    This release brings a number of bugfixes, as well as stability and reliability improvements. It also adds support for using Weave devices as Reticulum interfaces, fixes long-standing Bluetooth Low Energy connection issues on Android, and includes several API and usability improvements.
    
    **Changes**
    - Added path response signalling to announce handler API
    - Added interface module for Weave devices
    - Added support for connecting to Weave devices over serial/USB on Android
    - Added support for allow files to `rnx`
    - Added detection and logging of multicast echoes never arriving on AutoInterface system devices.
    - Added Heltec v4 support to `rnodeconf`
    - Implemented handler for ensuring dynamic destination app data can be generated and sent even on first system-internal discovery announce
    - Updated documentation and manual
    - Improved `AutoInterface` peering timing
    - Fixed RNodeInterface Bluetooth Low Energy connection hangs on Android
    - Fixed RNodeInterface Bluetooth Low Energy MTU not being configured correctly on Android
    - Fixed command byte collision in RNodeInterface and RNodeMultiInterface
    - Fixed string formatting for Android log output
    - Updated output formatting for `rnid`
    
    **Release Hashes**
    ```
    aa77b4c8e1b6899117666e1e55b05b3250416ab5fea2826254358ae320e8b3ed  rns-1.0.1-py3-none-any.whl
    b3ddfa0b533631d9f1213043a0282952ae6e9f72c3072bbca053ac48e0483f7e  rnspure-1.0.1-py3-none-any.whl
    ```
  • 1.0.0

    8579a7f2 · Updated changelog ·
    RNS 1.0.0
    
    We're out of beta. Thanks to **everyone** who helped make it this far.
    
    This release brings a number of bugfixes, as well as stability and reliability improvements.
    
    **Changes**
    - Improved BLE device discovery on Android
    - Improved BLE MTU configuration on Android
    - Fixed a bug in handling of link requests with invalid link mode bytes
    - Fixed potential AutoInterface peer discovery add before final init complete
    - Fixed a potential EPOLL backend hang on interface failure
    - Fixed various log statements
    - Fixed announce cap crash for `RNodeMultiInterface` with transport mode enabled
    - Updated documentation
    - Removed legacy AES-128 handlers
    
    **Release Hashes**
    ```
    5a9f18840510b69f89c6706d130177e2843c9e19c774707ae2661030d693dfc1 rns-1.0.0-py3-none-any.whl
    acfd52af9bf41f78be017579ca06c0abe748d0b98dbdc9baacf140a0606599ec rnspure-1.0.0-py3-none-any.whl
    ```
  • 0.9.6

    5387264d · Updated changelog ·
    RNS β 0.9.6
    
    This release activates AES-256 as the default encryption mode for all communication. It is the last release that will support the old AES-128 based modes, which will be entirely phased out in the next release.
    
    This release also includes a number of API and resource consumption improvements, and fixes a bug.
    
    **Changes**
    - Enabled AES-256 as default encryption mode for all traffic
    - Added dynamic link keepalive and timeout calculation
    - Added ability to efficiently transfer files as responses in the `Request` API
    - Added ability to include metadata on `Resource` transfers
    - Added option to specify `Resource` auto-compression limits
    - Added option to specify `Request` response auto-compression limits
    - Added `Resource` transfer example
    - Added allow overwrite option to `rncp`
    - Improved hardware MTU auto-configuration
    - Improved handling of file transfers using the `Resource` API
    - Improved `Resource` transfer memory consumption
    - Improved memory consumption of applications connected to a shared instance
    - Improved `rncp` memory consumption for large files
    - Fixed announce handlers not triggering after shared instance disappearance
    
    **Release Hashes**
    ```
    a23c64a04c1e83fd0ab449f564ac904da7fd4f61c0faf68a063f486cc48b44bd rns-0.9.6-py3-none-any.whl
    4544882dea902b18b00d8a04c9ab93201974573b7b63c3db06cb310b0acec240 rnspure-0.9.6-py3-none-any.whl
    ```
  • 0.9.5

    32c839f4 · Updated changelog ·
    RNS β 0.9.5
    
    This release initiates migration of Reticulum from AES-128 to AES-256 as the default link and packet cipher mode. It is a compatibility/migration release, that while supporting AES-256 doesn't use it by default. It will work with both the old AES-128 based modes, and the new AES-256 based modes. There's a very slight penalty in performance to support both the old and new modes at the same time, but only for single packet APIs (not links), and it really shouldn't be noticeable in any everyday use.
    
    In the next release, version `0.9.6`, Reticulum will transition fully to AES-256 and use it by default for all communications. That means that both single packets and links will use AES-256 by default. The old AES-128 link mode may or may not be available for a few releases, but will ultimately be phased out entirely.
    
    The update requires no intervention, configuration changes or anything similar from a users or developers perspective. Everything should simply work. This goes both for the 0.9.5 update, and the next 0.9.6 update that transitions fully to AES-256.
    
    **Changes**
    - Added support for AES-256 mode to links and packets
    - Added dynamic link mode support
    - Added temporary backwards compatibility for AES-128 link and packet modes
    - Added `get_mode()` method to link API
    - Added tests for all enabled link modes
    - Added `instance_name` option and description to default config file
    - Improved ratchet persist reliability if Reticulum is force killed while persisting ratchets
    - Fixed interface string representation for some interfaces
    - Fixed instance name config option being overwritten if option was not last in section
    - Fixed unhandled potential exception on fast-flapping `BackboneInterface` connections
    
    **Release Hashes**
    ```
    0b880827369dd4bda7e4691e0e157e75fab4c22554743c1c7f07a350106114e8 rns-0.9.5-py3-none-any.whl
    6c00d12176de40d7dc45d9edd7952a161413f4cc4cc276b82bf3811f99440556 rnspure-0.9.5-py3-none-any.whl
    ```
  • 0.9.4

    RNS β 0.9.4
    
    This release significantly improves memory utilisation and performance. It also includes a few new features and general improvements to the included utilities and programs.
    
    **Changes**
    - Significantly improved memory utilisation, thread count and performance on nodes with many interfaces or clients
    - Switched local instance communication to run over abstract domain sockets on Linux and Android
    - Switched instance IPC to run over abstract domain sockets on Linux and Android
    - Added kernel event based I/O backend on Linux and Android
    - Added fast `BackboneInterface` type
    - Added support for XIAO-ESP32S3 to `rnodeconf`
    - Added interactive shell option to `rnsd`
    - Added API option to search for identity by identity hash
    - Added option to run TCP and Backbone interfaces in AP mode
    - Improved `RNodeMultiInterface` host communications specification
    - Improved `rncp` statistics output
    - Improved link and reverse-table culling
    - Fixed an occasional I/O thread hang on instance shutdown, that would result in an error printed to the console
    - Fixed various minor interface logging inconsistencies
    - Fixed various minor interface checking inconsistencies
    - Updated internal `configobj` implementation
    - Refactored various parts of the transport core code
    - Swicthed to using internal `netinfo` implementation instead of including full `ifaddr` library
    - Cleaned out unneeded dependencies
    - Cleaned various
    
    **Release Hashes**
    ```
    4b01260519d0c995f343ad325c302b779557fa686ec81bf00161696f0d657689 rns-0.9.4-py3-none-any.whl
    c590be37c813f5c145649fcf488a4fdd1687b6187ab02a8679ca730c511fb042 rnspure-0.9.4-py3-none-any.whl
    ```
  • 0.9.3

    f5420d3b · Updated changelog ·
    RNS β 0.9.3
    
    This maintenance release improves performance and fixes a number of bugs.
    
    **Changes**
    - Enabled link MTU discovery by default
    - Added on-demand object code compilation and loader shim
    - Added link API methods
    - Added child interface spawning for AutoInterface
    - Fixed corrupt ratchet files not being removed on maintenance cleaning
    - Fixed `rnid` not waiting for announce timebase tick before announcing
    
    **Release Hashes**
    ```
    0270c988a2b898b28348cd78138667115d4ef3f7e09c86531baaefbee35ef851 rns-0.9.3-py3-none-any.whl
    eee1a6c4c9c0f04bb17b12b8fb37b9c4cec12a99c87a046730eb7c9a6ffd999f rnspure-0.9.3-py3-none-any.whl
    ```
  • 0.9.2

    0ff51fed · Updated docs ·
    RNS β 0.9.2
    
    This maintenance release fixes a number of bugs.
    
    **Changes**
    - Fixed missing RX/TX bytes statistics assignment
    - Fixed potential daemon thread IO buffer deadlock on externally mediated shutdown signal
    - Fixed missing check for path announce emission timestamp in lower hop-count announce processing
    
    **Release Hashes**
    ```
    068eb4408b332ea6eec1a58fb4644fba3531c9ca10dcd79ecf893aaaf40e720d rns-0.9.2-py3-none-any.whl
    1e7c123d244cc14c287568f3a99953cc11ffc1e79a72a029aa1be72fa8eff24e rnspure-0.9.2-py3-none-any.whl
    ```
  • 0.9.1

    7221becd · Updated manual ·
    RNS β 0.9.1
    
    This maintenance release adds reject signalling mechanism to resource transfers, fixes inconsistencies in the code examples, and improves thread configuration in the transport core.
    
    **Changes**
    - Added resource reject signalling
    - Added error reporting on configured radio parameter mismatch on Android
    - Improved thread configuration for transport core threads
    - Updated examples
    
    **Release Hashes**
    ```
    49288a562ad6d4b5647c3afec051a6bb6497b75e3f165a972436134d4a93ad76 rns-0.9.1-py3-none-any.whl
    abd6c4bdead2fc25d0b9b2cda5708586e8cb776b088f2a901a5f262e2ed901ae rnspure-0.9.1-py3-none-any.whl
    ```
  • 0.9.0

    a2878f17 · Cleanup ·
    RNS β 0.9.0
    
    This release lays the groundwork for future performance and resource utilisation optimisations. Most importantly, this release adds **link MTU autodiscovery**, which allow established links to use much higher MTUs than the base MTU of 500 bytes.
    
    **Please note!** To actually use link MTU discovery, all transport nodes along the path must be upgraded to at least version `0.9.0`. Since this is the first release to add support for this feature, *it is currently **not** activated by default*, and no clients or applications will use it yet. Using link MTU autodiscovery by default will be enabled by default in RNS version `0.9.1`. Please upgrade your nodes!
    
    Additionally, this release adds several new features, performance improvements and bug fixes, as well as support for RNodes running firmware version `1.81`.
    
    **Changes**
    - Added MTU autoconfiguration on interfaces that support higher MTUs
    - Added link MTU autodiscovery and path clamping
    - Added dynamic SDU calculations based on link MTU to `Resource`, `Channel` and `Buffer`
    - Added resource EIFR continuity to split resource handling
    - Added interference status to `RNodeInterface`
    - Fixed a display bug in `rnstatus`
    - Added live traffic stats to `rnstatus`
    - Added T3S3 support to `rnodeconf`
    - Added Heltec T114 support to `rnodeconf`
    - Added LilyGO T-Echo support to `rnodeconf`
    - Added option to print device configuration to `rnodeconf`
    - Improved CPU utilisation and memory consumption
    - Improved `rnsd` restart time on systems with many interfaces
    - Improved `rncp` status output
    - Improved packet filter performance
    - Improved interface detachment handling
    - Improved resource transfer timing and performance
    - Improved Transport core efficiency
    - Improved reliability of ratchet reloads if I/O conflicts occur
    - Improved logging
    - Improved built-in profiler
    - Fixed a potential deadlock in logging
    - Fixed time formatters not handling negative times
    - Updated example code
    
    **Release Hashes**
    ```
    1ee60634cf0627c45b93f4e6c9adaf1fcdf9c1a8dfd4dd3dcd499e029554ab4f rns-0.9.0-py3-none-any.whl
    b67eec583fdb224ba8174b317e66b8f7344e338e93760ed1a90f0bafea8cf09e rnspure-0.9.0-py3-none-any.whl
    ```
  • 0.8.9

    RNS β 0.8.9
    
    This maintenance release adds a number of configuration options to `rnodeconf`.
    
    **Changes**
    - Added noise floor output to `rnstatus` for supported interfaces
    - Added channel noise floor and CSMA parameter reporting to `RNodeInterface`
    - Added ability to set display rotation in `rnodeconf`
    - Added ability to configure interference avoidance to `rnodeconf`
    - Fixed missing console image install on Heltec V3 in `rnodeconf`
    
    **Release Hashes**
    ```
    b54fe8bc296f83a3a70569c9d1e9db3096249789c18f8d0217671479fa6881a1 rns-0.8.9-py3-none-any.whl
    52fd992e5f9478d5a1f61f8f37dc0ee2d268fdd0b8a4e6656d33d632490afc5a rnspure-0.8.9-py3-none-any.whl
    ```
  • 0.8.8

    68f07ddd · Updated manual ·
    RNS β 0.8.8
    
    This maintenance release adds a single API function and fixes a bug.
    
    **Changes**
    - Allow announce handlers to receive announce packet hash
    - Fix packet RSSI/SNR/Q cache not being available on standalone instances
    
    **Release Hashes**
    ```
    9c1755a81049c67b051ecb9fe4b2c5f7d98bf09d20ed52d6ce6a410298b0527b rns-0.8.8-py3-none-any.whl
    d8871d69cde4b0a0b99b383f324d651dc77a2f44ec9641be828902c778a8d128 rnspure-0.8.8-py3-none-any.whl
    ```
  • 0.8.7

    2ab2d8e9 · Updated changelog ·
    RNS β 0.8.7
    
    This maintenance release adds support for OpenWRT packaging, and brings several minor improvements and bugfixes.
    
    Thanks to @gretel and @jacobeva, who contributed to this release!
    
    **Changes**
    - Added support for packaging RNS to OpenWRT
    - Added ability to run `rnstatus` as application-local imported module
    - Added ability to reflect RNS log output to app-internal log handler callback
    - Added display read functionality to `RNodeInterface`
    - Fixed a regression in `RNodeMultiInterface` caused by earlier refactoring
    - Imrpoved documentation
    
    **Release Hashes**
    ```
    e76ba8feeeae2c8df27e9906deebd7c721f0f0e887ad3fbd26df0212d6ce907a rns-0.8.7-py3-none-any.whl
    046608539bc235d52c970c7f3c54e7aa01a86016ae00263f8a55fc796b6939f5 rnspure-0.8.7-py3-none-any.whl
    ```