******************************************************************************** ******************************************************************************** ** ** ** Version 2.3.0.330 ** ** ** ******************************************************************************** ******************************************************************************** ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaBase ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Breaking Change ------------------------ Updates license format. The format of the UnifiedAutomation license has changed. You need to replace the license file in your application with a new one. Otherwise an exception will be thrown. ------------------------ Features ------------------------ Adds option to create the trace in UTC time or local time. Adds additional documentation for DataTypes defined by the OPC foundation. Adds option to suppress certificate validation steps. ------------------------ Bug Fixes ------------------------ Fixes return code of certificate checks. After a clarification in the OPC UA specification the return code for failed certificate checks is always set to BadSecurityChecksFailed. ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaClient ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Features ------------------------ Adds class FileTransfer. This class is a utility class to read and write whole files from a server. The server must support OPC UA FileType to use this feature on client side. Adds dialog that shows the usage of authentication tokens for Connect in Client Getting Started. Adds SetTriggering method to Subscription class. ------------------------ Bug Fixes ------------------------ Fixes TransferSubscription. The TransferSubscription method did not work at all. Fixes memory leak in Session. There was memory leak in Session. This leak occured when a client disconnected from a server. ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaServer ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Features ------------------------ Implements FileModel. The FileModel class provides implementation to support OPC UA FileType on server side. Compliance tested. The DemoServer application passes the Compliance Test Tool without errors. Adds documentation of OPC UA ConditionTypes and OPC UA VariablesTypes. Adds support for EventMonitoredItems in ServerInternalClient. Adds lesson for HistoryReadEvent in Server Getting Started. ------------------------ Bug Fixes ------------------------ ModelController classes are non-abstract. For abstract OPC UA types the ModelController classes have been abstract, too. When calling LinkModelToNode for an abstract OPC UA type that contains a child with an abstract type definition, an exception was thrown. This has been fixed by making all ModelController classes non-abstract. ******************************************************************************** ******************************************************************************** ** ** ** Version 2.2.5.284 ** ** ** ******************************************************************************** ******************************************************************************** ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaBase ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Bug Fixes ------------------------ Fixes exception in EndConnect There was null exeption in EndConnect that occurred if an application calls sequences of connect/disconnect extremely fast. The socket was null at the time connecting again. This issue has been fixed. Fixes return value in GetTypeDescriptor There was a null pointer returned from ModelTypeDescriptionProvider.GetTypeDescriptor because return variable was not assigned properly. This getter function is called when loading/reading type system during startup e.g. provided by node set file. This issue has been fixed. ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaClient ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Bug Fixes ------------------------ Minor clarifcation for usage of AlternativeEndpointUrls An alternative Endpoint is only used if the initial connect fails and the RetryInitialConnect is set to yes. Once a connection could be created, the Endpoint that worked is used for reconnecting. No changes to logic or code. ******************************************************************************** ******************************************************************************** ** ** ** Version 2.2.4.281 ** ** ** ******************************************************************************** ******************************************************************************** ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaBase ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Bug Fixes ------------------------ Fixes memory leak when starting multiple ApplicationInstances. There was a memory leak that occurred if an ApplicationInstance was started and stopped several times. This memory leak did not appear if an application was started only once. This issue has been fixed. ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaServer ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Bug Fixes ------------------------ Fixes stack overflow on server start-up. There was a potential crash if a server was restarted and several clients tried to reconnect simultaneously. This bug has been resolved. Fixes possible crash during shutdown and release of Socket. This exception occurred in very rare cases when accessing the socket handle in TcpMessageSocket. This possible crash has been resolved by adding an additional null pointer check. ******************************************************************************** ******************************************************************************** ** ** ** Version 2.2.3.276 ** ** ** ******************************************************************************** ******************************************************************************** ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaBase ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Bug Fixes ------------------------ Add checks for System.Reflection.Assembly.GetEntryAssembly(). When using the .NET UA libraries within a CLR project, in some cases System.Reflection.Assembly.GetEntryAssembly() returns null, but it hasn't been checked for null at every place when used in the code. These additional checks fix rare crashes of the UA application when using the .NET UA libraries within a CLR project. Fixes logic error in DirectoryCertificateStore. The DirectoryCertificateStore has the option "noPrivateKeys" to disable saving private key. There was logic error when evaluating this option. As a consequence of this error a StatusException was thrown if a certificate was added to a store with the option to save the private key and the option "noPrivateKeys" for the DirectoryCertificateStore was set to "false". This logic error has been solved. ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaClient ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Bug Fixes ------------------------ Use TimestampsToReturn.Both for HistoryReadEvent. This solves interoperability issues since some servers do not allow HistoryReadEvent calls with TimestampsToReturn.Neither. ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaServer ------------------------------------------------------------------------------- ------------------------ Bug Fixes ------------------------ Calling dispose recursively when the Server is stopped. This solves leaks when stopping and starting the server while the UA application is running. This does not have an effect on applications that do not stop and start an OPC UA server again while the UA ApplicationInstance is running. Revise SamplingInterval 0 for event monitoring even if clients request a SamplingInterval != 0. Compare structure content in MonitoredItem.Equals. This solves the problem that values with structured data types are sent by a subscription even if the content did not change. Reduce tracing with trace level ProgramFlow. Tracing with trace level ProgramFlow or Data created very big trace files. This tracing resulted in very long startup times of the server and very long connection times of clients to the server. Reducing the tracing reduces the spent time for server startup and the time for connecting. ******************************************************************************** ******************************************************************************** ** ** ** Version 2.2.2.260 ** ** ** ******************************************************************************** ******************************************************************************** ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaBase ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Bug Fixes ------------------------ Fix minor problem with HTTPS transport. This fix solves a minor interoperability issue when using the HTTPS transport binding. This binding is not released (for details see comments in app.config). ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaClient ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Features ------------------------ Implement client side Cancel service. This enables clients to call the Cancel Service to abort a long running operation in the server (assuming the server supports such a cancellation). ------------------------ Bug Fixes ------------------------ Fix hostname and IP address resolution on Vista/Win7 when network card is disabled or when network card is unplugged. Compared to WinXP, on Vista/Win7 and above the name resolution works differently. This leads to problems particularly for local connections (localhost) between client and server, because the loopback address was not resolved correctly. - The problem did not occur on Windows XP - The problem only occurred for connections to local servers (127.0.0.1 or localhost) ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaServer ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Bug Fixes ------------------------ Fix crash on internal server restart. When restarting the ApplicationInstance the constructor was not called again, hence required parameters were not initialized correctly. This problem only occurs in the rare case that the ApplicationInstance is restarted without unloading the server module completely. Fix locking in DataSamplingManager. Only when using a certain NodeHandleType (InternalPolled or ExternalPolled) in BaseNodeManager the DataSamplingManager sporadically locked the wrong object. This could cause modification, creation or deletion of unlocked node. Fix usage of DefaultRequestContext in ServerInternalClient.CreateDataMonitoredItems. The internal client running within the server (e.g. when implementing internal data logging) threw an exception when calling the method CreateDataMonitoredItems twice, because the DefaultRequestContext was not set correctly. ******************************************************************************** ******************************************************************************** ** ** ** Version 2.2.1.258 ** ** ** ******************************************************************************** ******************************************************************************** ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaBase ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Features ------------------------ Advance documentation of OPC UA types. ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaClient ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Features ------------------------ Add ProductUri to ClientSettings. ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaServer ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Bug Fixes ------------------------ Advance default value of ProductUri. ******************************************************************************** ******************************************************************************** ** ** ** Version 2.2.0.255 ** ** ** ******************************************************************************** ******************************************************************************** ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaBase ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Breaking Change ------------------------ ApplicationSettings and associated 'Settings' classes used to read information from configuration files now have default values specified for all fields. This means the 'Specified' flag is no longer part of the classes and will caused compile errors. Remove any 'Specified'references to fix. Removed support for Service UserName/Password (MS ServiceInstaller class should be used if this feature is required). Otherwise password is required in the configuration file which is not acceptable from a security point of view. ------------------------ Features ------------------------ Added support for Visual Studio 2012 (update 2) and .NET Framework 4.5. Added support for setup and configuration of HTTPS endpoints. Added support for SignOnly endpoints. Added support for binding endpoints to specific network cards. Trace messages now written to Visual Studio output window when debugging. Added DisableCommandLineProcessing to ApplicationInstance. Added DisableLdsCertificateExchange, DisableSetFilePermissions flags to InstallationSettings. Added CertificateGeneratorPath to CertificateFactory Added support for PEM format to CertificateFactory. Added Accept and RemoveAccept to CertificateValidator ------------------------ Bug Fixes ------------------------ Socket manager now correctly returns error messages if the initial connect fails. ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaClient ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Features ------------------------ Added support for HistoryRead for events. Added support for HistoryUpdate for data and events. Added helper functions to ItemEventFilter. Added event that allows application to modify URL before connect. ------------------------ Bug Fixes ------------------------ Fix Session.Connect(EndpointDescription endpoint, RequestSettings settings). If not all necessary information is set in endpoint, an exception will be thrown. ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaServer ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Breaking Change ------------------------ The IEventManager was missing the RequestContext in several method calls including ConditionRefresh. This changed the interface to the BaseNodeManager and the NotifierManager classes and will cause compiler errors. Add RequestContext as the first parameter in any overridden functions to fix. Use Server.DefaultRequestContext if existing code logic does not have a RequestContext to use when calling. ------------------------ Features ------------------------ Added default implementation for ReadProcessed and ReadAtTime into the SDK. Implementors only need to implement ReadRaw to get support for these services. It is still possible to implement ReadProcessed and ReadAtTime on the application level. Added examples for history functions - Added Lesson 7 to Server Getting Started for HistoryRead for data - Added examples for all history functions to demo server ------------------------ Bug Fixes ------------------------ Fixed BaseNodeManager.IEventManager.ModifyEventMonitoring. Internal reference counters are updated correctly now. ******************************************************************************** ******************************************************************************** ** ** ** Version 2.1.2.227 ** ** ** ******************************************************************************** ******************************************************************************** ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaBase ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Bug Fixes ------------------------ Changed search order for Opc.Ua.CertificateGenerator.exe 1. Working directory 2. Installation directory 3. bin-folder (Used for the examples of the SDK) Fixes for installing a service process. - ApplicationInstance.Install(bool silent) got public - New version of Opc.Ua.CertificateGenerator.exe XmlDecoder - Fix reading null arrays ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaClient ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Bug Fixes ------------------------ Fix automatic deletion of subscriptions on Server errors ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaServer ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Bug Fixes ------------------------ BaseNodeManager.INodeManagementManager - Add missing EventNotifier property SubscriptionManager.CreateSubscription - Fix memory leak if MaxSubscriptionCount is reached ******************************************************************************** ******************************************************************************** ** ** ** Version 2.1.1.223 ** ** ** ******************************************************************************** ******************************************************************************** ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaBase ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Bug Fixes ------------------------ NoAutostartService flag - Added flag to avoid automatic start of Windows service by SDK. Default is false. If your application handles Windows service functionality this flag must be set to true. ******************************************************************************** ******************************************************************************** ** ** ** Version 2.1.0.222 ** ** ** ******************************************************************************** ******************************************************************************** ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Documentation and Examples ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- GettingStarted - Added certificate creation and certificate trust examples. ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaBase ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Features ------------------------ ApplicationInstance - Added EmbeddedConfigurationAssemblyName which specifies the location of the embedded configuration file. - Added public ApplicationSettings property and SetApplicationSettings method. - Added MissingApplicationCertificate event. - Added UntrustedCertificate event. - Added ConfigurationChanged event. - Renamed ParseExtention/UpdateExtension to GetConfigurationExtension/SetConfigurationExtension. - Added ValidateCertificate and AddCertificateToTrustList methods. - Replaces DC=localhost in ApplicationCertificate SubjectNames with DC= ExtensionObject - Added GetArray method. SecuredApplication - Added Get/Set methods. UANodeSet - Added MethodDeclarationId to UAMethod class. DirectoryCertificateStore - Added support for CRLs. - Added support for stores without private keys (better performance). ------------------------ Bug Fixes ------------------------ AbsoluteName - Fixed parsing error in ToQualifiedNames BinaryDecoder - Added handler to ensure XML parsing errors do not prevent message deserialization. - Fixed problem with multi dimensional arrays. ModelMapper - Fixed conversion error for ExtensionObjects. CertificateValidator - Fixed numerous issues with certificate validation. ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaClient ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- ------------------------ Features ------------------------ Discovery - Added GetMostSecureEndpoint methods. Session - Added MessageContext property. - Added PublishPipelineDepth property. Subscription - Suitable defaults are now set in the constructor. ------------------------ Bug Fixes ------------------------ Session - Now closes session after failure on first activate. - Reports events for subscriptions when they are deleted. - Added support for blocking write requests. Subscription - Fixed race condition that caused missing initial data changes. ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Module UaServer ------------------------------------------------------------------------------- ------------------------------------------------------------------------------- Initial release ******************************************************************************** ******************************************************************************** ** ** ** Version 2.0.0.163 ** ** ** ******************************************************************************** ******************************************************************************** Initial release