The Kivy team is happy to announce the release of Kivy 2.3.0
Kivy is an open-source Python framework for developing GUI apps that work cross-platform, including desktop, mobile and embedded platforms.
Kivy is MIT licensed, actively developed by a great community and is supported by many projects managed by the Kivy Organization.
Installation instructions and Kivy Docs are hosted on the Kivy Website
Currently supported Python versions are 3.7-3.12
This marks the final release of the 2.x.x series. Note that anything deprecated in 1.x.x and 2.x.x will be removed in the upcoming major version, 3.0.0.
Scheduled removals and notable changes for Kivy 3.0.0 will be detailed in an upcoming statement over the next few weeks.
This release is the last to support Python 3.7 and Windows 32-bit. We strongly encourage users to migrate their environments accordingly.
Highlights
- [:repo:
8298
]: core-providers (audio): removes deprecatedstatus
property - [:repo:
8299
]: core-providers (audio): removes deprecatedfilename
property - [:repo:
8300
]: core-providers (window): Removes deprecatedtoggle_fullscreen
method - [:repo:
8309
]: Add graphics with antialiasing:SmoothRectangle
,SmoothEllipse
,SmoothRoundedRectangle
,SmoothQuad
andSmoothTriangle
- [:repo:
8313
]: Linux dependencies: Buildlibpng16
forfreetype
so can render colored emoji - [:repo:
8315
]: Remove the extra position added to undo list while using Shift key - [:repo:
8317
]: macOS dependencies: Buildlibpng16
forfreetype
, so can render colored emoji - [:repo:
8495
]: Honour multiline=True/False while pasting, Fix Scroll afterbackspace
andundo
. - [:repo:
8497
]: Added spanish layout json for the vkeyboard - [:repo:
8503
]: Pillow text provider: useget_bbox
whenget_size
is not available. Allows latest versions of pillow to work along with older ones.
Deprecated
- [:repo:
8459
]: Deprecatekivy.utils.interpolate
and improve related docs
Kv-lang
- [:repo:
8206
]: Improved KV-lang parser error info when indentation is invalid
Misc
- [:repo:
8301
]: Rework customgarden
importer to avoid usage ofimp
module (removed in Python3.12
) - [:repo:
8357
]: Apply style fixes as suggested by new flake8 version - [:repo:
8443
]: Slow down no-response bot - [:repo:
8447
]: Remove bountysource link, as bountysource looks died. - [:repo:
8453
]: Update support-requests action - [:repo:
8459
]: Deprecatekivy.utils.interpolate
and improve related docs
Packaging
- [:repo:
8428
]: Addbalenalib/raspberrypi3-debian-python:3.11-bookworm
to rpi builds for newer RPi OS
Widgets
- [:repo:
8276
]:Image
: Fix stencil instructions leaking to usercanvas.before
/canvas
instructions - [:repo:
8315
]: Remove the extra position added to undo list while using Shift key - [:repo:
8389
]: Fixes a regression that prevents the setting panel to load - [:repo:
8492
]:ColorWheel
andColorPicker
: simplify, cleans up and add tests - [:repo:
8495
]: Honour multiline=True/False while pasting, Fix Scroll afterbackspace
andundo
. - [:repo:
8535
]: Fix text attributes not changing after the settings panel is opened
Core-app
- [:repo:
8345
]: Prevent apps from crashing whensys.stderr
isNone
(pythonw and pyinstaller 5.7) - [:repo:
8383
]: Fix stencil operations whenKIVY_WINDOW=x11
Core-providers
- [:repo:
8218
]: Remove redundantfrom kivy.base import EventLoop
import causing crashes inwindow_sdl2
- [:repo:
8296
]: WindowSDL: Add opacity feature - [:repo:
8298
]: core-providers (audio): removes deprecatedstatus
property - [:repo:
8299
]: core-providers (audio): removes deprecatedfilename
property - [:repo:
8300
]: core-providers (window): Removes deprecatedtoggle_fullscreen
method - [:repo:
8342
]: Clipboard: fixes blank string being pasted into clipboard when using the defaultwin32
backend - [:repo:
8435
]: Fixes markup[sup]
followed by[sub]
doesn't work (issue #8077) - [:repo:
8446
]:Window.mouse_pos
is incorrect if the scale factor in Windows is not 100%. - [:repo:
8490
]:SetClipboardData
requires a memory object allocated withGMEM_MOVEABLE
(and locks) - [:repo:
8503
]: Pillow text provider: useget_bbox
whenget_size
is not available. Allows latest versions of pillow to work along with older ones. - [:repo:
8510
]: New feature: Addlimit_render_to_text_bbox
toLabel
to limit text rendering to the text bounding box, improvingLabel
alignments. - [:repo:
8511
]:PIL
text provider: Ensure consistent text height to prevent text from bouncing when typing - [:repo:
8540
]:PIL
text provider: Do not render text if font size is< 1
Core-widget
- [:repo:
8497
]: Added spanish layout json for the vkeyboard
Distribution
- [:repo:
8253
]: Update version to2.3.0.dev0
for development - [:repo:
8310
]: pinPillow
version to9.5.0
- [:repo:
8313
]: Linux dependencies: Buildlibpng16
forfreetype
so can render colored emoji - [:repo:
8317
]: macOS dependencies: Buildlibpng16
forfreetype
, so can render colored emoji - [:repo:
8326
]: Add support forCython==3.x.x
and increasecython_min
version - [:repo:
8393
]: Add support for Python 3.12 (tests, wheels) - [:repo:
8479
]: BumpSDL2
version to2.28.5
andSDL_image
to2.8.0
in build dependencies script and updatekivy_deps.sdl2
on Windows - [:repo:
8501
]: Bumpkivy_deps.angle
version to~=0.4.0
- [:repo:
8505
]: Restrict the Pillow version to>=9.5.0,<11
- [:repo:
8513
]: Make sure build dependencies are installed for Kivy.app, and use default python version provided bycreate-osx-bundle.sh
- [:repo:
8533
]: Bump to2.3.0rc1
- [:repo:
8536
]: Bump to2.3.0rc2
- [:repo:
8543
]: Bump to2.3.0rc3
Documentation
- [:repo:
8251
]: Ensures that jQuery is always installed (on newer sphinx versions is not the default) - [:repo:
8274
]: Add disclaimer to useRecycleView
instead ofScrollView
for large datasets - [:repo:
8289
]: Update CHANGELOG for 2.2.1 (#8287) - [:repo:
8303
]: Copy-edit to layouts.rst - [:repo:
8308
]: Copy edits: Standardize on spelling - [:repo:
8323
]: Docs: Fix double word typos - [:repo:
8324
]: Fix linux dependencies build instructions - [:repo:
8347
]: RecycleDataAdapter: Fixed typo in class docstring - [:repo:
8349
]: ObjectProperty: Fixed ValueError message in "convert" method. - [:repo:
8377
]: Add doc for Selection handles. - [:repo:
8387
]: Docs: Fix grammar - [:repo:
8402
]: Docs: Fixes spelling errors and typos - [:repo:
8411
]: Removes broken support e-mail address in the README.md, and improve the support section - [:repo:
8440
]: Fix #8438: SyntaxWarnings during doc generation. - [:repo:
8442
]: Edit Contact Us page in docs - [:repo:
8448
]: Update Contribution Guidelines, addFAQ
,CONTACT
andCONTRIBUTING
as separate documents, fix links - [:repo:
8464
]: Correct documentation of schedule_interval - [:repo:
8493
]: CorrectActionBar
documentation - [:repo:
8514
]: Make doc structure consistent and up-to-date - [:repo:
8542
]: Happy new year! Updated copyright year to 2024
Graphics
- [:repo:
8228
]: Added a flag to force the use of custom drawing line function. - [:repo:
8270
]: AllowScale
andTranslate
to takex
,y
andz
askwargs
. Removes deprecatedScale().scale
property. - [:repo:
8271
]: FixSmoothLine
rendering issues - [:repo:
8309
]: Add graphics with antialiasing:SmoothRectangle
,SmoothEllipse
,SmoothRoundedRectangle
,SmoothQuad
andSmoothTriangle
- [:repo:
8374
]: Avoid multiple values fornoadd
inVertexInstruction
- [:repo:
8375
]: Fix use ofBoxShadow
withcanvas.add
,canvas.insert
andcanvas.remove
- [:repo:
8405
]: Introduceclear_stencil
option inStencilPush
, to allow disabling stencil clearing and improve GPU performance when using Stencil Instructions - [:repo:
8413
]: Expose newclear_stencil
property inStencilPush
- [:repo:
8415
]: Fix cgl_backend build with clang 16
Tests/ci
- [:repo:
8263
]: Increase timeout ofhttpbin
tests to reduce risk of failures on CI runs - [:repo:
8359
]: Correct CI comment regarding logging tests - [:repo:
8392
]: Now Github Actions provides python3 via setup-python also for Apple Silicon Macs - [:repo:
8404
]: Add tests forcreate_json_panel
method ofSettings
- [:repo:
8426
]: Installsetuptools
beforesdist
generation, assetuptools
is not anymore available by default on3.12
- [:repo:
8483
]: Check$LastExitCode
afterpytest
run, so we can catch Windows fatal errors - [:repo:
8485
]: Refactorfilechoosertest_unicode.py
- [:repo:
8529
]: Request--only-binary
for Pillow on Windows when testing wheels
Thanks:
Akshay Arora, André Oliveira, David Pesticcio, Dexer, Elliot Garbus, Filipe Marchesini, Font, GreenJon902, Guy Sheffer, Julian, Kulothungan U.G, Lucas Couto, Mak Sim, Mirko Galimberti, Pamir Roy, Randy Eckenrode, Sehar Batool, Stas Zytkiewicz, Sumit Gupta, Uchenna Wealth, Vibhakar Solanki, Xnot, atharva-satpute, azinneck0485, jfishzon