******************************************************************************** ******************************************************************************** ** ** ** Version 1.2.0 ** ** ** ******************************************************************************** ******************************************************************************** ------------------------ Changes ------------------------ * IMPORTANT: Preprocessor defines for the server application PKI configuration have been moved from uaserver_config.h to uaserver.c. These values now have to be set in the UaServer_Configuration struct that can be retrieved by UaServer_GetConfiguration(). This allows to change BuildInfo and PKI configuration of the UA application without recompiling the SDK. * Windows: The PKI directory used by the sample application is now "All Users\Application Data\UnifiedAutomation\\PKI" (or equivalent) * Moved DI/PLCOpen model files to subfolders * Split HistoryRead in HistoryReadEvent / HistoryReadRawModified / HistoryReadProcessed / HistoryReadAtTime * New method UaServer_DoCom() is to be called in a loop instead of OpcUa_SocketManager_Loop() in the application * Renamed define UASERVER_MAX_NAMESPACEINDICIES to UASERVER_MAX_NAMESPACEINDICES ------------------------ Bugfixes ------------------------ * Fixed returned StatusCode for UaServer_Write_Internal() * Fixed creation of DataChange if DataChangeTrigger is StatusCode only * Unified include policy of header files and file structure * Changed processing order of LinksToAdd/LinksToDelete in UaServer_SetTriggering to be compliant * Fixed memleak in UaProvider_Server_InitServerStatus * Removed usage of OpcUa_BaseNode's UserData in SDK * Fixed potential crashes in OpcUa_BaseNode_Set... methods that use strings * Added handling of unhandled data types to OpcUa_Variant_Clone * Added handling of unhandled data types to OpcUa_Variant_ScalarCompare/ArrayCompare/MatrixCompare/CompareDeadbandAbsolute * Setting PolicyId of configured UserTokenPolicies * Fixed application URI in linux sample server ------------------------ New Features ------------------------ * Authentication: - Added Internal / Win32 / PAM / SASL authentication modules - Only accepting connections if used UserIdentityToken is configured and valid - If UserIdentityToken is set to Username/Password, an authentication module must be enabled - Added support for encrypted passwords in UserIdentityToken - Added authorization support to Server- and Sampleprovider * Authorization: - Added UaServer_iNode structure to OpcUa_BaseNode for authorization handling - Added user management methods to provider interface - Added UaServer_UserCtx as session's UserIdentityData - Using UaServer_iNode instead of UserWriteMask/UserAccessLevel for authorization - Added sample nodes with different access rights in sample provider - Added sample passwd and group files * Alarms & Events - Added support for event monitored items - Added methods for firing events - Added all event types from UA address space - Creating custom event types is possible - Added sample event type to sample provider - Added sample EventNotifier and EventSource to sample provider - Added convenient methods to set event fields of BaseEventType - SetTriggering supports event monitored items - WhereClause supporting all operators (except for Cast) - Handling ConditionRefresh() method in SDK * OpcUa_BaseNode members are not visible anymore, removed UASERVER_BASENODE_HIDEMEMBERS define * UaServer members are not visible anymore, configuration is accessible with UaServer_GetConfiguration() * Added server side limit for ReferencesPerNode for Browse/BrowseNext responses * Added OpcUa_BaseNode_RemoveReferenceToNode and OpcUa_BaseNode_RemoveReferenceToNodeId * Added periodic registration at discovery server ******************************************************************************** ******************************************************************************** ** ** ** Version 1.1.1 ** ** ** ******************************************************************************** ******************************************************************************** ------------------------ Bugfixes ------------------------ * Fixed bug in UaServer_TurboList freelist handling * Fixed bug in UaServer_HashTable_RemoveAt * Fixed bug in removing UA nodes dynamically * Fixed bug in cloning opaque NodeIds in OpcUa_NodeId_Clone ------------------------ New Features ------------------------ * Added 5 static and 5 dynamic UInt32 variables to demo address space * Added SessionCancel implementation * Added Triggering of subscriptions * Completed UA Data Access information model support: - Added BrowseContinuationPoints and MinSupportedSampleRate nodes - Added UaSession nodes. Each new session creates a new node in the address space. * Added monitoring support for all attributes * Added datachange filter (absolute deadband) * Added AvailableSequenceNumbers to publish reponse * Changed ModifyMonitoredItems to work asychronously * Improved timer precission by time measurements instead of just counting number of timeouts * Improved item queue handling of datachange notifications * Added IndexRange support for datatypes String and ByteString * Added missing results for SubscriptionAcknowledgements in Publish requests * Added standard conformant ApplicationURI * Added Browse Checks - Check ReferenceTypeId - Check BrowseDirection - Check if ReferenceNodeId is an empty String * Improved error handling in BrowseNext * TranslateBrowsePathToNodeId: return OpcUa_BadNodeIdInvalid if StartingNode not found * Session Management: - check if session is used unactivated - check the SecureChannelId - verify Timestamp and TimeoutHint * Utilities: - Added new function UaServer_NamespaceIndex_GetByUri() ******************************************************************************** ******************************************************************************** ** ** ** Version 1.1.0 ** ** ** ******************************************************************************** ******************************************************************************** ------------------------ New Features ------------------------ * BrowseNext Service * Continuationpoints * Republish Service * ModifySubscription Service * Support for PLCopen and DI Type System * Certificate and CRL generation at server startup (if not existent) * Certificates of unknown clients are stored in rejected folder * Improved internal node management * Support for multiple namespaces in one provider * AddressSpace creation with autogenerated sources (UaModeler) ******************************************************************************** ******************************************************************************** ** ** ** Version 1.0.0 ** ** ** ******************************************************************************** ******************************************************************************** Initial release