Skip to content

Releases: kyamagu/skia-python

v144.0.post2

18 Mar 21:50
v144.0.post2

Choose a tag to compare

Bumping release up to 144.0.post2

Reverse upstream PNG change to fix m144 regression (#362) with Paint.setShader(image.makeShader(...)), and adding Python 3.14 Free-Threading (PEP 703 / cp314t) to build matrix.

Full Changelog: v144.0...v144.0.post2

v144.0.post1

11 Mar 07:00
v144.0.post1

Choose a tag to compare

Functionally identical to v144.0, bumped version for incomplete v144.0 pypi upload, and bumped cibuildwheel version for more reliable CI provisioning.

Since m138:

  • Vulkan APIs now take skia.VkFormat.* skia.VkImageLayout.* mnemonics, instead of integer values in vulkan C headers.
    (workaround for pybind11 upstream bug 5991)

  • skia.ApplyPerspectiveClip removed upstream. Associated APIs take one fewer argument.

  • skia.PathBuilder.incReserve takes one more argument.

  • CI: we now build for macos-14 (up from macos-13), and also python 3.14

  • Updates the project to Skia milestone m144, aligning Python bindings/tests/CI with upstream API changes (SkSpan-based signatures, overload disambiguation). Not user-visible.

What's Changed

New Contributors

Full Changelog: v138.0...v144.0.post1

v144.0

06 Mar 02:09
3402866

Choose a tag to compare

Since m138:

  • Vulkan APIs now take skia.VkFormat.* skia.VkImageLayout.* mnemonics, instead of integer values in vulkan C headers.
    (workaround for pybind11 upstream bug 5991)

  • skia.ApplyPerspectiveClip removed upstream. Associated APIs take one fewer argument.

  • skia.PathBuilder.incReserve takes one more argument.

  • CI: we now build for macos-14 (up from macos-13), and also python 3.14

  • Updates the project to Skia milestone m144, aligning Python bindings/tests/CI with upstream API changes (SkSpan-based signatures, overload disambiguation). Not user-visible.

What's Changed

New Contributors

Full Changelog: v138.0...v144.0

v138.0

09 Jun 13:06
v138.0
9ffb045

Choose a tag to compare

More than 4 years since v87. Many additions. See README.m116 all the way to README.m138 in the release notes directory for detailed changes.

IMPORTANT: Linux users: libEGL.so (from mesa-libEGL, libglvnd, or your graphic card's vendor e.g. NVidia) is required to be present on Linux hosts.

There is a small Migration Guide for upgrading from v87.

What's Changed

Full Changelog: v138.0rc1...v138.0

v87.9

08 Jun 00:39
v87.9

Choose a tag to compare

Since m87.8, added GrGLInterface.MakeEGL and GrGLInterface.MakeGLX for explicitly choosing GLX or EGL opengl initialization, and native build for both Aarch64 Linux and Arm64 Windows. Numpy 2.3.0 is required for Arm64 windows.

IMPORTANT: Starting v138rc1/v87.9rc1, libEGL.so (from mesa-libEGL, libglvnd, or your graphic card's vendor e.g. NVidia) is required to be present on Linux hosts.

Since v879rc1, updated Numpy dependency from 2.3.0rc1 to Numpy 2.3.0 , and documentation-related changes.

Full Changelog: v87.8...v87.9

v138.0 rc1 release

04 Jun 20:49
v138.0rc1
dc2981f

Choose a tag to compare

v138.0 rc1 release Pre-release
Pre-release

m138 includes a lot of changes in the CI build machinery, OpenGL,
shader effects, and API coverage closer to other Skia bindings
(Skia4Delphi and SkiaSharp). We now offers arm64 window wheels for windows 11. On Linux, we now offer OpenGL initializaion with EGL as an option (in addition to the GLX default). IMPORTANT: The presence of libEGL.so (part of mesa-libEGL / libglvnd-egl) is now a requirement on Linux.

arm64 windows requires Numpy 2.3.0rc1 .

There are examples of using OpenGL with skia-python in
GLFW, SDL2, SDL3, WX, GTK3, GTK4, QT5, QT6 at
https://github.com/HinTak/skia-python-examples/ .

README.m138 contains a longer description.

There is a v87.9 rc1 which contains only the arm64 window wheels for windows 11 and linux EGL addition.

What's Changed

Full Changelog: v136.b13...v138.0rc1

v87.9 rc1

04 Jun 16:28
v87.9rc1

Choose a tag to compare

v87.9 rc1 Pre-release
Pre-release

Since m87.8, added GrGLInterface.MakeEGL and GrGLInterface.MakeGLX for explicitly choosing GLX or EGL opengl initialization, and
native build for both Aarch64 Linux and Arm64 Windows. Numpy 2.3.0rc1 is required for Arm64 windows.

IMPORTANT: Starting v138rc1/v87.9rc1, libEGL.so (from mesa-libEGL, libglvnd, or your graphic card's vendor e.g. NVidia) is required to be present on Linux hosts.

Full Changelog: v87.8...v87.9rc1

v87.8

08 Apr 05:12
v87.8

Choose a tag to compare

manylinux_2_28, newer compiler update and speeding up aarch64 builds; no functionality change.

Full Changelog: v87.7...v87.8

v136 beta 13 Release

06 Apr 21:17
v136.b13
ac01599

Choose a tag to compare

v136 beta 13 Release Pre-release
Pre-release
  • skia.PDF.MakeDocument() is rewritten to give old behavior.
    Upstream's SkPDFMetdata has added 2 required fields jpegDecoder and jpegEncoder.
    SkPDF::MakeDocument(SkWStream*) now requires them supplied to make a reasonable PDF.
    skia.PDF.Metadata() (without arguments) is now initialized with Skia's built-in jpeg
    encoder and decoder. The bare SkPDF::Metadata constructor without jpeg
    encoder/decoder set is not exposed to Python code at the moment. REVISIT when
    there is valid usage of alternative jpeg encoder/decoder to the built-in.

  • Removing a few @pytest.mark.skip's before @pytest.fixture.
    They have no effect and now generates warning. Mistakenly added a while ago.

What's Changed

Full Changelog: v134.b12...v136.b13

v87.7

15 Mar 08:43
v87.7

Choose a tag to compare

Identical to v87.6, with python 3.13 support (and fix to #295), and misc necessary CI build machinery updates since v87.6.

Full Changelog: v87.6...v87.7