🌺🌻🌹🥀🌷🌼🌸💐💮🌺🌻🌹🥀🌷🌼🌸💐💮🌺🌻
🌼🌸 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
<https://github.com/pygame/pygame/issues?q=is%3Aissue+is%3Aopen+label%3Acritical>
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
<https://github.com/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.
The Great Examples Cleanup of October 2019 is complete.

All of the examples were tidied up. Extra documentation was added, and
things clarified. Thanks to new committer @Starbuck5
<https://github.com/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 <https://github.com/mcpalmer1980>

python3 -m pygame.examples.font_viewer
python3 -m pygame.examples.music_drop_fade

Cleanliness brings us joy

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 <https://github.com/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
<https://www.pygame.org/wiki/Hacking>.
Want to collide between a rect and a line?

Well, @charlesej <https://github.com/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 <https://github.com/mcpalmer1980> for the discussion on the
design, and also to @thiagojobson <https://github.com/thiagojobson> (who is
now part of the pygame team on github! 🎈 🎉 ).

First time committer @hnrkcode <https://github.com/hnrkcode> fixed how
comments are displayed on the website. Also thanks to @0101011
<https://github.com/0101011> for a doc fix. Speaking of new committers,
@galexandreg <https://github.com/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 <https://github.com/robertpfeiffer> did some more work on
the SCALED feature, after a patch from @lordmauve
<https://github.com/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
<https://repology.org/project/python:pygame/versions> 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
<https://github.com/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
<https://github.com/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 🍕
------------------------------

   - 13 open 'critical' issues
   
<https://github.com/pygame/pygame/issues?q=is%3Aissue+is%3Aopen+label%3Acritical>
   (backwards compatibility issues reported by people), and 18 closed.
   - merged PRs
   <https://github.com/pygame/pygame/pulls?q=is%3Apr+is%3Aclosed>
   - 885 Commits since 1.9.6 stable release
   <https://github.com/pygame/pygame/compare/1.9.6...2.0.0.dev6>
   - 172 Commits since 2.0.0.dev4 pre release
   <https://github.com/pygame/pygame/compare/2.0.0.dev4...2.0.0.dev6>

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!

Reply via email to