Ebitengine 2.4 Release Notes


Issues for v2.4.0

"Truly pure Go" for Windows

(#1488, #1764)

Ebitengine originally included GLFW DLL files and extracted them dynamically. This was problematic in terms of portability. For v2.4, we rewrote the GLFW part for Windows into pure Go, which means Ebitengine becomes truly pure Go for Windows. Now an Ebitengine application can be built for an Arm Windows native binary, but this is not tested yet. This fix is also a preparation for other Windows-like system like Xbox.

With this change, the build tag ebitenexternaldll was removed.

Unmanaged images

(#2013, #2017, #2124)

New APIs NewImageWithOptions and NewImageFromImageWithOptions were added. You can specify these options:

Audio decoding without resampling


New audio APIs to decode without resampling were added. Implicit resampling by Decode was useful but problematic since it might unexpectedly be slow. DecodeWithoutResampling is more explicit in terms of execution cost.

Also, an API to resample the source explicitly was added:

Debug info


A new function ebiten.ReadDebugInfo and a new struct ebiten.DebugInfo were added. Now what you can get from these APIs is only the type of the current graphics library so far.

Other new APIs

Renaming APIs

(#2071, #2236)

These new API were added as aliases to existing APIs. The existing APIs are still available but deprecated.

Also, environment variables and build tags were renamed. Old ones are still available but deprecated:

Improving Kage (the shading language for Ebitengine)

Now NewShader checks types for builtin function arguments and operators more strictly (#2184, #2187).

Also, these new built-in functions were added:

DirectX performance improvement

(#2034, #2149, #2188)

The DirectX driver now runs 2x-3x faster than the version 2.3.

Bug fixes

This release includes all the bug fixes in the version 2.3.

Breaking changes


Issues for v2.4.1

Bug fixes


Issues for v2.4.2

Bug fixes


Issues for v2.4.3

Bug fixes


Issues for v2.4.4

Bug fixes


Issues for v2.4.5

Bug fixes


Issues for v2.4.6

Bug fixes