CHANGELOG
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Added
…
2.0.0 - 2025-11-22
Added
stored::Crc32Layerandlibstored.protocol.Crc32Layer.libstored.protocol.MuxLayer(Python only)Add returning the currently used macros via the
mdebugger command.libstored.asyncio.AsyncioWorkerto runs an asyncio event loop in a separate thread, with support to easily communicate with the tkinter main loop.Python type hints.
Changed
Components API is not draft anymore.
Reimplemented Python modules to use asyncio instead. This breaks the Python API.
Use tkinter for
libstored.gui.
Removed
Drop Qt support.
(Qt-based) visu examples and framework.
Deprecated old Poller API.
1.8.0 - 2025-09-11
Added
Implement
ArqLayerin VHDL.Added connected event to all protocol layers.
Added
Fifo::view()for read-only iterable view on available data elements.
Changed
examples/9_fpganow implements a full protocol stack over a potentially lossy channel.Improved handling reconnection of protocol layers.
Fixed
Use
ZMQ_DEALERinstead ofZMQ_PAIRforSyncZmqLayerto fix stability issues over IPC and other possibly non-stable connections.A bug that ignored
o_commitsignal onlibstored_pkg.libstored_fifo.
1.7.1 - 2024-02-28
Added
Implement
NamedPipeLayerandDoublePipeLayerfor Linux.Allow running
examples/9_fpgaon Linux.CRC8, CRC16, Segmentation protocol layers in VHDL. ArqLayer is still missing.
Changed
Brake dependency on
heatshrink2Python package by providing a pure-python heatshrink decoder.Bump ZeroMQ to 4.3.5 when building from source, fixing GCC 13 support.
Fixed
Workaround for segfault in XSIM.
1.7.0 - 2023-11-17
Added
Produce SBOM for generated store libraries.
Changed
Make libstored REUSE compliant.
1.6.0 - 2023-09-13
Added
libstored.cmake, with generator to pylibstored. Instead of cloning the libstored repo, runningpip install libstoredcontains everything to generate a store. See alsoexamples/int_pip.
Changed
ASan checks on the correct usage of entry/exit RO/X of stores.
Improved Synchronizer performance.
Made buffer size configurable for FileLayer and StdioLayer.
Fixed
Fix baud rate setting and break generation in stored::SerialLayer for Linux.
Fix encode queue size computation of stored::ArqLayer.
Improve stability of Debugger/Synchronizer protocol handling of bogus messages.
1.5.0 - 2023-07-07
Added
Python
libstored.logcommand line logging tool to easily generate a CSV file with samples.
Changed
Get a compile error when a store class does provide the implementation of all functions, and provide a store wrapper to add default function implementations.
Check against recursive entry/exit RO/X locks per store.
Replaced deprecated
setup.pyand removed deprecateded2package.Improved support to
include(libstored)in your CMake project.
1.4.0 - 2023-04-06
Added
First-order high-pass filter.
Pipes, to process data using functional composition.
A Signal class (with Signalling store wrapper) to call functions when the signal is triggered (or a store variable is changed).
Fixed
Properly calling hooks by the Synchronizer.
Minor issues with pylibstored.
1.3.1 - 2022-10-21
Fixed
PySide6 6.4.0 support in changed
enumhandling. However, the same issue exists in matplotlib (issue #24155). To get plotting working again, matplotlib>=3.6.2 or PySide6<6.4.0 is required.
1.3.0 - 2022-10-20
Added
Maximum error for PID.
Stream visualization in the Embedded Debugger.
Changed
Switch license to MPLv2.
Fixed
Fix in computing
stored::Rampacceleration and speed.Fix in compressed Debugger streams upon internal buffer overflow.
Handle unaligned memory access properly in store objects.
1.2.0 - 2022-03-28
Added
Add QObject/QML wrapper for stores to access a store directly in QML.
Generate store variable changed callbacks.
Allow string variables to be initialized.
Generate store meta data in
doc/<store>Meta.py
Changed
Replaced
UNUSED_PARby a more portableUNUSEDmacro.
Fixed
Improved QtCreator integration, such as store code-completion
Fix support for disabling RTTI
Fix support for disabling exceptions
1.1.0 - 2022-01-07
Added
Add support for ninja, and default to it in build scripts.
Use
matplotlibfor plotting signals bylibstored.gui.
Changed
Migrate pylibstored from PySide2 to PySide6.
Restructure
scriptsdirectory intodist.Replace poller API.
libstored_libandlibstored_generatenow take keyword-based parameters, but old (positional) interface is still supported.Improve Zth integration for fiber-aware polling.
Removed
Drop Ubuntu 18.04 support. PySide6 requires Ubuntu 20.04 or later.
1.0.0 - 2021-08-25
Initial version.
Added
Store generator for C++ and VHDL
C++ library to access the store in your application
VHDL entities to setup synchronization between VHDL and a C++ store
python library with the Embedded Debugger protocol to connect to an application
A presentation
Examples
(Unit) tests
Some documentation