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, added since 138.0rc1 .

https://github.com/kyamagu/skia-python/releases/tag/v138.0
v87.9 is the last of the v87 releases. Numpy 2.3.0 proper was out a few days 
ago.
    On Wednesday 4 June 2025 at 23:33:26 BST, Hin-Tak Leung 
<[email protected]> wrote:  
 
  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 . (I submitted the arm64 windows CI build 
pull)

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/ . As 
noted earlier, OpenGL with skia-python under GTK4 (even in X11) requires the 
EGL init code. There is a QT6 regression bug filed 
https://bugreports.qt.io/browse/QTBUG-137158 .

Longer details at 
https://github.com/kyamagu/skia-python/blob/main/relnotes/README.m138.md

v87.9rc1 is out with just the arm64 windows addtion, and the EGL enhancement 
(backported from skia m122/m23-ish ...) on top of the previous v87 release.

As I wrote a while ago, when numpy 2.3.0 proper comes out, the last of v87 will 
be out, and depending on when, a skia-python v138.1 / v139/v140 will be the 
next release. There are still some upgrade incompatibility between v87 and 
v13x, YMMV.

Latest M138 tests: 2199 passed, 104 skipped, 18 xfailed, 26 warnings
M87: 2173 passed, 27 skipped, 8 xfailed
M87 went +2 from two new EGL/GLX tests from 2171.

About 100 new tests have been added and another ~70 old one skipped (i.e. where 
the incompatibility is) between m87 and m138.

My private repo has 2229 / 98 / 20 / 37 . I think the extras are with extra 
test files.
     On Thursday 24 April 2025 at 04:04:31 BST, Hin-Tak Leung 
<[email protected]> wrote:  
 
 Hi,

The current idea is to just call the skia-python release which adds windows on 
ARM64 support (either v138 in about 5 weeks' time, or v140 in 3 months' time) 
the next stable. There will be one more v87 release, v87.9, just before that, 
with some aarch64 linux updates, with or without ARM64 windows support. The 
main reason is that it is increasingly hard trying to build the 4-year-old 
upstream m87 on modern compilers / platforms / newer python versions. It has 
been quite painful just continuing aarch64 linux builds, and it is not clear at 
this point whether m87 on ARM64 windows is feasible. Upstream Google never 
supported skia m87 on ARM64 linux or ARM windows, and upstream m87 was 
end-of-life over 4 years ago anyway. The numbering is about a month apart, so 
138 - 87 is 51, or a bit more than 4 years (4x12=48). Typically, Google 
supports about 6 versions / 6 months. The numbering of Skia is identical with 
Chrome's - Chrome 136.x.y.z is built with Skia m136, etc.

The skia-python m1xx series is currentlly v136.b13 , the 13th "beta" - it is 
called "beta" largely, because it is not 100% ( I think it is about 93%, with a 
small rarely used / obscure / withdrawn %) compatible / upgradable from m87 . 
Originally it was thought we'd continue for another year to about v15x and 
~20th "beta" to get closer to smoother compatibility / upgradability with few 
surprises. Adding new platform seems to be a good clean exscue for breaking 
some backward compatibility / upgradability.

Anyway, there are some significant new functionalilty - SVG support (and 
OT-SVG), COLRv1, runtime shader effects. etc.

There are two new examples "SkSL_ShaderMulti+SDL2.py" and "SkSL_Mouse+SDL2.py" 
landed in
https://github.com/HinTak/skia-python-examples/ , which tries to re-implements 
most of the animations on https://shaders.skia.org/ - have a go a running the 
former - it is quite pretty, honest. There will be some update in v138 / v140 
to improve running sksl snipplets, unmodied from https://shaders.skia.org , in 
skia-python. (with v136, there are some sksl adjustments / hacks which I hope 
to remove).

I'd say, people give it some thought in upgrading to v1xx if they are still 
using v87. File issues - preferably with patches for fixes :-) - if there are 
important things missing. If you use skia-python for anything corporate / 
official / serious, please also consider commissioning / sponsoring me to 
finish off that last few (7?) %.

FWIW, I think WebkitGTK switching from Cairo to Skia in 2.46 about 6 months 
ago(?) is poor towards the eco-system. Anyway.

Thanks for reading so far.






    

Reply via email to