Skip to content

chore: release - #412

Open
github-actions[bot] wants to merge 1 commit into
masterfrom
release-plz-2026-08-31T01-03-27Z
Open

chore: release#412
github-actions[bot] wants to merge 1 commit into
masterfrom
release-plz-2026-08-31T01-03-27Z

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

🤖 New release

  • gamut-core: 2.0.1 -> 2.1.0 (✓ API compatible changes)
  • gamut-bitstream: 0.2.3 -> 0.2.4 (✓ API compatible changes)
  • gamut-color: 2.0.0 -> 3.0.0 (✓ API compatible changes)
  • gamut-dsp: 2.0.0 -> 2.0.1 (✓ API compatible changes)
  • gamut-av1: 0.4.1 -> 0.5.0 (✓ API compatible changes)
  • gamut-codec-abi: 0.1.1 -> 0.1.2 (✓ API compatible changes)
  • gamut-isobmff: 2.0.1 -> 2.1.0 (✓ API compatible changes)
  • gamut-avif: 1.1.0 -> 2.0.0 (✓ API compatible changes)
  • gamut-icc: 1.0.0 -> 1.0.1 (✓ API compatible changes)
  • gamut-cmm: 0.1.0
  • gamut-deflate: 0.1.0 -> 0.1.1 (✓ API compatible changes)
  • gamut-ifd: 2.0.1 -> 3.0.0 (✓ API compatible changes)
  • gamut-jxl-sys: 0.1.0 -> 0.1.1 (✓ API compatible changes)
  • gamut-jxl: 0.4.0 -> 0.5.0 (✓ API compatible changes)
  • gamut-exif: 1.0.0 -> 1.1.0 (✓ API compatible changes)
  • gamut-xmp: 1.0.0 -> 1.1.0 (✓ API compatible changes)
  • gamut-iptc: 1.0.0 -> 1.0.1 (✓ API compatible changes)
  • gamut-metadata: 1.0.0 -> 2.0.0 (✓ API compatible changes)
  • gamut-dng: 1.0.0 -> 2.0.0 (✓ API compatible changes)
  • gamut-heic: 0.2.2 -> 0.2.3 (✓ API compatible changes)
  • gamut-jpeg: 0.1.0 -> 0.1.1 (✓ API compatible changes)
  • gamut-png: 0.1.0 -> 0.1.1 (✓ API compatible changes)
  • gamut-tiff: 1.0.0 -> 1.1.0 (✓ API compatible changes)
  • gamut-tonemap: 1.0.0 -> 1.1.0 (✓ API compatible changes)
  • gamut-riff: 0.1.3 -> 1.0.0
  • gamut-webp: 0.3.1 -> 0.4.0 (✓ API compatible changes)
  • gamut: 0.3.2 -> 0.3.3 (✓ API compatible changes)
  • gamut-cli: 0.3.1 -> 0.3.2
  • gamut-ffi: 0.1.3 -> 0.1.4
  • gamut-av2: 0.1.3 -> 0.1.4
  • gamut-vvc: 0.2.1 -> 0.2.2
  • gamut-wasm: 0.1.3 -> 0.1.4
Changelog

gamut-core

2.1.0 - 2026-09-03

Added

  • (core) add format-agnostic pixel conversion
  • (core) add full-range sample widening and narrowing
  • (core) add fixed-point luma weights to luminance
  • (core) add structured error diagnostics
  • add optional serde support to public enums

Other

  • (fuzz) apply nightly rustfmt to the new targets
  • (fuzz) drive the gamut-core and gamut-tonemap laws under libFuzzer
  • (core) state the conversion engine's contract as executable laws
  • close the mutation-testing gaps in the conversion paths
  • (core) drive convert through the public API

gamut-bitstream

0.2.4 - 2026-09-03

Added

  • (bitstream) add the AV1 bit reader and symbol decoder

Fixed

  • (bitstream) compute ns(n) in u64 so n >= 2^31 does not overflow
  • (bitstream) implement all three of exit_symbol's conformance checks
  • (bitstream) bound the symbol search by the alphabet, not by the CDF

Other

  • (bitstream) pin read_f's zero padding and retire two hang mutants
  • (bitstream) cover read_golomb, which nothing exercised
  • (bitstream) separate the leb128 length rule from the round trip

gamut-color

3.0.0 - 2026-09-03

Added

  • (avif) [breaking] honour with_chroma on the 16-bit input path
  • (color) report the coded plane count of a chroma layout
  • (dng) type AsShotWhiteXY and derive its camera neutral per DNG 1.7.1 §6
  • (color) correlated colour temperature by Robertson's method
  • (gamut-color) add CIELab, LCh, xyY, ΔE₀₀, and the ICC PCS encodings
  • (core) add structured error diagnostics
  • add optional serde support to public enums

Other

  • deny unsafe in the hot-path crates instead of forbidding it
  • (color) pin each Lab encoding claim separately
  • (dsp) share one deterministic generator across the transform sweeps
  • (color) pin the 16-bit box average to its exact value
  • merge feat/398-av1-high-bitdepth into feat/399-avif-16bit-inputs
  • merge feat/397-avif-alpha-aux into feat/398-av1-high-bitdepth
  • merge origin/master into feat/397-avif-alpha-aux
  • Merge branch 'feat/390-avif-420-profile0' into feat/391-avif-422-profile2
  • Merge remote-tracking branch 'origin/master' into feat/390-avif-420-profile0
  • Merge pull request feat(av1)!: per-plane chroma plane geometry #394 from visualcommons/feat/389-av1-per-plane-geometry
  • Merge pull request feat(dng): type AsShotWhiteXY and derive its camera neutral per DNG 1.7.1 §6 #392 from visualcommons/feat/349-dng-asshotwhitexy
  • merge origin/master into feat/322-lcms2-oracle-transforms
  • merge origin/master into feat/321-color-cielab-de2000
  • (gamut-color) state the fast-floor gap instead of denying it
  • (gamut-color) kill the surviving lab mutants
  • (color) vendor the Sharma CIEDE2000 paper and Lab references

gamut-dsp

2.0.1 - 2026-09-03

Other

  • deny unsafe in the hot-path crates instead of forbidding it
  • (dsp) share one deterministic generator across the transform sweeps

gamut-av1

0.5.0 - 2026-09-03

Added

  • (av1) parse OBUs and the AV1 sequence and frame headers
  • (av1) [breaking] give every coded plane its own sample geometry
  • (av1) adapt CDFs while coding tiles
  • (core) add structured error diagnostics

Fixed

  • (av1) name monochrome when the decoder refuses a monochrome stream
  • (av1) check every OBU's trailing bits against its declared size

Other

  • (av1) separate CDF adaptation from context independence
  • merge feat/397-avif-alpha-aux into feat/398-av1-high-bitdepth
  • Merge pull request feat(avif): 4:2:2 output (AV1 Profile 2) on the lossy path #403 from visualcommons/feat/391-avif-422-profile2
  • Merge pull request feat(avif)!: 4:2:0 output (AV1 Profile 0, MA1B) on the lossy path #402 from visualcommons/feat/390-avif-420-profile0
  • (av1) kill the mutants the header layer pulled into the diff
  • (av1) supply the monochrome flag at the header parse call sites
  • Merge remote-tracking branch 'origin/master' into feat/259-avif-decoder
  • (av1) kill the surviving tile-spacing and lr_params mutants
  • (av1) cover the header syntax the encoders never emit
  • (av1) check the decoder's header layer against libaom
  • Merge pull request feat(av1)!: per-plane chroma plane geometry #394 from visualcommons/feat/389-av1-per-plane-geometry
  • (av1) kill the mutants the geometry refactor pulled into the diff
  • Merge branch 'master' into feat/335-avif-ycbcr-matrix
  • (av1) record CDF adaptation in STATUS and README

gamut-codec-abi

0.1.2 - 2026-09-03

Other

  • (codec-abi) cover the borrowed-backend blanket impls
  • (codec-abi) split the seam's tests by the claim each one pins

gamut-isobmff

2.1.0 - 2026-09-03

Added

  • (core) add structured error diagnostics
  • (gamut-isobmff) parse large and uuid boxes

Other

  • (isobmff) satisfy clippy::redundant_guards in the accounting test
  • (isobmff) share the segment walk with avif and heic
  • (isobmff) separate the largesize body from the cursor advance

gamut-avif

2.0.0 - 2026-09-03

Added

  • (avif) lower high-bit-depth jobs across the codec-abi seam
  • (avif) [breaking] honour with_chroma on the 16-bit input path
  • (avif) [breaking] default lossy output to 4:2:0 and expose the chroma format
  • (gamut-avif) add the high-bit-depth RGBA16 presentation surface
  • (core) add structured error diagnostics
  • (gamut-isobmff) parse large and uuid boxes

Fixed

  • (avif) send the backend the chroma the planes actually carry

Other

  • (avif) close the crate's first mutation survey
  • (isobmff) drop imports the moved tests no longer use
  • (isobmff) share the segment walk with avif and heic
  • (avif) separate grid cropping from tile placement
  • (avif) pin the sequence-header chroma derivation directly
  • merge feat/398-av1-high-bitdepth into feat/399-avif-16bit-inputs
  • merge feat/397-avif-alpha-aux into feat/398-av1-high-bitdepth
  • merge origin/master into feat/397-avif-alpha-aux
  • Merge pull request feat(avif): 4:2:2 output (AV1 Profile 2) on the lossy path #403 from visualcommons/feat/391-avif-422-profile2
  • Merge pull request feat(avif)!: 4:2:0 output (AV1 Profile 0, MA1B) on the lossy path #402 from visualcommons/feat/390-avif-420-profile0
  • (avif) say precisely when with_chroma is ignored
  • Merge remote-tracking branch 'origin/master' into feat/390-avif-420-profile0
  • close the remaining chroma mutation gaps
  • merge origin/master into feat/390-avif-420-profile0
  • cover the chroma derivations directly, not through an encode
  • Merge pull request feat(av1)!: per-plane chroma plane geometry #394 from visualcommons/feat/389-av1-per-plane-geometry
  • derive chroma plane sizes from one shared rule
  • adopt as_chunks for constant-size slice chunking
  • Merge branch 'master' into feat/335-avif-ycbcr-matrix
  • Merge pull request feat: high-bit-depth (10/12-bit, BT.709/BT.2020) RGBA presentation surface #360 from visualcommons/feat/303-high-bit-depth-presentation
  • pin the blend rounding and the high-bit-depth paths mutation testing missed
  • record the high-bit-depth presentation surface in STATUS and READMEs

gamut-icc

1.0.1 - 2026-09-03

Other

  • (icc) split the fixed-point conversions by claim
  • merge origin/master into feat/324-cmm-scaffold
  • merge origin/master into feat/322-lcms2-oracle-transforms
  • adopt as_chunks for constant-size slice chunking

gamut-cmm

0.1.0 - 2026-09-03

Added

  • (cmm) [breaking] take pipeline optimization on every transform constructor
  • (cmm) collapse pipeline stages behind an opt-in optimization level
  • (gamut-cmm) LUT pipelines and per-intent tag selection
  • (gamut-cmm) matrix/TRC shaper pipelines and the chad convention
  • (gamut-cmm) N-D multilinear and tetrahedral CLUT interpolation
  • (gamut-cmm) tone-curve tables and monotonic inversion
  • (gamut-cmm) new crate with the pipeline/stage model

Fixed

  • (cmm) sweep the full input domain and re-pin the conformance bounds

Other

  • deny unsafe in the hot-path crates instead of forbidding it
  • (cmm) share one generator across the six oracle suites
  • (cmm) drop the unreachable axis guard on CLUT resampling
  • (cmm) record pipeline optimization in the README and status ledger
  • (cmm) benchmark buffer throughput off, on, and against lcms2
  • (cmm) gate the optimized paths against the lcms2 precision budget
  • merge origin/master into feat/330-cmm-chaining-conformance
  • merge origin/master into feat/329-cmm-intents-bpc
  • merge origin/master into feat/328-cmm-lut-pipelines
  • (gamut-cmm) record the LUT-phase settled decisions
  • (gamut-cmm) pin LUT profiles and intent selection against Little-CMS
  • (gamut-cmm) record the shaper and chad settled decisions
  • (gamut-cmm) pin shaper profiles against Little-CMS
  • (gamut-cmm) transcribe the tetrahedral decomposition
  • (gamut-cmm) pin CLUT interpolation against Little-CMS
  • (gamut-cmm) record the tone-curve phase decisions
  • (gamut-cmm) pin tone curves against Little-CMS

gamut-deflate

0.1.1 - 2026-09-03

Added

  • (deflate) span the optimal parse instead of disabling it above 1 MiB
  • (deflate) expose optimal-parse effort via DeflateEncoder::with_effort

Other

  • (deflate) remove five unkillable mutants from the bit packing
  • deny unsafe in the hot-path crates instead of forbidding it
  • (deflate) pin the encoder's output so a silent size regression fails
  • (mutants) record the failure modes and the one way to run a survey
  • (deflate) keep the 1 MiB boundary case fast under limit-check mutation
  • (deflate) document the configurable optimal-parse effort budget
  • (deflate) pin Level as repr(u8) with explicit discriminants
  • (dng) record the Deflate codec split and its measurements

gamut-ifd

3.0.0 - 2026-09-03

Added

  • (ifd) reserve a leading vendor preamble in the writer's layout
  • (ifd) [breaking] name the bytes a file does not account for
  • (core) add structured error diagnostics
  • (gamut-ifd) add f64 value coercion

Fixed

  • (ifd) let the test suite compile under default features
  • (mutants) retire an exclusion that was a coverage gap, not an equivalence
  • (ifd) declare the preamble the way an audit reads it
  • (tiff) reject non-progressing CCITT runs

Other

  • (ifd) close the mutation survivors the corpus pass left
  • (ifd) pin where the pool resumes after jumping a pin
  • (ifd) cover the pinned-span placement rules
  • (ifd) state the read ledger's laws as executable invariants
  • adopt as_chunks for constant-size slice chunking

gamut-jxl-sys

0.1.1 - 2026-09-03

Added

  • (jxl-sys) declare the MODULAR frame-setting id

Fixed

  • (oracles) bound every native build by the shared parallelism dial
  • (jxl-sys) stop overriding the caller's cmake build parallelism

gamut-jxl

0.5.0 - 2026-09-03

Added

  • (jxl) [breaking] require an explicit policy for lossy presentation
  • (core) add structured error diagnostics

Other

  • (jxl) separate registry sharing from equality semantics
  • adopt as_chunks for constant-size slice chunking
  • merge origin/master into feat/268-pixel-conversion
  • (jxl) pin that colour-as-grayscale is refused before the decode
  • close the mutation-testing gaps in the conversion paths
  • merge origin/master into feat/268-pixel-conversion

gamut-exif

1.1.0 - 2026-09-03

Added

  • (gamut-exif) convert gps metadata to geocoordinates

Other

  • (exif) close the survivors of this crate's first mutation survey
  • (exif) separate what equality covers from what it ignores

gamut-xmp

1.1.0 - 2026-09-03

Added

  • (core) add structured error diagnostics

Other

  • (xmp) separate the set/get round trip from the replacement rule

gamut-iptc

1.0.1 - 2026-09-03

Other

  • (iptc) name the differential file for the convention its siblings use

gamut-metadata

2.0.0 - 2026-09-03

Added

  • (metadata) add the C2PA manifest store as a fourth carrier
  • (metadata) [breaking] carry downstream typed models in a namespaced extension table

Other

  • (metadata) pin that remove_extension matches on namespace AND key
  • (metadata) pin each extension-removal claim separately
  • (metadata) cite the clause that defines the C2PA manifest store
  • (metadata) state what the C2PA carrier actually guarantees
  • (metadata) explain the C2PA carrier and the keystone carve-out
  • (metadata) cover the C2PA carrier and its no-copy-forward policy

gamut-dng

2.0.0 - 2026-09-03

Added

  • (dng) decode the untyped camera-profile colour tags
  • (dng) type AsShotWhiteXY and derive its camera neutral per DNG 1.7.1 §6
  • (dng) [breaking] decode what real cameras actually write
  • (core) add structured error diagnostics

Fixed

  • (tiff) reject non-progressing CCITT runs

Other

  • (dng) find the maximum black per plane across the repeat pattern
  • (dng) pin the exclusive upper bound of the RATIONAL black-level grid
  • (dng) assert the archival verdict can also be false
  • (dng) reject a malformed BlackLevelDeltaV
  • (dng) find a NoiseProfile that a writer left in IFD 0
  • (dng) cover is_lossy, the LONG level type, and the repeat-dim guards
  • (dng) pin both halves of the WhiteLevel guard and the repeat-dim count
  • (dng) write MD5's F and G in their XOR forms
  • (dng) reject a FLOAT tag that is present but empty
  • (dng) reject a WhiteLevel count that is neither one nor per-plane
  • (dng) name the two differential files for their oracles
  • Merge pull request feat(dng)!: consume the metadata facade instead of restating it #411 from visualcommons/feat/353-dng-metadata-facade
  • (dng) merge master into the colour-projection branch
  • (dng) record the colour projection in the README and status ledger
  • Merge pull request feat(dng): type AsShotWhiteXY and derive its camera neutral per DNG 1.7.1 §6 #392 from visualcommons/feat/349-dng-asshotwhitexy
  • adopt as_chunks for constant-size slice chunking
  • Merge pull request feat(dng)!: validate against real camera DNGs #348 from visualcommons/feat/174-dng-real-corpus
  • (dng) record the real-camera tier and the v2 breaks

gamut-heic

0.2.3 - 2026-09-03

Added

  • (heic) locate the C2PA manifest store and report its byte range
  • (gamut-heic) add the high-bit-depth RGBA16 presentation surface
  • (core) add structured error diagnostics
  • (gamut-isobmff) parse large and uuid boxes

Fixed

  • (heic) locate an update manifest store past the merkle offset
  • (gamut-heic) prefer nclx for rgba presentation
  • (gamut-heic) correct imir axis semantics

Other

  • (isobmff) drop imports the moved tests no longer use
  • (isobmff) share the segment walk with avif and heic
  • (heic) separate per-item adaptation from backend ownership
  • (heic) correct the JUMBF traceability claim and the probe's reach
  • (heic) state the update probe's real strength, not a fail-safe one
  • (heic) correct the JUMBF citation and narrow the scan-scope claim
  • (heic) pin that only a uuid box carries a manifest store
  • (heic) keep the umbrella-feature note in the usage section
  • (heic) record the C2PA manifest-store locator in the ledger
  • (heic) pin the C2PA locator's offsets and rejection branches
  • derive chroma plane sizes from one shared rule
  • adopt as_chunks for constant-size slice chunking
  • Merge pull request feat: high-bit-depth (10/12-bit, BT.709/BT.2020) RGBA presentation surface #360 from visualcommons/feat/303-high-bit-depth-presentation
  • pin the blend rounding and the high-bit-depth paths mutation testing missed
  • record the high-bit-depth presentation surface in STATUS and READMEs
  • (gamut-heic) make the RGBA pipeline generic over sample width

gamut-jpeg

0.1.1 - 2026-09-03

Added

  • (jpeg) rate-distortion optimized coefficient selection
  • (jpeg) accept caller-supplied quantization tables
  • (jpeg) emit optimized baseline Huffman tables
  • (core) add structured error diagnostics
  • (gamut-jpeg) add decoder resource limits

Other

  • deny unsafe in the hot-path crates instead of forbidding it
  • (jpeg) name the prefix-free check for the one claim it makes
  • adopt as_chunks for constant-size slice chunking
  • merge origin/master into feat/268-pixel-conversion
  • (jpeg) pin the XYB byte count to the appended output
  • merge feat/333-jpeg-trellis-adaptive-quant into feat/334-jpeg-xyb-color
  • (jpeg) kill the RD trellis mutation survivors
  • (jpeg) ledger the RD-optimized coefficient selection
  • (jpeg) ledger the caller-supplied quantization tables
  • (jpeg) record the optimized baseline table surface

gamut-png

0.1.1 - 2026-09-03

Added

  • (gamut-png) read metadata without decoding pixels
  • (png) route typed presentation through gamut-core convert
  • (core) add structured error diagnostics

Other

  • (png) pin the tRNS overhead term with a translucent palette
  • Merge pull request fix(mutants): unblock libtiff's oracle, and close gamut-png's 12 survivors #486 from visualcommons/chore/110-survey-tier1-rest
  • (png) close the remaining survivors of the first survey
  • (png) pin the encoding analyze8 chooses, not just that it reduces
  • (png) pin each auto-reduce claim separately
  • adopt as_chunks for constant-size slice chunking
  • merge origin/master into feat/268-pixel-conversion
  • close the mutation-testing gaps in the conversion paths

gamut-tiff

1.1.0 - 2026-09-03

Added

  • (tiff) add the TiffInfo pre-decode probe
  • (tiff) encode 16-bit grayscale, RGB and RGBA
  • (tiff) decode 16-bit grayscale, RGB, RGBA and CMYK samples
  • (tiff) add the SampleFormat tag type and reject non-integer samples
  • (core) add structured error diagnostics
  • (gamut-tiff) support deflate compression

Fixed

  • (tiff) stop LZW decoding once the strip is satisfied
  • (tiff) reject non-progressing CCITT runs

Other

  • (tiff) re-attach a #[test] this branch had split off
  • (tiff) diagnose the audit's three sub-IFD findings
  • (tiff) pin the LZW decoder's 12-bit code-width cap
  • (tiff) assert the archival verdict through its public wrapper
  • (tiff) the fifth and last shift-or equivalent
  • (tiff) pin T.6's vertical code table and PackBits' two-run rule
  • (tiff) pin the SHORT/LONG boundary, and a fourth shift-or equivalent
  • (tiff) two more CCITT equivalents, removed rather than excluded
  • (tiff) pin the 64 make-up boundary and the half-present tile pair
  • (tiff) assert LZW compresses, the third encoder to hide behind a round trip
  • (tiff) assert LZW's width bound at compile time instead of guarding it
  • (tiff) pin that G4 chooses pass mode, which no oracle could see
  • (tiff) make two G4 colour decisions falsifiable
  • (tiff) assert PackBits actually compresses, not just that it round-trips
  • (tiff) share the two patterns the libtiff cross-checks both use
  • adopt as_chunks for constant-size slice chunking
  • (tiff) pin the 16-bit CMYK narrowing to its depth policy
  • merge origin/master into feat/268-pixel-conversion
  • (tiff) pin which guard rejects a mismatched sample count
  • (tiff) record 16-bit sample support in the scope ledger
  • (tiff) extract page-header parsing from the decode funnel
  • (tiff) scope the decode-size guard to a named helper

gamut-tonemap

1.1.0 - 2026-09-03

Added

  • (tonemap) state Drago's monotonicity condition instead of promising it
  • (core) add structured error diagnostics

Fixed

  • (tonemap) divide the smaller numerator in ReinhardExtended
  • (tonemap) reject a Hable white point whose divisor cancels to zero

Other

  • (fuzz) drive the gamut-core and gamut-tonemap laws under libFuzzer
  • (tonemap) state the ToneCurve contract as executable laws

gamut-riff

1.0.0 - 2026-09-03

Added

  • (riff) [breaking] enforce reconstruction-chunk order and carry unknown chunks
  • (riff) [breaking] validate the spec's size and canvas bounds
  • (core) add structured error diagnostics

Other

  • (ifd) close the mutation survivors the corpus pass left
  • (riff) release v1.0.0
  • (riff) ledger the v1 surface and correct the RFC citations
  • (riff) spec fixtures, robustness sweep, and a libwebp demux oracle
  • (riff) [breaking] narrow the frozen public surface
  • (riff) drop the unused gamut-bitstream dependency

gamut-webp

0.4.0 - 2026-09-03

Added

  • (webp) [breaking] require an explicit policy for lossy presentation
  • (core) add structured error diagnostics

Fixed

  • (webp) guarantee the run-length loop advances
  • (webp) discard a zero-length LZ77 match instead of looping on it

Other

  • (webp) band the segmentation fixture across all four segments
  • (webp) re-attach a #[test] and drop a one-element loop
  • (webp) pin the entropy image's block-size field
  • (webp) pin the degenerate histograms, and count used symbols with !=
  • (webp) mask the LZ77 extra bits instead of subtracting an offset
  • (webp) write the partition size as little-endian bytes
  • (webp) reconstruct a macroblock that is both B_PRED and skipped
  • (webp) write the bool decoder's range doubling as a multiply
  • (webp) read the partition size as one integer, and pin its high byte
  • (webp) drop a cache-bits guard the constructor already makes
  • (webp) size the prefix-code descriptions, and name the trim's floor
  • (webp) pin the segmented stream, which nothing else could see
  • (webp) pin the canonical code assignment for a sparse alphabet
  • (webp) separate the decode and encode poisoning paths
  • (webp) use is_multiple_of in the break-even search
  • (webp) pin the deferral's strictness and exclude the equivalent mutants
  • (webp) pin the deferred parse's tokens, not just that it differs
  • (webp) drive the lazy parse and cache deltas directly
  • (webp) add the tiled fixture for the VP8L parse plans
  • (webp) add the smooth high-quality fixture to the effort pins
  • (webp) give the effort pins fixtures the decisions are visible in
  • (webp) pin the effort ladder's output and its boundary decisions
  • merge origin/master into feat/261-webp-encoder-knobs
  • adopt as_chunks for constant-size slice chunking
  • close the mutation-testing gaps in the conversion paths
  • merge origin/master into feat/268-pixel-conversion

gamut

0.3.3 - 2026-09-03

Other

  • (gamut) state what the umbrella tests cannot catch
  • merge origin/master into feat/324-cmm-scaffold
  • merge feat/333-jpeg-trellis-adaptive-quant into feat/334-jpeg-xyb-color
  • (gamut) pin the XYB ICC profile at the umbrella

gamut-cli

0.3.2 - 2026-09-03

Added

  • (cli) decode PNG and JPEG through gamut's own decoders

Other

  • merge origin/master into feat/261-webp-encoder-knobs
  • adopt as_chunks for constant-size slice chunking
  • merge origin/master into feat/268-pixel-conversion
  • merge origin/master into feat/268-pixel-conversion

gamut-ffi

0.1.4 - 2026-09-03

Added

  • (gamut-cmm) new crate with the pipeline/stage model
  • (core) add structured error diagnostics

gamut-av2

0.1.4 - 2026-09-03

Other

  • updated the following local packages: gamut-core, gamut-bitstream, gamut-color, gamut-dsp

gamut-vvc

0.2.2 - 2026-09-03

Other

  • updated the following local packages: gamut-core, gamut-bitstream, gamut-color, gamut-dsp

gamut-wasm

0.1.4 - 2026-09-03

Other

  • updated the following local packages: gamut


This PR was generated with release-plz.

@github-actions
github-actions Bot force-pushed the release-plz-2026-08-31T01-03-27Z branch from bce4660 to 308961d Compare August 31, 2026 01:38
@github-actions
github-actions Bot force-pushed the release-plz-2026-08-31T01-03-27Z branch 27 times, most recently from 93cd982 to d38cdec Compare September 2, 2026 21:54
@github-actions
github-actions Bot force-pushed the release-plz-2026-08-31T01-03-27Z branch from d38cdec to 8f586aa Compare September 3, 2026 02:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants