Eclipse iceoryx 1.0.0 (Almond)
Primary tabs
Release Date:
Thursday, April 15, 2021
Deliverables:
The detailed planning for the 1.0.0 release is done with a Github project, see iceoryx.1.0.0 planning
The plan is also regularly reviewed in the iceoryx developer meetings
Compared to the feature content of the initial contribution, the main new features are
- Introduction of a C API
- Refactoring of C++ API
- MacOS support
- Support for n:m communication
- Bridge to Eclipse Cyclone DDS
Compatibility:
Not compatible with previous releases as new and modified APIs are used
Target Environments:
Linux, QNX and MacOS
Milestones:
Name | Date | Description |
---|---|---|
RC1 | 2021/04/01 | Feature freeze and first release candidate |
Milestone build for community feedback on new APIs | 2020/12/22 | https://github.com/eclipse-iceoryx/iceoryx/releases/tag/v0.90.0 |
Milestone build for MacOS support | 2020/08/27 | https://github.com/eclipse-iceoryx/iceoryx/releases/tag/v0.17.0 |
Themes:
C API
So far iceoryx only had a C++ API. With the C API, we want to support easier integration in frameworks written in C (e.g. ROS rmw layer or Cyclone DDS) and also enable other language bindings like Python that could be based on the C API
https://github.com/eclipse-iceoryx/iceoryx/issues?page=1&q=%22C+API%22
<a href="https://github.com/eclipse-iceoryx/iceoryx/issues?page=1&q=%22C+API%22">iceoryx C-API issues</a>
Support for n:m publish/subscribe communication
So far iceoryx only supported 1:m communication. I.e. one publisher can send data to several subscribers. But a subscriber could not receive data from more than one publisher. With the n:m feature this limitation is resolved
https://github.com/eclipse-iceoryx/iceoryx/issues/25
MacOS support
So far iceoryx supported Linux and QNX as underlying operating systems. We now introduce a platform abstraction layer and support for MacOS
https://github.com/eclipse-iceoryx/iceoryx/issues/32
Refactoring of public API
iceoryx is normally used within a bigger framework that provides user APIs. To better support users that are using iceoryx directly and to further simplify the integration of iceoryx in other frameworks, we do a refactoring of the API
https://github.com/eclipse-iceoryx/iceoryx/issues/252
Bridge to Eclipse Cyclone DDS
iceoryx is a technology for inter-process-communication. It has to be extended when it is used in a framework that shall also support network communication. We have building blocks that allow developing bridges to protocols for network communication. The first bridge we implemented is the one to Eclipse Cyclone DDS
https://github.com/eclipse-iceoryx/iceoryx/issues/64