Skip to content

v2.1.0

Compare
Choose a tag to compare
@github-actions github-actions released this 20 Jan 08:33
· 557 commits to dev since this release
9ec7c54

The 2.1.0 release is a major LTS maintenance release, thanks to all contributers of axmol, especially

Significant changes relative to 2.0.0:

  • Migrate Windows UWP from C++/CX to cppwinrt for c++20 codebase by @halx99
  • Refactor Target Platforms Enums
  • Update AGP to 8.2.1 Android Studio 2023.1.1+
    • Update android API to 34
  • Add support for enabling TTF SDF rendering globally by @halx99
  • Add extension: SDFGen to generate prebaked font atlas by @halx99
  • Add API: FontAtlasCache::preloadFontAtlas to support label SDF rendering with prebaked atlas by @halx99
  • Add API Device::getPixelRatio by @halx99
  • Add ImGui android DPI scaling support by @halx99
  • Add winuwp FPS control support by @halx99
  • Add API: compressGZ, decompressGZ by @halx99
  • Combine backend::Device and backend::DeviceInfo into backend::DriverBase by @halx99
  • Improve axmol console scripts by @halx99
  • Rebase main repo, repo size reduce from 1.1GB+ to ~80MB by @halx99
    • Add simple cmake pkg manager aka 1k/fetch.cmake to download all prebuilts,optionals,sample-assets at cmake config step
    • pkg config is in $AX_ROOT/manifest.json
    • Download cache dir is $AX_ROOT/cache
    • Also support simple mirror to gitee.com for china region via create a empty file name with .gitee in dir $AX_ROOT/1k/
  • Add extension: JSONDefault by @sarooptech
  • Add virtual file system support to WICImageLoader by @rh101
  • Add support for Richtext vertical alignment by @rh101
  • Add support for ActionCoroutine like Unity by @lich426
  • Add API: DrawNode::drawPie by @aismann
  • Add support for window resized and positioned by @lich426
  • Add extension: Inspector by @iAndyHD3
  • Add experimental WebSocket support for both wasm and native platforms by @halx99 & @rh101
  • Add extension: DrawNodeEx by @aismann
  • Add fairygui lua support by @Samoongeer
  • Enable Mat4 SSE Istructions acceleration by @halx99
  • Add dotnet API styled class JsonWriter based on rapidjson by @halx99
  • Add donation page
  • Add multi UserDefault support by @armanhossiny
  • Add fixedUpdate method to Scene by @lich426

Mark as deprecated, and will be removed in next release axmol-2.2.0

  • 32bit build
  • Extensions
    • DragonBones
    • GUI
  • Zwoptex (Commented on cpp-test)

BugFixs

  • Fix translated metal shader texture order does not follow GLSL binding order
  • Fix GLES3 shader scalar array layout incorrect
  • Fix Android ImGUI coord conversions
  • Fix Lua build on windows
  • Fix axmol new not support absolute path
  • Fix some ImGui issues
    • Fix crash
    • Fix wasm touch event not handle properly
    • Fix add/remove render loop problem
  • Fix wasm HelloLua/lua_tests error
  • Fix wasm render system font aliasing problem, caused by incorrect premultiply alpha
  • Fix text rendering layout incorrect due to kernings not multiply content scale factor
  • Fix wasm RandomHelper always return 0 problem
  • Fix label outline not work on metal graphics backend
  • Fix command axmol build can't build android on macos
  • Fix cmake may geneate 2 targets for sync axslc folder
  • Fix windows prebuilt cache issue
  • Fix Lua FileUtils getDataFromFile may return path of file
  • Fix issue where RichText URL touch listener does not activate on touch by @rh101
  • Fix for missing scripts and resources in lua tests project by @rh101
  • Fix for UWP build issues by @rh101
  • Fix UWP issues in EditBoxWinRT by @rh101
  • Fix for TextField keyboard not opening on receiving focus on android by @rh101
  • Fix plist data and version by @paulocoutinhox
  • Fix build cannot correctly handle '-' on the project name
  • Fix TMX Camera Culling by @DelinWorks
  • Fix cmake project generation on platforms other than Android by @rh101
  • Fix UILayout crash problem by @aismann
  • Fix replace scene missing nullcheck for next scene by @armanhossiny
  • Fix a crash caused by missing android view nullcheck by @Arvant
  • Fix shader cache leak by @j-jorge
  • Fix AXASSERT() not working with more complex msg arguments by @smilediver
  • Fix assertion fail when re-create axmol imgui backend by @Samoongeer
  • Fix AudioPlayer seek to incorrect frame after setTime invoked by @GuoliangWang

Improvements

  • Improve setup.ps1, auto set windows powershell.exe execution policy to Bypass
  • Reduce memory usage when using getFileMD5Hash function by @rh101
  • Improve install-pwsh.sh
  • Apple platforms require cmake-3.28.0
  • Rename AX_USE_SHARED_PREBUILT to BUILD_SHARED_LIBS in AXLinkHelper.cmake
  • Rename GLFW view name to axmol2
  • Remove Apple Controller deprecated .gamePad check branch
  • Remove dep: libzip-dev for linux
  • Auto setup llvm for win32 target platform
  • Optimize Label memory size, reduce 40 bytes
  • Support adding custom properties to the inspector for derived types by @rh101
  • Use std containers instead uthash
  • Imgui and Inspector enhancements by @rh101
  • [Android] Reset the OpenGL state cache if the context is lost by @rh101
  • [Android] Fix corrupted FPS stats font textures on OpenGL context lost by @rh101
  • Update Live2D to work with Axmol 2.x by @rh101
  • [Android] Enable support for restarting application process if OpenGL context is lost by @rh101
  • Make AxmolEditBox invisible by default by @rh101
  • [UWP] Use Package to get app version information by @rh101
  • Improve class DrawNode by @aismann
  • [CMake] Use execute_process instead of deprecated exec_program by @rh101
  • Move fmt folder to Thirdparty folder within project by @rh101
  • Remove duplicated libz for ios/tvos
  • Improve info.plist for apple platforms by @paulocoutinhox
  • Improve android build.gradle by @paulocoutinhox
  • Fix large number of generated warnings by @rh101
  • Add useful chipmunk function to axmol's internal physics engine by @DelinWorks
  • Replace 'CCAssert' with 'AXASSERT' by @aismann
  • Improve the default templates by @aismann
  • Call Android native renderer while opengl context is still valid by @rh101
  • Make FileUtils::openFileStream a const method by @rh101
  • Improve cmake scripts for managing 3rd libs
  • Add Get TMXTilesetInfo by name support by @lich426
  • Include hpp and c files in CMakeLists.txt of cpp template by @@lich426
  • Improve gradle scripts, config each build-variants for easy add custom build-variant, refer #1571
  • Allow to override AX_USE_COMPAT_GL from user's CMakeLists.txt by @smilediver
  • Fix android gradle AGP8 warnings, and rename keystore props:
    • RELEASE_STORE_FILE ==> KEY_STORE_FILE
    • RELEASE_KEY_STORE_PASSWORD ==> KEY_STORE_PASSWORD
    • RELEASE_KEY_ALIAS ==> KEY_ALIAS
    • RELEASE_KEY_PASSWORD ==> KEY_PASSWORD
  • Enable template projects' aidl by default for In-app purchases by @armanhossiny

Break changes

  • Rename glview to correct representative name: OpenGLView ==> GLView by @paulocoutinhox

3rdparties updates

  • astcenc: 4.5.0 ==> 4.7.0
  • c-ares: 1.19.1 ==> 1.25.0
  • clipper2: 1.2.2 ==> 1.3.0
  • curl: 8.2.1 ==> 8.5.0
  • jpeg-turbo: 3.0.0 ==> 3.0.1
  • llhttp: 9.0.1 ==> 9.1.3
  • ntcvt: 1.0.0 ==> 1.0.1
  • oboe: 1.7.0 ==> 1.8.0
  • openssl: 3.0.10 ==> 3.0.12
  • rapidjson: 1.0.0 ==> 1.0.0-b4a6da3
  • simdjson(NEW): 3.6.3
  • webp: 1.3.1 ==> 1.3.2
  • yasio: 4.1.0 ==> 4.1.4
  • fmt: 10.1.1 ==> 10.2.1
  • imgui: 1.89.8 ==> 1.90.1

Notes:

  • WASM require win8.1+ on windows
  • Wiki & axmol.org home page by @danialias
  • axmol reddit community by @danialias

MD5 Hash of the release artifacts

  • axmol-2.1.0.zip: FC428D0E4F920920B3A4B6CB8FB316A0