9.3.0 ----- Backwards Incompatible Changes ============================== TODO ^^^^ Deprecations ============ TODO ^^^^ TODO API Changes =========== TODO ^^^^ TODO API Additions ============= Allow default ImageDraw font to be set ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Rather than specifying a font when calling text-related ImageDraw methods, or setting a font on each ImageDraw instance, the default font can now be set for all future ImageDraw operations:: from PIL import ImageDraw, ImageFont ImageDraw.ImageDraw.font = ImageFont.truetype("Tests/fonts/FreeMono.ttf") Saving multiple MPO frames ^^^^^^^^^^^^^^^^^^^^^^^^^^ Multiple MPO frames can now be saved. Using the ``save_all`` argument, all of an image's frames will be saved to file:: from PIL import Image im = Image.open("frozenpond.mpo") im.save(out, save_all=True) Additional images can also be appended when saving, by combining the ``save_all`` argument with the ``append_images`` argument:: im.save(out, save_all=True, append_images=[im1, im2, ...]) Security ======== TODO ^^^^ TODO Other Changes ============= Added DDS ATI1, ATI2 and BC6H reading ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Support has been added to read the ATI1, ATI2 and BC6H formats of DDS images. Show all frames with ImageShow ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ When calling :py:meth:`~PIL.Image.Image.show` or using :py:mod:`~PIL.ImageShow`, all frames will now be shown.