Releases: Sun-Lab-NBB/ataraxis-communication-interface
4.1.0
4.0.1
4.0.0
Major Update
Major Changes
- Refactored the dependency management and automation strategy to ataraxis-automation 7.0.0+ standard.
- Updated all project dependencies to the latest major versions, which includes all Ataraxis dependencies.
- Radically simplified the API for writing and integrating custom module interface classes with the rest of the communication infrastructure.
- Improved runtime performance by deprecating unnecessary runtime checks and introducing LRU caching for module messages,
- Added a new 'axci-id' CLI command to identify ataraxis microcontrollers available for connection on the local system.
- Deprecated support for Python 3.11.
- Added multiprocessing support for log parsing function, leading to a significant performance boost when working with large log archives.
What's Changed
Full Changelog: 3.2.1...4.0.0
3.2.1
Minor Bugfix
- Added explicit export for the ExtractedModuleData class. This dataclass is used to package module data extracted from .npz archives when the extraction method works with multiple modules at the same time.
Full Changelog: 3.2.0...3.2.1
3.2.0
Minor Update
- Refactored extract_logged_hardware_module_data() method to support extracting data from multiple hardware modules as part of the same I/O operation.
Full Changelog: 3.1.0...3.2.0
3.1.0
Minor Feature Update
- Introduces a global extract_logged_hardware_module_data() function that can be used to extract the data logged by a ModuleInterface instance without initialized ModuleInterface and MicroControllerInterface objects. Primarily, this allows parallelizing data processing.
- MicroControllerInterface now has a 'log_path' property which returns the Path to the compressed .npz archive. This path can be provided to the global extraction function to parse the data stored in the archive. Note, the extraction function also requires the module-type and module_id codes available as properties of ModuleInterface class instances.
- Also includes minor ReadMe and docstring optimizations.
What's Changed
Full Changelog: 3.0.2...3.1.0
3.0.2
Minor Bugfix
- Fixed MicroControllerInterface runtime cycle error that prevented it from properly working with modules whose parse_mqtt_command method returned None due to directly submitting the message to the microcontroller transmission queue.
What's Changed
Full Changelog: 3.0.1...3.0.2
3.0.1
Minor Bugfix and ModuleInterface API enhancement
- Critically, added a new abstract method to ModuleInterface. The method allows cleaning up interface assets that were initialized in the remote communication process.
What's Changed
Full Changelog: 3.0.0...3.0.1
3.0.0
Major API changes and QoL updates
-- Critically, the library now depends on ataraxis-data-structures 3.0.0.
-- Added support for python 3.13.
-- Added the ability to send data to the communication process directly from ModuleInterface classes.
-- Expanded log parsing to extract more data for each module.
-- Improved MicroControllerInterface resource management and cleanup during unexpected (error) shut-downs
-- Reworked ModuleInterface abstract methods to give developers more freedom for implementing custom data processing and routing logic. This change breaks all existing ModuleInterfaces however, as it involved refactoring one method and adding a new
method.
What's Changed
Full Changelog: 2.0.0...3.0.0
2.0.0
Major Version
- Refactored UnityCommunication to MQTTCommunication. This better communicates the purpose of the communication class and its ability to interact with any other process or client, local or remote, over MQTT protocol.
What's Changed
New Contributors
Full Changelog: 1.0.0...2.0.0