PackageTrack
Sign in Get early access

jpeg-decoder

JPEG decoder

0.3.2 85M downloads/mo #894 most downloaded on crates.io image-rs/jpeg-decoder

What this package is like to depend on

Last release 1 years ago

21 Jun 2025

Release timing varies

gaps range from 5 weeks to 1.4 years

Nearly every release is documented

notes for 33 of 33 stable releases

Nothing withdrawn

no release was ever pulled

11 years old

33 releases · first in 2016

0 releases in the last 12 months

see the full history below

Release timeline

33 releases · Feb 2016 to Jun 2025
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 33
  1. 0.3.2 21 Jun 2025
    Release notes
    • Depend on wasm-bindgen 0.2.89 or higher
    • Fix panic when prediction calculation is invalid
    Open source →
  2. 0.3.1 13 Jan 2024
    Release notes

    Release 0.3.1 (#276)

    Open source →
    Release notes
    • Added a WASM SIMD implementation.
    • Allow reading the XMP packet.
    • Admit more precision values in JPEG Lossless.
    Open source →
  3. 0.3.0 17 Oct 2022
    Release notes
    • The MSRV policy is now managed by the rust-version field in Cargo.toml.
    • The color transform can now be overridden as well as hinted with
      Decoder::set_color_transform.

    sha256sum:
    bc0000e42512c92e31c2252315bda326620a4e034105e900c98ec492fa077b3e target/package/jpeg-decoder-0.3.0.crate

    Open source →
    Release notes
    • The MSRV policy is now managed by the rust-version field in Cargo.toml.
    • The color transform can now be overridden as well as hinted with Decoder::set_color_transform.
    Open source →
  4. 0.2.6 08 May 2022
    Release notes
    • Another fix to allow usage in WASM target.
    • Decoding in the WASM target is now actively tested in CI.

    9478aa10f73e7528198d75109c8be5cd7d15fb530238040148d5f9a22d4c5b3b target/package/jpeg-decoder-0.2.6.crate

    Open source →
    Release notes
    • Another fix to allow usage in WASM target.
    • Decoding in the WASM target is now actively tested in CI.
    Open source →
  5. 0.2.5 02 May 2022
    Release notes
    • Fix single threaded usage in WASM target.
    Open source →
    Release notes
    • Fix single threaded usage in WASM target.
    Open source →
  6. 0.2.4 01 Apr 2022
    Release notes
    • Corrects minimal version requirements of dependency rayon.

    744c24117572563a98a7e9168a5ac1ee4a1ca7f702211258797bbe0ed0346c3c target/package/jpeg-decoder-0.2.4.crate

    Open source →
    Release notes
    • Corrects minimal version requirements of dependency rayon.
    Open source →
  7. 0.2.3 27 Mar 2022
    Release notes
    • Added Decoder::set_max_decoding_buffer_size which limits the bytes
      allocated for the output of the decoding process.
    • Added Arm64-Neon intrinsic implementation of idct and color conversion. This
      depends on a Rust nightly compiler feature (aarch64_target_feature) and
      it must be explicitly enabled. As soon as the minimum supported Rust version
      includes the stabilization of this feature, the code will be enabled by
      default and the feature changed to do nothing.

    a55ad40a2d27923f63b6fbde5934926176c69ac5e23da6ac05ebfaca984e163f target/package/jpeg-decoder-0.2.3.crate

    Open source →
    Release notes
    • Added Decoder::set_max_decoding_buffer_size which limits the bytes allocated for the output of the decoding process.
    • Added Arm64-Neon intrinsic implementation of idct and color conversion. This depends on a Rust nightly compiler feature (aarch64_target_feature) and it must be explicitly enabled. As soon as the minimum supported Rust version includes the stabilization of this feature, the code will be enabled by default and the feature changed to do nothing.
    Open source →
  8. 0.2.2 12 Feb 2022
    Release notes
    • Added and SSE3-specific SIMD intrinsic implementation for idct and color
      conversion. It will run if applicable targets are detect at runtime.
    • The SIMD implementation is not bit-for-bit compatible with non-SIMD output.
      You can enable the platform_independent feature, to ensure that only
      bit-for-bit equivalent code runs and output is the same on all platforms.
    • Improved performance some more by avoiding bounds checks with array types.
    • Multithreading is now used more frequently, without the rayon target, except
      on an explicit list of unsupported platforms.

    105fb082d64e2100074587f59a74231f771750c664af903f1f9f76c9dedfc6f1 target/package/jpeg-decoder-0.2.2.crate

    Open source →
    Release notes
    • Added and SSE3-specific SIMD intrinsic implementation for idct and color conversion. It will run if applicable targets are detect at runtime.
    • The SIMD implementation is not bit-for-bit compatible with non-SIMD output. You can enable the platform_independent feature, to ensure that only bit-for-bit equivalent code runs and output is the same on all platforms.
    • Improved performance some more by avoiding bounds checks with array types.
    • Multithreading is now used more frequently, without the rayon target, except on an explicit list of unsupported platforms.
    Open source →
  9. 0.2.1 09 Dec 2021
    Release notes
    • Fix decoding error due to conflict of lossless with some spectral selections.
    Open source →
    Release notes
    • Fix decoding error due to conflict of lossless with some spectral selections.
    Open source →
  10. 0.2.0 05 Dec 2021
    Release notes
    • Added Lossless JPEG support
    • Added support for EXIF and ICC data
    • Minimum supported rust version changed to 1.48 and no formal policy for bump releases for now
    • Minor stability fixes on invalid jpeg images
    Open source →
    Release notes
    • Added Lossless JPEG support
    • Added support for EXIF and ICC data
    • Minimum supported rust version changed to 1.48 and no formal policy for bump releases for now
    • Minor stability fixes on invalid jpeg images
    Open source →
  11. 0.1.22 29 Jan 2021
    Release notes
    • Fix panic on jpeg without frames.

    sha256sum:
    229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2 target/package/jpeg-decoder-0.1.22.crate

    Open source →
    Release notes
    • Fix panic on jpeg without frames.
    Open source →
  12. 0.1.21 24 Jan 2021
    Release notes
    • Fix incorrect order of MCUs in non-interleaved streams
    • DCT Progressive images with incomplete coefficient blocks are now rendered
    • Fix a panic on invalid dimensions
    • Reduce allocations and runtime of decoding
    • Rework multi-threading to run a thread per component
    Open source →
  13. 0.1.20 04 Jul 2020
    Release notes
    • Fix decoding of some progressive images failing
    • Several more performance improvements
    • Add PixelFormat::pixel_bytes to determine the size of pixels
    • Cleanup and clarification of the 8x8 idct implementation
    • Updated fuzzing harnesses and helpers
    Open source →
  14. 0.1.19 27 Apr 2020
    Release notes
    • Fix decoding returning too much image data
    • Fix recognizing padding in marker segments
    • Several decode performance improvements
    • Remove use of deprecated Error::description
    Open source →
  15. 0.1.18 10 Dec 2019
    Release notes
    • Fix two bugs causing panics introduced in 0.1.17.
    Open source →
  16. 0.1.17 08 Dec 2019
    Release notes
    • Minimum supported rust version changed to 1.34
    • Fix clippy::into_iter_on_array warning
    • Ignore extraneous bytes after SOS
    • Support IDCT Scaling
    Open source →
  17. 0.1.16 25 Aug 2019
    Release notes
    • Minimum supported rust version changed to 1.28
    • Allow zero length DHT segments
    Open source →
  18. 0.1.15 10 Jun 2018
    Release notes
    • Added support for WebAssembly and asm.js (thanks @CryZe!)
    • Bugfix for images with APP14 segments longer than 12 bytes.
    Open source →
  19. 0.1.14 15 Feb 2018
    Release notes
    • Updated rayon to 1.0.
    Open source →
  20. 0.1.13 14 Jun 2017
    Release notes
    • Updated rayon to 0.8.
    Open source →
  21. 0.1.12 07 Apr 2017
    Release notes
    • Fixed an integer overflow in derive_huffman_codes.
    • Updated rayon to 0.7.
    Open source →
  22. 0.1.11 09 Jan 2017
    Release notes
    • Fixed an integer overflow.
    • Updated byteorder to 1.0.
    Open source →
  23. 0.1.10 23 Dec 2016
    Release notes
    • Updated rayon to 0.6
    Open source →
  24. 0.1.9 12 Dec 2016
    Release notes
    • Added a generic integer upsampler, which brings support for some unusual subsampling schemes, e.g. 4:1:1 (thanks @iamrohit7!)
    • Made rayon optional through the rayon cargo feature (thanks @jackpot51!)
    Open source →
  25. 0.1.8 05 Nov 2016
    Release notes
    • Updated rayon to version 0.5.
    Open source →
  26. 0.1.7 04 Oct 2016
    Release notes
    • Added UnsupportedFeature::NonIntegerSubsamplingRatio error
    • Fixed a bug which could cause certain images to fail decoding
    • Fixed decoding of JPEGs which has a final RST marker in their entropy-coded data
    • Avoid allocating coefficients when calling read_info() on progressive JPEGs
    Open source →
  27. 0.1.6 12 Jul 2016
    Release notes
    • Added support for 16-bit quantization tables (even though the JPEG spec explicitly states "An 8-bit DCT-based process shall not use a 16-bit precision quantization table", but since libjpeg allows it there is little choice...)
    • Added support for decoding files with extraneous data (this violates the JPEG spec, but libjpeg allows it)
    • Fixed panic when decoding files without SOF
    • Fixed bug which caused files with certain APP marker segments to fail decoding
    Open source →
  28. 0.1.5 22 Jun 2016
    Release notes
    • Removed euclid and num-rational dependencies
    • Updated rayon to 0.4
    Open source →
  29. 0.1.4 20 Apr 2016
    Release notes
    • Replaced num with num-rational
    Open source →
  30. 0.1.3 06 Apr 2016
    Release notes
    • Updated byteorder to 0.5
    Open source →
  31. 0.1.2 08 Mar 2016
    Release notes
    • Fixed a bug which was causing some progressive JPEGs to fail decoding
    • Performance improvements
    Open source →
  32. 0.1.1 28 Feb 2016
    Release notes
    • Performance improvements
    Open source →
  33. 0.1.0 13 Feb 2016
    Release notes
    • Initial release
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive