Skip to content

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 27 Jul 04:54
· 121 commits to main since this release

Rust

[0.4.0] - 2026-07-27

πŸ’₯ Breaking Changes

  • [breaking] Configure RT thread scheduling policy
  • [breaking] Report firmware emulator via FirmwareVersion::is_emulator and [Emulator] display
  • [breaking] Remove the XorHash command and fold patternsoak into perftest
  • [breaking] Pass Device to Operation::encode and validate transducer counts per device
  • [breaking] Pass &Device to push_each assign closure instead of device index
  • [breaking] Make Operation single-frame and expand buffer writes as Commands
  • [breaking] Reject modulation/STM buffers smaller than two samples
  • [breaking] Remove ClientConfig::send_interval_cycles
  • [breaking] Unify in_flight naming to inflight
  • [breaking] Make ClientConfig::reset_resend_cycles NonZeroU32

πŸš€ Features

  • Expose SYNC0 resync count via SyncResync telemetry
  • Fuse pattern/modulation write+config+bank-change into one frame
  • (autd3-rs) Add tracing instrumentation to send path and datagram builder

πŸ› Bug Fixes

  • Correct FOCUS_TR_X_MAX off-by-one by deriving coord/emission constants from FPGA sources
  • Convert foci into device-local coordinates and send phase offsets relative to the first focus
  • Check every compressed pattern group for the requested device index
  • (client) Recover slots on link error and desync the mirror on any send failure
  • Make stop() write a null pattern instead of clearing the output mask
  • (link) Default Windows EtherCAT to a 2ms cycle with zero shift
  • (client) Default RT thread to TimeCritical priority on Windows
  • (holo) Account for emission intensity in greedy search

⚑ Performance

  • Encode datagrams in place when building frames

πŸ“¦ Dependencies

  • (deps) Move single-crate deps out of workspace.dependencies
  • (deps) Bump the cargo-minor group across 5 directories with 2 updates
  • (deps) Bump cc in the cargo-minor group across 1 directory

Python

[0.4.0] - 2026-07-27

πŸ’₯ Breaking Changes

  • [breaking] Configure RT thread scheduling policy
  • [breaking] Report firmware emulator via FirmwareVersion::is_emulator and [Emulator] display
  • [breaking] Pass Device to Operation::encode and validate transducer counts per device
  • [breaking] Pass &Device to push_each assign closure instead of device index
  • [breaking] Reject modulation/STM buffers smaller than two samples
  • [breaking] Remove ClientConfig::send_interval_cycles
  • [breaking] Unify in_flight naming to inflight
  • [breaking] Make ClientConfig::reset_resend_cycles NonZeroU32

πŸ“¦ Dependencies

  • (deps) Bump the cargo-minor group across 5 directories with 2 updates
  • (deps) Bump cc in the cargo-minor group across 1 directory

C#

[0.4.0] - 2026-07-27

πŸ’₯ Breaking Changes

  • [breaking] Report firmware emulator via FirmwareVersion::is_emulator and [Emulator] display
  • [breaking] Pass Device to Operation::encode and validate transducer counts per device
  • [breaking] Pass &Device to push_each assign closure instead of device index
  • [breaking] Remove ClientConfig::send_interval_cycles

πŸ› Bug Fixes

  • (link) Default Windows EtherCAT to a 2ms cycle with zero shift