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.
[2.0.0] - 2024-07-30
Added
IAddressProviderinterface to allow for custom addressing mechanismsIIdBrokerinterface to support runtime configuration of ID assignment strategyAbstractIdBrokerbase class which encapsulates common ID assignment functionalityStaticIdBrokerwhich allows for static assignment of an IDInternalIdBrokerwhich allows sharing of an ID among Components within the same processIdMediatorwhich facilitates ID exchange Component instances in the same process- Base
PresenceVectorandValueSetclasses used to derive presence vectors and value sets in messages - Support for serial and deserialization of
InternalEventderived classes
Changed
Componentto configure, start, and stop theIAddressProviderobject when necessary- [BREAKING] Rename settings keys, defaults, and constants files
- [BREAKING] Move
BUILD_KEYmacro to separatesettings.hfile - [BREAKING] Change
State::addEntryActionandState::addExitActionto take astd::functioninstead of anActionobject pointer - [BREAKING] Moved
toLocalTime(DateStamp, TimeStamp)andsecondsSinceUnixEpoch(DateStamp, TimeStamp)functions fromopenjaus/model/fields.htoopenjaus/model/TimeUtils.h
Fixed
- Bug in
StateMachineto support states with only transitions on the child default state - [BREAKING] Settings defaults and constants namespace; move to under
openjaus::settingsnamespace vs justopenjaus
Removed
- [BREAKING] Newly unused
ActionandActionImplclasses/files - [BREAKING] Removed numerous classes related to message fields
- These classes were intended for internal use only but are marked as breaking in case they were inappropriately used by clients
- [BREAKING] Removed
openjaus/model/fields.hfile - [BREAKING] Removed
createMessageByNamemethod fromIMessageFactoryinterface
[1.0.0] - 2023-01-27
Added
- Initial release -- code split from org.openjaus.sdk.cpp v8.0.0
- virtual toXml() method to the model::Trigger class which is overridden by all derived Messages and InternalEvents
- removeMessageCallback() method to model::StateMachine and core_v1_1::services::Transport to allow removing of a callback registered using addMessageCallback()
Changed
- Add getOjConfigFilePath() to system::Application class to get the path to the ojconf file based on the command-line arguments
Deprecated
- openjaus::model::SystemTree* Component::getSystemTree() const;
Fixed
- Incorrect assertion in DatagramSocket::reuseAddress which caused a SocketException to be thrown on success
- Using BroadcastMethod=BOTH did not enable use of multicast
- Boolean message field type was packed incorrectly for BOOLEAN_FALSE