top of page

Apex.Grace & Apex.Ida 25-02 Release: Smoother Workflows, Stronger Core

Writer: Apex.AIApex.AI

In this release announcement, we cover Apex.Ida and Apex.Grace 25-02 releases. One noticeable change already is the versioning scheme — we’ve simplified versioning to remove ambiguity around compatibility across our products. The 25-02 releases had a short development window, from the new year until the end of February. We chose to focus on quality-of-life improvements and housekeeping that we think will pay dividends all year. 

 

These are the key changes from the release: 

 

  • Apex.Grace Recording and Replay — bolster the Python APIs and add/fix/improve fifty items 

  • Enhancements in commonly used Apex.Grace node management APIs and the System Manager 

  • The Process Manager has new CLI tools to manage processes and groups 

  • New use cases supported in the Executor Connector API, such as creating and sharing a node between signals/slots 

  • The System Manager has new hooks for a watchdog, and it can now initiate a reboot when given the signal 

  • Apex.Ida logging useability and quality of life additions, making debugging super approachable 

 

Many rough edges have been addressed and polished, in particular those identified by our customers in off-road markets like marine and agriculture. Apex.Ida and Apex.Grace are extremely versatile and can be leveraged and deployed in many safety-critical contexts. Many of the changes in this release get them one step closer to production. 


Record and replay at scale 

 

Whereas most Apex.Grace APIs are in sync with ROS 2 Galactic, the APIs for record and replay services are further ahead. The Record and Replay APIs are in sync with ROS 2 Jazzy, which brings new features and stability that we at Apex.AI have been helping to develop in the open-source rosbag project. The key addition is perhaps innocuous at a glance, support for multi-file (bag) replay; however, it enables faster scaling of different types of tests that run as part of the CI/CD cycle for autonomous and onboard embedded software. Data collected from different systems or independently generated synthetic data streams can be replayed together easily. It is a valuable addition to the broad range of testing scenarios that the record and replay system handles.  


Strengthen the core  

 

Process Manager: in addition to the existing programmatic APIs to interact with the Process Manager instances, we are introducing a command-line tool that controls processes and process groups at runtime. Developers, testers, and system integrators will use these tools to more quickly test their local software changes without having to start and stop the entire system. 

 

Executor Connector API: Before this release, a developer could not share one node between multiple signals/slots. This was not very resource-conscious and didn’t play nicely with the event system. We addressed this in the release and made related changes so that developers can have numerous unique signals/slots on the same topic (message). This is a welcome quality-of-life improvement for the heavily used Executor APIs. 

 

System Manager: direct support and an interface for a watchdog process was added to the System Manager. The watchdog does nothing by default, but once configured it’s intended to observe the System Manager during the main execution loop and while waiting for external services like the Process Manager. 


Apex.Ida quality-of-life 

 

Information is power, especially for a troubleshooter! If there is a theme and one word for the changes in Apex.Ida, it is logs. When working with the middleware and trying to eke out every percentage point of performance you need information about where data copies are happening (where they’re not supposed to), info about discovery match events, exceeded resource limits, or when topics are created. We’ve added a lot of details and context to the logs throughout the middleware layers to increase the value of these log messages and guide developers to the code that causes faults or impacts performance. Our aim is to make it easier for non-middleware experts to configure, deploy, and optimize the middleware layer for their projects. 


Elevating open source code and shortening the gap from prototype to production code has been our focus for nearly eight years. Apex.Ida and Apex.Grace are ready to integrate into your existing or greenfield projects. Whether you’re working with ROS, AUTOSAR, or a proprietary framework, we offer a short onramp to integrate, migrate, and/or interoperate with our safety-critical and safety-certified framework and middleware that we know will accelerate your development. 

 

If you are interested in Apex.AI products for your projects, contact us. 

 
 
bottom of page