Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[milo-dev] Milo 0.6.0 Released

All,

Milo 0.6.0 has been released.

The issues addressed in this release can be found here: https://github.com/eclipse/milo/pulls?q=milestone%3A0.6.0

The following PRs introduce changes in API or behavior from 0.5.x:

"Fix compatibility issues with JPMS"
https://github.com/eclipse/milo/pull/784

The automatic module name and package names for dictionary-reader and dictionary-manager modules are now "org.eclipse.milo.opcua.sdk.client.dtd" and "org.eclipse.milo.opcua.sdk.server.dtd" respectively. This was necessary because the previous package names were already being used by other modules.

"Stop using max array and string lengths during serialization"
https://github.com/eclipse/milo/pull/719

This change removes these configuration values from EncodingLimits and then moves all the configuration values from MessageLimits into EncodingLimits and deletes MessageLimits. If you were configuring custom values for these it will require a small code change.

"Generate new CefactEngineeringUnits from UNECE_to_OPCUA.csv"
https://github.com/eclipse/milo/pull/780

CefactsEngineeringUnits had to be re-generated and it was not possible to preserve the previously used field names.

"Maintain separate "static" and "dynamic" DataTypeManagers"
https://github.com/eclipse/milo/pull/766

There are 2 approaches to custom DataTypes in OPC UA: statically generated codecs (code generated or hand-coded) and dynamic codecs. The structures used in these approaches do not play well together. It was not possible to decode a custom structure from a dynamically generated codec that contained a structure (e.g. a built-in structure) from a statically generated codec.

There are now two separate DataTypeManagers that codecs can be registered with in a client; one for static codecs and one for dynamic codecs. Since code generation is still a private prototype most people were probably using dynamic codecs (Struct or GSON-based from bsd-parser and bsd-parser-gson). You will need to change any reference to "client.getDataTypeManager()" to "client.getDynamicDataTypeManager()".

"Read namespace 0 dictionary in DataTypeDictionaryReader"
https://github.com/eclipse/milo/pull/772

This is just a behavior change, but with the separation of codecs into "static" and "dynamic" managers it became necessary to also read the server's namespace 0 dictionary so that versions of codecs for built-in structured types that decoded into Struct or GSON objects are available.

Commit log:

9fd8a23a - [maven-release-plugin] prepare release v0.6.0 (eclipse-milo-bot)
0e1f2b89 - Allow registration with composite to be controlled via overload (Kevin Herron)
53210d79 - Remove check preventing Variant construction with DataValue (#806) (Kevin Herron)
36e9ad5f - [maven-release-plugin] prepare for next development iteration (eclipse-milo-bot)
66c7a190 - [maven-release-plugin] prepare release v0.6.0-M1 (eclipse-milo-bot)
60ac9ebf - Allow applications to block until NonceUtil's SecureRandom is seeded (#804) (Kevin
Herron)
f3290a18 - Ensure methods referenced by HasOrderedComponent are callable (#801) (Kevin Herron
)
c9e30a4d - Usability improvements for some UaNode builders (#799) (Kevin Herron)
e1b7f6c1 - Update JetBrains annotations to version 20.1.0 (Kevin Herron)
ced32973 - Check if StatusCode is null before trying to modify overflow bit (Kevin Herron)
782aaab4 - Replace jsr305 annotations with JetBrains annotations (#793) (Kevin Herron)
4afb2c72 - Update netty-channel-fsm to version 0.5 (#795) (Kevin Herron)
864a5161 - Ensure lastValue is not null before enqueueing it (#791) (Kevin Herron)
f46b9cff - Merge branch 'dev/0.6' into master (Kevin Herron)
bfaf5f26 - Update codec registration in ReadWriteCustomDataTypeNodeExample (Kevin Herron)
f07af5a3 - Generate new CefactEngineeringUnits from UNECE_to_OPCUA.csv (#780) (Kevin Herron)
f2906ad2 - Avoid the use of BigInteger::longValueExact (#783) (Kevin Herron)
fe994779 - Fix compatibility issues with JPMS (#784) (Kevin Herron)
a3a05f97 - Use un-pooled heap buffer and ensure it's released (#782) (Kevin Herron)
9c531038 - Implement ThreadPoolExecutor::afterExecute in shared executors (Kevin Herron)
ef69a58a - Fix possible NPE in Session FSM (#777) (Kevin Herron)
79df0cd1 - Merge branch 'master' into dev/0.6 (Kevin Herron)
f581575c - Update README.md (Kevin Herron)
82037962 - Merge branch 'release/0.5.4' (Kevin Herron)
632bcee1 - [maven-release-plugin] prepare for next development iteration (eclipse-milo-bot)
7d79f8a7 - Read namespace 0 dictionary in DataTypeDictionaryReader (#772) (Kevin Herron)
c206d711 - Maintain separate "static" and "dynamic" DataTypeManagers (#766) (Kevin Herron)
954908e3 - Merge branch 'master' into dev/0.6 (Kevin Herron)
7a5f079b - Update Netty to version 4.1.54.Final (Kevin Herron)
f66aa709 - Refactor ChunkEncoder to return EncodedMessage (Kevin Herron)
b93b352a - Stop using max array and string lengths during serialization (#719) (Kevin Herron)
2cb93039 - Set version to 0.6.0-SNAPSHOT (Kevin Herron)





Back to the top