All Versions
Latest Version
Avg Release Cycle
59 days
Latest Release
1340 days ago

Changelog History

  • v2.4.0 Changes

    August 15, 2020

    2.4.0 Changelog:


    • ๐Ÿ‘Œ support fitting text within the button


    • โž• added a helper for 2d rectangular spaces.


    • โž• added option for targeting a specific screen pixel ratio width/height when not in fullscreen (helps for osx retina displays)


    • โž• added an example for non-default logger (regex logger)
    • small efficiency boost to standard logger
    • ErrorCheck now returns the error consumes

    -viewports can now be shifted by a relative amount rather than having to be set to an absolute location with ShiftScreen

    • ๐Ÿ‘Œ improved screenshake logic
    • ๐Ÿ”ฆ expose keypress functionality to allow for software simulated keyboard interactions


    • 0๏ธโƒฃ our default font is now baked into our binary, to support use while vendoring.
    • โž• added NewStrPtrText to Font.
    • โž• added Reverting.Get to support sub Switch types.
    • โž• added Polygon.GetThickOutline
    • โž• added Polygon.GetGradientOutline
    • โž• added Polygon.GetColoredOutline
    • โž• added ParticleLimit to particle generators
    • โž• added particle.InfiniteLifeSpan generation option
    • โž• added NoopStackable, for tests to disable rendering anything.
    • โž• added mod.StripOuterAlpha
    • ๐Ÿ—„ renamed NewLineColored to NewColoredLine. The old name is deprecated for removal in 3.0.
    • โž• added Replace, analogous to Draw, to replace one renderable with another without dropping frames.
    • ๐Ÿ—„ renamed DrawPolygon.DrawPolygonDim to DrawPolygonBounds. The old name is deprecated for removal iun 3.0
    • โšก๏ธ composite updates to allow for subslices of compositeM and have compositeR implement stackable


    • 0๏ธโƒฃ scenes will now use default NOP scene functions for start, loop, and end, if sent nil.


    • โž• added DoAfterContext



    • ๐Ÿ†• new examples were added illustrating viewport locked rooms, zooming on renderables, capturing keyboard presses
  • v2.3.3 Changes

    March 11, 2020

    โฌ†๏ธ Oak v2.3.3 upgrades internal dependencies.

  • v2.3.3-beta Changes

    March 06, 2020

    โฌ†๏ธ Oak v2.3.3 upgrades internal dependencies.

  • v2.3.2 Changes

    January 25, 2020

    โšก๏ธ Oak version 2.3.2 updates the project's go modules files and imports to resolve import issues with go modules and enable go getting without too much effort to work around modules (with crossed fingers).

  • v2.3.2-beta Changes

    January 25, 2020


  • v2.3.1 Changes

    September 15, 2019

    ๐Ÿ”„ Changelog:

    • ๐Ÿ‘ท Travis CI is replaced with Github Actions
    • ๐Ÿ“‡ entities/x/btn supports storing and retrieving arbitrary metadata
    • โšก๏ธ dep / go modules files updated
    • A new fork of libudev is being used to accomodate a bug in go modules
    • โž• Adds oak.RecordGIF
    • โž• Adds oak.Config.TrackInputChanges for switching between joystick and key/mouse controls
    • โž• Adds oak.GetViewportBounds and oak.RemoveViewportBounds
    • ๐Ÿ‘‰ Use of custom polygon clipping algorithms in render.DrawPolygon
  • v2.3.0 Changes

    August 17, 2019

    ๐Ÿš€ See the beta release for the changelog.

    ๐Ÿง Also noteworthy is our audio library, klangsynthese, no longer requires cgo on Linux.

  • v2.3.0-beta.0 Changes

    July 26, 2019

    ๐Ÿš€ Beta release for 2.3.0, pending some more examples / tests / benchmarks.

    2.3.0 Changelog:


    • ๐Ÿ‘Œ Improved test coverage
    • โšก๏ธ Updated example READMEs


    • โž• Added standard direction helpers
    • ๐Ÿ‘ Allow usage of a rand other than the default rand


    • ๐Ÿ”จ Minor refactoring


    • โž• Added new screen controls
    • ๐Ÿ†• New debug commands


    • ๐Ÿ‘ Joystick support added


    • โž• Add some missing methods
  • v2.2.0 Changes

    March 23, 2019

    2.2.0 Changelog:


    • โž• Added Size method to rtrees.
    • โšก๏ธ Deprecated UpdateLabel Method.
    • ๐Ÿ›  Fixed race condition bug in UpdateSpace and UpdateSpaceRect, these methods will now return an error if attempting to update a space that does not exist in the tree.


    • โž• Added GetReactiveSpace to the Reactive type.


    • ๐Ÿ›  General bug fixes
    • force/NewHurtColor and force/NewHurtDisplay now take a variadic set of layers
    • โž• Added move/ShiftX and move/ShiftY


    • Corrected the particle demo to use 2.0.0 commands


    • โž• Added ToSprite to CompositeM
    • 0๏ธโƒฃ Corrected default font access
    • NewSheetSequence now returns an error if given invalid frames
    • Sprites now satisfy stdlib draw.Image
    • ๐Ÿ›  bugfix: Sprite copies now don't reuse the same pixel slice
    • Switch.Set returns an oakerr.NotFound instead of oakerr.InvalidInput


    • โž• Added GoToPtr, taking a string pointer as the next scene to run
  • v2.1.0 Changes

    March 04, 2019

    Full Changelog :


    -Added dependency tracking files for dep and go modules


    • โž• Added floatgeom.Point4, mirroring Point3/2
    • โž• Added Cross to floatgeom.Point3 to calculate cross products
    • โž• Added Shift and Center to floatgeom.Rect2/3 and intgeom.Rect2/3
    • โž• Added TriangulateConvex utility for converting polygons into a slice of triangles by vertex index


    • โž• Added ResetCommands to remove all debug console commands.


    • ๐Ÿ“ฆ The subpackages here are meant to be experimental extensions of existing oak functionality. These aren't bound to the versioning compatibility requirements, but packages here are candidates to be moved out of x and made a part of versioning compatibility.
    • โž• Added the btn package, an experimental UI package for quick menu and button creation.
    • โž• Added the force package, containing utilities for imparting directionality with collisions.
    • โž• Added the 'mods' package, containing expanded color and Modifiable manipulation functions.
    • โž• Added the 'move' package, containing quick-start entity movement control functions like WASD.
    • โž• Added the 'stat' package, extending event tracking to also track incremental statistics over a game's life.


    • โž• Added the Caller interface to cover entities composed with CIDs.
    • โž• Added the ScanForEntity utility, allowing searching for arbitrary entities by function matching.
    • โž• Added the 'OnStop' event for when the engine is closed.


    • โž• Added the radar-demo package, demonstrating how to write custom renderables and point tracking with a radar UI element.


    • โž• Added Period as a duplicate of FullStop
    • โž• Added KeyHeld to track when a key triggers repeats by being held down for long enough.


    • โž• Added DrawPoint to draw single pixels.
    • โž• Added 'LoadSprites' utility combining LoadSheet and ToSprites.


    • โž• Added utilities BooleanLoop and GoTo for common Loop and End scene functions.


    • โž• Added Condense, which finds a minimal set of rectangles covering a given shape.
    • โž• Added Points, representing a shape via a set of (x,y) points.