Skip to content

Releases: kyamagu/skia-python

v132.0 beta 11 Release

14 Nov 11:05
db7d7fc
Compare
Choose a tag to compare
Pre-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 as cms.NamedTransferFn.*,
    and SkNamedGamut::* as cms.NamedGamut.*. These are used in RuntimeEffect-related
    code.

  • More overloads of SkImage::makeShader added, and SkImage::makeRawShader added
    as Image.makeRawShader.

  • We binds SkRuntimeEffect as skia.RuntimeEffect. Added some helper classes:
    SkV3 as skia.V3, SkV4 as skia.V4,
    SkRuntimeEffect::Result as RuntimeEffectResult,
    SkRuntimeEffect::ChildPtr as RuntimeEffectChildPtr,
    SkRuntimeEffectBuilder as RuntimeEffectBuilder,
    std::vector<SkRuntimeEffect::ChildPtr> as VectorRuntimeEffectChildPtr,
    SkSpan<const SkRuntimeEffect::ChildPtr> as SpanRuntimeEffectChildPtr,
    SkRuntimeEffectBuilder::BuilderUniform as RuntimeEffectBuilderUniform,
    SkRuntimeEffectBuilder::BuilderChild as RuntimeEffectBuilderChild.
    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

Full Changelog: v130.b10...v132.b11

v130.0 beta 10 Release

20 Sep 21:44
57e705c
Compare
Choose a tag to compare
Pre-release

Since m129:

  • Upstream removed SkColorFilter::filterColor, so ColorFilter.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 the SkParagraph class,
    to provide multi-line text paragraph layout.
    The functionality is under the skia.textlayout namespace, as Paragraph, 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 as skia.Unicode.
      The constructor is known to fail on windows - It is likely that downloading
      a icudtl.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

Full Changelog: v128.0b9...v130.b10

v128.0 beta9 Release

29 Jul 15:56
ec0fe5b
Compare
Choose a tag to compare
Pre-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

Full Changelog: v126.0b8...v128.0b9

v126.0 beta8 Release

20 May 21:48
e0b030c
Compare
Choose a tag to compare
v126.0 beta8 Release Pre-release
Pre-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

16 May 15:58
Compare
Choose a tag to compare

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

30 Apr 21:34
59f98a8
Compare
Choose a tag to compare
Pre-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

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

29 Jan 12:19
a9ce10f
Compare
Choose a tag to compare
v121.0 beta6 release Pre-release
Pre-release

New to this release:

  • Typeface.MakeEmpty()

Since m120:

  • Typeface(),Typeface.MakeDefault(), Font() and Font(None, ...) ("default font/typeface") are deprecated upstream and usage now triggers warnings. Please migrate to explicit family/file/style choices.

What's Changed

See README.m121 for details.

Full Changelog: v120.0b5...v121.0b6

v120.0 beta5 release

05 Dec 11:24
8025331
Compare
Choose a tag to compare
v120.0 beta5 release Pre-release
Pre-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

01 Nov 16:07
a942b21
Compare
Choose a tag to compare
v119.0 beta4 release Pre-release
Pre-release

What's Changed

Brief description of changes in m118, m119: README.m118, README.m119.

New Contributors

Full Changelog: v117.0b3...v119.0b4

v117.0 beta3 release

23 Sep 00:04
d13a801
Compare
Choose a tag to compare
v117.0 beta3 release Pre-release
Pre-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

Full Changelog: v116.0b2...v117.0b3