2.5.1.dev2
Pre-release
Pre-release
A pre-release before the final release, please help us by testing this!
Release highlights
This is mostly a bug-fixes-and-enhancements release, but we do have a few cool new stuff to showcase!
- We now support and distribute wheels for CPython 3.13 and PyPy for apple silicon.
- The experimental
Window
class is now subclass-able. - Added new method
Surface.premul_alpha_ip
- The
dst
argument ofSurface.blit
now has a default value:(0, 0)
. This means you can skip this argument if you are blitting a surface at the origin (top-left) of the window.
What's Changed
- 2.5.0.dev5 by @Starbuck5 in #2904
- Start 2.5.1 by @Starbuck5 in #2905
- Bump docker/login-action from 3.1.0 to 3.2.0 by @dependabot in #2906
- Update docs of
Surface.get_(f)rect()
and(F)Rect.move_to()
by @damusss in #2901 - Fixed missing comma in README by @REX2626 in #2907
- Add SSE2, AVX2 & NEON support to
pygame.print_debug_info()
by @MyreMylar in #2897 - Use github download links to get SDL dependencies by @ankith26 in #2916
- Update transform.get/set_smoothscale_backend typehint from str to Literal by @damusss in #2918
- Contribution Section Added to README.rst by @MrF1ow in #2910
- Update punctuation in some docs by @whangho in #2919
- More SDL3 compat: Surface things by @Starbuck5 in #2922
- Very small typehint fix for pygame.Mask by @damusss in #2926
- Remove SDL v1.2.10 checks in display.c by @Starbuck5 in #2928
- pygame.Surface docs improvements by @REX2626 in #2911
- Bump docker/build-push-action from 5.3.0 to 5.4.0 by @dependabot in #2932
- Fix failing tests based on numpy v2 by @ankith26 in #2934
- Bump actions/checkout from 4.1.6 to 4.1.7 by @dependabot in #2931
- Bump pypa/cibuildwheel from 2.18.1 to 2.19.1 by @dependabot in #2930
- EventState SDL3 compat by @Starbuck5 in #2940
- Try re-enabling tests disabled since SDL 2.0.18 by @MyreMylar in #2885
- Fix passing
parent_window=None
tomessage_box
by @Matiiss in #2723 - Improve security of releases by adding hash checks by @ankith26 in #2941
- Updated SDL to 2.30.4 by @Matiiss in #2949
- Fix transform.hsl() to work on any Surface by @itzpr3d4t0r in #2948
- Bump docker/build-push-action from 5.4.0 to 6.1.0 by @dependabot in #2955
- Allow degenerate circles (radius = 0) by @damusss in #2913
- Improve
PixelArray.make_surface()
performance by @itzpr3d4t0r in #2953 - Fix
Surface.fill
with rects with negative positions that overlap the surface by @oddbookworm in #2939 - Add ABGR format to frombytes and tobytes by @zoldalma999 in #2951
- Make window subclassable by @zoldalma999 in #2950
- Optimized
transform.scale2x()
by @itzpr3d4t0r in #2859 - Use static inline instead of inline by @zoldalma999 in #2952
- Add default dest (0, 0) to Surface.blit by @damusss in #2936
- Docs generation is now
python -m buildconfig docs
andpython -m buildconfig docs full_generation
by @oddbookworm in #2942 - Bump docker/build-push-action from 6.1.0 to 6.2.0 by @dependabot in #2963
- Bump robinraju/release-downloader from 1.10 to 1.11 by @dependabot in #2964
- Add
Surface.premul_alpha_ip()
by @itzpr3d4t0r in #2899 - SDL 2.30.5 by @oddbookworm in #2969
- Make pyproject license consistent with
setup.py
by @ankith26 in #2971 - Fix
premul_alpha_ip
doc indentation issue by @Matiiss in #2972 - Add new official logos for pygame - Community Edition by @Mega-JC in #2965
- Fix homepage and release notes link in pypi urls by @ankith26 in #2977
- Use PyObject_CallMethod in resource loaders by @Starbuck5 in #2974
- Get rid of docscomments.js from docs by @Notenlish in #2959
- Remove obsolete surflock functions by @Starbuck5 in #2973
- Bump docker/build-push-action from 6.2.0 to 6.3.0 by @dependabot in #2983
- Ensure
.premul_alpha_ip()
works with zero sized Surfaces by @itzpr3d4t0r in #2980 - Bump pypa/cibuildwheel from 2.19.1 to 2.19.2 by @dependabot in #2982
- Restore inlining for
.fblits()
internal functionality by @itzpr3d4t0r in #2978 - Optimized
mask.from_surface()
when converting an alpha surface. by @itzpr3d4t0r in #2895 - Fix scaled-after-non-scaled usage by @ankith26 in #2925
- Optimized all
Rect/FRect
methods viapgRect_FromObject
by @itzpr3d4t0r in #2908 - General example changes by @bilhox in #2581
- python -m buildconfig now works again... by @oddbookworm in #2989
- Use python 3.8 isms in the type stubs by @ankith26 in #2995
- Add license identifier to readme by @MyreMylar in #2890
- Polish stubs with deprecated decorator by @damusss in #2984
- Make deprecated API raise deprecation warnings by @ankith26 in #3001
- Use
SDL_TTF_VERSION_ATLEAST
by @zoldalma999 in #3003 - Make blend flag docs more accurate by @Mic-lab in #3004
- Fix editable install test fixtures logic by @ankith26 in #2996
- Support iterable in
display.update
by @ankith26 in #2987 - 3.13 source support (removes deprecated functions) by @Starbuck5 in #2994
- Centralize CI config and make it more uniform (Adds macOS arm64 pypy CI) by @ankith26 in #2945
- Optimize draw.aacircle and fix typo by @mzivic7 in #3012
- Pin all build dependencies by @ankith26 in #3015
- Bump docker/build-push-action from 6.3.0 to 6.4.1 by @dependabot in #3013
- Skip flaky window tests on pypy by @ankith26 in #3017
- Adjust tobytes premul formula by @ankith26 in #2966
- Update OpenGL Viewport when Window resizes by @damusss in #2915
- Use PyObject_CallNoArgs where applicable by @Starbuck5 in #3020
- Changed dark theme slightly to make code more readable in some cases by @oddbookworm in #2960
- Remove unnecessary pixeloffset member of subsurface data by @Starbuck5 in #3014
- draw.c: better strategy for 24bpp writes by @Starbuck5 in #3021
- Bump docker/login-action from 3.2.0 to 3.3.0 by @dependabot in #3025
- Bump docker/build-push-action from 6.4.1 to 6.5.0 by @dependabot in #3024
- Update SDL to 2.30.6 by @oddbookworm in #3034
- Skip yet another flaky pypy test by @ankith26 in #3031
- Add python 3.13 wheel support by @ankith26 in #3030
New Contributors
- @REX2626 made their first contribution in #2907
- @MrF1ow made their first contribution in #2910
- @whangho made their first contribution in #2919
- @Mic-lab made their first contribution in #3004
Full Changelog: 2.5.0.dev4...2.5.1.dev2