2.5.0.dev2
Pre-release
Pre-release
This is an early pre-release for 2.5.0, we expect to also do a dev4
before the full release.
Highlights
- More performance optimizations: Faster blitters in some cases, faster
Surface.premul_alpha
, fastertransform.invert
, faster "multi-collide"Rect
methods (likeRect.collidelist
). - Incremental progress in
pygame.geometry
, more methods added to classes. - Wayland and PipeWire support on linux wheels we distribute.
- Switched to the Meson build system (keeps us modern). As part of this we expect SIMD support by default on 32-bit ARM systems (like some Raspberry Pi).
Other API updates
- Added
from_normalized()
method toColor
. pitch
argument implemented inimage.tobytes()
.Rect()
andFRect()
now support initialization with no arguments.
What's Changed
- Start 2.5.0 by @Starbuck5 in #2631
- Bump docker/metadata-action from 5.3.0 to 5.4.0 by @dependabot in #2628
- Call
PyObject_GetBuffer
directly, fix pypy fail by @ankith26 in #2639 - Add Circle
move()
/move_ip()
by @itzpr3d4t0r in #2561 - Improve performance of SSE2 no_surf_alpha_opaque_dst blitter by @Starbuck5 in #2601
- Fix comment typo in rect_impl.h by @Lumiobyte in #2658
- Fix
Circle
move docs by @itzpr3d4t0r in #2660 - Remove shuffle masks in AVX fillers by @itzpr3d4t0r in #2642
- Matiiss update sdl ttf by @Matiiss in #2687
- Fix error reporting sdl 2.29.2+ by @Matiiss in #2689
- Bump actions/cache from 3.3.3 to 4.0.0 by @dependabot in #2683
- Added more
/
(positional-only notation) by @Matiiss in #2691 - Reduced redundancy in
surface.fblits
code and handled generator exception by @Matiiss in #2679 - Rect() and FRect() initialization with no arguments by @Damus666 in #2655
- added from_normalized() and get and set normalized methods for pygame.Color by @XFajk in #2693
- Partially refactor SSE2 blitters with macros by @itzpr3d4t0r in #2656
- SDL 2.30.0 by @oddbookworm in #2705
- SDL 2.29.3 pre-release by @Matiiss in #2690
- Implement pitch argument for image.tobytes() by @whydoubt in #2602
- transform.scale: softstretch SDL2/SDL3 compat by @Starbuck5 in #2707
- Add missing geometry versionadded tags by @itzpr3d4t0r in #2709
- SDL2/SDL3 mutex support by @Starbuck5 in #2712
- Add Circle
as_rect()
/as_frect()
by @itzpr3d4t0r in #2634 - Add Circle
rotate()
/rotate_ip()
by @itzpr3d4t0r in #2662 - Add Circle
collideswith()
by @itzpr3d4t0r in #2661 - Bump CircleCI-Public/trigger-circleci-pipeline-action from 1.1.0 to 1.2.0 by @dependabot in #2730
- Deleted a space in geometry docs by @itzpr3d4t0r in #2732
- Update system.rst by @lispspb in #2734
- Cleanup rwobject.c file object methods by @Starbuck5 in #2717
- Add wayland and kmsdrm support to manylinux wheels by @ankith26 in #1997
- Bump actions/cache from 4.0.0 to 4.0.1 by @dependabot in #2736
- Formatting updates using newest version of clang-format by @oddbookworm in #2744
- Bump docker/build-push-action from 5.1.0 to 5.2.0 by @dependabot in #2747
- Bump softprops/action-gh-release from 1 to 2 by @dependabot in #2746
- wasm: unify pygame-web/pyodide/static Freetype init by @pmp-p in #2748
- Reorganize geometry internals by @itzpr3d4t0r in #2731
- Undeprecate draw aaline blend by @oddbookworm in #2743
- AVX2 premul_alpha() by @itzpr3d4t0r in #2615
- Bump docker/login-action from 3.0.0 to 3.1.0 by @dependabot in #2755
- Bump docker/build-push-action from 5.2.0 to 5.3.0 by @dependabot in #2756
- Bump actions/checkout from 4.1.1 to 4.1.2 by @dependabot in #2754
- Add
mixer.get_driver
by @ankith26 in #2741 - Add pipewire and libsamplerate+fftw3 by @ankith26 in #2733
- SDL 2.30.1 by @Starbuck5 in #2761
- Fix
pygame.display.get_caption()
Docs in display.rst by @kritserv in #2765 - Bump actions/cache from 4.0.1 to 4.0.2 by @dependabot in #2767
- setup.py: Properly add _sdl2_data_files to data_files by @cclauss in #2770
- Update freetype download link because current one is broken (fixes failing circleci builds) by @ankith26 in #2774
- Remove undefined variable in aliens.py by @Matiiss in #2769
- Fix ftfont_test being run directly by @Starbuck5 in #2763
- Remove pygame.threads by @Starbuck5 in #2762
- Make error messages for using font.align clearer by @Kn4ughty in #2777
- Remove apt upgrade in CI by @ankith26 in #2778
python3 setup.py lint
is deprecated: Let's lint withpre-commit
by @cclauss in #2772- Add example for retro scaling by @snowfruit in #2785
- PEP572 Use Python's assignment expression by @cclauss in #2782
- Remove all .editorconfig duplicates, re-add in project root with updates by @ankith26 in #2788
- Add SIMD versions of the invert transform by @MyreMylar in #2534
- Remove docs non-public module stubs by @ankith26 in #2794
- Add meson build system [phase 1] by @ankith26 in #2557
- (Freetype) use calloc where possible by @Starbuck5 in #2802
- Bump robinraju/release-downloader from 1.9 to 1.10 by @dependabot in #2809
- SDL 2.30.2 by @Starbuck5 in #2806
- gitignore meson temp folder by @Starbuck5 in #2805
- Fix sdist to include meson stuff and minor updates by @ankith26 in #2803
- build-on-msys2.yml: Upgrade GitHub actions/checkout@v4 by @cclauss in #2812
- Use macros for (Bytes|Bits)PerPixel compat in SDL3 by @Starbuck5 in #2804
- Add armv6 and armv7 to multiarch CI and fix build issues by @ankith26 in #2779
- Optimized Rect multi-collision methods by @itzpr3d4t0r in #2786
New Contributors
- @Lumiobyte made their first contribution in #2658
- @XFajk made their first contribution in #2693
- @whydoubt made their first contribution in #2602
- @lispspb made their first contribution in #2734
- @kritserv made their first contribution in #2765
- @cclauss made their first contribution in #2770
- @Kn4ughty made their first contribution in #2777
- @snowfruit made their first contribution in #2785
Full Changelog: 2.4.1...2.5.0.dev2