Skip to content

Releases: MrNanko/webp4j

v2.3.0

15 Jun 14:52

Choose a tag to compare

WebP4j Release

What's Changed

  • Zero-copy pixel pipeline — Reworked the JNI bridge so BufferedImage rasters cross into libwebp without an intermediate format-conversion buffer, and decoding writes straight into the returned image's backing array. Deterministic allocation reductions vs 2.2.0: lossy encode −98%, lossless encode −81%, decode −50% / −43% (alpha / opaque), animated encode/decode −98% / −50%.
  • Zero-copy BGR encode path — Added a fast path for TYPE_3BYTE_BGR images that feeds pixels to libwebp without conversion.
  • Single-pass GIF decoding — GIFs are decoded in one pass with lazy canvas allocation, making first-frame extraction ~60% faster.

Installation

Maven:

<dependency>
  <groupId>dev.matrixlab.webp4j</groupId>
  <artifactId>webp4j-core</artifactId>
  <version>2.3.0</version>
</dependency>

Gradle:

implementation 'dev.matrixlab.webp4j:webp4j-core:2.3.0'

Supported Platforms

  • Windows x64
  • Windows ARM64 (aarch64)
  • macOS x64 (Intel)
  • macOS arm64 (Apple Silicon)
  • Linux x64
  • Linux ARM64 (aarch64)

Full Changelog: v2.2.0...v2.3.0

v2.2.0

12 Apr 09:47

Choose a tag to compare

WebP4j Release

What's Changed

  • JPMS module support — Added module-info.java via Multi-Release JAR (dev.matrixlab.webp4j.core), enabling scoped --enable-native-access on Java 22+ instead of ALL-UNNAMED (#7).
  • Java 22+ native access documentation — Added guidance for suppressing JEP 472 warnings on both classpath and module path.

Installation

Maven:

<dependency>
  <groupId>dev.matrixlab.webp4j</groupId>
  <artifactId>webp4j-core</artifactId>
  <version>2.2.0</version>
</dependency>

Gradle:

implementation 'dev.matrixlab.webp4j:webp4j-core:2.2.0'

Supported Platforms

  • Windows x64
  • Windows ARM64 (aarch64)
  • macOS x64 (Intel)
  • macOS arm64 (Apple Silicon)
  • Linux x64
  • Linux ARM64 (aarch64)

Full Changelog: v2.1.1...v2.2.0

v2.1.1

24 Feb 02:56

Choose a tag to compare

WebP4j Release

What's Changed

  • Security fix - Fixed heap buffer overflow vulnerability in GIF decoder caused by integer overflow (Issue #6).
  • Dropped ARM32 support - Removed Linux ARM32 (armv7) platform support.

Installation

Maven:

<dependency>
  <groupId>dev.matrixlab.webp4j</groupId>
  <artifactId>webp4j-core</artifactId>
  <version>2.1.1</version>
</dependency>

Gradle:

implementation 'dev.matrixlab.webp4j:webp4j-core:2.1.1'

Supported Platforms

  • Windows x64
  • Windows ARM64 (aarch64)
  • macOS x64 (Intel)
  • macOS arm64 (Apple Silicon)
  • Linux x64
  • Linux ARM64 (aarch64)

Full Changelog: v2.1.0...v2.1.1

v2.1.0

11 Feb 14:32

Choose a tag to compare

WebP4j Release

What's Changed

  • Windows ARM64 support - Added native build for Windows aarch64 using MSYS2 CLANGARM64 toolchain.

Installation

Maven:

<dependency>
  <groupId>dev.matrixlab.webp4j</groupId>
  <artifactId>webp4j-core</artifactId>
  <version>2.1.0</version>
</dependency>

Gradle:

implementation 'dev.matrixlab.webp4j:webp4j-core:2.1.0'

Supported Platforms

  • Windows x64
  • Windows ARM64 (aarch64)
  • macOS x64 (Intel)
  • macOS arm64 (Apple Silicon)
  • Linux x64
  • Linux aarch64 (ARM64)
  • Linux arm (ARM32)

Full Changelog: v2.0.0...v2.1.0

v2.0.0

11 Feb 05:52

Choose a tag to compare

WebP4j Release

What's Changed

  • Animated WebP decoding - Extract individual frames (BufferedImage) and delays from existing animated WebP files via WebPCodec.decodeAnimatedWebP().

Installation

Maven:

<dependency>
  <groupId>dev.matrixlab.webp4j</groupId>
  <artifactId>webp4j-core</artifactId>
  <version>2.0.0</version>
</dependency>

Gradle:

implementation 'dev.matrixlab.webp4j:webp4j-core:2.0.0'

Supported Platforms

  • Windows x64
  • macOS x64 (Intel)
  • macOS arm64 (Apple Silicon)
  • Linux x64
  • Linux aarch64 (ARM64)
  • Linux arm (ARM32)

Full Changelog: v1.4.0...v2.0.0

v1.4.0

14 Jan 03:10

Choose a tag to compare

WebP4j Release

What's Changed

  • Platform availability check - Added isAvailable() method to check if the current platform is supported before encoding/decoding.
  • GIF to WebP conversion - Native giflib decoder with Java ImageIO fallback for maximum compatibility.
  • Animated WebP creation - Create animated WebP directly from BufferedImage frames.
  • Frame normalization - Normalize frames of different sizes for animation with configurable fit modes (CONTAIN/COVER/STRETCH).
  • Code restructuring - Refactored into focused modules for better maintainability.

Installation

Maven:

<dependency>
  <groupId>dev.matrixlab</groupId>
  <artifactId>webp4j</artifactId>
  <version>1.4.0</version>
</dependency>

Gradle:

implementation 'dev.matrixlab:webp4j:1.4.0'

Supported Platforms

  • Windows x64
  • macOS x64 (Intel)
  • macOS arm64 (Apple Silicon)
  • Linux x64
  • Linux aarch64 (ARM64)
  • Linux arm (ARM32)

Full Changelog: v1.3.1...v1.4.0

v1.3.2

12 Jan 05:07

Choose a tag to compare

WebP4j Release

What's Changed

  • Build targets Java 8 bytecode by setting <maven.compiler.release>8</maven.compiler.release>.
  • Critical fix: GitHub Actions macos-13 runner deprecation caused the macOS x64 (Intel) native library (libwebp4j-mac-x64.dylib) to be missing from the published JAR.
    The CI has been updated to use macos-15-intel and platform: mac-x64, ensuring the dylib is built and bundled correctly.

Installation

Maven:

<dependency>
  <groupId>dev.matrixlab</groupId>
  <artifactId>webp4j</artifactId>
  <version>1.3.2</version>
</dependency>

Gradle:

implementation 'dev.matrixlab:webp4j:1.3.2'

Files Included

  • webp4j-1.3.2.jar - Main JAR with all native libraries bundled
  • SHA256SUMS - Checksum file for verification

Supported Platforms

  • Windows x64
  • macOS x64 (Intel)
  • macOS arm64 (Apple Silicon)
  • Linux x64
  • Linux aarch64 (ARM64)
  • Linux arm (ARM32)

Full Changelog: v1.3.1...v1.3.2

v1.3.1

05 Jan 14:52

Choose a tag to compare

WebP4j Release

Installation

Maven:

<dependency>
  <groupId>dev.matrixlab</groupId>
  <artifactId>webp4j</artifactId>
  <version>1.3.1</version>
</dependency>

Gradle:

implementation 'dev.matrixlab:webp4j:1.3.1'

Files Included

  • webp4j-1.3.1.jar - Main JAR with all native libraries bundled
  • SHA256SUMS - Checksum file for verification

Supported Platforms

  • Windows x64
  • macOS x64 (Intel)
  • macOS arm64 (Apple Silicon)
  • Linux x64
  • Linux aarch64 (ARM64)
  • Linux arm (ARM32)

Full Changelog: v1.3.0...v1.3.1

v1.3.0

19 Oct 07:36

Choose a tag to compare

WebP4j Release

Installation

Maven:

<dependency>
  <groupId>dev.matrixlab</groupId>
  <artifactId>webp4j</artifactId>
  <version>1.3.0</version>
</dependency>

Gradle:

implementation 'dev.matrixlab:webp4j:1.3.0'

Files Included

  • webp4j-1.3.0.jar - Main JAR with all native libraries bundled
  • SHA256SUMS - Checksum file for verification

Supported Platforms

  • Windows x64
  • macOS x64 (Intel)
  • macOS arm64 (Apple Silicon)
  • Linux x64
  • Linux aarch64 (ARM64)
  • Linux arm (ARM32)

Full Changelog: https://github.com/MrNanko/webp4j/commits/v1.3.0