CHANGELOG 4.6 KB

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