Warning: This is a development version. The latest stable version is Version 7.0.0.

News for rely

This file lists the major changes between versions. For a more detailed list of every change, see the Git log.


  • Minor: Use new version of waf. This allows CMake to skip internal dependencies.


  • Minor: Added missing function encoder::is_repair_trigger_disabled().


  • Major: Moved rely app to separate repository: https://github.com/steinwurf/rely-app.
  • Major: Changed packet_is_systematic to is_packet_repair.
  • Minor: Expose helper functions to read packet information in Rely. See the src/rely/packet.hpp file for more information.
  • Minor: Added performance counters for number of linear dependent and excess repair and source symbols.
  • Major: Merged reference/test application UDP and TUN mode.
  • Minor: Added tester mode to Rely test application. The tester mode runs as a traffic generator - such that a Rely sender and receiver can run standalone.
  • Major: Update Rely header format to allow stream and window to be managed separately.
  • Patch: Document and handle stream disconnect.
  • Minor: Added encoder::set_flush_threshold() and encoder::flush_threshold() to deal with network jitter.
  • Minor: Implemented lower bound release in the decoder. Effectively releases unreleased symbols if the encoder has dropped them.


  • Minor: Update Evaluation License to version 1.3.


  • Major: Change cmake build to be object library based.
  • Major: Upgrade kodo-slide to version 11.
  • Major: Upgrade platform to version 4.
  • Major: Upgrade chunkie to version 11.
  • Major: Upgrade endian to version 12.
  • Major: Upgrade recycle to version 6.
  • Major: Upgrade bourne to version 9.
  • Minor: Upgrade tunnel to version 5.


  • Minor: Added to_repair_count helper function.
  • Minor: Added generate_repair to the encoder API.
  • Major: Renamed set_repair to set_repair_trigger.
  • Major: Renamed repair_rate to repair_trigger_rate.
  • Major: Renamed repair_interval to repair_trigger_interval.
  • Major: Renamed repair_target to repair_trigger_target.
  • Major: Renamed disable_repair to disable_repair_trigger.
  • Minor: Added install step to CMake.


  • Patch: Add missing implementation for counter_name for encoder and decoder.


  • Major: Make resolved symlinks relative
  • Patch: Improve the titles in the benchmark plots
  • Minor: Added set_timeout and catch_up functions to encoder and decoder. This allows changing the timeout after configure.
  • Minor: Added/updated API to reset and iterate through the different performance counters.
  • Major: Change the meaning of the –mtu option when running the Rely application in TUN mode.
  • Minor: Support logfile output when running Rely application in TUN mode.
  • Major: Update chunkie dependency.
  • Major: Update bitter dependency.
  • Major: Update recycle dependency.
  • Major: Update endian dependency.
  • Major: Update kodo-slide dependency.
  • Minor: Updated Rely application to use flush and optionally flush_repair.
  • Minor: Add documentation on content aware encoding with Rely.
  • Minor: Add documentation on Rely’s packet loss protection approach.
  • Patch: Fix issue where encoder::flush_repair() would generate too many repair symbols for a given repair rate.
  • Minor: Added a number of additional performance counters.
  • Major: Remove the symbols_encoded(), symbols_decoded(), symbols_dropped() etc. in favor of performance counters.
  • Minor: Adding performance counters for monitoring performance.
  • Major: Update to Rely Evaluation License 1.2, and Rely Research License 1.2.


  • Patch: Fix issue with TCP in tun application.


  • Patch: Fix hello world example.


  • Minor: Added encoder::flush_repair() function for flushing repair symbols manually. Doing so force the encoder to satisfy the repair requirements all source symbols currently in the stream.
  • Minor: Added encoder::stream_size() and decoder::stream_size() which exposes the number of packets currently in the stream.
  • Minor: Added simple hello_world example.
  • Major: Changed packet_bytes to max_packet_bytes.
  • Major: Changed packets_dropped to symbols_dropped.
  • Major: Changed packets_decoded to symbols_decoded.
  • Minor: Added encoder stats which exposes repair_symbols_encoded, source_symbols_encoded, and symbols_encoded.
  • Patch: Fixed a bug which caused the decoder to throw away useful data, making it far less effective.


  • Major: Added support for variable symbol length.
  • Major: Re-wrote API to support timeout and decouple it from IO.
  • Major: Update license to Evaluation License Version 1.2.
  • Minor: Added CMake support.


  • Patch: Actually the initial release.


  • Major: Initial release.