Skip to content

Update changelog and release note #19264

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 7 commits into from
Dec 25, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion CHANGELOG
Original file line number Diff line number Diff line change
@@ -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
73 changes: 15 additions & 58 deletions docs/RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -2,69 +2,26 @@
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**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)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

# 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:

<p align="center">
<img width="400" src="https://raw.githubusercontent.com/cocos2d/cocos2d-x-docs/master/en/installation/iOS-img/iPhoneXSafeArea.png">
</p>

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)
85 changes: 16 additions & 69 deletions docs/RELEASE_NOTES_CN.md
Original file line number Diff line number Diff line change
@@ -2,79 +2,26 @@
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**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)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

# 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:

<p align="center">
<img width="400" src="https://raw.githubusercontent.com/cocos2d/cocos2d-x-docs/master/en/installation/iOS-img/iPhoneXSafeArea.png">
</p>

开发者可以通过调用 `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)。