Skip to content

rustnn v0.5.0 - Enhanced WebNN Integration

Choose a tag to compare

@tarekziade tarekziade released this 24 Dec 16:37
· 286 commits to main since this release
49752a0

Summary

Version 0.5.0 brings enhanced WebNN integration, async execution support, and capability queries to rustnn. This release focuses on improving model format support and API ergonomics.

Major Features

WebNN Graph Integration

  • Full (de)serialization support via webnn-graph crate
  • Improved model format handling
  • Better interoperability with WebNN ecosystem

Async Execution Support

  • New dispatch() method for non-blocking tensor operations
  • Implements W3C WebNN MLTensor explainer specification
  • Enables efficient async workflows in Python

Capability Queries

  • New op_support_limits() API to check backend capabilities
  • Query supported operations, data types, and constraints
  • Better error messages for unsupported features

Hugging Face Hub Integration

  • Direct model loading from Hugging Face model hub
  • Example demo included in repository
  • Simplified model deployment workflow

Improvements

  • Enhanced uint64 type support across all 85 operations
  • Better error handling and validation messages
  • Documentation updates with new examples
  • Bug fixes for edge cases in shape inference
  • Performance optimizations in ONNX converter

Python API Changes

New Methods

  • MLContext.dispatch(graph, inputs, outputs) - Async execution (issue #3)
  • ML.op_support_limits(device_type) - Capability queries (issue #1)

Improvements

  • Improved type hints throughout the API
  • Better error messages with context
  • Enhanced documentation strings

Breaking Changes

None - This release is fully backward compatible with v0.4.0.

Technical Details

  • Rust Edition: 2024
  • WebNN Spec Coverage: 85 operations (89%)
  • ONNX Runtime: 1.23.2 (bundled in Python wheels)
  • Python Support: 3.11+
  • Test Coverage: 134 Rust tests, 320+ Python tests passing

Platform Support

  • Linux: x86_64, aarch64
  • macOS: x86_64 (Intel), arm64 (Apple Silicon)
  • Windows: x64

Installation

From PyPI

pip install pywebnn

From Source

git clone https://github.com/tarekziade/rust-webnn-graph
cd rust-webnn-graph
pip install maturin
maturin develop --features python

Documentation

What's Next

See our development roadmap for upcoming features.

Contributors

Thanks to everyone who contributed to this release!


Full Changelog: v0.4.0...v0.5.0