CHANGELOG 5.1 KB

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