← Back to team overview

rohc team mailing list archive

Major version 2.0.0 published

 

Hello all,


The major version 2.0.0 of the ROHC library was just released.


This release is quite large:
* it is the result of 2 years of work,
* more than 50 KLOC were modified,
* a third of the changes were related to the TCP profile,
* 66 problems were detected (and fixed) with AFL fuzzing (58 for the
  TCP profile alone),
* 47 warnings were detected (and fixed) by static analysis (Coverity
  Scan).


== About the ROHC library ==

The ROHC library provides an easy and robust way for applications to
reduce their bandwidth usage on network links with limited capacity or
expensive costs. Headers of network packets are compressed with the
ROHC protocol and algorithms.

The ROHC protocol is very efficient for compressing VoIP streams that
use RTP as transport protocol. ROHC is also suitable for compressing
IP-only (IPv4 or IPv6) flows, UDP flows and many others.

The library is published as Opensource under the license GNU LGPL
version 2.1 or later.

See https://rohc-lib.org/ and
https://rohc-lib.org/presentation/rohc-protocol/ for more details.


== Release notes & changelogs ==

The 2.0.0 release:
* makes the TCP profile more compliant and robust (TCP profile is now
  ready for production),
* makes the library more robust in general (with the help of AFL fuzzer
  and public PCAP captures),
* removes the compatibility with the old deprecated public API,
* adds a Python binding,
* improves Linux kernel support,
* improves CPU performances.

There are also many many bugs fixes (34 are listed in the bugtracker,
but many more were fixed, especially on the TCP profile). See the
release notes and the changelog [1] for more details.

[1] changelog:
    https://github.com/didier-barvaux/rohc/blob/rohc-2.0.0/ChangeLog


== Compatibility with previous releases ==

The 2.0.0 release might not be compatible with previous 1.y.x releases
for the ROHC protocol. Mixing major versions for compressor and
decompressor is not recommended. This is especially true for the TCP
profile that was largely reworked.

There is also an library API breakage. The 1.7.x releases introduced a
new API and deprecated the old one. The old API is now gone: * If your
application builds with the latest 1.7.x release without raising any
deprecation warnings, upgrading to 2.0.0 is possible without additional
work.
* If your application still use some functions deprecated in the 1.7.x
  releases, ensure to fix them before upgrading. See the migration
  guide [2] for hints.
* If you still use the very old 1.6.x releases, consider using the
  latest 1.7.x release as an intermediate step before upgrading
  to 2.0.0. See the migration guide [2] for hints.

[2] migration guide:
    https://rohc-lib.org/wiki/doku.php?id=library-migration


== Acknowledgements ==

Many thanks to people that reported/fixed bugs:
* Klaus Warnke for his bug reports and fixes on the TCP profile,
* Steven Brown for his fix that reduces librohc.so size,
* Simon Paillard for small fixes on documentation and copyright,
* Jozsef Dudas,
* Mohammad Abyan Abdullah.


== Download ==

The source archive is available for download [3]. A sha256 checksum and
a GPG signature are provided, be sure to check them [4].

[3] download files:
    https://rohc-lib.org/support/download/#supported-releases
[4] check files:
    https://rohc-lib.org/support/download/#verify-downloaded-files


== Installation instructions & API documentation ==

The instructions to install the library and use it are available [5].
The API documentation is available in HTML [6] and man pages [7].

[5] Tutorial:
    https://rohc-lib.org/presentation/getting-started/
[6] API documentation (HTML):
    https://rohc-lib.org/support/documentation/API/rohc-doc-2.0.0/
[7] API documentation (man):
    https://rohc-lib.org/support/documentation/API/rohc-man-2.0.0/


== Feedback ==

Any feedback on the 2.0.0 release will be appreciated. You may use the
mailing list to ask questions [8] and the bug tracker to report
problems [9].

[8] mailing list: https://rohc-lib.org/support/mailing-list/
[9] bug tracker: https://rohc-lib.org/developer/bugtracker/


Regards,
Didier


PS: thanks to Sampo for reminding me to publish the release ;-)

Attachment: pgpWxDO0DUgMZ.pgp
Description: Signature digitale OpenPGP