Releases
v0.3.0
Compare
Sorry, something went wrong.
No results found
StructureFunctions v0.3.0
Diff since v0.2.0
Breaking changes
Backend selection is now type-based instead of symbol-based.
Old: backend = :serial, :threaded, :distributed
New: backend = SerialBackend(), ThreadedBackend(), DistributedBackend(), GPUBackend(...), AutoBackend()
AutoBackend() is now the explicit auto-selection path.
API/docs now reflect operator-first, typed backend usage throughout.
New features
Added typed execution backend hierarchy:
SerialBackend
ThreadedBackend (OhMyThreads extension)
DistributedBackend
GPUBackend (KernelAbstractions extension)
AutoBackend
Added comprehensive extension-based GPU path and parity-focused backend design.
Added extensive new documentation pages and worked examples.
Fixes
Fixed critical threaded buffer indexing issue (threadid()-related safety bug).
Fixed OhMyThreads reduction integration/signature issues.
Improved type stability in backend paths (including removal of unstable dynamic Val construction in hot paths).
Added explicit boolean keyword annotations where needed (verbose, show_progress).
Fixed progress display behavior in main calculation loops.
Reduced JET false positives by tightening analysis scope to package code.
Documentation
Expanded and reorganized package documentation for v0.3.0:
architecture
backend guide
extensions guide
theory/reference material
real-data workflows
Added runnable example workflows for serial, threaded, distributed, GPU, and real-data usage.
Migration guide (quick)
Replace symbol backends with typed backend constructors.
If using threading, ensure OhMyThreads is available.
If using GPU backend, ensure KernelAbstractions-compatible backend dependencies are installed.
📢 API Changes:
🚀 Features
📑 Documentation
🐛 Fixes
You can’t perform that action at this time.