diff --git a/CHANGELOG b/CHANGELOG index 26a1634e0e8f..ca84721a4e17 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -25,7 +25,7 @@ cocos2d-x-3.17.1 Nov.19 2018 [REFINE] CMake: remove un-elegant prebuilt feature at internal cmake build scripts [REFINE] 3rd: upgrade libwebsockets to 2.4.2 with libuv enabled [REFINE] 3rd: improve cmake build scripts for external libs -[REFINE] 3rd: upgrade luajit to 2.1.0-beta3 +[REFINE] 3rd: upgrade luajit to 2.1.0-beta3, fix random crash in Android release mode [REFINE] 3rd: external/lua/lua is not referenced in cmake and it will be removed in the near future [REFINE] Tests: add websocket latency test [REFINE] Tests: add download multi task test case @@ -70,11 +70,13 @@ cocos2d-x-3.17.1 Nov.19 2018 [FIX] Android: fix crash caused by JNIEnv null pointer in getStringUTFCharsJNI function [FIX] Android: use 'Binary names' style on JNI for ClassLoader.loadClass [FIX] Android: allow cleartext HTTP traffic by default +[FIX] Windows: Support VS2017 in release mode [FIX] Action: fix repeat CallFunc for some times, may never stop [FIX] Physics: fix PhysicsJointMotor setRate and getRate Bad Access Crash [FIX] FileUtils: fix removeDirectory() failure on win32 [FIX] FileUtils: let getContents return an error code when the filename is a directory [FIX] FileUtils: let isFileExistInternal return false when folder as parameter on Linux +[FIX] LUA: performance drop bug introduced in 3.17 [FIX] CMake: fix project name always be "TemplateCpp" when create a new project [FIX] Tests: fix auto test stop in cpp-tests project [FIX] cocos console: do uninstall only when that app is installed for android diff --git a/docs/RELEASE_NOTES.md b/docs/RELEASE_NOTES.md index da4ca4b8055f..6416529d90bd 100644 --- a/docs/RELEASE_NOTES.md +++ b/docs/RELEASE_NOTES.md @@ -2,69 +2,26 @@ **Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* -- [Cocos2d-x 3.17 Release Notes](#cocos2d-x-317-release-notes) - - [Android requirements](#android-requirements) +- [Cocos2d-x 3.17.1 Release Notes](#cocos2d-x-3171-release-notes) - [Highlights](#highlights) - - [added support for iPhone X](#added-support-for-iphone-x) - - [added support Android Studio 3.0+](#added-support-android-studio-30) - - [CMake is now supported on all platforms](#cmake-is-now-supported-on-all-platforms) - - [upgrade 3rd-party libraries](#upgrade-3rd-party-libraries) - - [remove outdated](#remove-outdated) - - [misc bugs fix and stability improvements](#misc-bugs-fix-and-stability-improvements) -# Cocos2d-x 3.17 Release Notes # -The 3.17 release focuses on stability and increased performance with some under the hood enhancements that will make cross-platform development easier. +# Cocos2d-x 3.17.1 Release Notes # -## Android requirements - -v3.17 has been tested using Android Studio (3.0, 3.1, 3.1.1) with NDK r16 +The 3.17.1 release focuses on bug fixing. ## Highlights -- added support for iPhone X -- added support Android Studio 3.0+ -- CMake is now supported on all platforms -- upgraded Spine runtime to v3.6.39 -- upgraded GLFW to 3.2.1 -- misc bugs fix and stability improvements - -### added support for iPhone X - -3.17 brings support for iPhone X including supporting full screen mode, using Storyboards for launch images, __safe area__ API and support for auto hiding the Home indicator. It is important to note exactly what and where the safe area is: - -

- -

- -Developers can get the safe area easily by calling: `Director::getSafeAreaRect()`. - -### added support Android Studio 3.0+ - -Android Studio is the only official IDE for Google's Android operating system. -Cocos2d-x supports Android Studio using NDK version r16 to r16. Gradle configurations have been updated, including simplifying Gradle PROP_* values, changing the deprecated `compile` to the new `implementation`in dependency declaration, and added Proguard configuration to reduce Release package size. - -### CMake is now supported on all platforms - -CMake is now supported on all platforms, including Android(NDK), iOS, macOS, Windows (VC++ compiler), Linux. Supports precompile libraries for engine, and reusing precompiled libraries in the new build process. Your projects build time will be greatly reduced. For detailed usage, please refer to [CMake Doc](https://github.com/cocos2d/cocos2d-x/blob/v3/cmake/README.md) - -### upgrade 3rd-party libraries - -Spine skeleton animation is widely used in games developed by Cocos2d-x. Spine runtime has been upgraded to 3.6.39 to keep current. - -GLFW has been upgraded to 3.2.1 to help fix joystick issues. You can also now use GLFW as a precompiled library. - -Box2D hasn't been updated in quite some time. A new production version has yet to be released so far in 2018. We felt GitHub commit f655c603ba9d83 was stable. You can also now use Box2D as a precompiled library. - -Each Cocos2d-x release comes with a specific version of third-party libraries. If you want to upgrade third-party libraries due to your projects needs, please refer to: [3rd-party Doc](https://github.com/cocos2d/cocos2d-x-3rd-party-libs-src/blob/v3/README.md) - -### remove outdated - -Google officially deprecated ant build support starting in [Android SDK Tools 25.3.0](http://tools.android.com/recent/androidsdktoolsrevision2530feb2017). The old ant based `proj.android` and been dropped and now `proj.android` is an Android Studio project. The default architecture is changed from `armeabi` to `armeabi-v7a`. - -Visual Studio 2013 support has been dropped. Visual Studio 2015/2017 are still currently supported. The existing win32 project files is quite suitable for 2015. To use 2017, you can open a 2015 project file, modify the configuration to suit your needs, or use CMake (See above). - -### misc bugs fix and stability improvements - -This release contains more than 51 bugs fixed and 33 misc improvements, please refer to [Changelog](https://github.com/cocos2d/cocos2d-x/blob/v3/CHANGELOG) +- Fix Lua loading performance drop bug introduced in 3.17 +- Renderer limit glClear invoke times, reduce power consuming +- optimize CMake script,fix some linking issues +- Android use CMake as default PROP_BUILD_TYPE value +- Android upgrade Gradle to 4.6, SDK 28, android gradle plugin 3.1.0 +- upgrade LuaJIT to 2.1.0-beta3, fix random crash in 3.17 Lua release mode +- upgrade libwebsockets to 2.4.2 +- FileUtils provide thread-safe implementation and add missing cross-platform interface +- limit Labels text length to fix render error +- add Downloader binding to Lua + +This release contains more than 45 bugs fixed and 34 misc improvements, please refer to [ChangeLog](https://github.com/cocos2d/cocos2d-x/blob/v3/CHANGELOG) diff --git a/docs/RELEASE_NOTES_CN.md b/docs/RELEASE_NOTES_CN.md index e8cb6991cca5..eef109506d61 100644 --- a/docs/RELEASE_NOTES_CN.md +++ b/docs/RELEASE_NOTES_CN.md @@ -2,79 +2,26 @@ **Table of Contents** *generated with [DocToc](https://github.com/thlorenz/doctoc)* -- [Cocos2d-x 3.17 Release Notes](#cocos2d-x-317-release-notes) - - [测试环境](#%E6%B5%8B%E8%AF%95%E7%8E%AF%E5%A2%83) - - [版本特性](#%E7%89%88%E6%9C%AC%E7%89%B9%E6%80%A7) - - [详细介绍](#%E8%AF%A6%E7%BB%86%E4%BB%8B%E7%BB%8D) - - [支持 iPhone X](#%E6%94%AF%E6%8C%81-iphone-x) - - [支持 Android Studio 3.0+](#%E6%94%AF%E6%8C%81-android-studio-30) - - [CMake 支持全平台](#cmake-%E6%94%AF%E6%8C%81%E5%85%A8%E5%B9%B3%E5%8F%B0) - - [升级第三方库](#%E5%8D%87%E7%BA%A7%E7%AC%AC%E4%B8%89%E6%96%B9%E5%BA%93) - - [移除过时的内容](#%E7%A7%BB%E9%99%A4%E8%BF%87%E6%97%B6%E7%9A%84%E5%86%85%E5%AE%B9) - - [Bugs 修复,提高稳定性](#bugs-%E4%BF%AE%E5%A4%8D%E6%8F%90%E9%AB%98%E7%A8%B3%E5%AE%9A%E6%80%A7) +- [Cocos2d-x 3.17.1 Release Notes](#cocos2d-x-3171-release-notes) + - [版本变动](#%E7%89%88%E6%9C%AC%E5%8F%98%E5%8A%A8) -# Cocos2d-x 3.17 Release Notes # +# Cocos2d-x 3.17.1 Release Notes # -Cocos2d-x 3.17 版本着重于工具链的更新,和稳定性的增强。 +Cocos2d-x 3.17.1 侧重于稳定性的提升, 已有问题的修复。 -## 测试环境 +## 版本变动 - Android 平台使用 Android Studio (3.0, 3.1, 3.1.1) 和 NDK r16 进行测试。 - -## 版本特性 - -- 支持 iPhone X -- 支持 Android Studio 3.0+ -- CMake 支持全平台,支持预编译引擎库 -- 升级 Spine runtime 至 v3.6.39 -- 升级 GLFW 至 3.2.1,并提供预编译库 -- 更新 Box2D,并提供预编译库 -- 去除 Android 的 ant 工程 -- 去除 Visual Studio 2013 的支持 - -## 详细介绍 - -### 支持 iPhone X - -3.17 带来对 iPhone X 的支持,包含支持全屏模式,支持自动隐藏 Home 指示器,改用 Storyboard 作为启动屏幕,和增加获取 Safe Area 的接口。在开发支持 iPhone X 的应用时,最需要了解清楚的就是 Safe Area: - -

- -

- -开发者可以通过调用 `Director::getSafeAreaRect()` 来获取 Safe Area 区域。 - -### 支持 Android Studio 3.0+ - -Android Studio 是 Google 官方唯一支持的 Android 开发 IDE。 - -该版本增加了对 Android Studio 3.0+ 的支持。在支持的过程中,同时将 NDK 版本从 r14 升级到 r16。对 Gradle 工程配置也进行了诸多改进,包括简化 Gradle 变量 PROP_*,将依赖声明中弃用的 `compile` 改为新的 `implementation`,增加用以削减 Release 包体积的 Proguard 文件。 - -### CMake 支持全平台 - -扩展 CMake 构建支持至全平台,包括 Android (NDK)、iOS、macOS、Linux、Windows(VC++ compiler)。支持将引擎部分进行预编译,并在新的构建过程中重用预编译的引擎库。通过使用预编译库,可以极大的缩短工程构建时间。 - -详细的使用方法请参考 [CMake 文档](https://github.com/cocos2d/cocos2d-x/blob/v3/cmake/README.md) - -### 升级第三方库 - -Spine 骨骼动画广泛用于 Cocos2d-x 开发的游戏,引擎跟进 Spine 的升级,升级 Runtime 至 3.6.39。 - -升级 GLFW 至 3.2.1 以修复支持游戏手柄时存在的问题,同时提供 GLFW 预编译库。 - -社区希望引擎升级 Box2D,可 Box2D 的新版本迟迟未发布,根据反馈 GitHub 提交 f655c603ba9d83 是稳定的,升级 Box2D 至该提交,同时提供 Box2D 的预编译库。 - -每一次版本发布,都会附带特定版本的第三方预编译库,如果由于项目需要想对第三方库进行定制,请参考: [第三方库文档](https://github.com/cocos2d/cocos2d-x-3rd-party-libs-src/blob/v3/README.md) - -### 移除过时的内容 - -由于 Google 官方自 [Android SDK Tools 25.3.0](http://tools.android.com/recent/androidsdktoolsrevision2530feb2017) 就已放弃 ant 支持。移除旧有的 `proj.android` ant 工程,新的 `proj.android` 是 Android Studio 工程。[NDK r16](https://developer.android.com/ndk/guides/abis) 弃用了 armeabi,引擎调整默认的编译架构从 armeabi 为 armeabi-v7a。 - -在 win32 平台,越来越多的开发者已经使用 Visual Studio 2015/2017 进行开发,移除对年代久远的 2013 的支持。现存的工程配置适合于 2015 ,如果需要使用 2017,可打开现有的 sln 文件,调整配置,或使用 CMake。 - -### Bugs 修复,提高稳定性 - -改版本包含 51 项 bugs 修复和 33 项小改进,不再列举,请参考 [Changelog](https://github.com/cocos2d/cocos2d-x/blob/v3/CHANGELOG)。 +- 修复 3.17 引入的 Lua 加载性能下降的 BUG +- 减少渲染中 glClear 的调用次数,降低电量消耗 +- CMake 脚本优化,解决存在的链接问题 +- Android 默认启用 CMake 方式编译 +- Android 升级 Gradle 到 4.6, SDK 28, plugin 3.1.0 +- 升级 LuaJIT 到 2.1.0-beta3,修复 3.17 Lua 项目的闪退问题 +- 升级 libwebsockets 到 2.4.2 +- FileUtils 内部加锁,增加线程安全,完善接口实现 +- 限制 Label 长度,避免绘制错误 +- 增加 Downloader 的 Lua 绑定 +当前版本包含 45 项 bugs 修复和 34 项小改进,不再列举,请参考 [ChangeLog](https://github.com/cocos2d/cocos2d-x/blob/v3/CHANGELOG)。