- Fix interactive help ('-h' argument) for services with input structs
- Fix merging default values in incomplete non-interactive args (#350)
- Fix an issue when deleting a client holding deleted requests handles.
- Remove requests handles references in clients when deleting them.
- Fix loading of saved clients, by reconnecting the client.
- Fix wrong unlocking of the pluging in memory while there might still be active clients.
- Added optional debugging messages
- Made public some interesting properties of clients or requests (like client host name, request id, requests client, ...).
- Fix wrong count of active clients, possibly letting matlab garbage collect internal genomix data when it's not supposed to do it.
- Fix possible memory corruption when deleting a client that could not connect (with an empty client id wich is interpreted as '0' by matlab).
- Fix the client delete handler so that it cleans pending requests before closing the connection (as the former requires a connection).
- In the doevents() function, check that the client did not disconnect in the meantime, preventing infinite wait.
- Properly close client when the event socket is closed.
- Properly close genomix session before deleting a client.
- Handle background client disconnection in Matlab variables holding a reference to it. Should fix unexpected hangs after genomixd is killed and restarted.
- Remove 'reconnect' client function: a client cannot be reconnected, this would potentially use an obsolete list of requests ids.
- When deleting a client handle, also delete associated requets ids.
- Make sure obsolete requests ids don't block in wait()
- Fix simulink block intialization glitches (empty port or empty sub-port name raising errors preventing to set them)
- Fix a off-by-one error when reporting simulink block error
- Allow variable-size input port in simulink "genomix request" blocks. In particular, 1D vectors or 2D matrices can be fed to the ports. 2D matrices are read in 'row major' mode. If fewer elements than required are given, no error is raised and either NaN will be put in scalar fields or an empty/truncated array will be sent.
- Added 2 output ports in simulink blocks: errno and errmsg. errno contains the http transaction status (or 0 for success) and errmsg is a 'uint8' array containing the reported error message.
- Don't stop simulink simulation upon transaction error in genomix blocks. Since the errno is available, it can be used by other block to make appropriate decisions.
- Fix an issue where a client might be destroyed while still being referenced by component instances. In practice, this could lead to components sending requests to the wrong client.
- Improve some common error messages by supressing the backtrace from the error message (the backtrace was a bit confusing for end users).
- Fix a memory corruption with matlab >= 2017a
- Fix a typo causing spurious error messages in genomixd ("key argv not known in dictionary").
- In simulink blocks, check that the given port/service names are valid for the loaded component (#122).