Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[3.0.0] - 2026-06-12
Added
- Ability to specify callbacks to
Managementservice implementation to handle entering and transitioning out of INIT, exiting READY state, and entering EMERGENCY states. This reduces the need to override theManagementservice implementation to handle these common events which still allowing flexibility. - Component specific
.DiscoveryClient.Enabledconfiguration setting to disable built-inDiscoveryClientbehavior.- If setting is not specified, the setting defaults to
True.
- If setting is not specified, the setting defaults to
- Multiple static and class methods on all
ScaledIntegerderived types
Changed
- [BREAKING] Change all
getXxxMessagemethods to return astd::unique_ptr<XxxMessage>instead of a non-pointerXxxMessageobject - Update all core service implementations to based on changes to
getXxxMessagemethod changes - Update
Components/Transportclass to implement necessary methods fromIComponentinterface inherited fromComponentclass - Regenerate code using templates v0.3.1
- Updates to
ScaledIntegerderived classes to support accessing both double and integer values - Updates
Recordderived classes to allow access toScaledIntegerfields
- Updates to
- Update to
openjaus/2.1.0-dev.3.0 - Update CMake minimum version to 3.10
- Update to C++14
Deprecated
- The following static methods on all
ScaledIntegertypesminValue--> useMIN_VALUEconstexpr insteadmaxValue--> useMAX_VALUEconstexpr insteadscaleFactor--> useSCALE_FACTORconstexpr instead
Removed
- [BREAKING] Removed support for incorrectly named
ReportEventTimeout::ReportTimoutRecunderEventsservice. Replaced withReportEventTimeout::ReportTimeoutRec - [BREAKING] Removed support for incorrectly named
ReportTimeout::ReportTimoutRecunderAccessControlservice. Replaced withReportTimeout::ReportTimeoutRec
[2.1.3] - 2025-10-09
Changed
- Update to
openjausv2.0.2
Fixed
- Bug in
EventsClientwhen attempt to create two events using the same Query message with different contents- Requires
openjaus v2.0.2
- Requires
[2.1.2] - 2025-08-15
Fixed
- Bug where source and destination addresses for messages received via the Events service were not correctly populated.
Changed
- Update to
openjausv2.0.1
[2.1.1] - 2025-04-10
Fixed
- Using a Service that has a transition on the DefaultState of a top-level StateMachine (vs on a nested State) incorrectly threw a null exception.
[2.1.0] - 2024-10-04
Added
accesscontrol::ReportTimeout::ReportTimeoutRecclass. This is the correct name for theaccesscontrol::ReportTimeout::ReportTimoutRecclass.- Alias
accesscontrol::ReportTimeout::ReportTimoutRecclass toaccesscontrol::ReportTimeout::ReportTimeoutRec. - Accessor methods for the
accesscontrol::ReportTimeout::ReportTimeoutRecobject to theaccesscontrol::ReportTimeoutmessage class. events::ReportEventTimeout::ReportTimeoutRecclass. This is the correct name for theevents::ReportEventTimeout::ReportTimoutRecclass.- Alias
events::ReportEventTimeout::ReportTimoutRecclass toevents::ReportEventTimeout::ReportTimeoutRec. - Accessor methods for the
events::ReportEventTimeout::ReportTimeoutRecobject to theevents::ReportEventTimeoutmessage class.
Deprecated
accesscontrol::ReportTimeout::ReportTimoutRecclass.- Accessor methods for the
accesscontrol::ReportTimeout::ReportTimoutRecobject on theaccesscontrol::ReportTimeoutmessage class. events::ReportEventTimeout::ReportTimoutRecclass.- Accessor methods for the
events::ReportEventTimeout::ReportTimoutRecobject on theevents::ReportEventTimeoutmessage class.
[2.0.0] - 2024-07-30
Added
- Set a default
IAddressProviderincomponents::Transport- Necessary after changes in
model::Component
- Necessary after changes in
- Add
ListManagerDelegatewhich is a ListManager implementation that can be used without requiring inheritance - Support for setting callbacks on
ManagedListfor when the list changes removeTransitionmethod to Transport serviceaddEntryActionmethod to Transport service
Changed
- Update to openjaus v2.0.0
- Update usage of settings keys, defaults, and constants after changes in
openjauslibrary - Moved generated code to
generatedfolder- NOTE: Does not break or change usage
- [BREAKING] Move and rename
OjListManagerfiles and classes- Renamed to
ListManagerImpl - Move files to be directly under
openjaus/core_1_1folder - Update namespace to be directly under
openjaus::core_v1_1 - Move
OjManagedListtoopenjaus/core_v1_1/ListManagerfolder - Renamed
OjManangedListtoManagedList
- Renamed to
- [BREAKING] Move base components (
Base,EventsBase,Managed, etc)- Move files from openjaus/core_v1_1 to openjaus/Components
- Change namespace from
openjaus::core_v1_1toopenjaus::components
- [BREAKING] Restructure file/folder structure based on new codegen layout
- [BREAKING] Update messages and internal events such that there is always a top-level Record, Sequence, List, or Variant.
- This aligns the message structure more closely with the JSIDL
- [BREAKING] The
toXmlmethod no longer takes optionalojIndentLevelparameter- Parameter was never intended for public use.
- [BREAKING] The
toXmloutput changed due to message and internal events structure change - [BREAKING] Change access level of service
StateandStateMachineobjects from protected to private - Update service code to use new message and internal event classes
- Removed redundant base class default initialization
[1.0.0] - 2023-04-08
Added
- Initial release -- code split from org.openjaus.sdk.cpp v8.0.0
- MessageFactory class that can be used to create any message within a specific service set/namespace
Changed
- Updated to ojss templates v6.0.0
Fixed
- Access control timeout timer was not being reset when in the Controlled::Emergencey state causing Management to be stuck in Controlled::Ready when Emergency is cleared
- Crash if getCurrentStatus() is called before the Management state machine is initialized.