🌺🌻🌹🥀🌷🌼🌸💐💮🌺🌻🌹🥀🌷🌼🌸💐💮🌺🌻
🌼🌸 pip install pygame==2.0.0.dev6
🌺🌻🌹🥀🌷🌼🌸💐💮🌺🌻🌹🥀🌷🌼🌸💐💮🌺🌻
Python 3.8 support. For pygame 2 anyway. Decided not to do it for pygame 1.9.6, and to instead try and fix a few more of those 'critical' blocker issues (current critical issue count is lucky 13).
Virtual Mouse mode with relative mouse movements was fixed to how it was in pygame 1.9.x - thanks to new committer @mcpalmer1980. Who also added a new pygame.music.fadein() function, plus examples!
Support for old SDL1 SDL_VIDEO_WINDOW_POS and SDL_VIDEO_CENTERED environment variables which were removed in SDL2.
All of the examples were tidied up. Extra documentation was added, and things clarified. Thanks to new committer @Starbuck5 for their work on examples/eventlist.py. There's now 43 example files!! Cleanups like removing usage of from pygame.locals import *
,
which is kind of cool... but also not considered good practice in the
wider python community. Also the examples are now formatted with the
python code for-matter. Additionally two interesting AND EDUCATIONAL new
examples: music_drop_fade.py, and font_viewer.py were contributed by @mcpalmer1980
python3 -m pygame.examples.font_viewer
python3 -m pygame.examples.music_drop_fade
As part of the continuing codeprose cleanups of the pygame codeprose-base,
we are now warning free on the clang C compiler on MacOS. Additionally
warnings are now errors on the clang compiler when the robots check our
code for us. We are also very close to zero warnings on different gcc
versions, and Microsoft Visual C compiler too. We reached a new
milestone with the 'LGTM' static analyzer. It now gives pygame an "A+"
for both the python code, and the C code - meaning pygame is within the
top 5% of projects with those languages. LGTM now checks new pull
requests automatically, and helps us find some issues on pull requests.
The Coverity static analyzer rates pygame source code as having less
defects than high quality code bases like the Linux kernel, OpenSSL, and
libcurl. Strangely (to me) pygame is regularly trending on github as a C
project. A lot of the cleanups were done by @charlesej,
so thanks a lot for that! Oh, and a warning... please don't look at our
setup.py file!!!! It's still scary AF. We have over 45,000 lines of
python in pygame, and 350,000 lines of C... and a lot of that needs some
attention.
Some developer improvements include verbose mode to our test runner (python3 -m pygame.tests -v
), and the mechanism to share functions and data in our C API has been documented. See the Hacking developer guide.
Well, @charlesej has you covered with the new Rect.clipline()
.
This can also tell you where a line clips with a Rect. It was great to
see the discussion on this as different people talked about API trade
offs, and together came up with a very nice API. Thanks to @mcpalmer1980 for the discussion on the design, and also to @thiagojobson (who is now part of the pygame team on github! 🎈 🎉 ).
First time committer @hnrkcode fixed how comments are displayed on the website. Also thanks to @0101011 for a doc fix. Speaking of new committers, @galexandreg helped out fixing the pygame.mixer.Sound.get_num_channels() function to return a correct result in some cases (the sound stuff got a number of fixes this release!)
@robertpfeiffer did some more work on the SCALED feature, after a patch from @lordmauve enabling use of it with OpenGL apps.
Thanks to TravisCI who have allowed us to try out their alpha ARM64 support. We don't have pygame building on it yet, but hopefully soon it can join our other ROBOT builders like the power pc one.
In distro packaging news, FreeBSD now has pygame 1.9.6. Which is great, because it stuck around at 1.8.x for many years now. Thanks to Wen, and Nathan in maintaining it there. See the giant list of 119 pygame packages in different distros. No one seems to have packaged a pre-release of pygame 2 yet.
Cheers to the folks in the discord chat helping people out, chatting and sharing project updates on things. Especially to claudeb, and blubberquark.
All the regressions that were reported in issues for the 2.0.0.dev4 release have been fixed. Including one circle drawing regression fix by @MightyJosip, who also fixed a long lasting 'thick line' pygame.draw issue. Both very tricky ones! Also thanks to some very detailed unit tests that were written by @charlesej for the draw module that let us verify the drawing algorithms.
I'm happy that 5 'critical' backwards compatibility issues were fixed since the last release. If you notice a backwards compatibility issue with the pygame 2 series please let us know with a delicious issue report. Nom nom nom 🍕
ps. Why dev6 instead of dev5? This time 2.0.0.dev5 was the version
given to the git repo. So we can tell if someone is compiling pygame
from source in bug reports. The git repo pygame will become 2.0.0.dev7,
and when released it will be 2.0.0.dev8. This is how libsdl are doing
things now too, and it's a good idea.
🤖 is coming. Happy hacking!