Napa

Release Date:  Wed November 15th 2023

Code Freeze:  Wed October 25th 2023

Namer: Ernesto Ojeda (EdgeX Foundry DevOps Working Group lead and TSC member)

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
  • 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


Changelogs

Core, Supporting and Security Services Changelog

Go Device Service SDK Changelog

C Device Service SDK Changelog

App Functions SDK Changelog

App Service Configurable Changelog

Device Services:

EdgeX User Interface Changelog