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
IAddressProvider
interface to allow for custom addressing mechanismsIIdBroker
interface to support runtime configuration of ID assignment strategyAbstractIdBroker
base class which encapsulates common ID assignment functionalityStaticIdBroker
which allows for static assignment of an IDInternalIdBroker
which allows sharing of an ID among Components within the same processIdMediator
which facilitates ID exchange Component instances in the same process- Base
PresenceVector
andValueSet
classes used to derive presence vectors and value sets in messages - Support for serial and deserialization of
InternalEvent
derived classes
Changed
Component
to configure, start, and stop theIAddressProvider
object when necessary- [BREAKING] Rename settings keys, defaults, and constants files
- [BREAKING] Move
BUILD_KEY
macro to separatesettings.h
file - [BREAKING] Change
State::addEntryAction
andState::addExitAction
to take astd::function
instead of anAction
object pointer - [BREAKING] Moved
toLocalTime(DateStamp, TimeStamp)
andsecondsSinceUnixEpoch(DateStamp, TimeStamp)
functions fromopenjaus/model/fields.h
toopenjaus/model/TimeUtils.h
Fixed
- Bug in
StateMachine
to support states with only transitions on the child default state - [BREAKING] Settings defaults and constants namespace; move to under
openjaus::settings
namespace vs justopenjaus
Removed
- [BREAKING] Newly unused
Action
andActionImpl
classes/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.h
file - [BREAKING] Removed
createMessageByName
method fromIMessageFactory
interface
[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