๐Ÿ’๐Ÿ’๐Ÿ˜‰๐Ÿ˜Š๐Ÿ’๐Ÿ’
โ˜• 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/2dee2c6c9f12fe8eda3e8f1652931750d4a00bf47dd80d72b5acb3ffe7572cc2/68747470733a2f2f7777772e736369656e6365616e64696e6475737472796d757365756d2e6f72672e756b2f73697465732f64656661756c742f66696c65732f7374796c65732f656d6265646465645f696d6167652f7075626c69632f323031392d30362f4d6f756e742d5374726565742d4d696c6c2d322e6a70673f69746f6b3d4e7677324a477937>

*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-4a6d-9274-10769e10cea9.PNG>

Now, Cambria is Cambria
[image: after]
<https://user-images.githubusercontent.com/46412508/126019070-bdeaa29d-c898-4cf4-b471-b2441e3b0f3d.PNG>

(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-12-24..2021-07-22+sort%3Aupdated-desc+>
   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)

Reply via email to