Development roadmap
The roadmap defines in which releases features will be added and bugs fixed. The TODO list contains the various ideas that should/could be achieved in the library/website, but without any schedule yet.
Table of content:
- master branch
- 2.3.x branch
- 2.2.x branch
- 2.1.x branch (not maintained anymore)
- 2.0.x branch (not maintained anymore)
- 1.7.x branch (not maintained anymore)
- 1.6.x branch (not maintained anymore)
- 1.5.x branch (not maintained anymore)
- 1.4.x branch (not maintained anymore)
- 1.3.x branch (not maintained anymore)
- 1.2.x branch (not maintained anymore)
- 1.1.x branch (not maintained anymore)
- 1.0.x branch (not maintained anymore)
- TODO list
Master branch
Release 2.4.0 (estimated release date: 2019 Q4)
- framework:
- ROHCv1:
- TCP profile: make Context Replication fully robust (DONE)
- TCP profile: add support TCP source/destination port compression in IR-CR (DONE)
- TCP profile: do not transmit unchanged TCP options in IR-CR Errata: RFC6846 section 6.3.7 reads 'The entire table of TCP options items is always replicated when using the IR-CR packet'
- test:
- more robustness tests with real-world network captures.
- more complete Wireshark dissector (Work in progress)
Release 2.5.0 (estimated release date: 2020 Q2)
- framework:
- a more simple API for handling feedbacks,
- ROHCv1:
- RTP profile: add support for IR packet without dynamic chain,
- ROHCv2:
- complete IP/UDP/RTP profile.
Release 2.6.0 (estimated release date: 2020 Q4)
- framework:
- feedback: reducing IR frequency in U-Mode when receiving ACK(U) feedbacks.
- ROHCv1:
- TCP profile: use option_static = 1 in generic_list_item of some TCP options,
- compressor shall check that CRC-STATIC changes upon updated static context.
- TCP profile: add actions upon CRC failures,
Release 2.7.0 (estimated release date: 2021 Q2)
- framework:
- add support for feedback option LOSS,
- ROHCv1:
- add GRE/AH/MINE support.
- ROHCv2:
- add IPv6 extension headers support,
- add GRE/AH/MINE support.
2.3.x branch
The 2.3.x branch is in maintenance mode. Only important bugs are corrected. The last release is 2.3.1. The bugfix release 2.3.2 is planned.
Branch goals were:
- Primary objectives:
- better CPU and memory performances,
- partial ROHCv2 IP/UDP/RTP profile.
- Secondary objectives:
- a unified way to configure the number of consecutive re-transmissions for the Optimistic Approach of both U-Mode and O-Mode. The number of re-transmissions for compressed lists will be based on the same configuration value.
- more robustness tests in lossy conditions.
- better compliance to IETF RFC and interoperability with other ROHCv1/v2 implementations.
2.2.x branch
The 2.2.x branch is in maintenance mode. Only important bugs are corrected. The last release is 2.2.0. The bugfix release 2.2.1 is planned.
Branch goals were:
- ROHCv2 IP-only, IP/ESP and IP/UDP profiles,
- better conformance to ROHC standards:
- RFC3095: handle the IR D flag of IP-only, UDP, ESP, and UDP-Lite profiles,
- RFC3843: add support for Static Chain Termination,
- preliminary Wireshark dissector in Lua,
- bug fixes:
- TCP profile: do not skip MSN 65535 at compressor,
- better robustness of decompressor for TCP profile:
- Context Replication: check whether base context does exist before using it,
- avoid assertion at decompressor with malformed TCP options: length of TCP options is not a multiple of 32-bit words, or large TCP options > 40 bytes,
- handle length-changing generic TCP options.
- kernel:
- fix 64-bit division,
- fix nonnull warnings,
- fix test application/script for Linux kernel module.
- sniffer:
- handle packet timing so that context re-use works correctly
- detect layer-3 protocol from Ethernet protocol type.
2.1.x branch
The 2.1.x branch is in maintenance mode. Only important bugs are corrected. The last release is 2.1.0. The bugfix release 2.1.1 is planned.
Branch goals were:
- add support for Context Replication (IR-CR) for TCP profile,
- use ACK(O) to speed the move to a higher compression state,
- add support for ROHC padding,
- greatly improve CPU performances,
- add periodic refreshes based on inter-packet time.
See the full 2.1.0 changelog for more details.
2.0.x branch
The 2.0.x branch is now closed. No more release planned.
Branch goals were:
- production-ready ROHCv1 TCP profile,
- remove compatibility with the old deprecated public API,
- improved robustness against malformed packets or streams (fuzzing),
- a complete Python binding,
- better CPU performances.
1.7.x branch
The 1.7.x branch is now closed. No more release planned.
Branch goals were:
- the TCP profile (beta),
- public API rewrite (keep the existing one for compatibility, removed for 2.0.0 only),
- add extension support for UO-1-ID packet,
- repair upon CRC failure.
1.6.x branch
The 1.6.x branch is now closed. No more release planned.
Branch goals were:
- Linux kernel,
- ROHC constant IP-ID,
- ROHC segment,
- improved handling of TS, TS_STRIDE, TS_OFFSET and TS_SCALED values,
- improved RTP stream detection,
- new trace framework,
- OpenBSD,
- Mingw64,
- CYGWIN,
- build with GCC 4.8, Clang 3.2, and TCC,
- two new tools: a fuzzer and a sniffer.
1.5.x branch
The 1.5.x branch is now closed. No more release planned.
Branch goals were:
- better portability of the library,
- better test coverage,
- ESP profile.
1.4.x branch
The 1.4.x branch is now closed. No release planned.
Branch goals were:
- internal cleanup,
- better conformance with RFCs,
- reliable context re-use,
- reliable list compression for IPv6 header extensions.
1.3.x branch
The 1.3.x branch is now closed. No release planned.
Branch goals was: Target RFC compliance.
1.2.x branch
The 1.2.x branch is now closed. No release planned.
Branch goals were:
- clean the build chain,
- update source code for building with GCC 4.3,
- update documentation and copyright.
1.1.x branch
The 1.1.x branch is now closed. No release planned.
Branch goals were:
- support for IPv6 list compression,
- RTP bugfixes,
- fix build failure of the tunnel application,
- fix doxygen documentation,
1.0.x branch
The 1.0.x branch is now closed. No release planned.
Branch goals were:
- IPv4/v6 profiles,
- UDP profile,
- UDP-Lite profile,
- RTP profile,
TODO list
See the TODO list on the wiki.
Releases
Next major release: 2.4.0 Git branch roadmap
Current stable release: 2.3.1 download release notes
Previous stable release: 2.2.0 download release notes
Want a feature?
If you want a specific feature that is not mentioned on this page, please tell so on the mailing lists.
Want to help?
If you want to help the project by contributing a feature, take a look at this page and at the list of supported and unsupported features. Then come discuss about them on the mailing lists.