Changelog
0.6.0 - 2026-02-23
Added
Add py.typed marker to declare sgn-ts as a typed library
Add masked array methods to TSFrame
Add offset validation checks
Expose extra internal source pads in composed transforms
Changed
Overhaul documentation: restructure into User Guide, Developer Guide,
Background, and Reference sections following Divio guidelines; add dedicated
offset background page; split built-in elements reference into Sources,
Transforms, and Sinks; add testable code snippets throughout
Standardize on seconds for time quantities, expose _ns properties for
nanosecond equivalents
Standardize start/end parameters for TSSource and TSResourceSource
Change TSResourceSource base class from ParallelizeSourceElement to
ParallelizeBase
Have TSResourceSource derive from TSSource
Simplify TSCompose to wrap Compose while keeping the public API
Add TS-enabled support to TSFrameCollectSink
Bump minimum sgn version to 0.6
Fixed
Fix EventBuffer gap detection check
Fix make_ts_element hanging by defining pull()/internal() methods
Fix typing issues: add type: ignore in array checks, use re-exports in
array_ops module, explicitly declare NumpyArray as type alias
0.5.0 - 2026-01-20
Added
Add TSCompose wrappers (TSComposedSourceElement,
TSComposedTransformElement, TSComposedSinkElement)
Add TSFrameCollectSink for collecting input streams into frames
Add TSAppSink for user-defined buffer callbacks
Add TSPlotSink and plotting utilities (plot_buffer(), plot_frame())
Add TSIterSource for iterating through pre-built frames
Add TSCollectFrame context manager for atomic buffer appends
Add BitVector transform for bit-level operations
Add NaryTransform for N-ary reduction operations
Add TSFrame.tarr and TSFrame.samples properties
Add static pad configuration for elements
Add opt-in process() API for simplified element implementation
Changed
Redesign EventFrame and TSFrame to share a TimeSpanFrame parent class
Replace SeriesBuffer.replace() with copy()
Switch AdapterConfig from disable to enable/is_enabled flag
Fixed
Fix gap handling in AdaptiveCorrelate
Fix offset shift when skip_gaps or align_buffers is set
0.4.0 - 2025-11-07
Added
Add SegmentSource for time-segment-based data production
Add ANDTransform for logical AND across inputs
Add align_to option in AdapterConfig for offset boundary alignment
Add make_ts_element() factory function for wrapping SGN elements
Add element entry point registration
Add Average element (mean/median)
Changed
Update TSResourceSource to use ParallelizeSourceElement
Bump minimum sgn version to 0.4
Fixed
Fix Correlate latency handling
Fix offset-to-sample rounding during alignment
Fix pad name in Align
Propagate worker exceptions in TSResourceSource
0.3.0 - 2025-05-11
Added
Add DataSpec for time-series validation
Add per-pad signal parameters for FakeSeriesSource
Add EventBuffer default start/end times
0.2.0 - 2025-04-17
Added
SeriesBuffer, TSFrame, EventBuffer, EventFrame data types
Offset system for precise time bookkeeping
Time constants for nanosecond-based conversions
TSSlice and TSSlices for time interval operations
Audioadapter and AdapterConfig for streaming buffer management
ArrayBackend abstraction with NumpyBackend and TorchBackend
FakeSeriesSource with white noise, sine, impulse, and constant signals
TSResourceSource for data-driven sources
Amplify, Adder, Align, Correlate, AdaptiveCorrelate, Converter,
Gate, Matmul, Resampler, SumIndex, Threshold transforms
DumpSeriesSink, NullSeriesSink sinks
TimeSeriesMixin for cross-channel frame alignment