Releases: spectregrams/spectre
v3.0.1-alpha
v3.0.1-alpha (2026-01-14)
Wider SDR support, simpler recordings, performance improvements and bug fixes.
Upgrade Steps
- Stop any existing containers, check out the new release tag, then create and start the new containers:
docker compose down && \ git checkout v3.0.1-alpha && \ docker compose up --detach
⚠️ This release changes how data files are read and written. So, we've renamed the Docker volume fromspectre-datatospectre-data-v3. This will be empty after upgrading. All config and data files in the old volume will be preserved, and can be re-accessed by downgrading the application to your previous version.
Breaking Changes
- Datetimes in file names are now ISO-8601 compliant.
- Signal recording types are now configurable with the type indicated explicitly by the file extension (e.g.,
fc32,fc64,sc8orsc16). - Metadata files (
hdr) now only contain tag metadata, and are only created if required. - Remove support for e-Callisto data files.
New Features
- Provide support for (the lower cost) general USRP devices.
- Provide support for general HackRF devices.
- Signal recordings are now fully compatible with inspectrum and easily read with NumPy.
- Signal recordings now contain an identical number of samples (which is determinable, rather than varying due to GNU Radio runtime)
- The config framework is now powered by pydantic, simplifying how configs are templated, validated and used to parameterise recordings.
- Record signals and spectrograms at the same time using the
keep_signalflag in each config (on by default). - Record signals and spectrograms from multiple SDRs simultaneously.
Bug Fixes
- Patched the streaming bugs related to overflowing USRP devices.
- Removed the unsupported CLI command
get specs
Performance Improvements
- Refactored the
gr-spectreOOT module, reducing disk I/0 bottlenecks at high sample rates.
Other Changes
n/a
Contributors
v1.2.0-alpha
v1.2.0-alpha (2025-10-25)
Wider SDR support, performance improvements and bug fixes.
Upgrade Steps
- Stop any existing containers, check out the new release tag, then create and start the new containers:
All program data will be preserved in the Docker-managed volume (if any).
docker compose down && \ git checkout v1.2.0-alpha && \ docker compose up --detach
Breaking Changes
n/a
New Features
- RTL-SDR support.
- HackRF One support.
- Provide shorter, easier-to-type CLI commands while maintaining backwards compatibility with older, longer-to-type equivalents.
Bug Fixes
- Correct the formula which computes the number of spectrums in each spectrogram.
- Patch a
scipyimport bug inv1.0.1-alpha.
Performance Improvements
- Faster plot creation using
spectre create plot. - 20% reduction in Docker image size (~100MB) by eliminating
scipyas a dependency.
Other Changes
n/a
Contributors
v1.0.0-alpha
v1.0.0-alpha (2025-08-15)
Significant runtime performance improvements.
Upgrade Steps
- Stop any existing containers, check out the new release tag then create and start the new containers:
docker compose down && \ git checkout v1.0.0-alpha && \ docker compose up --detach
- All program data will be preserved in the Docker-managed volume (if any).
Breaking Changes
- We reduced the available window functions, as part of an effort to remove
scipyas a dependency. Otherwise, spectrograms produced by the program will be identical to the previous release. Now, the only available windows areboxcar,hannandblackman.
New Features
n/a
Bug Fixes
n/a
Performance Improvements
- Significant performance improvements by migrating from Scipy's ShortTimeFFT class to a custom implementation using pyfftw.
Other Changes
- Added some integration tests in
spectre_corewhich test end-to-end execution of the program. Specifically, they use the signal generator to produce spectrograms, and compare the results to analytically derived solutions.
v0.0.24-alpha
🎉 We're excited to announce the first alpha release of Spectre — a receiver-agnostic program for recording and visualising radio spectrograms. Make sure to check out our GitHub wiki and track progress on our project board.
Next Steps
We'll now be closely adhering to conventional commits and semantic versioning, to which we've been a little fast and loose.
As we move towards stable release, we're going to be focusing on:
- 🚀 Performance improvements
- 📡 Wider receiver support