Eclipse iceoryx 1.0.0 (Almond)

This is the first major release for Eclipse iceoryx. That means it is the first release with long-term support and the adopters of iceoryx can rely on a stable API. The release called Almond allows for true zero-copy inter-process-communication on Linux, QNX and MacOS and provides C and modern C++ user APIs. 

Release Date
Release Type
Major release (API breakage)
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