This release includes breaking changes for platform teams planning a safe upgrade.
✓ No known CVEs patched in this version
Topics
+3 more
Summary
AI summaryAdded Siglent, Teledyne LeCroy .trc, and Rohde & Schwarz RTP/RTO/RTE format support with faster decode for small captures.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
Added support for Siglent SDS1xx4X-E format (`.bin`). Added support for Siglent SDS1xx4X-E format (`.bin`). Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Implemented Teledyne LeCroy `.trc` (WAVEDESC) decoding. Implemented Teledyne LeCroy `.trc` (WAVEDESC) decoding. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Supported Rohde & Schwarz RTP / RTO / RTE paired binary formats. Supported Rohde & Schwarz RTP / RTO / RTE paired binary formats. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Added nine new test fixtures: three LeCroy, five R&S RTP pairs, one Siglent. Added nine new test fixtures: three LeCroy, five R&S RTP pairs, one Siglent. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Low |
Added nine new test fixtures covering Siglent, LeCroy, and Rohde & Schwarz formats. Added nine new test fixtures covering Siglent, LeCroy, and Rohde & Schwarz formats. Source: granite4.1:30b@2026-05-21-audit Confidence: low |
— |
| Performance | Medium |
`decode_with` runs serially below 256 K samples for speed. `decode_with` runs serially below 256 K samples for speed. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Performance | Medium |
Uses `chunks_exact` for contiguous-index path to enable LLVM autovectorisation. Uses `chunks_exact` for contiguous-index path to enable LLVM autovectorisation. Source: llm_adapter@2026-05-21 Confidence: high |
— |
Full changelog
WfmOxide 0.4.0
Three new vendors (Siglent, Teledyne LeCroy, Rohde & Schwarz) and a
faster decode path for small captures. No breaking changes.
New formats
Siglent SDS1xx4X-E (.bin). Heuristic detection (no magic bytes —
we validate channel-enable flags, record length, and sample-rate
sanity). u8 samples; offsets ported from featherfeet/siglent2csv.
Teledyne LeCroy .trc (WAVEDESC). Locates WAVEDESC in the first
64 bytes (handles SCPI block-prefixed and bare files), honours
COMM_ORDER endianness and COMM_TYPE byte/word width. Decodes the
LECROY_2_3 template common to Wave*, HDO, DDA, LC. Bit-exact against
lecroyparser on three real fixtures.
Rohde & Schwarz RTP / RTO / RTE (paired .bin + .Wfm.bin). Pass
the XML; we open its binary sibling. All four signal formats:
INT8BIT, INT16BIT, FLOAT, XYDOUBLEFLOAT (with interleaved f64
timestamps). Multi-channel interleaving handled. Bit-exact against
RigolWFM on five real RTP fixtures.
Performance
decode_with now runs serially below 256 K samples — rayon's
dispatch was dominating per-element work on small captures. The
contiguous-index path (LeCroy, Tek, ISF, Keysight) uses
chunks_exact so LLVM can autovectorise. The parallel path for
large captures is unchanged.
| File | Points | Reference | WfmOxide | Speedup |
| ----------------------------- | --------- | -------------------------- | ---------- | ------- |
| Siglent 7-Mpt @ 1 GSa/s | 7,000,000 | 8.65 ms (numpy) | 1.33 ms | 6.5× |
| LeCroy pulse.trc | 502 | 0.079 ms (lecroyparser) | 0.015 ms | 5.1× |
| LeCroy pulse_sequence.trc | 10,040 | 0.098 ms (lecroyparser) | 0.030 ms | 3.3× |
| LeCroy issue1.trc | 100,002 | 0.252 ms (lecroyparser) | 0.174 ms | 1.4× |
| R&S rs_rtp_01 (1ch f32) | 4,000 | 0.793 ms (RigolWFM) | 0.061 ms | 13.1× |
| R&S rs_rtp_03 (1ch i8) | 4,000 | 0.769 ms (RigolWFM) | 0.063 ms | 12.2× |
| R&S rs_rtp_05 (2ch XY-f32) | 4,000 | 0.756 ms (RigolWFM) | 0.076 ms | 9.9× |
Existing formats are unaffected: 0.3.0 captures decode bit-identically.
Test fixtures
Real captures only — nine new fixtures shipped:
geekman/siglent-bin2sr (Siglent), lobis/lecroy-scope (three LeCroy),
scottprahl/RigolWFM (five R&S RTP pairs).
Compatibility
No API changes; same wheel targets as 0.3.0.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Track WfmOxide a Rust parser (.wfm/.isf) with CLI and time axis
Get notified when new releases ship.
Sign up freeAbout WfmOxide a Rust parser (.wfm/.isf) with CLI and time axis
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]