Eclipse iceoryx 1.0.0 (Almond)

Release Date
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

Bugzilla issue for tracking this release

Compatibility

Not compatible with previous releases as new and modified APIs are used

Target Environments

Linux, QNX and MacOS

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 iceoryx C-API issues

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