| This changelog reports changes to the public API. Internal refactorings and bug |
| fixes are not reported here. |
| |
| 2018-02-05 pro <profanter at fortiss.org> |
| |
| * Also pass client to monitoredItem/Events callback |
| |
| The UA_MonitoredItemHandlingFunction and UA_MonitoredEventHandlingFunction |
| did not include a reference to the corresponding client used for the call of |
| processPublishResponse. |
| This now also allows to get the client context within the monitored item |
| handling function. |
| |
| The API changes are detected by the type-matching in the compiler. So there |
| is little risk for bugs due to unaligned implementations. |
| |
| 2017-09-07 jpfr <julius.pfrommer at web.de> |
| |
| * Make Client Highlevel Interface consistent |
| |
| Two methods in the client highlevel interface were not conformant with the |
| API convention that array sizes are given before the array pointer. This |
| changes the signature of UA_Client_writeArrayDimensionsAttribute and |
| UA_Client_readArrayDimensionsAttribute. |
| |
| The API changes are detected by the type-matching in the compiler. So there |
| is little risk for bugs due to unaligned implementations. |
| |
| 2017-08-16 jpfr <julius.pfrommer at web.de> |
| |
| * Default Attribute Values for Node Attributes |
| |
| The AddNodes service takes a structure with the attributes of the new node as |
| input. We began checking the consistency of the attributes more closely. You |
| can now use constant global definitions with default values as a starting |
| point. For example UA_VariableAttributes_default for adding a variable node. |
| |
| * All nodes have a context pointer |
| |
| All nodes now carry a context pointer. The context pointer is initially set |
| to a user-defined memory location. The context pointer is passed to all |
| user-visible callbacks involving the node. |
| |
| * Global and node-type constructor/destructor |
| |
| The constructors are fine-grained mechanisms to control the instantiation and |
| deletion of nodes. Constructors receive the node context pointer and can also |
| replace it. |
| |
| 2017-08-13 Infinity95 <mark.giraud at student.kit.edu> |
| |
| * New/Delete methods for the server configuration |
| |
| The default server configuration is no longer a constant global variable. |
| Instead, it is now handled with a pair of new/delete methods. This enables |
| the use of malloced members of the server configuration. With this change, |
| the endpoint descriptions are no longer generated in the server but are |
| created as part of the server configuration. See the example server |
| implementations on how to use the configuration generation. The change is a |
| precursor to the encryption implementation that ties into the generation of |
| endpoint descriptions in the server config. |
| |
| The generation of the default server configuration is implemented as a |
| "plugin". So it comes with CC0 licensing and can be freely adjusted by users. |
| |
| The TCP port in the default configuration is 4840. This is the recommended |
| port for OPC UA and now used throughout all examples. |
| |
| 2017-07-04 jpfr <julius.pfrommer at web.de> |
| |
| * Return partially overlapping ranges |
| |
| Test the integrity of the range and compute the max index used for every |
| dimension. The standard says in Part 4, Section 7.22: |
| |
| When reading a value, the indexes may not speify a range that is within |
| the bounds of the array. The Server shall return a partial result if some |
| elements exist within the range. |
| |
| 2017-07-03 jpfr <julius.pfrommer at web.de> |
| |
| * Implement asynchronous service calls for the client |
| |
| All OPC UA services are asynchronous in nature. So several service calls can |
| be made without waiting for a response first. Responess may come in a |
| different ordering. The client takes a method pointer and a data pointer to |
| perform an asynchronous callback on the request response. |
| |
| Synchronous service calls are still supported in the client. Asynchronous |
| responses are processed in the background until the synchronous response (the |
| client is waiting for) returns the control flow back to the user. |
| |
| 2017-06-26 janitza-thbe |
| |
| * Enable IPv6 in the networklayer plugin |
| |
| The server networklayer listens on several sockets for available networks and |
| IP versions. IPv4 connections are still supported. |
| |
| The OPC Foundation ANSI C Stack before 2016 does not fully support IPv6. On |
| Windows, the 'localhost' target is resolved to IPv6 by default. Old |
| applications (e.g. the Conformance Testing Tools) need to connect to |
| 127.0.0.1 instead of 'localhost' to force IPv4. |
| |
| 2017-06-16 jpfr <julius.pfrommer at web.de> |
| |
| * Require the AccessLevel bit UA_ACCESSLEVELMASK_READ for reading |
| |
| Set the bit by default when adding nodes for a smooth transition to the new |
| API. This will change at a later point with an additional node settings |
| argument for the AddNodes methods. |
| |
| 2017-05-03 pro <profanter at fortiss.org> |
| |
| * Array dimensions are UInt32 also for the highlevel client read service |
| |
| 2017-04-16 jpfr <julius.pfrommer at web.de> |
| |
| * Refactor UA_parseEndpointUrl to work with UA_String |
| |
| The output hostname and path now point into the original endpointUrl with an |
| appropriate length. |
| |
| 2017-04-14 jpfr <julius.pfrommer at web.de> |
| |
| * Auto-instantiate only child nodes marked as mandatory (fixes #1004) |