metal
Rust bindings for Metal
0.33.0
23M downloads/mo
#1959 most downloaded on crates.io
gfx-rs/metal-rs
What this package is like to depend on
Last release 8 months ago
17 Dec 2025
Ships fairly regularly
a new release about every 3 months
Some releases are documented
notes for 9 of 33 stable releases
2 versions withdrawn
withdrawn after publishing
11 years old
35 releases · first in 2015
1 release in the last 12 months
see the full history below
Release timeline
35 releases · Apr 2015 to Dec 2025Releases
latest 35-
0.33.017 Dec 2025Release notes
Open source →What's Changed
- chore: Configure Renovate by @renovate[bot] in #354
- chore(deps): update rust crate glam to 0.30 by @renovate[bot] in #357
- chore(deps): update rust crate cocoa to 0.26.0 by @renovate[bot] in #356
- chore(deps): update rust crate rand to 0.9 by @renovate[bot] in #358
- Deprecate the crate explicitly by @cwfitzgerald in #360
- Add the
set_viewportsandset_scissor_rectsmethods by @inner-daemons in #364 - Added metal4 gpu family by @inner-daemons in #365
- Provide gpu_resource_id for Metal Buffers by @msvbg in #366
- Add warnings about confusing method names by @andyleiserson in #367
- chore(deps): update rust crate png to 0.18 by @renovate[bot] in #363
- chore(deps): update actions/checkout action to v5 by @renovate[bot] in #362
- Remove
homedependency and commit Cargo.lock instead by @andyleiserson in #369 - chore(deps): update rust crate log to v0.4.29 by @renovate[bot] in #372
- chore(deps): update actions/cache action to v5 by @renovate[bot] in #373
- chore(deps): update actions/checkout action to v6 by @renovate[bot] in #371
- Use
msg_send_bool!inhas_unified_memoryby @rtfeldman in #374
New Contributors
- @renovate[bot] made their first contribution in #354
- @inner-daemons made their first contribution in #364
- @msvbg made their first contribution in #366
- @andyleiserson made their first contribution in #367
- @rtfeldman made their first contribution in #374
Full Changelog: v0.32.0...v0.33.0
-
0.32.024 Mar 2025Release notes
Open source →What's Changed
- Bump
core-graphics-typesto version0.2.0by @becmer in #348 - Fix wrong pointer type of
static _dispatch_main_qbinding by @MarijnS95 in #343 - Set and test MSRV at 1.82 by @MarijnS95 in #350
- Fix all clippy lints by @MarijnS95 in #344
- chore(.gitignore): ignore
**/*.air.tmpby @ErichDonGubler in #352 - examples: Replace one more
unsafe transmute()with trivialptr::cast()by @MarijnS95 in #351
New Contributors
Full Changelog: v0.31.0...v0.32.0
- Bump
-
0.31.015 Jan 2025Release notes
Open source →What's Changed
- Add CounterSampleBuffer::resolve_counter_range by @kvark in #336
- Add AccelerationStructurePassDescriptor by @kvark in #337
- sampler: Add missing
gpu_resource_id()getter by @MarijnS95 in #328 - Release 0.31 by @cwfitzgerald in #345
Full Changelog: v0.30.0...v0.31.0
-
0.30.025 Oct 2024Release notes
Open source →What's Changed
- Disable default
linkfeature oncore-graphics-typesby @MarijnS95 in #330 - Add ComputePassDescriptorRef::set_dispatch_type by @kvark in #335
- Remove dev-dependency
ctyby @waywardmonkeys in #333 - Fix visionos cfgs by @guusw in #338
- Add ShaderAtomic to MTLTextureUsage by @atlv24 in #340
New Contributors
- @nical made their first contribution in #327
- @MarijnS95 made their first contribution in #330
- @guusw made their first contribution in #338
Full Changelog: v0.29.0...v0.30.0
- Disable default
-
0.29.008 Jul 2024Nothing published for this version
-
0.28.028 Apr 2024Release notes
Open source →What's Changed
- chore: update core-graphics-types by @crowlKats in #297
- Remove unused
objc_exceptiondependency by @chyyran in #303 - Add Metal 3.0 and 3.1 by @atlv24 in #304
New Contributors
Full Changelog: v0.27.0...v0.28.0
-
0.27.025 Oct 2023Release notes
Open source →What's Changed
- Add support for creating and using indirect command buffers by @konsolas in #279
- More timer query support by @Wumpf in #280
New Contributors
Full Changelog: v0.26.0...v0.27.0
-
0.26.021 Jul 2023Release notes
Open source →What's Changed
- Bump
bitflagsto v2 by @daxpedda in #269 - Fix CI by @daxpedda in #270
- feat: link feature by @crowlKats in #271
- Fix undefined behavior caused by calling Library::function_names() by @aclysma in #272
- Replace unmaintained actions-rs GitHub actions by @fornwall in #275
- Improve the compute example to work on large array sizes by @fornwall in #274
- Fix unreachable pattern warnings on aarch64 by @fornwall in #273
- Bump Version to 0.26.0 by @cwfitzgerald in #277
New Contributors
Full Changelog: v0.25.0...v0.26.0
- Bump
-
0.25.019 May 2023Release notes
Open source →What's Changed
- Add memoryBarrierWithResources:count: by @andrewmilson in #237
- Bump dev-dependencies and fix examples by @madsmtm in #239
- Link to Apple Documentation, explain docs.rs failure by @IsaccBarker in #249
- Fix compilation warnings by @madsmtm in #240
- Adding support for the raytracing. by @Hossein-Noroozpour in #252
- Clean up RT API by @kvark in #256
- Expose AccelerationStructureGeometryDescriptorRef::set_opaque by @kvark in #257
- Add
MTLTextureType::D2MultisampleArrayby @armansito in #255 - Add
add_scheduled_handlermethod toCommandBufferby @armansito in #254 - Document the
foreign_obj_typemacro. by @jimblandy in #251 - Fix type issues in CaptureDescriptor and CaptureManager, add documentation by @finnvoor in #258
- Add MTLAccelerationStructureUserIDInstanceDescriptor by @kvark in #259
- Add MTLAccelerationStructureInstanceDescriptorType by @kvark in #260
- Fix typo in README.md by @qwright10 in #262
- feature: Metal timestamps by @FL33TW00D in #263
- Add support for object and mesh shader by @zmarlon in #264
- Don't release the error obj manually by @teoxoy in #266
- chore: Fix timestamp bug and add required method by @FL33TW00D in #265
New Contributors
- @andrewmilson made their first contribution in #237
- @madsmtm made their first contribution in #239
- @IsaccBarker made their first contribution in #249
- @Hossein-Noroozpour made their first contribution in #252
- @armansito made their first contribution in #255
- @jimblandy made their first contribution in #251
- @finnvoor made their first contribution in #258
- @qwright10 made their first contribution in #262
- @FL33TW00D made their first contribution in #263
- @zmarlon made their first contribution in #264
- @teoxoy made their first contribution in #266
Full Changelog: v0.24.0...v0.25.0
-
0.24.001 Jul 2022Release notes
Open source →What's Changed
- Update
winitdependency by @sigseg5 in #219 - Reflection fixes by @mxpv in #224
- Make MTLGPUFamily non-exhaustive by @kvark in #226
- Fix incorrect MTLRenderStages constants by @aclysma in #227
- Add new use resources methods by @mxpv in #228
- Add ASTC HDR Formats by @jinleili in #229
- Add
V2_4MTLLanguageVersion andmacOS_ReadWriteTextureTier2feature by @jinleili in #230 - Add contents_scale method by @xiaopengli89 in #231
- Add
push | pop_debug_groupfn to CommandBuffer by @jinleili in #232 - Add inline attribute to deref by @peterwmwong in #233
- Add execute_commands_in_buffer, fix inherit_buffers by @jinleili in #234
- Add MTLTextureCompressionType by @jinleili in #235
- Release 0.24.0 by @cwfitzgerald in #236
New Contributors
- @sigseg5 made their first contribution in #219
- @xiaopengli89 made their first contribution in #231
- @peterwmwong made their first contribution in #233
Full Changelog: v0.23.0...v0.24.0
- Update
-
0.23.119 Aug 2021Nothing published for this version
-
0.23.018 Jun 2021Nothing published for this version
-
0.22.029 Apr 2021Nothing published for this version
-
0.21.025 Jan 2021Nothing published for this version
-
0.20.021 Jul 2020Nothing published for this version
-
0.19.020 Jul 2020Nothing published for this version
-
0.18.118 Jul 2020 withdrawnNothing published for this version
-
0.18.023 Mar 2020Nothing published for this version
-
0.17.125 Nov 2019Nothing published for this version
-
0.17.006 Sep 2019Nothing published for this version
-
0.16.106 Sep 2019 withdrawnNothing published for this version
-
0.16.022 Aug 2019Nothing published for this version
-
0.15.103 Mar 2020Nothing published for this version
-
0.15.014 Jun 2019Nothing published for this version
-
0.14.002 Jan 2019Nothing published for this version
-
0.13.127 Dec 2018Nothing published for this version
-
0.13.007 Sep 2018Nothing published for this version
-
0.12.120 Aug 2018Nothing published for this version
-
0.12.013 Aug 2018Nothing published for this version
-
0.11.109 Aug 2018Nothing published for this version
-
0.11.004 Aug 2018Nothing published for this version
-
0.0.412 Nov 2017Nothing published for this version
-
0.0.312 Nov 2017Nothing published for this version
-
0.0.212 Nov 2017Nothing published for this version
-
0.0.106 Apr 2015Nothing published for this version