Skip to content

v0.0.2

Choose a tag to compare

@github-actions github-actions released this 26 Sep 22:55
· 82 commits to main since this release
3ceec8e

Blanket 0.0.2 expands image-mode support beyond grayscale, RGB, RGBA, and indexed images, adding bilevel, alpha, integer, floating-point, and additional color modes.

New features

  • Bilevel and alpha modes: Adds 1, LA, and PA images, with mode-aware conversion, pixel access, and supported image operations.
  • Integer samples: Adds signed 32-bit I and unsigned 16-bit I;16, I;16L, and I;16B modes, including explicit byte-order handling.
  • Floating-point images: Adds F mode with pixel access, conversion, copying, cropping, transposition, resizing, transforms, and TIFF interchange.
  • Additional color modes: Adds HSV, CMYK, and YCbCr, plus 8-bit CIE LAB with native LittleCMS conversion between sRGB and D50 LAB.
  • Logical channel operations: Adds native bilevel logical operations in ImageChops.

Fixes and processing improvements

  • Match Pillow's CMYK and YCbCr conversion behavior.
  • Optimize integer and floating-point conversions, parallel HSV conversion, pixel processing, nearest-neighbor mesh transforms, PNG encoding, and TIFF encoding.
  • Enable system WebP linking by default for the Python extension and improve native dependency builds.
  • Reorganize the Rust core into workspace crates for image storage, operations, codecs, and Python bindings.

Mode compatibility

  • Operation support varies by mode. Integer modes and F support selected pixel and geometric operations; many processing operations still require conversion to an 8-bit mode. Indexed P and PA support remains limited.
  • CMYK uses raw channels without ICC color management. CMYK output supports JPEG, TIFF, and PDF; save-time compression optimization is unsupported.
  • YCbCr output is limited to JPEG through RGB conversion. HSV images require conversion before saving.
  • F and LAB output is limited to TIFF. LAB save-time compression optimization is unsupported.
  • Blanket remains alpha software with a subset of Pillow's API. Animation and multipage editing are unsupported.

Installation

Requires Python 3.12+:

pip install --upgrade pyblanket==0.0.2

Release assets include wheels for Linux x86_64 and ARM64 (glibc 2.39+), macOS 26+ on Apple Silicon, and a source distribution. Linux ARM64 wheels are new in this release.

Full changelog: v0.0.1...v0.0.2