Releases: kyamagu/skia-python
v132.0 beta 11 Release
Since m131:
-
PathEffect.{DashType, DashInfo, asADash}
withdrawn.
Upstream removed them from public API in m132. -
We now bundle a
icudtl.dat
for windows. This fixes windows-specific problems
with SkUnicode, libSkShaper, and SkParagraph. Thanks @MeetWq for the change.
Relevant CI tests re-enabled and added. -
Upstream's
SkNamedTransferFn::*
now available ascms.NamedTransferFn.*
,
andSkNamedGamut::*
ascms.NamedGamut.*
. These are used in RuntimeEffect-related
code. -
More overloads of
SkImage::makeShader
added, andSkImage::makeRawShader
added
asImage.makeRawShader
. -
We binds
SkRuntimeEffect
asskia.RuntimeEffect
. Added some helper classes:
SkV3
asskia.V3
,SkV4
asskia.V4
,
SkRuntimeEffect::Result
asRuntimeEffectResult
,
SkRuntimeEffect::ChildPtr
asRuntimeEffectChildPtr
,
SkRuntimeEffectBuilder
asRuntimeEffectBuilder
,
std::vector<SkRuntimeEffect::ChildPtr>
asVectorRuntimeEffectChildPtr
,
SkSpan<const SkRuntimeEffect::ChildPtr>
asSpanRuntimeEffectChildPtr
,
SkRuntimeEffectBuilder::BuilderUniform
asRuntimeEffectBuilderUniform
,
SkRuntimeEffectBuilder::BuilderChild
asRuntimeEffectBuilderChild
.
Details are subjected to change. We ported all 9 of current upstream SkSL c++ examples,
hosted elsewhere.
Since m130:
-
We now build for Mac OS 13 (12 deprecated at github), and support python 3.13
-
GL examples and tests updated, to restrict "Mac OS friendly" GL settings to Mac only.
Some Linux installations - specifically, inside github CI - are sensitive to those;
typical desktop linux boxes with real graphic cards seem not to be affected. -
PDF.StructureElementNode.fAdditionalNodeIds
withdrawn.
SkPDF::StructureElementNode::fAdditionalNodeIds
removed upstream.
What's Changed
- Sk runtime effect binding by @HinTak in #274
- Make GL version setting specific to Mac OS only by @HinTak in #267
- M131 public by @HinTak in #272
- M131 public py3.13 2nd try by @HinTak in #275
- V130.b10+py3.13 by @HinTak in #277
- Icudtl.dat fix try 2 by @HinTak in #279
- M132 public by @HinTak in #281
Full Changelog: v130.b10...v132.b11
v130.0 beta 10 Release
Since m129:
- Upstream removed
SkColorFilter::filterColor
, soColorFilter.filterColor
is now emulated.
Since m128 (last beta release):
-
We now build for Mac OS 11.0 (instead of 10.13; github CI warning)
-
We now bind uptream's experimental
skparagraph
module and theSkParagraph
class,
to provide multi-line text paragraph layout.
The functionality is under theskia.textlayout
namespace, asParagraph
, etc.-
There is a
FontMgr.OneFontMgr()
method which takes a font file or data, which returns
a font manager having knowledge of exactly one font.FontMgr.New_Custom_Empty()
has been
overloaded as an alias to this, too. -
The
SkUnicode
class is now available under python asskia.Unicode
.
The constructor is known to fail on windows - It is likely that downloading
aicudtl.dat
file, renaming from the versioned data-bin-{l,b}.zip in
https://github.com/unicode-org/icu/releases, is needed. Windows users please report
success/failure on this. -
There are two examples
shape_text.py
(a python port of upstream's example), and
skparagraph-example.py
hosted elsewhere. -
Note that the entire
skparagraph
module is still experimental and subjected to change.
Font choices on Linux are sensitive to LANG and FC_LANG, and you may need to set/unset
them for desired outcome.
See filed issue upstream for details and updates.
-
-
Improved preview of default arguments in function signatures
-
Some parametric tests involving
skia.SurfaceProps
removed during the m87->m116 changes
are re-added.
What's Changed
- Update README.md by @HinTak in #255
- Skparagraph binding by @HinTak in #258
- fix to pre-release CI cache management by @HinTak in #256
- M129 public by @HinTak in #260
- M130 public by @HinTak in #265
Full Changelog: v128.0b9...v130.b10
v128.0 beta9 Release
Since m127:
- Vulkan symbols are renamed to skgpu::* . We use the older GrVk* forms,
but also alias them to skgpu.Vulkan* , under the skia.skgpu namespace
(i.e. similar to upstream's skgpu::, with python syntax), so that both
m87-like and current continue to work.
Since m126:
-
CentOS 7 EOL on 1 Jul 2024: small update to how we build the packages; We now more explicitly
build for mac os 10.13+ in Skia. -
Adding references and code snipplets to OpenGL settings for Apple users. fixes #214
-
GrVkExtensionFlags & GrVkFeatureFlags removed upsteam.
-
Some redirections/aliases are added to allow newly written python codes to look like
their current C counterparts (in addition to supporting a m87-like API).
We also added some direct calls to currently APIs which were accessible
only via m87-like emulations. Re-enabled a few parameterized tests removed
during the m87->m116 transition.
What's Changed
- Improve "convert to PIL" example by @lucach in #250
- M128 public by @HinTak in #253
- Adding references and code snipplets to OpenGL settings for Apple users by @HinTak in #249
- M127 public by @HinTak in #251
Full Changelog: v126.0b8...v128.0b9
v126.0 beta8 Release
No user-visible change between m125 and m126
(SkCanvas::drawArc overloaded; Not adding SkArc class yet)
New to m125:
- Metal-enabled on Mac OS, and added Metal APIs equivalents to Vulkan's.
Changes since m124:
-
Dropping Python 3.7 support
-
GrContext_Base.defaultBackendFormat and GrContext_Base.compressedBackendFormat
re-enabled (disabled between m87 and m116) -
Corrected two typos in Vulkan code
-
MemoryStream.asData and MemoryStream.skipToAlign4 now emulated
(changed/removed upstream)
What's Changed
Full Changelog: v124.0b7...v126.0b8
v87.6 Release
This is a minimal maintenance update from v87.5, mainly in the supported CI build matrix: updated CI build hosts and github CI actions, dropping python 3.7, adding linux/aarch64 builds and python 3.12. Functionally, it differs from v87.5 by only two typos.
What's Changed
- ci: build wheels also for linux/aarch64 by @lucach in #189
- Update Bitmap.cpp - obviously a cut and paste typo from Pixmap.cpp by @HinTak in #193
- Build Python 3.12 wheels from @madig #203
- Migrate to trusted publisher pypi workflow from @kyamagu #228
- Add missing PyPI upload environment from @kyamagu #229
Full Changelog: v87.5...v87.6
v124.0 beta7 release
New in v124.0:
- The skia.SamplingOptions class has been fleshed out. See README.m124 to migrate from m87 FilterQuality-based code.
What's Changed
- Vulkan initialization has changed.
- skia.Paint().getBlendMode() is now emulated.
- Upstream deleted SkFontMgr::RefDefault(); copied into skia-python to allow python code to continue to work
- M124 public by @HinTak in #236
- M123 public by @HinTak in #234
- M122 public by @HinTak in #232
git-sync-deps
seems to no longer require or support Python 2 by @pavpanchekha in #245
New Contributors
- @pavpanchekha made their first contribution in #245
Special thanks for @pavpanchekha for fixing "Identify what breaks in m122 for font(typeface("")) on mac os" #241 , which happened after the v122+ developement.
See README.m122 , README.m123 , README.m124 for details since v121.0 .
Full Changelog: v121.0b6...v124.0b7
v121.0 beta6 release
New to this release:
Typeface.MakeEmpty()
Since m120:
Typeface()
,Typeface.MakeDefault()
,Font()
andFont(None, ...)
("default font/typeface") are deprecated upstream and usage now triggers warnings. Please migrate to explicit family/file/style choices.
What's Changed
- M121 public by @HinTak in #222
- Migrate to trusted publisher pypi workflow by @kyamagu in #228
- Add missing PyPI upload environment by @kyamagu in #229
See README.m121 for details.
Full Changelog: v120.0b5...v121.0b6
v120.0 beta5 release
New to this release:
-
Rudimentary support (TextBlob::MakeFromShapedText) of text-shaping via
upstream's libSkShaper module. (#195) -
Option to use freetype as fontmgr on non-linux (#213) - using
skia.FontMgr.New_Custom_Empty() -
OT-SVG font support is on by default now (#212, also see #195).
-
Vulkan is enabled for Linux/Windows.
What's Changed
Details in README.m120
Full Changelog: v119.0b4...v120.0b5
v119.0 beta4 release
What's Changed
- Fix status badge in README.md by @kyamagu in #202
- Build Python 3.12 wheels by @madig in #203
- M119 public by @HinTak in #205
- M118 public by @HinTak in #204
- GL example in tutorial will break on m118+ upgrade #209
Brief description of changes in m118, m119: README.m118, README.m119.
New Contributors
Full Changelog: v117.0b3...v119.0b4
v117.0 beta3 release
What's Changed
- M117 public by @HinTak in #197
- m116/m117 API gaps against m87.5 #198
- bug fix in TextBlob textcount for non-ascii texts #200
Brief description of changes in m117: README.m117.md
New Contributors
- @jonathanhogg made their first contribution in #198
Full Changelog: v116.0b2...v117.0b3