OpenJAUS Release 5.0.0 (2018/03)
Note: Transitioned to Semantic Versioning Numbering scheme. All future versions will follow this scheme (https://semver.org/)
- Feature: Changed Configuration file format from INI style to JSON. New config file extension is .ojconf while old format is .conf. system::Configuration class was removed and replaced with system::JsonConfiguration class.
- Feature: Configuration Tool. OpenJAUS now distributes a Windows-based GUI tool to create and maintain configurations for applications. (more info)
- Feature: Added UserConfiguration class which maintains INI style configuration format for custom user settings.
- Feature: Updated Buffer class API. Writing to and reading from the Buffer is now done using BufferWriter and BufferReader classes. Old API is no longer available.
- Feature: Improved Timer API. Time can now be started and/or restarted without knowing the timer interval. Old API is available but deprecated.
- Feature: Merged JSON functionality previously found in libjson into libopenjaus. Removes dependency on libjson.
- Feature: Added ‘Auto’ setting to Network Interface configuration setting which removes the need to specify the interface name.
- Feature: Added service set version to folders and namespaces to distinguish between different versions of a service set (e.g. manipulator v1.0 and manipulator v2.0 –> manipulator_v1_0 and manipulator_v2_0).
- Feature: Added ability to specify the TTL value on the multicast socket from the config file.
- Feature: Added getRequestType method to EventRequestResponseArgs which is passed to the callback when using Events::subscribePeriodic, Events::subscribeOnChange, or Events::unsubscribe methods. The ConnectionRequestType specifies whether the callback is being executed due to a Create, Update, or Cancel Event request.
- Feature: Added ability to specify the Subsystem, Node, and/or Component Type in the ReportIdentification message. Type can be specified in the Configuration file.
- Improvement: Added support for deprecated JAUS messages.
- Improvement: Made 64-bit version of premake4 the default on Ubuntu. 32-bit version still available as premake4_32.
- Bug Fix: Resolves issues with routing messages based on SystemInterface and NodeInterface settings. SystemInterface and NodeInterface were merged such that only a single interface needs to be specified.
- Bug Fix: Removed redundant ConfirmXXXSensorConfiguration messages. Messages were all identical but where named based on the associated service. Standard only defined ConfirmSensorConfiguration message which was supposed to be (and now is) used by all child services.
- Removed: Removed the AS6040 HMI Service Set files. Service set is rarely used and only increases compile time. Service set is available as a stand-alone library.
- Removed: Removed all “generic” components (eg. GlobalPoseSensor, PrimitiveDriver, etc) as they restrict the user to a single service per component. The recommended design pattern involves inheriting from a “Base” component and adding the necessary services instead of inheriting from the “generic” components.