Table of Contents
...
The Napa release is EdgeX version 3.1 (the 13th overall release and the first dot release off EdgeX 3.0). It is a stabilization of the version 3 and is our current Long Term Support (LTS) release, replacing Jakarta (EdgeX 2.1) in having current LTS status.
Release Major Themes
- URI for Files
- Added support for loading EdgeX configuration files from a remote location via a URI. This includes configurations, unit of measurements, device profiles, device definitions and provision watchers
- An important benefit of this is to allow services to share more of the configuration and start-up information in a single location, rather than users needing to duplicate and have multiple sources for the same information
- See here for full details: https://docs.edgexfoundry.org/3.1/microservices/general/#uri-for-files
- Note that this feature is not yet available in the C Device Service SDK and is aimed for completion in the next release (Odessa)
- Common Configuration - Added support for C Device Services
- The Common Configuration pattern added in EdgeX 3.0 is now also supported in the C Device Service SDK meaning that all services now support this feature
- Major Documentation Improvements
- Overhaul, refactor and general improvement of the EdgeX documentation - especially as part of the V3 stabilization work
- The documentation for each service has a standard structure (e.g., purpose, getting started, configuration, API reference, source code and additional details)
- Added new tiled home page directing users to key or common parts of the documentation
- See the updated documentation here: https://docs.edgexfoundry.org/3.1/
- Data Retention Capability
- New capability for Core Data and the Support Notifications service to retain a configurable maximal number of readings with automatic data purging to maintain the configured maximum data
- See here for full details: https://docs.edgexfoundry.org/3.1/microservices/core/data/details/DataRetention/ and https://docs.edgexfoundry.org/3.1/microservices/support/notifications/details/DataRetention/
- Record and Replay Service
- Added new Record and Replay capability as an Application Service that will record EdgeX events received by the internal message bus, and replay them back to the message bus at a later time
- This is particularly useful to help test that new/existing EdgeX services receive and process EdgeX events correctly, without needing device services and real physical devices to always be present
- See here for full details: https://docs.edgexfoundry.org/3.1/microservices/application/services/AppRecordReplay/
Additional Features/updates/project improvements or changes
- Upgrade to Go 1.21
- Requirements (UCR) in place for microservice authentication based on end to end encryption in EdgeX: https://docs.edgexfoundry.org/3.1/design/ucr/Microservice-Authentication/. An ADR (design) is now in review and implementation using OpenZiti is intended for implementation in the next release (Odessa)
- Allow for the experimentation of use of NanoMQ as the message bus within EdgeX, optionally configured within the EdgeX compose-builder utility: https://github.com/edgexfoundry/edgex-compose
- Replace the no-longer-support Gorilla/mux Go router library with the better supported Echo stack
- Continued improvements to move common code into go-mod-bootstrap
- EdgeX Snaps are no longer directly built or supported by the EdgeX community. Snaps will not be part of the LTS support listing
- More metrics for Application and Device Services
- Export error (HTTP & MQTT) for App Services
- LastConnected for Device Services
- New Device Services for both CAN and Siemens S7 PLCs have been added to the project during this cycle, although these are not ready for immediate release
- Moved reference helm charts for EdgeX to their own repository: https://github.com/edgexfoundry/edgex-helm
Known Bugs
- Insecure secrets callback does work for removed secrets: https://github.com/edgexfoundry/go-mod-bootstrap/issues/534. This applies to any map in Writable section (ASC pipeline functions, etc).
- The workaround is to restarting service after removing entry.
- This issue will be fixed in future v3.x release
- The Device SDK C version number displayed in the device service log is incorrect; it should be 3.1.0, not 3.0.2. https://github.com/edgexfoundry/device-sdk-c/issues/497
- The Device SDK C and C Device Services don't support new URI for files features:
- The C Device Services may crash during the Device deletion if the auto events are running.
https://github.com/edgexfoundry/device-sdk-c/issues/494
Changelogs
Core, Supporting and Security Services Changelog
...