Pixel v0.6 Release Notes

Release Date: 2017-05-30 // almost 4 years ago
  • 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