The last year was mainly one of stability. Working up to 0.23
we had fixed
many outstanding stability risks and it continues to be one of the most
long-serving major versions in a while. In this post you find an overview on
the massive progress made with it, and outstanding issues that you could
contribute towards in 2021.
View APNG with emulsion and image
Emulsion is a fast and minimalistic image viewer that runs on modern graphic
interfaces and uses image
for file loading. Since the release of 4.0
it
also supports viewing animated PNGs (APNG). This is enabled by the new Apng
interface added in release 0.23.6
of image
. You can find more information
and the newest releases here:
APNG support and `miniz_oxide`
The release of png
version 0.16.5
was one of the most personally exciting
ones recently. It contains APNG support and large decoding improvements that
will benefit everyone, both of which have been anticipated and planned for
quite a while.
Release of image version 0.23
While the 0.22
release series received a few bug fixes and feature releases,
the next major version was being worked on in the background, and comes with
improvements to error handling, and the buffer and loading interfaces. A more
detailed view on the changes is in the following paragraphs.
Fuzzing and image reading with 0.22.3
The image
crate offers a powerful and versatile core of operations for
encoding, decoding and manipulating images. It is used in game libraries,
graphics API bindings and, as the pool of Rust programs expands, even in
editors. It very recently reached 1.000.000 total downloads 🎉. Given
the scope of the project, it isn’t perfect and may never be, but it works for
many real world use cases and we are grateful for all the positive feedback we
get.
Release of version 0.22
We, the image-rs group, are glad to announce the release of a new version of
the central image
library. This is especially noteworthy since it resolves
some long standing interface issues, removes some old deprecated items and
marks some new ones, and finally contains a plethora of improvement to the set
of image decoders and encoders.
Advisory about potential memory unsafety issues
While reviewing some unsafe Vec::from_raw_parts
operations within the
library, trying to justify their existence with stronger reasoning, we noticed
that they instead did not meet the required conditions set by the standard
library. This unsoundness was quickly removed, but we noted that the same
unjustified reasoning had been applied by a dependency introduced in 0.21
.
Hello, image-rs
The image related projects have been moved out of the Piston organization. We
are excited to continue the work on image processing under the new group,
image-rs
. The project remains as much in the hands of the community as before
but freed from the strong ties to the game engine. We’ll have two groups of
contributors: