NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #628 most downloaded on PyPI
Read and write images and video across all major formats. Supports scientific and volumetric data.
Last release today
28 Sep 2026
Release timing varies
gaps range from 2 months to 10 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
14 years old
101 releases · first in 2012
Only run CD on main and fail fast (#698) (`e90494a`)
One column per quarter.
Allow plugin objects in plugin kwarg (#689) (`8f0f689`)
Fix BytesIO regression for legacy pillow (#688) (`924e1c5`)
Choose plugin based on extension and plugin lazy-import (#680) (`bdbe699`)
Resolve regression on imageJ TIFF hyperstacks (#682) (`7dc9b25`)
Consistently handle file opening/closing (#673) (`b852f45`)
Fix file extension bug when filename contains '#'. (#678) (`f3fa631`)
Allow devices above in ffmpeg (#675) (`1fc4208`)
Install ImageIO dependencies during release wheel build (#671) (`f1ee22a`)
More robust loading of FEI SEM data (#529 by jon-lab).
Fix deprecation warning for numpy.
(skipping version 2.7 to avoid confusion with Python v2.7.)
Mentioning here for completeness: imageio-ffmpeg 0.4.0 was also recently released, which fixes several (stability) issues for video io.
Reader.__len__ work again when length is inf (stream/unknown).-framerate input param for ffmpeg when using webcam, fixing webcam support on macOS.Fixed potential error when creating a new appdata directory.
Fixed a security vulnerability for Windows users that have dcmtk installed, and where an attacker can set the filename.
This will likely be the last release to support Python 2.7.
Fixed:
image_as_uint (#451 by clintg6).Added:
mimread and mvolread (#442 by Chris Barnes).The ffmpeg plugin has been refactored:
The ffmpeg plugin has been refactored:
pip install imageio-ffmpeg instead of the download step.inf as the number of
frames. Use reader.count_frames() to get the actual number, or estimate
it from the fps and duration in the meta data.CannotReadFrameError.Other changes:
Fix installation issue on flavors of Ubuntu 14.04 /w Python 2.7 (#378).
np.frombuffer instead of np.fromstring in some cases.Renamed Image class to Array and add documentation for this ndarray subclass.
Image class to Array and add documentation for this ndarray subclass.Console entry points for binary downloads (by Paul Mueller).
mimwrite() and mvolwrite() functions also work with generators.tifffile.py implementation.imread().fps argument to force reading at a specific FPS.New format for grabbing screenshots (for Windows and OS X).
volread() to obtain the image
data as one array.conda install ffmpeg -c conda-forge).close() on Pillow images.Fix animated gif writer that was broken in newer Pillow version.
A bugfix release:
seek() and tell().Minor improvements related to Debian packaging.
Minor improvements related to Debian packaging.
Standard images now have to be specified using e.g. imageio.imread('imageio:chelsea.png') to be more explicit about being a special case and potential
imageio.imread('imageio:chelsea.png') to be more explicit about being
a special case and potentially involving a download.Nothing published for this version
This release introduces a new plugin based on Pillow, which will take care of the "common formats" like PNG and JPEG, which was previously the role of
This release introduces a new plugin based on Pillow, which will take care of the "common formats" like PNG and JPEG, which was previously the role of the FreeImage plugin. The latter is still available but the FreeImage library is no longer distributed by default.
Nothing published for this version
Freeimage conda package (in main channel) is updated and works on all major OS's.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
DICOM reader closes file after reading pixel data (avoid too-many-open-files error)
Nothing published for this version
Raise error if URI could not be understood.
Nothing published for this version
Fix in dicom reader (RescaleSlope and RescaleIntercept were not found)
Fix installation/distribution issue.
This was a long haul. Implemented several plugins for animation and volumetric data to give an idea of what sort of API's work and which do not.
This was a long haul. Implemented several plugins for animation and volumetric data to give an idea of what sort of API's work and which do not.
Fixed issue 2 (fail at instal, introduced when implementing freezing)
* Improved documentation. * Worked on distribution. * Freezing should work now.
Introduction of the imageio.help function.
Your coding agent can read these notes before it upgrades. Set up the MCP server →