Matrix.RustSdk.Bindings.Native.Windows
0.1.0
See the version list below for details.
dotnet add package Matrix.RustSdk.Bindings.Native.Windows --version 0.1.0
NuGet\Install-Package Matrix.RustSdk.Bindings.Native.Windows -Version 0.1.0
<PackageReference Include="Matrix.RustSdk.Bindings.Native.Windows" Version="0.1.0" />
<PackageVersion Include="Matrix.RustSdk.Bindings.Native.Windows" Version="0.1.0" />
<PackageReference Include="Matrix.RustSdk.Bindings.Native.Windows" />
paket add Matrix.RustSdk.Bindings.Native.Windows --version 0.1.0
#r "nuget: Matrix.RustSdk.Bindings.Native.Windows, 0.1.0"
#:package Matrix.RustSdk.Bindings.Native.Windows@0.1.0
#addin nuget:?package=Matrix.RustSdk.Bindings.Native.Windows&version=0.1.0
#tool nuget:?package=Matrix.RustSdk.Bindings.Native.Windows&version=0.1.0
Matrix.RustSdk
An unofficial C# wrapper for matrix-rust-sdk, the Rust SDK for the Matrix protocol. This project is community-maintained and not affiliated with The Matrix.org Foundation.
Installation
The managed bindings and the native libraries are shipped in separate packages, so applications only download the
platforms they need. Reference the native packages for the platforms the application runs on, they bring the matching
Matrix.RustSdk.Bindings package:
<PackageReference Include="Matrix.RustSdk.Bindings.Native.Linux" Version="0.1.0" />
<PackageReference Include="Matrix.RustSdk.Bindings.Native.Windows" Version="0.1.0" />
| Package | Platforms |
|---|---|
Matrix.RustSdk.Bindings.Native.Linux |
linux-x64, linux-arm64, linux-musl-x64, linux-musl-arm64 |
Matrix.RustSdk.Bindings.Native.Windows |
win-x64, win-arm64 |
Matrix.RustSdk.Bindings.Native.MacOS |
osx-x64, osx-arm64 |
Matrix.RustSdk.Bindings.Native.All |
all of the above |
The native libraries only work with the bindings of the exact same version, so the native packages depend on exactly
that version of Matrix.RustSdk.Bindings. The glibc libraries require glibc 2.35 or newer (Ubuntu 22.04, Debian 12,
RHEL 10), the musl libraries libgcc (installed with .NET on Alpine).
The packages contain matrix-rust-sdk and the Rust crates it depends on, their licenses and copyright notices are in
THIRD-PARTY-NOTICES.txt in every package.
The bindings are generated from matrix-rust-sdk, the release notes of
each package name the matrix-sdk-ffi release it was built from. The API follows the upstream SDK, which changes with
almost every release, so minor versions of the packages contain breaking changes until 1.0.
Development
The development environment is managed with devenv, devenv shell provides Rust, .NET and
uniffi-bindgen-cs.
git submodule update --init
devenv shell
./scripts/build-debug.sh # builds matrix-sdk-ffi for the host and regenerates the C# bindings
dotnet test # runs the tests against a tuwunel homeserver, requires docker
The uniffi version used by external/matrix-rust-sdk has to match the one uniffi-bindgen-cs is built for
(UNIFFI_RS_VERSION in devenv.nix). When updating the submodule, pick a matrix-sdk-ffi/* tag whose uniffi
version matches the latest uniffi-bindgen-cs release.
Releases
See RELEASING.md for versioning and the release process.
The Packages workflow builds the native libraries on native GitHub runners for every platform, tests them and packs the NuGet packages, the Publish NuGet package workflow publishes them. Pull requests run the same builds once the basic build and tests passed.
Each library is tested on its runner before it is packed. The Linux runners run all tests, the musl libraries are built and tested in Alpine containers. The Windows and macOS runners can't run the Linux homeserver container and only run the smoke tests that don't need a homeserver.
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Matrix.RustSdk.Bindings (= 0.1.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Matrix.RustSdk.Bindings.Native.Windows:
| Package | Downloads |
|---|---|
|
Matrix.RustSdk.Bindings.Native.All
Unofficial native matrix-rust-sdk libraries for Matrix.RustSdk.Bindings, for all supported platforms. Not affiliated with The Matrix.org Foundation. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.3.0 | 82 | 10/19/2026 |
| 0.2.0 | 89 | 10/12/2026 |
| 0.1.0 | 96 | 10/3/2026 |
| 0.1.0-rc.6 | 66 | 10/2/2026 |
Built from matrix-rust-sdk matrix-sdk-ffi/20260909: https://github.com/matrix-org/matrix-rust-sdk/tree/matrix-sdk-ffi/20260909