Revision history for Perl extension OPCUA::Open62541.
0.007 2020-04-06
- Fix memory leak in callback_async() and extend leak tests.
The API does not invoke the connect callback in case of error.
This requires special code to track the call data and to free
it during destroy.
- Implement UA_Client_readValueAttribute_async().
- Implement client disconnect_async().
- Add missing functions to pod documentation.
- Test request id of async browse request.
0.006 2020-03-27
- Remove server config clean() function from Perl API.
- To run a test server manually, the timeout can be disabled.
- Use Test::EOL to find trailing whitespace.
- Generate constants from defines and enum in C header file.
- Export constants from OPCUA::Open62541 into namespace.
This breaks the existing API how modules are used and imported.
Especially NS0ID uses underscore and new names are incompatible.
- Place all generated constants into a single Perl module
OPCUA::Open62541::Constant.
0.005 2020-03-12
- Plug memory leaks in connect_async() in sendAsyncBrowseRequest(),
which were found by the tests.
- Allow to iterate client from test framework.
- Croak if wrong output variable type, make API stricter.
- Print log level and category as string with magic variables.
- Write client log files to debug tests.
- Improve leak ckecks in tests.
- Refactor client and server tests.
- Avoid posix signal handler in test server.
- Grep for server startup in server log to avoid races in tests.
- Test server writes log file.
- Implement Logger class.
- Refactor client callback.
- In XS croak() print function name and errno strings.
0.004 2020-02-27
- Use perlcritic and perltidy.
- Test that adding a node in the server and reading its value
from the client works.
- Use an efficient way to export constants in Perl namespace.
- Implement UA_Client_readValueAttribute().
- Use a function jump table for packing all variant types.
- Make this module run on multi threaded Perl by sprinkling dTHX
into the XS file.
- UA_DiscoveryConfiguration and UA_FilterOperand croak when
trying to pack them.
- Implement all missing packed functions for builtin types.
- To test client and server easily, implement
OPCUA::Open62541::Test::Server and OPCUA::Open62541::Test::Client
to handle the other end.
0.003 2020-02-21
- OPCUA::Open62541::sendAsyncBrowseRequest() uses optional output
variable for request id.
- Run static code analyse with cppcheck, remove false positives.
The C code generated by XS is clean.
- Use the generated VariableAttributes packed functions.
- Implement sendAsyncBrowseRequest for client.
- Implement OPCUA::Open62541::Variant->setScalar() and ->getScalar().
- Make status code magic like $! containing number and string.
- Test code with Perl::Critic.
- Auto generate data conversion functions.
- Support optional output parameter for addVariableNode().
- Implement conversion functions for builtin data types.
- Convert Perl hashes to NodeId, QualifiedName, and VariableAttributes.
- Implement asynchronous connections for clients.
0.002 2020-02-14
- Use Devel::CheckLib to ensure open62541 library is available.
- Implement type conversions for setting scalars in variant type.
- Connect client to server.
- Implement client and its config.
0.001 2020-02-12
- Implement basic functions needed to build a simple OPC UA server.
That is "4.2 Building a Simple Server" and "11.2 Server Lifecycle"
from the open62541 1.0.1 library documentation.
- original version; created by h2xs 1.23 with -A -n OPCUA::Open62541