☕ Cheer Up! 🍵
🍂 ✨ )) ✨ 🍂
🍂┃ (( * ┣┓ 🍂 we have a
python3 -m pip install pygame==2.0.2.dev2
🍂┃*💗 ┣┛ 🍂
🎂 For YOU 🍰
Hello internet strangers. We’re back with a new release, packed with tons of mundane bug fixes and unexciting improvements! It’s been a while since the last release, but in that time pygame development has been moving ahead. This release, 36 contributors (25 new ones!) contributed over 75 pull requests. Since 2.0.1, over 200 files were edited, with more than 16,000 lines added, and more than 7,000 lines deleted.
This is a development pre-release, so we can test out new release machinery. Probably we will do a couple more dev pre-releases, but we hope to have a full 2.0.2 release soon. There's a bunch of PRs still open that we want to help resolve and merge in before that.
So grab a beverage, and doom scroll our release notes, we prepared just for you, (&& those other interweb weirdos)
Artisanal source code like ours has the best intentions, but there's nothing like computers to bamboozle our best efforts. It used to be actual bugs climbing inside the pipe organs programmed to play and the looms programmed to weave, but these days that excuse doesn't really work. Our bad.
Bugs in this 1910 Jacquard loom would be actual bugs
(See more the video at https://www.youtube.com/watch?v=1PBd3VJrfDw if you're interested)
freetypewould think coordinates of -1 represented an error was fixed in #2576.
mixer.pre_init()on Mac, in #2494
SCALEDmode on Windows (#2587)
SCALEDmode in #2451
Color.hsvawould return invalid values in #2467
One module in particular has come a long way in this release — sysfont. Thanks to @Starbuck5
(Of course you can still request bold from SysFont and it will hook you up, at least for Cambria)
Vector3classes in #2510
projected = v3.project(v3) This is useful for collision
detection in finding the components in a certain direction (e.g. in
direction of the wall). For a more detailed explanation see
The .touch attribute is for events that were generated by a touch input device, and not a real mouse. You might want to ignore such events, if your application already handles finger events.
@MyreMylar worked on
mixer.set_reserved()to return the number of channels actually reserved in #2490
mixer.find_channel()in #2491 Before it simply wasn't implemented, only documented.
mixer.music.load()for easier loading of music from file-like objects. (#2497)
Maskmodules, as well as keyword argument support to the
Maskmodules (#2536, #2557, #2581)
_________________________ =(__ ___ __ __)= | | | | | python -m pygame.docs | | | | A large number | | documentation fixes | | were made in this | | release. | | | |__ ___ __ _____| =(_________________________)=
New contributors @SplatRT, @bambalamm, @deek80, @NKID00, @MaukWM, and @shawnbyday all cleaned up the documentation with grammar and typo fixes, in: #2431, #2437, #2519, #2555, #2583, #2644. @Starbuck5 contributed to this worthy goal in #2590
New contributor @Grimmys and @Starbuck5 worked on the documentation build system, upgrading it from Sphinx 1 to Sphinx 3, hiding the obsolete
cdrom modules from the top bar, and adding the
--fullgeneration flag to
setup.py docs. #2513, #2511, #2617, #2624.
New contributor @kaiec noticed that SDL_Image, pygame’s image loading backend, supports more than we had documented, so updated the documentation accordingly, in #2619. (We support WebP and SVG, who knew?) New contributor @duthades continued this by adding tests for the new image formats in #2656.
Typehints got some neat updates in this release as well, so that you can code with pygame in your favourite IDE and you get that sweet auto-correct/autocomplete and type-checking to catch bugs even before they are reported!
New contributor @jakebailey made tons of good typehint fixes in #2537, the most important ones being, correctly exporting submodules in a way that typehints are recognized for the submodules, and generic types used in annotations being fixed to include the missing type params, among other fixes.
set_mods()type hint in #2457
mouse.get_pressed()type hint in #2685
New contributor @jonozw added a needed
pg.quit() for IDLE compatibility in the stars example (#2560). Many other examples needed this too, so another expeditious new contributor (@AnudeepGunukula) swept through and made sure it was on every example in #2643.
New contributor @mljli improved the aliens example in #2608, new contributor @njbradley improved the font_viewer example in #2655 (it’s cool check it out), and @Starbuck5 overhauled the chimp example in #2651.
TODO: this section is supposed to be top secret! No one is
supposed to know about these new APIs yet, except people wanting to give
feedback and live dangerously. So I guess bikers, and skydivers can
know about this stuff?