Skip to content

Commit dfe5c61

Browse files
authored
Bump 2.10.0 (#2894)
1 parent 42b67fd commit dfe5c61

File tree

16 files changed

+130
-57
lines changed

16 files changed

+130
-57
lines changed

1k/build.profiles

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ min_sdk=17
5858

5959
# The gradle version, @setup.ps1
6060
# as latest as possible
61-
gradle=9.2.0
61+
gradle=9.2.1
6262

6363
# The android gradle plugin, @setup.ps1
6464
# as stable as possible, match with build-tools,android-studio

CHANGELOG.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,51 @@
1+
# axmol-2.10.0 Nov. ?? 2025
2+
3+
## Significant changes relative to 2.9.1
4+
5+
- Improve SDF glow effect rendering by @halx99 in [#2849](https://github.com/axmolengine/axmol/pull/2849)
6+
- Switch default audio backend on iOS/macOS from `OpenAL.framework` to `openal-soft` by @halx99 in [#2868](https://github.com/axmolengine/axmol/pull/2868)
7+
- Add new interface `Application::applicationWillQuit` by @halx99 in [#2870](https://github.com/axmolengine/axmol/pull/2870)
8+
- Deprecate `FontFreeType::setShareDistanceFieldEnabled` by @halx99 in [#2856](https://github.com/axmolengine/axmol/pull/2856),
9+
use `FontFreeType::setGlobalSDFEnabled` instead
10+
11+
## Bug fixes
12+
13+
- Fix ASTC formats returning false in `testFormatForPvr3TCSupport` by @lucycycy in [#2855](https://github.com/axmolengine/axmol/pull/2855)
14+
- Fix xcarchive generation on iOS/macOS when using OpenAL-Soft by @rh101 in [#2883](https://github.com/axmolengine/axmol/pull/2883)
15+
- [Linux] Fix missing shared OpenAL library issue by @rh101 in [#2885](https://github.com/axmolengine/axmol/pull/2885)
16+
- Add path length checks to prevent out-of-bounds access in `isAbsolutePathInternal` by @tkzcfc in [#2891](https://github.com/axmolengine/axmol/pull/2891)
17+
- Fix cpp-tests memory leak by @halx99
18+
- Fix cpp-tests compile failure when ImGui is disabled by @halx99
19+
20+
## Improvements
21+
22+
- DrawNodeTest improvements by @aismann in [#2859](https://github.com/axmolengine/axmol/pull/2859)
23+
- Add `errno` and `stdint` includes to `IFileStream.h` by @halx99 in [#2875](https://github.com/axmolengine/axmol/pull/2875)
24+
- Allow setting event code and touches in `EventTouch` by @j-jorge and @halx99 in [#2890](https://github.com/axmolengine/axmol/pull/2890)
25+
- Improve label effect test by @halx99
26+
- Improve SDF text rendering shaders by @halx99
27+
- Enhance Visual Studio 2026 support by @halx99
28+
- Update binding template files by @halx99
29+
30+
## SDK & Tools updates
31+
32+
- cmake: 4.1.1 → 4.2.0 (required for VS2026 support)
33+
- gradle: 9.2.0 → 9.2.1
34+
- webview2: 1.0.3537.50 → 1.0.3595.46
35+
36+
## 3rdparty updates
37+
38+
- curl: 8.16.0 → 8.17.0
39+
- luajit: 2.1-871db2c → 2.1-68354f4
40+
41+
## Community News
42+
43+
- Axmol supports building with **Visual Studio 2026** out of the box.
44+
Ensure that [CMake 4.2.0+](https://cmake.org/download/) is installed.
45+
46+
- In **November 2025**, Axmol introduced **experimental Direct3D12 and Vulkan RHI** support,
47+
marking the first step toward modern, cross‑API rendering backends.
48+
149
# axmol-2.9.1 Nov.2 2025
250

351
## Significant changes relative to 2.9.0:

INFRA.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@
1111
## Microsoft.Web.WebView2
1212

1313
- [![nuget](https://img.shields.io/nuget/v/Microsoft.Web.WebView2?label=Upstream)](https://www.nuget.org/packages/Microsoft.Web.WebView2)
14-
- Version: 1.0.3537.50
15-
- License: https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.3537.50/License
14+
- Version: 1.0.3595.46
15+
- License: https://www.nuget.org/packages/Microsoft.Web.WebView2/1.0.3595.46/License
1616
- Platform: Win32
1717
- Managed by: `cmake/Modules/AXConfigDefine.cmake`
1818

1919
## gradle
2020

2121
- [![github](https://img.shields.io/github/v/release/gradle/gradle?label=Upstream)](https://github.com/gradle/gradle)
22-
- Version: 9.2.0
22+
- Version: 9.2.1
2323
- License: Apache-2.0
2424
- Platform: Android
2525
- Manged by: `1k/build.profiles`

cmake/Modules/AXConfigDefine.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ if(WINRT)
3030
set(CMAKE_C_FLAGS "/sdl- ${CMAKE_C_FLAGS}")
3131
set(CMAKE_CXX_FLAGS "/sdl- ${CMAKE_CXX_FLAGS}")
3232
elseif(WIN32)
33-
set(AX_MSEDGE_WEBVIEW2_VERSION "1.0.3537.50" CACHE STRING "")
33+
set(AX_MSEDGE_WEBVIEW2_VERSION "1.0.3595.46" CACHE STRING "")
3434
endif()
3535

3636
# config c standard

core/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ option(AX_ENABLE_EXT_EFFEKSEER "Build extension Effekseer" OFF)
130130

131131
cmake_dependent_option(AX_ENABLE_EXT_PARTICLE3D "Build extension Particle3D" ${AX_EXT_HINT} "AX_ENABLE_3D" OFF)
132132
cmake_dependent_option(AX_ENABLE_EXT_PHYSICS_NODE "Build extension physics-nodes" ${AX_EXT_HINT} "AX_ENABLE_PHYSICS" OFF)
133-
cmake_dependent_option(AX_ENABLE_EXT_IMGUI "Build extension ImGui" ${AX_EXT_HINT} "(WINDOWS AND NOT WINRT) OR MACOSX OR LINUX OR ANDROID OR WASM" OFF)
133+
cmake_dependent_option(AX_ENABLE_EXT_IMGUI "Build extension ImGui" ${AX_EXT_HINT} "NOT IOS AND NOT WINRT" OFF)
134134
cmake_dependent_option(AX_ENABLE_EXT_INSPECTOR "Build extension Inspector" ${AX_EXT_HINT} "AX_ENABLE_EXT_IMGUI" OFF)
135135
cmake_dependent_option(AX_ENABLE_EXT_SDFGEN "Build extension SDFGen" ${AX_EXT_HINT} "AX_ENABLE_EXT_IMGUI" OFF)
136136

core/axmolver.h.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
// 0x00 HI ME LO
55
// 00 03 08 00
66
#define AX_VERSION_MAJOR 2
7-
#define AX_VERSION_MINOR 9
8-
#define AX_VERSION_PATCH 1
7+
#define AX_VERSION_MINOR 10
8+
#define AX_VERSION_PATCH 0
99

1010
/* Define axmol version helper macros */
1111
#define AX_VERSION_MAKE(a, b, c) ((a << 16) | (b << 8) | (c & 0xff))

docs/DevSetup.md

Lines changed: 51 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
- macOS, Ubuntu, ArchLinux: run `setup.ps1` in `axmol` root directory (recommended).
88
- Windows 10+: system installed PowerShell 5.x should work. You will need to run the command `Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass -Force` in order to allow PowerShell script to run. This will allow execution of PowerShell scripts for the current user, which is required if you have downloaded the ZIP release of Axmol. If you instead cloned the Axmol repository, then you can use `Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned -Force` instead, which is more secure.
99
- Manual installation: [Instructions](https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell) / [Download](https://github.com/PowerShell/PowerShell/releases)
10-
- **CMake 3.28.1+**
10+
- **CMake 4.2.0+**
1111
- Manual installation is recommended ([download](https://cmake.org/download/)). Make sure to add CMake bin to the system `PATH`, otherwise `axmol build` will auto-setup it to `tools/external/cmake`.
1212

1313
## Prerequisites
@@ -17,7 +17,7 @@
1717
3. Run `setup.ps1` in windows powershell or (macOS/Linux/ArchLinux terminal).
1818
4. Restart the console after it has finished for environment variables to take effect.
1919
5. Ensure that the C / C++ compiler toolset is installed on your host machine.
20-
- Windows: Visual Studio 2022 with desktop workflow
20+
- Windows: Visual Studio 2022/2026 with desktop workflow
2121
- macOS: XCode 14.2+
2222
- Linux: GCC (G++)
2323

@@ -118,31 +118,55 @@ Using a PowerShell console window (command `pwsh`), go to `axmol\tests\<testdir
118118

119119
## Manually build with CMake
120120

121-
### Windows (Visual Studio 2022)
122-
123-
1. Install [CMake 3.27.4+](https://cmake.org/download/).
124-
2. Install Visual Studio 2022.
125-
3. Create a new project as shown [here](#creating-a-new-project).
126-
4. In a console window, navigate into the root directory of the project you created in the previous step.
127-
5. Generate the relevant Visual Studio project using the cmake command:
128-
129-
```axmol build``` command described in the previous sections (preferred method)
130-
or
131-
```cmake -S SOURCE_DIR -B BUILD_DIR -G VISUAL_STUDIO_VERSION_STRING -A [Win32|x64]```
132-
133-
For example, let's say `SOURCE_DIR` is the current path `"."`, and `BUILD_DIR` (out-of-source build directory) is named `"build"`:
134-
135-
(Since Axmol 2.1 c++20 is required for all platforms)
136-
- 32 bit Visual Studio 2019:
137-
```cmake -S . -B build -G "Visual Studio 16 2019" -A Win32```
138-
- 64 bit Visual Studio 2019:
139-
```cmake -S . -B build -G "Visual Studio 16 2019" -A x64```
140-
- 32 bit Visual Studio 2022:
141-
```cmake -S . -B build -G "Visual Studio 17 2022" -A Win32```
142-
- 64 bit Visual Studio 2022:
143-
```cmake -S . -B build -G "Visual Studio 17 2022" -A x64```
144-
145-
6. Use Visual Studio to open the newly created solution file. For example, `./build/ProjectName.sln`.
121+
### Windows (Visual Studio 2022/2026)
122+
123+
> **Note:** Visual Studio 2026 is supported, but requires [CMake 4.2.0+](https://cmake.org/download/).
124+
> Use generator string `-G "Visual Studio 18 2026"` when invoking cmake.
125+
126+
1. Install [CMake 4.2.0+](https://cmake.org/download/).
127+
2. Install Visual Studio 2022 (or 2026 if preferred).
128+
3. Create a new project as shown [here](#creating-a-new-project).
129+
4. In a console window, navigate to the root directory of your project.
130+
5. Generate the Visual Studio project using either:
131+
- The recommended shortcut:
132+
```bash
133+
axmol build
134+
```
135+
- Or directly with cmake:
136+
```bash
137+
cmake -S SOURCE_DIR -B BUILD_DIR -G "Visual Studio <version>" -A [Win32|x64]
138+
```
139+
140+
Example (`SOURCE_DIR = "."`, `BUILD_DIR = "build"`):
141+
*(Since Axmol 2.1, C++20 is required on all platforms)*
142+
143+
- **Visual Studio 2022 (32-bit):**
144+
```bash
145+
cmake -S . -B build -G "Visual Studio 17 2022" -A Win32
146+
```
147+
- **Visual Studio 2022 (64-bit):**
148+
```bash
149+
cmake -S . -B build -G "Visual Studio 17 2022" -A x64
150+
```
151+
- **Visual Studio 2026 (64-bit):**
152+
```bash
153+
cmake -S . -B build -G "Visual Studio 18 2026" -A x64
154+
```
155+
*(requires CMake 4.2.0+)*
156+
157+
158+
6. Use Visual Studio to open the newly created solution file:
159+
160+
- **Visual Studio 2022**
161+
```text
162+
./build/ProjectName.sln
163+
```
164+
165+
- **Visual Studio 2026**
166+
```text
167+
./build/ProjectName.slnx
168+
```
169+
*(Note: VS2026 introduces the new `.slnx` solution file format.)*
146170

147171
#### Windows UWP (Visual Studio 2022)
148172

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Fri Oct 31 21:24:14 UTC+08 2025
1+
#Thu Nov 27 12:13:44 UTC+08 2025
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
4-
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip
55
zipStoreBase=GRADLE_USER_HOME
66
zipStorePath=wrapper/dists

tests/cpp-tests/CMakeLists.txt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -386,7 +386,9 @@ list(APPEND GAME_SOURCE
386386
Source/Box2DTest/Box2dTest.cpp
387387
)
388388

389-
if((WINDOWS OR MACOSX OR LINUX OR WASM) AND (NOT WINRT) AND AX_ENABLE_EXT_IMGUI)
389+
390+
if(NOT IOS AND NOT ANDROID AND AX_ENABLE_EXT_IMGUI)
391+
# android support imgui, but box2d testbed not adapt for android which requires GLFW_KEY_XX
390392
list(APPEND GAME_HEADER
391393
Source/Box2DTestBed/tests/test.h
392394
Source/Box2DTestBed/tests/settings.h
@@ -587,7 +589,7 @@ endif()
587589

588590
if((NOT IOS) AND (NOT WINRT))
589591
message(STATUS "CMake precompile headers for ${APP_NAME}")
590-
target_precompile_headers(${APP_NAME} PRIVATE
592+
target_precompile_headers(${APP_NAME} PRIVATE
591593
"$<$<COMPILE_LANGUAGE:CXX>:axmol.h>"
592594
)
593595
endif()

tests/cpp-tests/Source/controller.cpp

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,11 @@ class RootTests : public TestList
5858
addTest("AudioEngine", []() { return new AudioEngineTests(); });
5959

6060
addTest("Box2D - Basic", []() { return new Box2DTests(); });
61-
#if AX_ENABLE_EXT_IMGUI
61+
#if AX_ENABLE_EXT_IMGUI && AX_TARGET_PLATFORM != AX_PLATFORM_ANDROID
6262
addTest("Box2D - TestBed", []() { return new Box2DTestBedTests(); });
6363
#endif
6464
addTest("Chipmunk2D - Basic", []() { return new ChipmunkTests(); });
65-
#if AX_ENABLE_EXT_IMGUI
65+
#if defined(AX_PLATFORM_PC) || defined(__EMSCRIPTEN__)
6666
addTest("Chipmunk2D - TestBed", []() { return new ChipmunkTestBedTests(); });
6767
#endif
6868
addTest("Bugs", []() { return new BugsTests(); });
@@ -189,7 +189,7 @@ Coroutine TestController::traverseTestList(TestList* testList)
189189
_logIndentation += LOG_INDENTATION;
190190
}
191191

192-
co_yield DelayTime::create(0.5);
192+
co_yield DelayTime::create(0.5);
193193
AXLOGD("{}{}Begin traverse TestList:{}", LOG_TAG, _logIndentation, testList->getTestName());
194194

195195
auto scheduler = _director->getScheduler();
@@ -201,7 +201,7 @@ Coroutine TestController::traverseTestList(TestList* testList)
201201
while (_isRunInBackground)
202202
{
203203
AXLOGD("_director is paused");
204-
co_yield DelayTime::create(0.5);
204+
co_yield DelayTime::create(0.5);
205205
}
206206
if (callback)
207207
{
@@ -288,7 +288,7 @@ Coroutine TestController::traverseTestList(TestList* testList)
288288
{
289289
testCase = (TestCase*)transitionScene->getInScene();
290290
testCaseDuration = transitionScene->getDuration() + 0.5f;
291-
291+
292292
}
293293
else
294294
{

0 commit comments

Comments
 (0)