Skip to content

Releases: Roughsketch/imagesize

v0.13.0

18 Jun 02:25
Compare
Choose a tag to compare

What's Changed

New Contributors

Also thanks to @virtualritz for initially introducing some formatting changes and bumping the edition.

Full Changelog: v0.12.0...v0.13.0

v0.12.0

11 May 00:57
Compare
Choose a tag to compare

Auto change log does not fully track everything since not everything went through PRs. I'll likely be more consistent with this in the future.

Overall changes:

New Formats

  • AVIF
  • DDS
  • EXR
  • Farbfeld
  • HDR
  • KTX2
  • PNM
  • QOI
  • TGA
  • VTF

Fixes

  • Fixed HEIF format returning an error when attribute field size was exactly 8
  • Fixed TIFF having stray debug asserts that may cause panics in debug builds

Other changes

  • Restructured code base to split out formats into their own individual source files
  • Reordered ImageType enum so that types will now be in alphabetical order
  • Added benchmarking via criterion to dev dependencies
  • Modified how tests check for values
  • Modified README so have examples that actually compile
  • Added doc comment about minimum data size required for methods to work (12 bytes)

What's Changed

New Contributors

Full Changelog: v0.11.0...v0.12.0

v0.11.0

06 Jan 00:00
Compare
Choose a tag to compare

What's Changed

New Contributors

  • @rsuu made their first contribution in #20

Full Changelog: v0.10.1...v0.11.0

v0.10.1

24 Sep 19:09
Compare
Choose a tag to compare

What's Changed

  • Support TIFF width and height in u16 by @gyk in #19

New Contributors

  • @gyk made their first contribution in #19

Full Changelog: v0.10.0...v0.10.1

ICO support and ability to use cursors instead of raw buffers

15 Jul 05:51
fb87270
Compare
Choose a tag to compare

Thanks to those who submitted PRs to make this release!

For this release the main changes are the following:

  • ICO support was added. By default ICO will use the largest size found as the dimensions returned.
  • A new method reader_size has been added which allows getting dimensions from anything implementing BufRead + Seek.

What's Changed

New Contributors

Full Changelog: v0.9.0...v0.10.0

JXL Support

04 Jul 04:37
Compare
Choose a tag to compare

This release has two changes. The main one is #13 which adds support for JXL images. This isn't a format I was aware of but @oscar-rc1 was kind enough to create a PR to add it.

Behind the scenes there was also some minor refactoring which may be expanded later. The interface should stay the same but I may work on restructuring things further in the future. I doubt there will be any forward facing interface changes though.

Support for lossless WEBP images

18 Aug 01:53
Compare
Choose a tag to compare

Recently I've been pointed to a great project that also deals with image size. I was curious as to how the support for some of the formats I don't include works, and while looking at that I noticed there was a type of webp I had never encountered before in the wild. In order to be thorough, I've patched up this missing hole which means lossless webp images are now supported.

As for the other missing formats, out of the ones they have that this library doesn't the only reasonable candidate for inclusion would be j2c, jp2, jcx, and mng, but I have personally never seen these formats and I don't want to include something unless it's actually used.

Internally there was also some cleanup regarding the interfaces and organization of tests.

Rework JPEG parsing to handle markers properly

10 Aug 18:32
Compare
Choose a tag to compare

The previous implementation of JPEG parsing relied on tags being the first thing encountered in an image, and having metadata not get in the way. This was a poor implementation and led to issues where JPEG files with EXIF data could show up as corrupted or report an improper size.

As of 0.8.7 the JPEG parsing has been reworked to instead read each JPEG marker, determine whether it is the dimension tag, and if not skip the entire length of the tag. This prevents the library from getting stuck inside metadata sections and reading unrelated data as invalid markers.

Clean up SOF check

10 Aug 01:08
Compare
Choose a tag to compare

After publishing 0.8.5 I was made aware that not all SOF markers are dimensions. In particular FF C4, FF C8, and FF CC do not contain valid dimension data. Instead of leaving this bug hidden inside, I've decided to push an update again.

I've also included a bunch of clippy fixes, but this is just to make me feel better about myself.

Accept all JPEG SOF variants

09 Aug 22:31
Compare
Choose a tag to compare

Previously I've only encountered JPG images using SOF0 or SOF2 (FF C0 or FF C2). However, #10 brought to my attention an SOF1 image. I looked up the SOF marker definition and it looks like C0 to CF are all valid SOF markers, so I've changed the check to accept them all.

I am missing tests for C3 to CF so I can't guarantee they are all the same, but if something breaks please open an issue. As of right now all JPG test images in the repo are working.