rewolf93 / CS370

Programs for Software Engineering course
MIT License
0 stars 0 forks source link

Bump pygame from 1.9.6 to 2.0.0 #82

Closed dependabot-preview[bot] closed 3 years ago

dependabot-preview[bot] commented 3 years ago

Bumps pygame from 1.9.6 to 2.0.0.

Release notes

Sourced from pygame's releases.

pygame 2.0 - the happy dance birthday release

The 28th of October 2020 is the pygame 2.0 release date, because pygame turns 20 years of age.

 ,--.
|  oo|
|  ~~| o  o  o  o  o  o  o  o  o  o  o  o  o
|/\/\|
       python3 -m pip install pygame==2.0.0

What's the best feature of pygame 2? Maybe it's "backwards compatibility". For many, many apps pygame 2 is backwards compatible. Have an pygame app from the year 2000? It will probably work. We still have some known issues and open backwards compatibility issues(see below), but a lot of things work just as they did before. Yes, we still have python 2 support.

How does one summarize the 3306 changes since we started the pygame 2 series in July of 2018 based on patches going back to 2012 and even earlier?

  • Support for Metal, Direct 3d, Vulkan, OpenGL 3.0+ in various profiles (core, compatibility, debug, robust, etc), OpenGL ES, and other modern hardware accelerated video APIs across many platforms.
  • SSE2/Neon assembly image drawing. Much faster drawing routines, image loading, and alpha blending.
  • Type Hints, for code completion (and to help you make the squiggly lines disappear) in editors and IDEs.
  • Code cleanup, using lots of code robustness tools like static analyzers, and automated CI/CD. We've been able to help dozens of people new to community projects contribute. We have lots of work to go on code quality, but we're currently the highest rated Python and highest rate C large project on LGTM.
  • Many, many bug fixes including in our pygame.draw routines, pygame.math(for vectors), and pygame.mask for pixel perfect collision detection.
  • better support for PyPy (the fast JIT based implementation of python). See our milestone Are we pypy yet? No. for our progress on making PyPy the best python for games.
  • libsdl version 2 support. Technically pygame 2.0 still works with SDL 1, but we recommend SDL2 which is vastly improved over SDL1 for most use cases. Probably we will remove SDL 1 support starting pygame 2.1.
  • Touch support (multitouch, gestures, etc)
  • Audio input support (make games with your microphone!).
  • Message alert boxes (Press OK, or Cancel).
  • Better keyboard support. Proper unicode input and IME support.
  • Much improved game controller support.
  • Better image and audio format support. Including: webp, 32bit wav files, and much more reliable mp3 support.
  • Multiple display support, and multiple window support (multi window support is still experimental, more will come in pygame 2.1).
  • Android support through python for android (fork of pygame subset for android). Better documentation, and better support will come in future releases.
  • to make distributing your apps easier, a built in "pyinstaller hook"and compatibility with cxfreeze.
  • binary "wheels" on many platforms and versions of python from the old python 2.7 - to the latest python 3.9 (and with pypy!).
  • lots of quality of life improvements like Surface.fill('black') instead of Surface.fill(pygame.Color(0, 0, 0)). Also keywords are supported for many more function arguments. You can draw rounded corners on rects.
  • plenty of new examples, like python3 -m pygame.examples.font_viewer, and python3 -m pygame.examples.music_drop_fade. Additionally the example source code has been cleaned up a lot to follow a more current python style.
  • Hundreds of documentation improvements, include a new Korean tutorial.
  • a special SCALED mode which takes low pixel games and automatically translates them to a larger window. Imagine your 320x200 resolution game of glorious pixel art... on modern screens that would be a very tiny windows. Now with SCALED it shows up big on a Full HD screen, or even a 4K/8K screen and the translation of mouse coordinates and up-scaling of pixels is done for you (hardware accelerated of course).

That was a summary of some of the goodies in pygame 2. We will be releasing more articles and tutorials on new features as time goes on. You can also look at the previous release notes for more info (see end of this post).

thank you 🎉

Probably one of the better realizations thinking about pygame on its 20th birthday is that there is a much larger group of people who have contributed to crafting pygame in recent years. Some have moved onto other things like jobs, family or writing cookbooks in the Canadian wilderness. Much respect for volunteering time to a community project like pygame.

Commits
  • cdd1e63 2.0.0
  • c45c03d Merge pull request #2266 from pygame/environment-variables-docs
  • e2d5b3e Merge pull request #2265 from pygame/experimental
  • 5faad89 Merge pull request #2262 from pygame/sse2neon-license
  • 896e6b5 Add X11 environment variable to docs.
  • a4441e6 Adds selected SDL environment variables to docs
  • fc362ed Reformatting env var docs
  • feaeba9 Adds documentation for the pygame only environment variables
  • 3e18b9d Mark WINDOWEVENT, vsync, SCALED as experimental.
  • 63ec834 Remove docscomments.json json from repo.
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) - `@dependabot use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)
dependabot-preview[bot] commented 3 years ago

Superseded by #86.