All Versions
Latest Version
Avg Release Cycle
152 days
Latest Release
1372 days ago

Changelog History

  • v0.10.0 Changes

    August 22, 2020

    โฌ†๏ธ The big changes from upgrading GLFW have been played with for a sufficient time to tag a non-beta v0.10.0. So here it is!

    ๐Ÿš€ Rather busy right now, but hope to get some of the new proposed functionality into the next release.

    ๐Ÿš€ Have a peek at the CHANGELOG to see what else is new with this release.

  • v0.10.0-beta Changes

    May 10, 2020

    ๐Ÿ‘€ All changes are now documented in the Changelog so please have a look to see what's new.

    Hello loyal Pixelers!

    ๐Ÿš€ This release brings support for GLFW 3.3 and I know you've been excited for it. Some new features from the update are already in, and after a little bit more testing, proper gamepad support should be in the next release.
    โœ… (If you can test gamepads on a Mac, or with a PS controller, please take a look at #233 !!)

    ๐Ÿ‘ In just the brief few weeks that I've worked on this project as the new maintainer, I've been very impressed with the strong community support, and I feel this really distinguishes Pixel. Thanks to everyone who's contributed to this library, and especially thank you to its many users.

    Please stay tuned, we hope to have lots more for you soon.

  • v0.10.0-alpha Changes

    May 09, 2020
  • v0.9.0 Changes

    May 02, 2020
    • โž• Added feature from
      • Exposing Window.SwapBuffers so buffers can be swapped without polling input
    • โž• Add more examples
    • โž• Add position as out variable from vertex shader
    • โž• Add experimental joystick support
    • โž• Add mouse cursor operations
    • โž• Add Vec.Floor(โ€ฆ) function
    • โž• Add circle geometry
    • ๐Ÿ›  Fix Matrix.Unproject(โ€ฆ) for rotated matrix
    • โž• Add 2D Line geometry
    • โž• Add floating point round error correction
    • ๐ŸŽ Performance improvements
    • ๐Ÿ›  Fix race condition in NewGLTriangles(โ€ฆ)
    • โž• Add TriangleData benchmarks and improvements
    • โž• Add zero rectangle variable for utility and consistency
    • โž• Add support for Go Modules
    • โž• Add NoIconify and AlwaysOnTop window hints
  • v0.8.0 Changes

    October 10, 2018

    ... shaders ...

    Wavy gopher

    ๐Ÿš€ Less than a year ago I released Pixel 0.7. In the announcement, I declared that I will no longer be working on Pixel so much and instead leave the big things to contributors.

    I am very happy to announce that despite this, Pixel is thriving. And it's not thanks to me but thanks to the great community and new contributors.


    • ๐Ÿš€ Pixel 0.7 was released on Feb 20, 2018
    • Reached over 1600 stars
    • Closed 70 issues in total
    • Closed 49 pull request , the majority of which got merged

    ๐Ÿ”„ Changes / new features

    ๐Ÿš€ There are two big changes in this release. The first one is boring, the second one is extremely exciting.

    ๐Ÿšš 1. Examples were moved to a separate pixel-examples repository as per #135, which shrunk the main repo from ~90MB to <1MB in size.

    1. pixelgl.Canvas got a support for custom fragment shaders. This is a huge and exciting change that happened thanks to @thegtproject. Thank you a lot for that!

    ๐Ÿ‘ Accompanying the shader support comes a new tutorial so you know how to use them.

    ๐Ÿ†• This has been a great time for Pixel and I hope it continues to be. New contributors and users are always warmly welcomed. Just join the chat at

  • v0.7 Changes

    February 20, 2018

    ๐Ÿš€ Almost a year ago, Pixel 0.6 was released. It's time for a new release!

    So, let me introduce to you, the one and only Pixel 0.7.

    This version is mostly an iterative update, an evolution upon Pixel 0.6, not a revolution. However, quite a few changes accumulated since 0.6. One big thing is audio. It's been around for a while, but only now we are announcing it officially. Let's get to the changes!


    • ๐Ÿš€ Pixel 0.6 was released on May 30, 2017
    • โž• Since then we added 2474 LOC and deleted 168 LOC in 170 commits
    • Reached 1k stars! (became the most starred game library for Go)
    • Closed 51 issues in total
    • Got 13 contributors participating

    Looking for contributors!

    I made the original Pixel with though and care and I think we ended up with a decent library. Since then, I've moved on to other things and Pixel is no longer my main focus. But, there's still a lot of room for improvements. That's why I invite anyone who's interested to help Pixel thrive! Your contributions will be highly appreciated by me as well as many users of Pixel all around the world every day. Check out the short CONTRIBUTING guide to get started!

    ๐Ÿ†• New features

    ๐Ÿ’ฅ Breaking changes

    ๐Ÿ‘Œ Improvements

    • Significant optimizations in IMDraw
    • Partial benchmarks
    • โœ… Partial tests
    • Many small optimizations
    • ๐Ÿ›  Fixed a number of bugs

    Thank you

    ๐Ÿ‘ Huge thank you to everyone who contributed to or supported Pixel in any way! Special thanks go to:

    • โšก๏ธ @seebs, for investing so much time into optimizing IMDraw
    • โœ… @PlainSight, for a number of small improvements and tests
    • @svera, for many community examples
    • @peterhellberg, for yet more great community examples and a few useful improvements
    • @mewmew, for helping with the Beep library
  • v0.6 Changes

    May 30, 2017

    Finally, approximately a month since the first public Pixel release, we're releasing Pixel 0.6.

    Big thanks to everyone who contributed by sharing ideas, opening issues, or sending pull requests.


    • ๐Ÿš€ Pixel 0.5 was released on April 25
    • โž• Since then we added 1981 LOC and deleted 469 LOC in 105 commits
    • Gained 478 GitHub stars
    • Closed 19 issues

    ๐Ÿ†• New features

    The main goal of 0.6 was text drawing. This goal was quickly accomplished and perfected over the last month. Few more features landed too.

    ๐Ÿ’ฅ Breaking changes

    ๐Ÿš€ Unfortunately, there are a few very important breaking changes in this release too. I decided to included them, because the old ways were starting to annoy me and I felt like these were the right changes to do. Hopefully, there will be no more breaking changes after this.

    โšก๏ธ All tutorials and examples were updated according to the breaking changes.

    • ๐Ÿ”„ Changed Vec implementation from complex128 to a simple struct. This choice was made because although the complex128 implementation allowed for a very nice addition and subtraction using + and - operators, it complicated pretty much every other operation.
    • โœ‚ Removed SetMatrix and SetColorMask from Sprite and replaced the simple sprite.Draw(target) signature with sprite.Draw(target, matrix) and sprite.DrawColorMask(target, matrix, mask) methods. This choice was made, because it avoids a lot of typing and eliminates some state. The same change was done for Canvas, although SetMatrix and SetColorMask methods were kept there , because they serve a different purpose.
    • IMDraw properties were changed from methods to fields. So now, instead of imd.Color(colornames.Red) you write imd.Color = colornames.Red. This is more convenient and allows for retrieving the value easily.

    ๐Ÿ‘Œ Improvements

    • โž• Added examples/community directory, for community examples: right now, there's a maze generator by Stephen Chavez
    • ๐Ÿ‘Œ Improved documentation in several places
    • ๐Ÿ›  Fixed numerous bugs
  • v0.5.1 Changes

    April 28, 2017
    • ๐Ÿ‘Œ improve documentation (here and here)
    • ๐Ÿ›  fix a bug in the shader (here)
    • โž• add Canvas.SetPixels and Canvas.Pixels method (here)
    • โœ‚ remove PictureData.SetColor (here)
  • v0.5 Changes

    April 25, 2017

    ๐Ÿš€ This is the first release of Pixel. I tagged it v0.5, because we're halfway towards v1.0 and v0.1 looks ugly.