2.5.4
๐น๏ธ๐ฏโก๐ ๐๐น๏ธ๐ฏโก๐ ๐๐น๏ธ๐ฏโก๐ ๐๐น๏ธ๐ฏโก๐ ๐๐น๏ธ๐ฏโก๐ ๐
pip uninstall pygame (if previously installed, to avoid package conflicts)
pip install pygame-ce --upgrade
๐น๏ธ๐ฏโก๐ ๐๐น๏ธ๐ฏโก๐ ๐๐น๏ธ๐ฏโก๐ ๐๐น๏ธ๐ฏโก๐ ๐๐น๏ธ๐ฏโก๐ ๐
Hey all, we've got another release for you! This one was made by 13 contributors changing over 403 files in 74 PRs and 200 commits. A big theme of this release is porting our codebase to SDL3 (along with some other general maintenance stuff), but we also have some more immediately applicable enhancements. Here's what we did in the last 3 months!
What's Changed
New API
- @ankith26 and @damusss added
image.load_animation
to load an animated file (like GIF or WEBP) as a list of surfaces in #3372 and #3444. - @MarcellPerger1 added support for passing
special_flags
toGroup.draw()
in #3321 - @damusss added
Color.hex
in #3379 - @itzpr3d4t0r and @aatle added
Font.set_linesize()
to control the spacing between lines of text in #3282
Enhancements
- @damusss and @Starbuck5 reduced the sizes of our wheels by converting a lot of assets to webp in #3362, #3374 and #3358
- @zoldalma999 moved Window, display, system, Surface, draw, transform and image docs to their stub file so that editors can pick them up in #3296 and #3389
- @oddbookworm updated print_debug_info to show whether GIL is enabled in #3355
- @aatle removed angled brackets from Circle and Line
__repr__
s in #3375 - @mv805 improved the warning message when a SysFont is not found and clarified the docs related to it in #3373
- @damusss removed an unnecessary warning when a zero sized resizable window is requested in display.set_mode in #3386
Bugfixes
- @oddbookworm added tolerance for Color.lerp in #3347
- @ankith26 added full unicode support to
Font.metrics
in #3328 - @ankith26 fixed the unicode property of keydown events when keyup events are blocked in #3357
- @Matiiss fixed Vector initialization from numpy arrays in #3408
Docs and Types
- @aatle made a bunch of improvements and fixes to our stubs in #3335
- @damusss added tutorials to the offline docs that come with your pygame-ce installation in #3380
- @COUR4G3 fixed the depth argument missing in the type hints of
video.Texture.__init__
in #3360 - @ankith26 fixed
__class_getitem__
to be positional-only in #3410 - @XORandom finished the russian translation of our readme in #3424
- @aatle fixed stubs for buffer types in #3398
SDL3 Porting
- @Starbuck5 worked more on porting surface pixel formats to work with SDL3 in #3310, #3314, #3315, #3309, #3338, #3337, #3343, #3344 and #3371
- @ankith26 ported the font, scrap, camera, joystick and transform modules in #3326, #3340, #3341, #3208 and #3351
Maintenance
- @oddbookworm @aatle and @ankith26 kept our CI running in #3363, #3395 and #3334
- @Starbuck5 and @Matiiss kept our dependencies up-to-date (most importantly SDL was updated from 2.30.12 to 2.32.6, SDL_Image from 2.8.4 to 2.8.8 and SDL_Mixer from 2.8.0 to 2.8.1) in #3332, #3365, #3399, #3401 and #3425
- @oddbookworm fixed our debug python builds in #3345
- @ankith26 replaced tabs with spaces in our docs RST files in #3361
- @MightyJosip
- @oddbookworm added braces to one-line statements in #3364
- @Matiiss used
ruff
to sort imports in #3237 - @ankith26 updated our pre-commit config in #3400
New Contributors
- @COUR4G3 made their first contribution in #3360
- @mv805 made their first contribution in #3373
- @MarcellPerger1 made their first contribution in #3321
Thank you all!
Thank you to everyone who helped make this release happen from contributors, to people reporting issues, to PR reviewers! A big thanks also to those who helped the pygame community whether that be making tutorials, helping people on forums, sharing cool things made with pygame or just talking about it online with other people! And thank you for reading the release notes and using pygame-ce!
Let us know if we made any mistakes in these release notes so that we can correct them.
Take care, and happy pygaming!
Full Changelog: 2.5.3...2.5.4