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
…
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