NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #3241 most downloaded on crates.io
Internal macros for the gltf crate
Last release 2 years ago
no release in 18 months
Release timing varies
gaps range from 2 weeks to 1.1 years
Nearly every release is documented
notes for 25 of 25 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
25 releases · first in 2017
New functions animation::Channel::index and animation::Sampler::index.
animation::Channel::index and animation::Sampler::index.allow_empty_texture to avoid required extension checks.attempt to to subtract with overflow-panic in size_hint() of sparse accessor when collecting items.size_hint() in sparse accessor.image to 0.25.0.image_jpeg_rayon no longer needed, as image 0.25.0 now uses zune-jpeg for jpeg decoding.image to 0.25.0.image_jpeg_rayon no longer needed, as image 0.25.0 now uses zune-jpeg for jpeg decoding.New API for reading arbitary extension data.
gltf-json crate have been widened to 64 bits.u32 will
result in a validation error.Gltf::from_reader no longer winds the reader back to offset zero.Material::unlit documentation.One column per quarter.
Support for the KHR_materials_emissive_strength extension.
KHR_materials_emissive_strength extension.Accessor::byte_offset is now optional for sparse accessors.New functions import_buffers and import_images for advanced import use cases.
import_buffers and import_images for advanced import use cases.Primitive::attributes now uses BTreeMap instead of HashMap deterministic serialization.Fix relative file path imports with url encoded characters.
Support for the KHR_materials_specular extension.
KHR_materials_specular extension.KHR_materials_variants extension.KHR_materials_volume extension.ExactSizeIterator implementation for Joints iterator.mesh.primitives property is now always serialized.Normalize<u16> and Normalize<f32> for u16.KHR_materials_specular extension.KHR_materials_variants extension.KHR_materials_volume extension.ExactSizeIterator implementation for Joints iterator.mesh.primitives property is now always serialized.Normalize<u16> and Normalize<f32> for u16.Support for the KHR_texture_transform extension.
KHR_texture_transform extension.KHR_materials_transmission_ior extension.Material::alpha_cutoff is now optional.import_slice.Compiler warnings regarding deprecation of std::Error::description.
Iterator::nth explicitly for improved performance.std::error::Error::description.New feature guess_mime_type which, as the name suggests, attempts to guess the MIME type of an image if it doesn't exactly match the standard.
guess_mime_type which, as the name suggests, attempts to guess
the MIME type of an image if it doesn't exactly match the standard.base64 updated to 0.11.byteorder updated to 1.3.image updated to 0.23.0.Format has additional variants for 16-bit pixel formats.Support for the KHR_materials_unlit extension, which adds an unlit field to Material .
KHR_materials_unlit extension, which adds an unlit fieldMaterial.ExactSizeIterator implementations for accessor iterators.Node::children) have been relaxed.Accessor::buffer_view is now optional for the benefit of sparse accessors.animation::Interpolation::CatmullRomSplineClone and Debug implementations for Material .
import_slice function.Clone and Debug implementations for Material.accessor::util::SparseIter and accessor::util::SparseIndicesIter whichaccessor::util::Iter is now an enum; sparse accessors are now read correctly.accessor::util::Iter has been renamed as ItemIter.Support for the KHR_lights_punctual extension.
KHR_lights_punctual extension.gltf-roundtrip example.validate_minimally as validate.cgmath.Validate::validate_completely and its implementations.New image format variants B8G8R8 and B8G8R8A8 .
B8G8R8 and B8G8R8A8.Extras are now exposed as RawValue.Index now implements Copy.Accessor which was a cause of poor performance.Glb::from_reader.New function gltf_json::Index::new for export.
gltf_json::Index::new for export.KHR_materials_pbrSpecularGlossiness extension.Eq and PartialEq implementations.Accessor::min is no longer serialized if None.Extras::_allow_unknown_fields is no longer serialized.bufferView.byteOffset is now optional.extras::Void is no longer serialized.JSON chunk padding is now padded with spaces (0x20) rather than zeros.
None is no longer serialized.Vec is no longer serialized when empty.payload field in Gltf in order to handle binary glTF directly.
payload field in Gltf in order to handle binary glTF directly.Error::Io enum variant.Gltf::from_reader_without_validation and Gltf::from_slice_without_validation.gltf-utils crate, feature gated with the newutils feature.gltf-importer crate, feature gated with theimport feature.enum Uri to represent uniform resource locators.fn Gltf::from_* now imports binary glTF as well as standard glTF.fn Gltf::from_reader now requires reader to implement std::io::Seek.Buffer::uri now returns None in the case of binary glTF payload instead"#bin".POSITION attribute is now required by all mesh primitives.glb → binary.Error::Glb → Error::Binary.TrsProperty → Property.InterpolationAlgorithm → Interpolation.Target::path → Target::property.Primitive::position_bounds → Primitive::bounding_box.names feature is now enabled by default, along with utils andimport. Rationale: Pareto principle.gltf_json now implement Serialize.fn Gltf::from_str -- use fn Gltf::from_slice instead.fn Gltf::from_value -- no longer supported.fn gltf::is_binary -- use slice.starts_with("glTF") instead.struct Unvalidated -- replaced with enum Validation.crate gltf-importer -- no longer supported.Node::matrix -- use transform().matrix() instead.Node::rotation -- use transform().decomposed() instead.as_json functions -- no longer supported.### Yanked
gltf_utils::AccessorIter::new is marked pub again.
gltf_utils::AccessorIter::new is marked pub again.Rework of GLB parser and AccessorIter in order to reduce unsafe code and to allow loading of binary glTF data on non-little-endian machines.
ChannelIterators.AccessorIter in order to reduce unsafe code andgltf and gltf_importer crates.Gltf::skip_validation is no longer marked unsafe.gltf_utils::PrimitiveIterators::joints_u16 implementation.
gltf_utils::PrimitiveIterators::joints_u16 implementation.Incorrect implementation of Transform::decomposed (issue #99)
scene::Transform type, returned by Node::transform.
scene::Transform type, returned by Node::transform.MorphTarget type and a corresponding MorphTargets iterator.Gltf::from_glb function.Gltf::default_scene function.as_json functions are now hidden from the documentation.scene::Children is bound to the lifetime of Gltf instead its parent Noderoot module.Material and texture::Sampler.Node::matrix/translation/rotation/scale in favour of Node::transform.json module.New gltf-utils crate, which removes the need for the Loaded wrapper struct.
gltf-utils crate, which removes the need for the Loaded wrapper struct.Attributes iterator, which visits all vertex attributes of a Primitive.glb module, containing functions for parsing .glb (binary glTF) files.is_binary function, which tests for the glTF magic string.gltf::Unvalidated type.Bounds type describing the minimum and maximum values of accessors.Accessor::position_bounds convenience function.Info, NormalTexture, and OcclusionTexture now implement AsRef<Texture>.Loaded struct in favour of new traits in the gltf-utils crate.Added Technique data structure for glTF 1.0.
Technique data structure for glTF 1.0.Initial (incomplete) glTF 1.0 implementation.
Your coding agent can read these notes before it upgrades. Set up the MCP server →