[Python-announce]Pygame 2.0.2.dev2 - Drumroll release

๐๐๐๐๐๐ โ 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) Bug Fixes ๐ 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. <https://camo.githubusercontent.com/2dee2c6c9f12fe8eda3e8f1652931750d4a00bf47...> *Bugs in this 1910 Jacquard loom would be actual bugs* New contributor @mhollands <https://github.com/mhollands> fixed an issue where arcs wouldnโt fully draw in #2480 <https://github.com/pygame/pygame/pull/2480> [image: arc drawing image] <https://www.youtube.com/watch?v=1PBd3VJrfDw> (See more the video at https://www.youtube.com/watch?v=1PBd3VJrfDw if you're interested) @ankith26 <https://github.com/ankith26> fixed - the init systems to prevent bugs from init-quit-init (#2428 <https://github.com/pygame/pygame/pull/2428>) - an error handling bug in pixelarray in #2444 <https://github.com/pygame/pygame/pull/2444> - the pygame default font would break when packaged with PyInstaller ( #2604 <https://github.com/pygame/pygame/pull/2604>) @Starbuck5 <https://github.com/Starbuck5> fixed: - 20 second load times for SysFont on Mac, and also gave Windows SysFont some love (#2594 <https://github.com/pygame/pygame/pull/2594>, #2640 <https://github.com/pygame/pygame/pull/2640>). - A bug where freetype would think coordinates of -1 represented an error was fixed in #2576 <https://github.com/pygame/pygame/pull/2576>. - A rare segfault in mixer.pre_init() on Mac, in #2494 <https://github.com/pygame/pygame/pull/2494> - Where window size couldn't be reduced after leaving SCALED mode on Windows (#2587 <https://github.com/pygame/pygame/pull/2587>) - Exiting fullscreen would put your window at (0, 0) in #2460 <https://github.com/pygame/pygame/pull/2460> - A failure in display.set_gamma() in #2524 <https://github.com/pygame/pygame/pull/2524> - The pygame.scrap module building properly on Mac and Windows (#2499 <https://github.com/pygame/pygame/pull/2499>, #2495 <https://github.com/pygame/pygame/pull/2495>). @MightyJosip <https://github.com/MightyJosip> fixed duplicate entries in display.list_modes() in #2470 <https://github.com/pygame/pygame/pull/2470> @robertpfeiffer <https://github.com/robertpfeiffer> fixed - IME placement in SCALED mode in #2451 <https://github.com/pygame/pygame/pull/2451> - A rare bug where Color.hsva would return invalid values in #2467 <https://github.com/pygame/pygame/pull/2467> Sysfont fixes One module in particular has come a long way in this release โ sysfont. Thanks to @Starbuck5 <https://github.com/Starbuck5> As well as working better on windows and mac... Before, if you requested "Cambria," pygame would silently give out Cambria bold. [image: before] <https://user-images.githubusercontent.com/46412508/126018762-01786bdd-a8ee-4...> Now, Cambria is Cambria [image: after] <https://user-images.githubusercontent.com/46412508/126019070-bdeaa29d-c898-4...> (Of course you can still request bold from SysFont and it will hook you up, at least for Cambria) New Features โจ @dr0id <https://github.com/dr0id> added - vector projection to the Vector2 and Vector3 classes in #2510 <https://github.com/pygame/pygame/pull/2510> - a โtouchโ attribute to all mouse events in #2514 <https://github.com/pygame/pygame/pull/2514> 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 Wikipedia < https://en.wikipedia.org/wiki/Vector_projection>_. 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. @robertpfeiffer <https://github.com/robertpfeiffer> added an exclude argument to pygame.event.get(), allowing inverse filtering, in #2512 <https://github.com/pygame/pygame/pull/2512>, with a test in #2546 <https://github.com/pygame/pygame/pull/2546>. @MyreMylar <https://github.com/MyreMylar> worked on - changing mixer.set_reserved() to return the number of channels actually reserved in #2490 <https://github.com/pygame/pygame/pull/2490> - adding an actual implementation to the force parameter of mixer.find_channel() in #2491 <https://github.com/pygame/pygame/pull/2491> Before it simply wasn't implemented, only documented. @Starbuck5 <https://github.com/Starbuck5> added - a namehint argument to mixer.music.load() for easier loading of music from file-like objects. (#2497 <https://github.com/pygame/pygame/pull/2497>) - Vector2 support to the transform, display, and Mask modules, as well as keyword argument support to the transform and Mask modules (#2536 <https://github.com/pygame/pygame/pull/2536>, #2557 <https://github.com/pygame/pygame/pull/2557>, #2581 <https://github.com/pygame/pygame/pull/2581>) Internal / Portability New contributor @Muxelmann <https://github.com/Muxelmann> fixed the path to homebrew in #2636 <https://github.com/pygame/pygame/pull/2636>, fixing some pygame issues on M1 Mac! New contributor @odidev <https://github.com/odidev> and @illume <https://github.com/illume> added aarch64 wheel build support, along with a docker file, and github actions tests for it in #2610 <https://github.com/pygame/pygame/pull/2610> and #2675 <https://github.com/pygame/pygame/pull/2675> New contributor @fniephaus <https://github.com/fniephaus> made a compatibility fix for GraalPython in #2580 <https://github.com/pygame/pygame/pull/2580> @MyreMylar <https://github.com/MyreMylar> updated the sse2neon header to make it build alpha blitter on arm in #2425 <https://github.com/pygame/pygame/pull/2425> @ankith26 <https://github.com/ankith26> and @illume <https://github.com/illume> added github actions, disabled travis builds except arm64 in #2507 <https://github.com/pygame/pygame/pull/2507> and #2600 <https://github.com/pygame/pygame/pull/2600>. This was crucial to keep pygame development functional after the shutdown of travis-ci.org. @Pierre-Sassoulas <https://github.com/Pierre-Sassoulas> used their pylint expertise to keep pygameโs code base clean and functional in #2509 <https://github.com/pygame/pygame/pull/2509>, #2579 <https://github.com/pygame/pygame/pull/2579>, and #2634 <https://github.com/pygame/pygame/pull/2634>. @Starbuck5 <https://github.com/Starbuck5> added Python 3.10 support in #2586 <https://github.com/pygame/pygame/pull/2586>, updated functions to return bools rather than ints in #2534 <https://github.com/pygame/pygame/pull/2534>, and moved to SDL 2.0.16 on Windows in #2670 <https://github.com/pygame/pygame/pull/2670>. @illume <https://github.com/illume> moved to SDL 2.0.16 on Linux, as well as many other dependency updates, in #2676 <https://github.com/pygame/pygame/pull/2676> Docs _________________________ =(__ ___ __ __)= | | | | | python -m pygame.docs | | | | A large number | | documentation fixes | | were made in this | | release. | | | |__ ___ __ _____| =(_________________________)= @llindstrom <https://github.com/llindstrom>, @Pierre-Sassoulas <https://github.com/Pierre-Sassoulas>, and @Starbuck5 <https://github.com/Starbuck5> corrected incorrection information in: #2485 <https://github.com/pygame/pygame/pull/2485>, #2582 <https://github.com/pygame/pygame/pull/2582>, #2654 <https://github.com/pygame/pygame/pull/2654>. @robertpfeiffer <https://github.com/robertpfeiffer> added to the TEXTINPUT documentation in #2456 <https://github.com/pygame/pygame/pull/2456>. New contributors @SplatRT <https://github.com/SplatRT>, @bambalamm <https://github.com/bambalamm>, @deek80 <https://github.com/deek80>, @NKID00 <https://github.com/NKID00>, @MaukWM <https://github.com/MaukWM>, and @shawnbyday <https://github.com/shawnbyday> all cleaned up the documentation with grammar and typo fixes, in: #2431 <https://github.com/pygame/pygame/pull/2431>, #2437 <https://github.com/pygame/pygame/pull/2437>, #2519 <https://github.com/pygame/pygame/pull/2519>, #2555 <https://github.com/pygame/pygame/pull/2555>, #2583 <https://github.com/pygame/pygame/pull/2583>, #2644 <https://github.com/pygame/pygame/pull/2644>. @Starbuck5 <https://github.com/Starbuck5> contributed to this worthy goal in #2590 <https://github.com/pygame/pygame/pull/2590> New contributor @Grimmys <https://github.com/Grimmys> and @Starbuck5 <https://github.com/Starbuck5> worked on the documentation build system, upgrading it from Sphinx 1 to Sphinx 3, hiding the obsolete Overlay and cdrom modules from the top bar, and adding the --fullgeneration flag to setup.py docs. #2513 <https://github.com/pygame/pygame/pull/2513>, #2511 <https://github.com/pygame/pygame/pull/2511>, #2617 <https://github.com/pygame/pygame/pull/2617>, #2624 <https://github.com/pygame/pygame/pull/2624>. New contributor @Taffer <https://github.com/Taffer> added a page to showcase all of pygameโs named colors, in #2559 <https://github.com/pygame/pygame/pull/2559>. When it is live, it will be at https://www.pygame.org/docs/ref/color_list.html. New contributor @kaiec <https://github.com/kaiec> noticed that SDL_Image, pygameโs image loading backend, supports more than we had documented, so updated the documentation accordingly, in #2619 <https://github.com/pygame/pygame/pull/2619>. (We support WebP and SVG, who knew?) New contributor @duthades <https://github.com/duthades> continued this by adding tests for the new image formats in #2656 <https://github.com/pygame/pygame/pull/2656>. Finally, new contributor @ayushbisht2001 <https://github.com/ayushbisht2001> added a nice logo to the README in #2441 <https://github.com/pygame/pygame/pull/2441>, sprucing it up nicely. Type Hints 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 <https://github.com/jakebailey> made tons of good typehint fixes in #2537 <https://github.com/pygame/pygame/pull/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. New contributors: - @w-v <https://github.com/w-v> fix set_mods() type hint in #2457 <https://github.com/pygame/pygame/pull/2457> - @nathanielconroy <https://github.com/nathanielconroy> less strict type checking for AbstractGroup.add in #2646 <https://github.com/pygame/pygame/pull/2646> - @sandipanpanda <https://github.com/sandipanpanda> Fixed wrong kwargs types in sprite.pyi in #2652 <https://github.com/pygame/pygame/pull/2652> - @vnmabus <https://github.com/vnmabus> Fix syntax for typing AbstractGroup attributes in #2663 <https://github.com/pygame/pygame/pull/2663> - @bydariogamer <https://github.com/bydariogamer> Update Vector3 overloaded constructor signature in #2674 <https://github.com/pygame/pygame/pull/2674> - @shingo-kagami <https://github.com/shingo-kagami> Fixed mouse.get_pressed() type hint in #2685 <https://github.com/pygame/pygame/pull/2685> @MyreMylar <https://github.com/MyreMylar> Add str and RGBA tuple types to freetype/font type hints in #2462 <https://github.com/pygame/pygame/pull/2462>, and Correct blits typehint sequence arg to cover blit inputs in #2482 <https://github.com/pygame/pygame/pull/2482> @ankith26 <https://github.com/ankith26> and @zoldalma999 <https://github.com/zoldalma999> overhauled many incorrect uses of Optional in #2678 <https://github.com/pygame/pygame/pull/2678> Examples New contributor @jonozw <https://github.com/jonozw> added a needed pg.quit() for IDLE compatibility in the stars example (#2560 <https://github.com/pygame/pygame/pull/2560>). Many other examples needed this too, so another expeditious new contributor (@AnudeepGunukula <https://github.com/AnudeepGunukula>) swept through and made sure it was on every example in #2643 <https://github.com/pygame/pygame/pull/2643>. @MightyJosip <https://github.com/MightyJosip> fixed a crash in the mask example in #2606 <https://github.com/pygame/pygame/pull/2606>. New contributor @mljli <https://github.com/mljli> improved the aliens example in #2608 <https://github.com/pygame/pygame/pull/2608>, new contributor @njbradley <https://github.com/njbradley> improved the font_viewer example in #2655 <https://github.com/pygame/pygame/pull/2655> (itโs cool check it out), and @Starbuck5 <https://github.com/Starbuck5> overhauled the chimp example in #2651 <https://github.com/pygame/pygame/pull/2651>. Experimental super secret _sdl2 things 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? @galexandreg <https://github.com/galexandreg> added blend_mode, color tuples, origin=None, to _sdl2.Image in #2426 <https://github.com/pygame/pygame/pull/2426> and draw_blend_mode to Renderers in #2520 <https://github.com/pygame/pygame/pull/2520> @Starbuck5 <https://github.com/Starbuck5> added prototype docs to the _sdl2.video system in #2533 <https://github.com/pygame/pygame/pull/2533>. They will be live at https://www.pygame.org/docs/ref/sdl2_video.html. @zoldalma999 <https://github.com/zoldalma999> did lots of work getting the SDL2 controller system ported in #2423 <https://github.com/pygame/pygame/pull/2423>. Thank Yous - To all the returning contributors who helped improve pygame this release: Josip Komljenoviฤ (@MightyJosip <https://github.com/MightyJosip>) | Dan Lawrence (@MyreMylar <https://github.com/MyreMylar>) | Pierre Sassoulas ( @Pierre-Sassoulas <https://github.com/Pierre-Sassoulas>) | Charlie Hayden (@Starbuck5 <https://github.com/Starbuck5>) | Ankith (@ankith26 <https://github.com/ankith26>) | @droid <https://github.com/droid> | @galexandreg <https://github.com/galexandreg> | Rene Dudfield (@illume <https://github.com/illume>) | Lenard Lindstrom (@llindstrom <https://github.com/llindstrom>) | @robertpfeiffer <https://github.com/robertpfeiffer> | @zoldalma999 <https://github.com/zoldalma999> - And to all the new contributors who put themselves out there by volunteering fixes: @MaukWM <https://github.com/MaukWM> | Chris Herborth (@Taffer <https://github.com/Taffer>) | NKID00 (NK) (@NKID00 <https://github.com/NKID00>) | Fabio Niephaus (@fniephaus <https://github.com/fniephaus>) | Ayush Bisht (@ayushbisht2001 <https://github.com/ayushbisht2001>) | Nathaniel Conroy (@nathanielconroy <https://github.com/nathanielconroy>) | Kai Eckert (@kaiec <https://github.com/kaiec>) | Anudeep Gunukula (@AnudeepGunukula <https://github.com/AnudeepGunukula>) | @bydariogamer <https://github.com/bydariogamer> | Don Patterson (@deek80 <https://github.com/deek80>) | @njbradley <https://github.com/njbradley> | @odidev <https://github.com/odidev> | @SplatRT <https://github.com/SplatRT> | Max Zangs (@Muxelmann <https://github.com/Muxelmann>) | mljli (@mljli <https://github.com/mljli>) | shawnbyday (@shawnbyday <https://github.com/shawnbyday>) | Bambalam (@bambalamm <https://github.com/bambalamm>) | Grimmys (@Grimmys <https://github.com/Grimmys>) | Carlos Ramos Carreรฑo (@vnmabus <https://github.com/vnmabus>) | Jake Bailey (@jakebailey <https://github.com/jakebailey>) | Sanket Duthade (@duthades <https://github.com/duthades>) | Matt Hollands (@mhollands <https://github.com/mhollands>) | @w-v <https://github.com/w-v> | @sandipanpanda <https://github.com/sandipanpanda> | jonozw (@jonozw <https://github.com/jonozw>) | Shingo Kagami (@shingo-kagami <https://github.com/shingo-kagami>) - As all releases, this one too would not have been possible without support from the community, from people submitting issues, to people making PRs for all kinds of improvements, from typo fixes, to fixing complex segfaults in C code, every contribution matters a lot! - patreon.com/pygame sponsors: Christopher Cacho, Daniel Lawrence, Tommi Sinivuo, Leif Theden, zoldalma, rosa, and Bob Johnson. With their help half of the first patreon goal of covering the monthly hosting costs has been covered and a number of pygame tutorials have been made. - The people supporting pygame financially by buying the pre-release of a pygame book. It's a book by a long time pygame contributor where all funds go towards pygame development. - People helping out the community in general, from making youtube tutorials, to answering questions on various forums of discussions, to helping with packaging pygame! ------------------------------ - merged PRs <https://github.com/pygame/pygame/pulls?q=is%3Apr+is%3Aclosed+merged%3A2020-1...> since we started the pygame 2.0.2 series on the 24th of December 2020 - 305 Commits since 2.0.1 stable release <https://github.com/pygame/pygame/compare/2.0.1...2.0.2.dev2> - previous pygame release notes <https://github.com/pygame/pygame/releases> (Special thanks to Ankith & Charlie for sending this release out)
participants (1)
-
Renรฉ Dudfield