NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #4633 most downloaded on crates.io
Parser for the ktx2 texture container format
Last release 5 months ago
19 Apr 2026
Release timing varies
gaps range from 4 months to 3.1 years
Most releases are documented
notes for 3 of 4 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
4 releases · first in 2021
One column per quarter.
Added missing VkFormat variants to Format ( #39 ).
Added missing VkFormat variants to Format (#39).
Added shorthand Reader accessors: color_primaries(), transfer_function(), color_model(), is_alpha_premultiplied(), writer(), and basic_dfd() (#43).
Added DFD generation: dfd::Basic::from_format() and dfd::Basic::from_format_with() for constructing basic DFD blocks from a Format.
Moved all Data Format Descriptor (DFD) types into new submodule called dfd and renamed them to be more understandable.
DfdBlock -> dfd::BlockDfdHeader -> dfd::BlockHeaderDfdBlockBasic -> dfd::BasicDfdBlockHeaderBasic -> dfd::BasicHeaderThe following types moved into the dfd module unchanged.
ChannelTypeQualifiersColorModelColorPrimariesDataFormatFlagsSampleInformationTransferFunctionAdded dfd::Block serialization: serialized_length(), to_bytes(), to_vec(), parse()
dfd::Block is now an owned enum (Basic(Basic) | Unknown { header, data }) instead of a borrowed struct
dfd::BasicHeader merged into dfd::Basic, which now owns its sample_information: Vec<SampleInformation> instead of providing a lazy iterator. dfd::BasicHeader::LENGTH is now dfd::Basic::FIXED_LENGTH
Reader::dfd_blocks() returns &[dfd::Block] instead of impl Iterator<Item = dfd::Block<'_>>
Released 2026-04-19
VkFormat variants to Format (#39).Reader accessors: color_primaries(), transfer_function(), color_model(), is_alpha_premultiplied(), writer(), and basic_dfd() (#43).dfd::Basic::from_format() and dfd::Basic::from_format_with() for constructing basic DFD blocks from a Format.dfd and renamed them to be more
understandable.
DfdBlock -> dfd::BlockDfdHeader -> dfd::BlockHeaderDfdBlockBasic -> dfd::BasicDfdBlockHeaderBasic -> dfd::BasicHeader
The following types moved into the dfd module unchanged.ChannelTypeQualifiersColorModelColorPrimariesDataFormatFlagsSampleInformationTransferFunctiondfd::Block serialization: serialized_length(), to_bytes(), to_vec(), parse()dfd::Block is now an owned enum (Basic(Basic) | Unknown { header, data }) instead of a borrowed structdfd::BasicHeader merged into dfd::Basic, which now owns its sample_information: Vec<SampleInformation> instead of providing a lazy iterator. dfd::BasicHeader::LENGTH is now dfd::Basic::FIXED_LENGTHReader::dfd_blocks() returns &[dfd::Block] instead of impl Iterator<Item = dfd::Block<'_>>Added a key_value_data function to the reader that returns an iterator over key-value pairs (by @expenses ).
Released 2025-03-24
key_value_data function to the reader that returns an iterator over key-value pairs (by @expenses).Reader::levels now returns an iterator over Level structs, which contain the bytes of the level as well as the uncompressed length (by @expenses).Header::from_bytes, Header::as_bytes, LevelIndex::from_bytes and LevelIndex::as_bytes (by @expenses).Header::LENGTHHeader::indexLevelIndex::LENGTHLevelIndex::byte_offsetLevelIndex::byte_lengthLevelIndex::uncompressed_byte_lengthLevel::dataLevel::uncompressed_byte_lengthBasicDataFormatDescriptor into BasicDataFormatDescriptorHeader.ASTC_n_SFLOAT_BLOCK variants to Format.Dfd (by @cwfitzgerald):
Reader::data_format_descriptors -> Reader::dfd_blocksDataFormatDescriptor -> DfdBlockDataFormatDescriptorHeader -> DfdBlockHeaderBasicDataFormatDescriptor -> DfdBlockBasicBasicDataFormatDescriptorHeader -> DfdBlockHeaderBasicBump version for release
Bump version for release
Released 2022-02-03
Initial release under new ownership.
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →