Skip to content

Update cargo dependencies (livekit-wakeword) - #1305

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/cargo-dependencies-(livekit-wakeword)
Open

Update cargo dependencies (livekit-wakeword)#1305
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/cargo-dependencies-(livekit-wakeword)

Conversation

@renovate

@renovate renovate Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change
ort (source) dependencies patch 2.0.0-rc.112.0.0-rc.13
ort-tract (source) dependencies minor 0.2.0+0.220.4.0
resampler dependencies minor 0.40.5

Release Notes

pykeio/ort (ort)

v2.0.0-rc.13

Compare Source

2.0.0-rc.13
💖 If you find ort useful, please consider sponsoring us on Open Collective 💖

🤔 Need help upgrading? Ask questions in GitHub Discussions or in the pyke.io Discord server!


🎯 Execution provider clarity

EP structs like ep::CUDA are now compile-time gated behind their respective Cargo feature flags. The EP feature flags only modifying runtime behavior was a common pain point, and this change brings ort in line with, like, every other Rust crate in existence.

⚠️ ort will now throw an error at link time if download-binaries is enabled and no binaries contain all of the requested EPs. Previously, if you enabled a nonsensical combination like cuda + coreml, ort would silently fall back to a CPU-only build. This caused great confusion as the only indicator of what went wrong was in log messages that don't show by default. A new lax-feature-matching Cargo feature will fallback to the closest fit instead of erroring.

🍎 ONNX Runtime 1.28

rc.13 skips ahead 4 ONNX Runtime versions to v1.28, bringing new operator support, bug & security fixes, and performance improvements.

✖️ No CUDA 12

rc.13 only ships CUDA 13 binaries, as ONNX Runtime has deprecated CUDA 12.

🧩 Custom operator ergonomics

Custom operators have been reworked to have a more Rusty interface:

 struct MyOperator;
 
 impl Operator for MyOperator {
+	type Kernel<'attr> = ort::operator::BoxedKernel<'attr>;
 
 	fn name(&self) -> &str {
 		"MyOperator"
 	}
 
-	fn inputs(&self) -> Vec<OperatorInput> {
-		vec![OperatorInput::required(TensorElementType::Float32), OperatorInput::required(TensorElementType::Float32)]
+	fn inputs(&self) -> impl IntoIterator<Item = OperatorInput> {
+		[OperatorInput::required(TensorElementType::Float32), OperatorInput::required(TensorElementType::Float32)]
 	}
 
-	fn outputs(&self) -> Vec<OperatorOutput> {
-		vec![OperatorOutput::required(TensorElementType::Float32)]
+	fn outputs(&self) -> impl IntoIterator<Item = OperatorOutput> {
+		[OperatorOutput::required(TensorElementType::Float32)]
 	}
 
-	fn create_kernel(&self, _: &KernelAttributes) -> ort::Result<Box<dyn Kernel>> {
-		Ok(Box::new(|ctx: &KernelContext| {
+	fn create_kernel<'attr>(&self, _: &KernelContext<'attr>) -> ort::Result<Self::Kernel<'attr>> {
+		Ok(Box::new(|ctx: &ComputeContext| {
 			...
 		}))
 	}
 }
ℹ️ Custom diagnostic messages

ort now uses the wonderful #[diagnostic] attributes to drastically improve the clarity of commonly encountered errors.

☑️ Miri-approved

Test coverage was expanded and ort was ran against Miri, and a few unsoundness bugs were fixed.

✨ Other features
  • 8db51e7 Add VSINPU EP
  • 5688cce (ort-web): Allow creating tensors from images.
  • 726dc7c Expose the DirectML EP API.
  • 5e669f6 Support string array operator attributes
  • 5f99738 Support float16 tensor usage with the native f16 type on nightly Rust
  • 62ad710 (ort-candle): Update candle to 0.11
  • d5dc28f (ort-tract): Update tract to 0.23
🔧 Other fixes
  • d5eb59f Committing a session which has a map input/output will no longer panic.
  • d2838f8 Fixed the fallback behavior when ort-sys can't create a system-wide cache dir.
  • 26f656b Allow DynTensor to be Cloned.
  • e336d6b Allow 0 dimensions in tensors.
  • 14e9d29 Fix tensor byte size calculation for 8-bit floating point types.
  • 7bdabcc Allow try_extract_scalar to work on tensors with shape [1].
  • 85f6074 Fixed retrieving string attributes in custom operator shape inference contexts.
  • 17ed727 Don't deadlock when load-dynamic fails.
  • a5ee3ad Don't force std for ndarray when std is enabled.
  • d535605 Allow copy-dylibs to work independently of download-binaries.
  • 49413ba Rerun build.rs on macOS when Xcode updates.
  • bb20575 Warn when AVX-2 isn't supported when using pyke binaries.
  • 9c840a3 Support FreeBSD.
  • 01f377b Support Mac Catalyst.

❤️🧡💛💚💙💜

v2.0.0-rc.12

Compare Source

2.0.0-rc.12
💖 If you find ort useful, please consider sponsoring us on Open Collective 💖

🤔 Need help upgrading? Ask questions in GitHub Discussions or in the pyke.io Discord server!


This release was made possible by Rime.ai!

Rime.ai Authentic AI voice models for enterprise.


📍 Multiversioning

🚨 If you used ort with default-features = false, enable the api-24 feature to use the latest features.

The big highlight of this release is multiversioning: ort can now use any minor version of ONNX Runtime from v1.17 to v1.24. New features are gated behind api-* feature flags, like api-20 or api-24. These flags will set the minimum version of ONNX Runtime required by ort.

More info 👉 https://ort.pyke.io/setup/multiversion

🪄 Automatic device selection

With ONNX Runtime 1.22 or later, ort will now automatically use an NPU if one is available for maximum efficiency & power savings! Setting your own execution providers will override this.

This is thanks to the super cool new SessionBuilder::with_auto_device API! There's also SessionBuilder::with_devices for finer control.

👁️ CUDA 13

ort now ships builds for both CUDA 12 & CUDA 13! It should automatically detect which CUDA you're using, but if it gets it wrong, you can override it by setting the ORT_CUDA_VERSION environment variable to 12 or 13.

🩹 SessionBuilder error recovery

You can now recover from errors when building a session by calling .recover() on the error type to get the SessionBuilder back.

🛡️ Build attestations

Prebuilt binaries are now attested via GitHub Actions, so you can verify that they are untampered builds of ONNX Runtime coming straight from pyke.io.

To verify, download your binary package of choice and use the gh CLI to verify:

➜  gh attestation verify --owner pykeio ./x86_64-pc-windows-msvc+cu13.tar.lzma2
Loaded digest sha256:e96616510082108be228ad6ea026246a31650b7d446b330c6b9671fcb9ae6267 for file://./x86_64-pc-windows-msvc+cu13.tar.lzma2
Loaded 1 attestation from GitHub API

The following policy criteria will be enforced:
- OIDC Issuer must match:................... https://token.actions.githubusercontent.com
- Source Repository Owner URI must match:... https://github.com/pykeio
- Predicate type must match:................ https://slsa.dev/provenance/v1
- Subject Alternative Name must match regex: (?i)^https://github.com/pykeio/

✓ Verification succeeded!

sha256:e96616510082108be228ad6ea026246a31650b7d446b330c6b9671fcb9ae6267 was attested by:
REPO                  PREDICATE_TYPE                  WORKFLOW
pykeio/ort-artifacts  https://slsa.dev/provenance/v1  .github/workflows/build-runner.yml@refs/heads/main

(Also note that the SHA-256 hash lines up with the one defined in dist.txt.)


Moving stuff around
  • The ORT_LIB_LOCATION environment variable has been renamed to ORT_LIB_PATH.
    • Same with all other env vars ending in _LOCATION.
    • The old names will continue to work, but they won't make it into v2.0.0, so it's a good idea to change them now!
  • Everything that used to be in ort::tensor is now in ort::value, because why have a tensor module if the Tensor<T> type actually comes from the value module?
  • IoBinding and Adapter were moved from their own modules into ort::session. All sub-modules of ort::session besides builder were collapsed into ort::session.
  • All sub-modules of ort::operator were collapsed into ort::operator.
  • Session option changes:
    • with_denormal_as_zero -> with_flush_to_zero
    • with_device_allocator_for_initializers -> with_device_allocated_initializers
Fixes
  • c52bd2a Fix MIGraphX registration.
    • #​512 missed a spot, thank you IntQuant =)
  • 374a9d1 Fix global environment thread pools
  • ff08428 Fix a segfault in Tensor::clone.
  • 3d6c2a9 Use new API to load the DirectML EP.
  • 5913ae0 Make vcpkg builds work again.
  • 079ecb4 Fix issues with multiple environment registration.

❤️🧡💛💚💙💜

hasenbanck/resampler (resampler)

v0.5.1

Compare Source

Fixed
  • Fix overflow in ResamplerFir with high resample ratios (#​36)

v0.5.0

Compare Source

Added
  • Support arbitrary sample rates in ResamplerFir (#​34)

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • "before 9am on the first day of the month"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot requested review from ladvoc and pham-tuan-binh August 1, 2026 01:13
@github-actions

github-actions Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

No changeset found

This PR modifies versioned packages but doesn't include a changeset. The following packages require a version bump:

  • livekit-wakeword

A package must be bumped when its own files change, and whenever a package it depends on is bumped (so downstream consumers get a matching release).

Click here to create a changeset for the missing packages

The link pre-populates a changeset file with patch bumps for the missing packages. You can also add them to your existing changeset. Edit the bump types as needed before committing.

If this change doesn't require a version bump, add the internal label to this PR.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

View 2 additional findings in Devin Review.

Open in Devin Review

Comment thread livekit-wakeword/Cargo.toml Outdated
Comment on lines +12 to +17
resampler = "0.5"
thiserror = "2"

[target.'cfg(not(all(target_arch = "aarch64", target_os = "windows", target_env = "msvc")))'.dependencies]
ort = { version = "2.0.0-rc.11", default-features = false, features = ["alternative-backend"] }
ort-tract = "0.2.0+0.22"
ort-tract = "0.3.0"

@devin-ai-integration devin-ai-integration Bot Aug 1, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Dependency update ships without the required release note entry

The dependency bump for the wake word crate (resampler = "0.5" / ort-tract = "0.4.0" at livekit-wakeword/Cargo.toml:12-17) is committed without an accompanying changeset file, so the resulting release will not record this change or bump the affected crate.
Impact: The next release omits this update from its notes and may not version-bump the affected package as expected.

Repository rule: every PR requires a knope changeset

AGENTS.md ("Documenting changes") states: "Every PR needs a changeset" and "Changeset must list any crates which need to be bumped stemming from the change". This commit (ac16ff5) only touches Cargo.lock and livekit-wakeword/Cargo.toml; no file was added under /.changeset, which is currently empty after the last release commit. A changeset noting a patch bump for livekit-wakeword should be added via knope document-change or manually.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@renovate
renovate Bot force-pushed the renovate/cargo-dependencies-(livekit-wakeword) branch from 12218a4 to ac16ff5 Compare August 11, 2026 19:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants