Releases: kyamagu/skia-python
v144.0.post2
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
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.ApplyPerspectiveClipremoved upstream. Associated APIs take one fewer argument. -
skia.PathBuilder.incReservetakes 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
- M144 public cleaned by @HinTak in #358
- M139 public by @HinTak in #342
- M140 public by @HinTak in #346
- M141 public by @HinTak in #349
- Docs: Add missing 'import sys' to Canvas Creation tutorial by @kimssammwu in #351
- M142 public by @HinTak in #353
- M143 public by @HinTak in #355
- M144 public by @HinTak in #356
- Revert "Upload wheel-fedora:42" by @HinTak in #360
New Contributors
- @kimssammwu made their first contribution in #351
Full Changelog: v138.0...v144.0.post1
v144.0
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.ApplyPerspectiveClipremoved upstream. Associated APIs take one fewer argument. -
skia.PathBuilder.incReservetakes 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
- M144 public cleaned by @HinTak in #358
- M139 public by @HinTak in #342
- M140 public by @HinTak in #346
- M141 public by @HinTak in #349
- Docs: Add missing 'import sys' to Canvas Creation tutorial by @kimssammwu in #351
- M142 public by @HinTak in #353
- M143 public by @HinTak in #355
- M144 public by @HinTak in #356
- Revert "Upload wheel-fedora:42" by @HinTak in #360
New Contributors
- @kimssammwu made their first contribution in #351
Full Changelog: v138.0...v144.0
v138.0
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
- Use python 3.11, and install libEGL for docs by @HinTak in #335
- Python 3.8 EOL on github CI by @HinTak in #337
- V138.0 release by @HinTak in #341
Full Changelog: v138.0rc1...v138.0
v87.9
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
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
- M138 public by @HinTak in #331
- Use ubuntu-22.04-arm host instead of ubuntu-22.04 for aarch64 builds by @HinTak in #314
- M137 public by @HinTak in #321
- Runtime effect additions by @HinTak in #322
- Canvas draw text on path by @HinTak in #329
- EGL contexts in GRDirectContext.MakeGL, mark2 by @HinTak in #303
- Surface colortype init+doc additions by @HinTak in #324
Full Changelog: v136.b13...v138.0rc1
v87.9 rc1
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
manylinux_2_28, newer compiler update and speeding up aarch64 builds; no functionality change.
Full Changelog: v87.7...v87.8
v136 beta 13 Release
-
skia.PDF.MakeDocument()is rewritten to give old behavior.
Upstream'sSkPDFMetdatahas added 2 required fieldsjpegDecoderandjpegEncoder.
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 bareSkPDF::Metadataconstructor 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