Ebiten 1.12 Release Notes
v1.12.0
New features
Shader
A feature to write a custom shader and a new Go-flavored language Kage are introduced. See the document Shader for the details.
The below APIs are added for this feature.
func DrawRectShaderOptions
func DrawTrianglesShaderOptions
func (*Image).DrawRectShader
func (*Image).DrawTrianglesShader
type Shader
type NewShader
func (*Shader).Dispose
Misc.
AddressUnsafe
is newly introduced (Issue 1219).
(*ColorM).Invert
is newly introduced (Issue 548).
CompositeModeMultiply
is newly introduced (Issue 410).
SetInitFocused
is newly introduced (Issue 769).
SetScreenClearedEveryFrame
/ IsScreenClearedEveryFrame
is newly introduced (Issue 1132, Issue 1315).
text.BoundString
is newly introduced (Issue 1151, Issue 1272).
Backward Compatibility
AddressUnsafe
is newly introduced (Issue 1219).(*ColorM).Invert
is newly introduced (Issue 548).CompositeModeMultiply
is newly introduced (Issue 410).SetInitFocused
is newly introduced (Issue 769).SetScreenClearedEveryFrame
/ IsScreenClearedEveryFrame
is newly introduced (Issue 1132, Issue 1315).text.BoundString
is newly introduced (Issue 1151, Issue 1272).A breaking change with SubImage
rendering is introduced. See the blog article "Breaking change to 1.12: rendering sub-images" for the details.
Deprecated API
Run
: UseGame
interface andRunGame
function instead.
Bug fix
- This release includes all the bug fixes in v1.11.x.
- The upper side was cropped unexpectedly (Issue 1163).
- Edges at the rendering target were sometimes missing (Issue 1171).
- Crash with a specific gamepad (Issue 1173).
- Crash on Mint Linux on Parallels (Issue 1310).
- Crash on a specific Android device (Issue 1342).
- Wrong scaling on Cinnamon desktop (Issue 1307, Issue 1350).
Performance improvement
- Adopted an explicit way to detect the context lost on browsers and Android (Issue 1175, Issue 1176).
- Improved memory usage (Issue 797, Issue 1220, Issue 1221, Issue 1222).
v1.12.1
Bug fix
- Wrong rendering OpenType glyphs with
text.Draw
andgolang.org/x/image/font/opentype
(Issue 1377). - Wrong rendering texts with
text.Draw
when the kerning is negative (Issue 1378).
v1.12.2
Bug fix
ebiten.SetVsyncEnabled(false)
before the main loop didn't work on macOS (Issue 1364).- Rare crash at
audio.NewContext
on macOS and iOS (Issue 1386).
v1.12.3
Bug fix
- Drawing images with extreme scaling caused infinite loop (Issue 1398).
- Crash when Ebiten tries to create a too big images for mipmap (Issue 1399).
v1.12.4
Bug fix
- On the fullscreen mode, the window was unexpectedly minimized when switching the screens (Issue 1405).
- Stuttering sound on Raspberry Pi 400 (Issue 1424).
v1.12.5
Bug fix
- OpenGL was unexpectedly used instead of Metal on macOS Big Sur (Issue 1429).
v1.12.6
Bug fix
- Internal textures might be bigger than the limitation unexpectedly (Issue 1454).
v1.12.7
Bug fix
- Deadlock at playing audio (Issue 1469).
v1.12.8
Bug fix
- Memory leak when the screen scale is less than 1 on WebAssembly (Issue 1479).
- Wrong scaling on Samsung Galaxy S20 (Issue 1481).
- Ebitenmobile didn't work with Go 1.16 (Issue 1484, Issue 1487, Issue 1493).
v1.12.9
Bug fix
- Possible misuse of reflect.SliceHeader (Issue 1495).
- The current playing position was not shown correctly at
examples/audiopanning
(Issue 1502). - On the fullscreen mode, the application was not hidden when switching the other applications (reverting Issue 1405) (Issue 1504).
v1.12.10
Bug fix
- Gamepads didn't work on some Android devices (Issue 1542).
- Crashed with
CompositeModeMultiply
and-ebitendebug
(Issue 1544). - Race condition when calling
DrawImage
from multiple goroutines on browsers (Issue 1546).
v1.12.11
Bug fix
- Documentation fix for
SetScreenClearedEveryFrame
(Issue 1555).
v1.12.12
Bug fix
- Failed to build with the latest GopherJS (Issue 1582).
- Calling
CursorPosition
before the main loop crashed (Issue 1559). - Freeze when resizing the window size after maximizing the window size (Issue 1580).
- go-getting with
...
likego get github.com/hajimehoshi/ebiten/...
failed (Issue 1581). - Carsh when toggling the fullscreen mode when the window is in native fullscreen (by pressing the green button) on macOS (Issue 1578).
- examples/audiopanning crashed on browsers (Issue 1598).
- In examples/windowsize, the window automatically moved on Linux (Issue 1605).
- In examples/windowsize, the window vibrated when resizing it on Linux (Issue 1617).
- Getting the device scale on start-up might fail on Windows (Issue 1612).
- Freeze when resize the window very quickly on Linux (Issue 1618).