Releases: shinolab/autd3-sdk
Releases Β· shinolab/autd3-sdk
v0.6.0
Compare
Sorry, something went wrong.
No results found
Rust
[0.6.0] - 2026-08-04
π₯ Breaking Changes
[breaking ] Return RemoteLinkOption from discover() in Python/C# bindings
[breaking ] Make wire enums non-exhaustive and rename Telemetry::COUNT
[breaking ] Mark the public enums non-exhaustive
[breaking ] Rename TransitionMode::as_u8 to try_as_u8
[breaking ] Give LinkError a message accessor and an error source
[breaking ] Encapsulate LinkStatus and CycleOutcome behind accessors
[breaking ] Replace the core_affinity CoreId re-export with a core newtype
[breaking ] Seal the Operation trait
[breaking ] Require a non-zero ClientConfig::timeout_cycles
[breaking ] Rename the holo ControlPoint to AmplitudeTarget
[breaking ] Replace Response::data_mut with Response::merge
[breaking ] Return the emission from null_transducer
[breaking ] Stop re-exporting the value types at the autd3-rs root
[breaking ] Rebuild the C ABI on opaque option handles
[breaking ] Follow the C ABI rework in the C# bindings
[breaking ] Return the reason a link opener could not be created
π Features
Rename autd3-appliance list to scan
Detect firmware outside the supported series
Re-export nalgebra from the core and holo crates
π Bug Fixes
(console) Bundle twincat-cli again by building it in CI
(appliance) Tolerate bus and uplink states this client does not know
Distinguish a rejected telemetry counter from a counter value of 2
Python
[0.6.0] - 2026-08-04
π₯ Breaking Changes
[breaking ] Return RemoteLinkOption from discover() in Python/C# bindings
[breaking ] Make wire enums non-exhaustive and rename Telemetry::COUNT
[breaking ] Encapsulate LinkStatus and CycleOutcome behind accessors
[breaking ] Replace the core_affinity CoreId re-export with a core newtype
[breaking ] Require a non-zero ClientConfig::timeout_cycles
[breaking ] Rename the holo ControlPoint to AmplitudeTarget
[breaking ] Follow the C ABI rework in the Python bindings
[breaking ] Return the reason a link opener could not be created
C#
[0.6.0] - 2026-08-04
π₯ Breaking Changes
[breaking ] Return RemoteLinkOption from discover() in Python/C# bindings
[breaking ] Make wire enums non-exhaustive and rename Telemetry::COUNT
[breaking ] Rename the holo ControlPoint to AmplitudeTarget
[breaking ] Follow the C ABI rework in the C# bindings
[breaking ] Return the reason a link opener could not be created
unity-v0.6.0
Compare
Sorry, something went wrong.
No results found
[0.6.0] - 2026-08-04
firmware-v0.6.0
Compare
Sorry, something went wrong.
No results found
[0.6.0] - 2026-08-04
π₯ Breaking Changes
[breaking ] Make wire enums non-exhaustive and rename Telemetry::COUNT
console-v0.6.0
Compare
Sorry, something went wrong.
No results found
Install console 0.6.0
Install prebuilt binaries via shell script
curl --proto ' =https' --tlsv1.2 -LsSf https://github.com/shinolab/autd3-sdk/releases/download/console-v0.6.0/console-installer.sh | sh
Install prebuilt binaries via powershell script
irm https://github.com/shinolab/autd3-sdk/releases/download/console-v0.6.0/console-installer.ps1 | iex
Download console 0.6.0
appliance-v0.6.0
Compare
Sorry, something went wrong.
No results found
[0.6.0] - 2026-08-04
π Features
Rename autd3-appliance list to scan
π Bug Fixes
(appliance) Tolerate bus and uplink states this client does not know
v0.5.0
Compare
Sorry, something went wrong.
No results found
Rust
[0.5.0] - 2026-08-03
π₯ Breaking Changes
[breaking ] Pass the holo LinAlgBackend as an argument, not an option field
[breaking ] Add a wgpu LinAlgBackend for holo with batched APIs and backend-side quantization
[breaking ] Correct SysTime drift by retiming onto the EtherCAT bus clock
[breaking ] Let bindings select the default, an explicit, or no RT priority
[breaking ] Rename legacy drive terminology to emission
(holo) [breaking ] Take Angle in Directivity::value instead of raw radians
(appliance) [breaking ] Ship the EtherCAT master as a zero-config appliance
π Features
(holo) Take batch foci as a single flat slice
(link-echocat) Add echocat, an EtherCAT main device for AUTD3
Add TransitionMode::Later to stage a bank without switching to it
(legacy) Add a compatibility client for the legacy firmware v12.1.0
Make echocat the default link and add its bindings
(link) Report phase excursions and process-data exchange time through LinkStats
π Bug Fixes
(client) Return the frame slot when a send races the RT teardown
(legacy) Always run the full mute sequence on close and drop
Retime legacy SysTime onto the EtherCAT bus clock
(echocat) Bound cyclic receive to one cycle and report a silent bus as lost
Harden the legacy client and reject indivisible STM periods
(legacy) Advance the emulator clock and match the firmware v12.1.0 quirks
Harden the DC clock offset and rename dc_sys_time to bus_time_now
Apply RT scheduling to the client and tx/rx threads by default outside Windows
Desync the state mirror on device errors observed through the raw send path
Write logs through a non-blocking writer in every binary
β‘ Performance
Remove hypot and atan2 from holo hot paths
(holo) Fuse the GSPAT iteration into a single GPU dispatch
Python
[0.5.0] - 2026-08-03
π₯ Breaking Changes
[breaking ] Pass the holo LinAlgBackend as an argument, not an option field
[breaking ] Add a wgpu LinAlgBackend for holo with batched APIs and backend-side quantization
[breaking ] Correct SysTime drift by retiming onto the EtherCAT bus clock
[breaking ] Let bindings select the default, an explicit, or no RT priority
[breaking ] Rename legacy drive terminology to emission
(emulator) [breaking ] Type record option sound_speed as Velocity
(appliance) [breaking ] Ship the EtherCAT master as a zero-config appliance
π Features
Add TransitionMode::Later to stage a bank without switching to it
(legacy) Add a compatibility client for the legacy firmware v12.1.0
Make echocat the default link and add its bindings
π Bug Fixes
Retime legacy SysTime onto the EtherCAT bus clock
(echocat) Bound cyclic receive to one cycle and report a silent bus as lost
Harden the legacy client and reject indivisible STM periods
C#
[0.5.0] - 2026-08-03
π₯ Breaking Changes
[breaking ] Pass the holo LinAlgBackend as an argument, not an option field
[breaking ] Add a wgpu LinAlgBackend for holo with batched APIs and backend-side quantization
[breaking ] Correct SysTime drift by retiming onto the EtherCAT bus clock
[breaking ] Let bindings select the default, an explicit, or no RT priority
(appliance) [breaking ] Ship the EtherCAT master as a zero-config appliance
π Features
Add TransitionMode::Later to stage a bank without switching to it
(legacy) Add a compatibility client for the legacy firmware v12.1.0
Make echocat the default link and add its bindings
π Bug Fixes
Retime legacy SysTime onto the EtherCAT bus clock
(echocat) Bound cyclic receive to one cycle and report a silent bus as lost
Harden the legacy client and reject indivisible STM periods
unity-v0.5.0
Compare
Sorry, something went wrong.
No results found
[0.5.0] - 2026-08-03
π Features
Make echocat the default link and add its bindings
console-v0.5.0
Compare
Sorry, something went wrong.
No results found
Install console 0.5.0
Install prebuilt binaries via shell script
curl --proto ' =https' --tlsv1.2 -LsSf https://github.com/shinolab/autd3-sdk/releases/download/console-v0.5.0/console-installer.sh | sh
Install prebuilt binaries via powershell script
irm https://github.com/shinolab/autd3-sdk/releases/download/console-v0.5.0/console-installer.ps1 | iex
Download console 0.5.0
appliance-v0.5.0
Compare
Sorry, something went wrong.
No results found
[0.5.0] - 2026-08-03
π₯ Breaking Changes
(appliance) [breaking ] Ship the EtherCAT master as a zero-config appliance
v0.4.0
Compare
Sorry, something went wrong.
No results found
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