Ebitengine 2.7 Release Notes
v2.7.0
New Text Rendering Package text/v2
(#2454)
A new text rendering package text/v2 has been added. This package is a successor to the text package.
- Support for languages such as Arabic and vertical Japanese (#675)
- Vectorization of glyphs (#1937)
- Alignment options such as right alignment (#2143)
- Support for OpenType features (#2454)
- Other bug fixes (#498, #2669)

For how to use it, please refer to the following samples.
examples/fontfeature: OpenType featuresexamples/fontvariation: OpenType variationsexamples/fontvector: Glyph vectorizationexamples/mixedfont: Mixing multiple font facesexamples/text: Basic text drawingexamples/texti18n: Drawing in various languages
exp/textinput
As an environment supported by the experimental package exp/textinput for IME support, Windows has been added (#2735).
Additionally, an API Field has been added for easier use (#2827).
Other New APIs
ebiten.BlendOperationMax(#2395)ebiten.BlendOperationMin(#2395)(*ebiten.Image).Deallocate(#2808)(*ebiten.MonitorType).DeviceScaleFactor(#2795)(*ebiten.MonitorType).Size(#2795)ebiten.NonZero(#2782)ebiten.KeyF13toebiten.KeyF24(#2801)ebiten.KeyIntlBackslash(#2921)ebiten.MaxVertexCount(#2828)ebiten.RunGameOptions.SingleThread(#2830)ebiten.RunGameOptions.X11ClassName(#2904)ebiten.RunGameOptions.X11InstanceName(#2904)(*ebiten.Shader).Deallocate(#2808)mobile.RunOnJVM(#2748)
Bug Fixes
This release includes all bug fixes from version 2.6.
Deprecated APIs
Incompatible Changes
gomobile buildis no longer supported (#2741).- When using the
ebitenmobilecommand,golang.org/x/mobile/app'sRunOnJVMcan no longer be used. Instead, usegithub.com/hajimehoshi/ebiten/v2/mobile'sRunOnJVM(#2748).
v2.7.1
Bug Fixes
- Fixed an issue where
ebiten.SetWindowSizebeforeebiten.RunGamedid not work correctly in the Linux i3wm desktop environment (#2951). - Fixed an issue where
GeoMof the options argument in the thetext/v2package'sDrawfunction was unintentionally modified (#2954).
v2.7.2
Bug Fixes
- Fixed an issue where the standard gamepad mapping was not working (#2964).
v2.7.3
Bug Fixes
- Fixed an issue where
ebiten.ScreenSizeInFullscreenwould crash in the browser (#2975).
v2.7.4
Starting from this version, Go 1.18 is no longer supported. This is because we needed to update dependencies that do not support Go 1.18.
Bug Fixes
- Fixed an issue where the
ebitenmobilecommand did not work with Android SDK 34 (#2992).
v2.7.5
Bug Fixes
- Fixed an issue where
exp/textinputdid not work correctly in browsers (#3014).
v2.7.6
Bug Fixes
- Fixed an issue where
ebiten.WindowSizedid not work correctly on macOS (#3029). - Fixed an issue where some objects corresponding to unmanaged
ebiten.Imageobjects were not released even when the images were garbage collected (#3030).
v2.7.7
Bug Fixes
- Fixed an issue where the canvas size was not correctly initialized when
ebiten.SetRunnableOnUnfocused(false)was called first in web browsers (#3034).
v2.7.8
Bug Fixes
- Fixed a memory leak issue when calling
WritePixelsconsecutively on an unmanaged*ebiten.Image(#3036). - Fixed an issue where text was input twice unintentionally in
textinput.Fieldwhen using MSIME on Windows (#3041). - Fixed a crash issue when dropping an HTML element onto the game screen canvas in a browser (#3043).
- Fixed an issue where multiple identical controllers did not function correctly when connected on Windows (#3046, #3047).
v2.7.9
Bug Fixes
- Fixed an issue where calling
Open(".")on the return value ofebiten.DroppedFiles()would always return the same object (#3081).