What's new in CocoStudio Cocos2d-x 3.17
Jun 30, 2018
- Android: support Android Studio 3.0, NDK 16
- iOS: support full screen for iPhone X and uses Storyboard for launch screen
- 3rd: upgrade Spine runtime to v3.6.39
- 3rd: upgrade GLFW to 3.2.1
- CMake support all platforms, and support prebuilt engine libs
- Engine: multisampling support
- Label: support non-breaking characters
- Label: support belarusian language
- UI: add blend function for Text
- UI: add ScrollView API to stop overall scroll
- iOS: add auto hide home indicator for iPhone X
- iOS: provides an interface for getting SafeArea
- Android: add one more android return button types
- Engine: support reading object.rotation attribute in TMX
- Engine: make the sort behavior is same on 32bit and 64bit
- Engine: static analize fixes
- Engine: improve comments in ccConfig.h, JniHelper.h
- Engine: remove plugin submodule
- Engine: improve StringUtils::format implementation
- Label: don't count spaces at the end of line as part of the line width
- UI: partial cursor support with system font in TextField
- UI: support BMFont in TextField
- UI: improve EditBox on win32 platform
- UI: RichText improvements, get the real height by automatically customize ContentSize, refactor split algorithm
- UI: remove autorelease mark from UIWebViewWrapper and manage memory manually
- Lua: implementation conversion Lua table to ObjC Dictionary
- Lua: improve loader, support standerd Lua package require
- Web: upgrade Spine Javascript runtime to v3.6.39
- Windows: speed up build by supporting precompiled header
- Windows: remove Visual Studio 2013 support
- Windows: Windows 10 update compiler to PlatformToolset v141
- iOS: uses Images.xcassets instead of several icon png files
- Android: support Android Studio 3.0.0, switch to libc++, simplify PROP_* values, add default Proguard Config for cocos
- Android: remove ant project
- Android: update NDK from r14 to r16
- Android: improve Android.mk, not have to set NDK_MODULE_PATH in project settings
- Android: detail comments for cddandroidAndroidJavaEngine.h, Cocos2dxSound.java
- Linux: provide prebuilt version of GLFW
- cocos console: remove ant build support
- cocos console: support building release APK without key information
- 3rd: remove Visual Studio 2013 libs
- 3rd: remove Android armeabi libs since it is deprecated and will be removed in r17
- 3rd: rebuild all Android libs with clang in ndk-r16
- 3rd: cmake build support for partial libs
- 3rd: update Box2D to latest commit f655c603ba9d83
- 3rd: use prebuilt Box2D
- Engine: capture image loses quality when using RenderTexture
- Engine: RenderTexture DepthAndStencil issue on Android
- Engine: race condition resulting in deadlock infrequently in TextureCache
- Engine: CCConsole.cpp compile error with C++17 and clang
- Engine: TrianglesCommand hashing technique doesn't take padding into account
- Engine: default GLView bit depth is too low on desktop
- Engine: cocos2d::log va_list re-use bug
- Engine: cocos2d::Image::saveImageToPNG saves image in wrong PNG format
- Engine: CameraBackgroundColorBrush cannot use alpha
- Engine: crash in Allocator if there are no allocated pages
- Engine: crash when the UserDefault.xml file is empty
- Engine: memory leak in ObjectFactory destroyInstance, UserDefault::deleteValueForKey
- Engine: replace ptr_fun with lambda, fix compile error with C++17 and clang
- Engine: fix some warning issues
- Label: memory leak when using TTF labels
- Label: memory leak in FontFreeType::create
- Label: Non-TTF Label Shadow issue, make it follow Label opacity
- UI: RichText issue caused by Label when its string is very long
- UI: EditBox right padding error
- UI: win32 EditBox has wrong scale factor
- UI: TableView button click event not response when the button is a cell
- UI: correct bugs with cursor in TextField
- UI: Android EditBox use 'setSelection' error when the text beyond the border
- UI: iOS EditBox will penetrate the underlying UI event
- UI: use setTextColor for EditBox placeholder
- UI: returning UNKNOWN event for return type key SEARCH/SEND in EditBox
- UI: crash when call TextFieldTTF::setCursorFromPoint
- UI: ListView, avoid of type overflow while list size calculation
- Audio: miss return value of onWavClose function
- Audio: wrong header include in mp3reader.cpp, apple/AudioEngine-inl.h
- Audio: wrong status check in apple/AudioDecoder.mm
- Lua: should set listener to null when unregister spine event handler
- Lua: event condition bugs on ParticleTest.lua
- JSB: some memory leaks and crashes
- JSB: miss GetterSetter define for the placeHolder of TextField
- Web: out-of-date submodule commmit of cocos2d-html5 repo
- Web: bugs for Performance Test for Spine on WebGL
- iOS: fix bug about delayed creation UIWebView on iOS
- Andorid: infinite loop when counting text lines on Android in some situations
- Android: crash when network error message is too long
- Android: JniHelper no longer thread safe
- Android: proguard-rules.pro error for tests project
- Andorid: some violations about I/O operation on UI thread, which may lead to ANR
- Android: AppAcitivity is recreated which causes crash
- Android: Emulator blank screen 0x501 and 0x502 problems
- Android: Emulator stencil fix
- Android: Fix endian detection (node render order)
- Android: issue with not stable 60 fps
- Android: issue with accelerometer on Android on reverse landscape/portrait
- WinRT: fix keyBoard bug when input chinese
- cocos console: fix archive issue with Xcode 9
New in CocoStudio Cocos2d-x 3.15 (Apr 21, 2017)
- [NEW] Full support of Android Studio, can use Android Studio to edit, compile and debug C++ codes
- [NEW] Audio Engine: use `tremolo` to decode audio files to be more adaptable to Android devices and improve performance on Android
- [NEW] WebSockets and SocketIO supports SSL
- [NEW] WebSockets: add methods to get url and server selected protocol
- [NEW] Add `utils::getFileMD5Hash()`
- [REFINE] EventDispatcher: use `std::stable_sort()` to sort nodes and listeners
- [REFINE] FileUtils: add async version of common methods
- [REFINE] Label: full unicode support
- [REFINE] Renderer: enable VAO by default on Android
- [REFINE] Renderer: use std::stable_sort() to sort commands
- [REFINE] Scheduler: `unscheduleAll()` will unschedule selectors that scheduled with `performFunctionInCocosThread()`
- [REFINE] SpriteFrameCache: avoid load frames if they are already loaded
- [REFENE] Texfield: not use auto correction on iOS now
- [REFINE] TextureCache: allow to unbind asynchronous texture loading callback with a custom key
- [REFINE] WebSockets: each connection will create a virtual host
- [REFINE] WebView: can clean cached data
- [REFINE] WebSockets: allow self-assign certification
- [REFINE] 3rd: update OpenSSL to v1.1.0
- [REFINE] 3rd: update flatbuffer to v1.5
- [REFINE] 3rd: Update Spine runtime to v3.5.35
- [REFINE] Remove support for Windows 8.1 store and phone
- [REFINE] Remove 32-bit linux support
- [FIX] Action: spawn action may be invoked more times than specified
- [FIX] Audio engine: can not play audios in the callback set in `AudioEngine::setFinishedCallback()` on iOS, Mac and win32
- [FIX] Audio engine: crash if uncache audios in finish callback on Android
- [FIX] Audio engine: crash if playing very small mp3 audios on Android
- [FIX] Audio engine: may crash if repeat doing `play -> stop` on iOS and Mac
- [FIX] Audio engine: play2d may still wait 2 seconds if preload is too fast
- [FIX] Audio engine: preload many audios may cause crash on devices that use Samsung Exynos CPU
- [FIX] Application: `openURL()` return wrong valueo on Linux
- [FIX] Core: out scene's `onEnterTransitionDidFinish` is not triggered if using transition scene with `Director::runWithScene()`
- [FIX] CheckBox: can receive touch up event that is released far from it
- [FIX] Downloader: is not thread safe and may cause rondom crash on Android
- [FIX] DrawNode: can't change opacity
- [FIX] GLProgram: memory leak
- [FIX] HttpClient: may crash on Android 4.2
- [FIX] Label: ttf font line wrap
- [FIX] Label: wrong effect if ttf font line gap is not 0
- [FIX] Label: memory leak with ttf font
- [FIX] Label: call `disableEffect()` many times will compress the label to one character
- [FIX] Mesh: enable depth write by default
- [FIX] Node: calling `reorderChild()` does not update touch lister with scene graph priority
- [FIX] PageView: `getCurrentPageIndex()` returns -1 when created and haven't scrolled
- [FIX] Physics2d: can not apply velocity to kinematic bodies
- [FIX] Scheduler: an unscheduled selector may be invoked many times
- [FIX] Scheduler: selector is not moved in time
- [FIX] Simple Audio Engine: `unloadEffect()` doesn't work on Android 5.0.1 devices
- [FIX] Simple Audio Engine: `ConcurrentModificationException`
- [FIX] SokcetIO: use wrong default port for connection
- [FIX] Sprite: texture and shader lost after restore from background on Android if using ETC1
- [FIX] WebSockets: memory leak
- [FIX] WebSockets: doesn't parse url correctly
- [FIX] WebSockets: may crash in random
- [FIX] Vec4: error logic of operator '
New in CocoStudio Cocos2d-x 3.14 (Jan 4, 2017)
- [NEW] Add Spine binary file format support
- [NEW] Action: add a method to get the number of actions running in a given node with specific tag
- [NEW] Action: new actions: ResizeBy and ResizeTo
- [NEW] Button: can set title label
- [NEW] Can disable multi touch on Android
- [NEW] EventDispatcher: Add hasEventListener to check listener existance
- [NEW] EditBox: add horizontal text alignment
- [NEW] EventDispatcher: added `hasEvent()` to check if an event is added
- [NEW] Sprite: support slice9 feature
- [NEW] Slider: add methods to get _slidBallNormalRenderer
- [NEW] Desktop: add a method to toggle between fullscreen and windowed
- [NEW] Desktop: add events for window resize, focus and unfocus
- [NEW] Mac: supports game controller
- [NEW] JSB: add cc.sys.now() and perfromance.now(), the last one is more accurate
- [NEW] Lua: add cc.vec3 functions: add, sub and dot
- [NEW] Lua: use luajit 2.1.0-beta2
- [NEW] Web: Add cc.CONCURRENCY_HTTP_REQUEST_COUNT to control max concurrent task count for XMLHttpRequest
- [REFINE] Add NDEBUG for cpp template Xcode project
- [REFINE] DrawNode: support float line width
- [REFINE] EditBoxDelegate: add reason for edit end
- [REFINE] Improve XML parse performance
- [REFINE] Make batch capacity resizing more efficiently
- [REFINE] PageView: support custom scrollToPage time
- [REFINE] Lua: cc.Ray:intersects addtionally returns the distance
- [REFINE] Mac: system font enhancement
- [REFINE] Linux: build shared lib with -fPIC
- [REFINE] Android: use SharedPreferences.apply() to store data
- [REFINE] JSB: Increase default JS heap to 32 mb
- [REFINE] JSB: Support more system languages
- [REFINE] JSB: Direct log/error for better understantding problems
- [REFINE] JSB: Separate FinalizeHook for ref objects and non ref objects
- [REFINE] Web: Improve overall node construction performance
- [REFINE] Web: Improve overall loading process performance
- [REFINE] Web: Reduce overall memory usage
- [REFINE] Web: Made cc.LabelBMFont and cc.LabelAtlas support texture packing and auto batching
- [REFINE] Web: Reimplement a much faster ccui.Scale9Sprite
- [REFINE] Web: Reimplement a much faster cc.DrawNode WebGL renderer
- [REFINE] Web: Use stack to avoid recursive call in transform, onEnter, onExit etc, reduce call stack depth
- [FIX] AsstsManagerEx: project.manifest may be downloaded twice
- [FIX] AudioEngine: can not play large ogg file
- [FIX] AudioEngine: may have noise if playing mp3 files on iOS/Mac OS X
- [FIX] AudioEngine: can not play effect/music entirely on iOS and Mac
- [FIX] ClippingNode: effect is wrong if threshold is set to a value not equal to 1 first then set to 1
- [FIX] Compiling error if `USE_STD_UNORDERED_MAP == 0`
- [FIX] ControlSwitch::create() may cause crash
- [FIX] Downloader: may crash if it is released before finishing downloading task
- [FIX] EditBox: fix single line and multiline text alighment, now single line will be center and multiline will be top align vertically by default
- [FIX] EditBox: placeholder font not being set corretly for multiline text field on iOS
- [FIX] EditBox: doesn't show text on Mac OS 10.12
- [FIX] EditBox: multiline overflow bounds of box
- [FIX] FastTilemap: wrong effect when content scale factor is not 1
- [FIX] FontFreeType: crash in destructor
- [FIX] ImageView: wrong effect of using loadtexture() to load a ETC1 texture with alpha support
- [FIX] Label: wrong blending effect of outline
- [FIX] Label: some labels may not been shown
- [FIX] Label: may crash when label string is empty an the overflow is shrink
- [FIX] Label: possible memory leak when font size is 0
- [FIX] MenuItemSprite: MenuItemSprite::unselected() on a disabled item show wrong image
- [FIX] Node: the effect of setRotation+setSkewX is wrong
- [FIX] Physics3d: effect of debug draw is wrong
- [FIX] Renderer: indices count may overflow when drawing batching triangle commands which causes unexpected effect
- [FIX] RenderTexture: Sprite3D is not shown
- [FIX] TileMap: hexagonal map fails on TMXTiledMap::getTileAt()
- [FIX] TMXMapInfo: tileGid may overflow when using horizontal flip
- [FIX] TriangleCommand: triangle commands can't do batching when the glprogram using custom shader with custom uniforms
- [FIX] UI: label atlas and BMFont rendering issue with ETC1 texture format
- [FIX] 3D: small .mtl files are not loaded
- [FIX] 3D: Sprite3D::getMesh() may cause crash if it doesn't have any mesh
- [FIX] 3D: wrong Skybox fov
- [FIX] 3D: Sprite3D can't release its texture
- [FIX] AssetsManagerEx: Fail to decompress when sub directory is not created
- [FIX] ScrollView: crash of scroll to top or left
- [FIX] SoketIO: memory leak
- [FIX] iOS: Vibrate effect can not work in not silent mode
- [FIX] iOS: view size got with landscape orientation if run on iOS 7 and ealier
- [FIX] iOS: iOS 9 OpengGL error
- [FIX] iOS: if a scene includes 3d model with light and ListView may cause crash
- [FIX] Android: cause compiling error with android-19 or lower
- [FIX] Android: RapidJason crashes in release mode
- [FIX] Android: may not pause background music after game enters background
- [FIX] Android: adapt to Android pixel
- [FIX] Android: MessageBox inverted parames
- [FIX] Android: cause deadlock if preload the same file more than 3 times in preload callback
- [FIX] Android: WebView: base url can not work
- [FIX] Android: may crash if `AudioEngineManager.getProperty(PROPERTY_OUTPUT_FRAMES_PER_BUFFER)` returns null
- [FIX] Mac: Downloader can not access https website
- [FIX] Win32: fix crash caused by `Helper::getSubStringOfUTF8String()` in debug mode
- [FIX] Linux: FMOD issue
- [FIX] Linux: Application::openURL can not work
- [FIX] Desktop: crash upon exit when NotificationNode exists
- [FIX] Spine: color bug
- [FIX] Console: doesn't support `--ap` parameter
- [FIX] Lua: result of radian2angle is wrong
- [FIX] Lua: iskindof_ doesn't work correctly
- [FIX] Lua: new lua project crashes compiling with VS2015 release mode
- [FIX] Lua: ComponentLua doesn't support binary code
- [FIX] JSB: `jsb.addRoot is not a function` error caused by cc.GLProgramState.setUniformCallback
- [FIX] JSB: Fix spine TrackEntry conversion crash issue
- [FIX] JSB: Fix CallbackWrapper and FunctionWrapper crash during deallocation in new memory model
- [FIX] JSB: Fix event object memory issue by manually bind EventDispatcher::addCustomEventListener
- [FIX] JSB: Fix chipmunk crash issues when using setDefaultCollisionHandler
- [FIX] JSB: Fix compilation issues when COCOS_DEBUG = 2
- [FIX] JSB: Unify function name of Texture2D::releaseTexture
- [FIX] Web: Fix spine blend function inconsistency between web and jsb
- [FIX] Web: Fix particle system load from plist generated by x-studio365
- [FIX] Web: Fix doEnumerateRecursive(node, name, callback) always return undefined issue
- [FIX] Web: Change bright style on 'setEnabled' call of ccui.Widget
- [FIX] Web: Fix Editbox can't input in full screen mode
- [FIX] Web: Fix texture issue on some Android devices by always set vertexAttribPointer
- [FIX] Web: Make xhr ontimeout callback work on all browsers
- [FIX] Web: Fix clear color not normalized issue
- [FIX] Web: Fix clipping node rendering issue when alphaThreshold = 1
- [FIX] Web: Fix nested scroll view rendering issue
- [FIX] Web: Make orderDirty flag properly set for node
- [FIX] Web: Fix ccui.Slider gray state not available issue
New in CocoStudio Cocos2d-x 3.13 (Aug 29, 2016)
- [HIGHLIGHT] add VR plugin
- [HIGHLIGHT] support ETC1 alpha channel
- [HIGHLIGHT] fix AudioEngine performance for Android 4.2+
- [HIGHLIGHT] improve canvas renderer performance with dirty region
- [HIGHLIGHT] add Andorid arm-64 support
- [HIGHLIGHT] use luajit for Android arm-64
- [HIGHLIGHT] switch to use gcc 4.9
- [HIGHLIGHT] upgrade CURL to 7.50.0
- [HIGHLIGHT] upgrade Spine to 3.4
- [HIGHLIGHT] upgrade glfw to 3.2
- [HIGHLIGHT] upgrade luajit to 2.1.0-beta2
- [NEW] add `Configuration::supportsMapBuffer()`
- [NEW] support hexagonal tile maps
- [NEW] add `ListView::setScrollDuration()`
- [NEW] implement `SimpleAudioEngine::willPlayBackgroundMusic()` on Android
- [NEW] implement `AudioEngine::preload()` on Android
- [NEW] add `cc.Node['.classname']` to get class name for tolua C++ class in lua
- [NEW] support direct load in web engine to show scene without loading all resources, resources will be loaded asynchronously
- [NEW] add `cc.view.setOrientation` API to force orientation in web browser
- [REFINE] move back to use gcc 4.9 on Android to fix some crash bugs
- [REFINE] optimize Node sorting speed for 64-bit
- [REFINE] using `chrono::steady_clock()` instread of gettimeofday for FPS calculation
- [REFINE] use `fstat` instead of `fseek` and `ftell` for performance to read file content
- [REFINE] use std::string reference instead of char* for `utils::findChild()`
- [REFINE] make `MotionStreak` _maxPoints framerate independent
- [REFINE] support utf-8 bom lua script
- [REFINE] can show utf-8 characters in MessageBox and lua log on win32
- [REFINE] improve stability of new WebGL renderer provided in v3.12
- [REFINE] update js auto binding settings with new ndk version
- [REFINE] improve evalString implementation which was rely on deprecated API
- [REFINE] improve js bindings code quality by merging part of cocos2d-x-lite repo
- [REFINE] sources path in sourcemap of web engine are now relative
- [FIX] `GLProgram::link()` only check result in debug mode or WinRT
- [FIX] PageView::clone() misses cloing some member variables
- [FIX] potential crash of `AudioEngine::uncache()`
- [FIX] websocket receives package size > 1023 error
- [FIX] the color of underline is different from the text color
- [FIX] memory leak in `MenuItemToggle::create()`
- [FIX] crash after removing a physics body right after adding it
- [FIX] SpriteBatchNode crash if CC_SPRITE_DEBUG_DRAW is enabled
- [FIX] memory leak in `Data::move()`
- [FIX] crash in `EaseExpoentialOut::clone()`
- [FIX] buffer over-read in `GLProgram::updateUniformLocation()`
- [FIX] `dirty` variable incorrectly reset with a multiple camera setup causing drawing issues on Sprite
- [FIX] fix label text formatter right alignment
- [FIX] `bsd_signal` link error on Android
- [FIX] crash while decoding small MP3 file on Android
- [FIX] `AppDelegate::applicationWillEnterForeground()` is invoked at launch on Android
- [FIX] fix `relocation overflow in R_ARM_THM_CALL` on Android
- [FIX] navigation bar doesn't hide if show and dismiss keyboard on Android
- [FIX] `utils::getTimeInMilliseconds()` may return wrong value on Android
- [FiX] link error that `bsd_sinal` is not defined if building with API level 21+ and uses libwebsockets on Android
- [FIX] compiling error with Android 6.0(API 23)
- [FIX] music is not resumed when app is reactived on iOS
- [FIX] random crash in `alGenBuffers` at startup on iOS
- [FIX] can not play audio if uncache and play audio many times on iOS
- [FIX] `Text::create()` crash if it contains invalid string on iOS
- [FIX] `FileUtils::removeDirectory()` can not work on all platforms except iOS and Mac
- [FIX] can not compile cocos2d-x on Mac OS X 10.10 and lower
- [FIX] new js project link error on linux
- [FIX] AudioEngine can not play large ogg file on Windows
- [FIX] design resolution broken after minimize on desk platforms
- [FIX] can not get the `backClicked` in lua
- [FIX] `cc.convertColor` issue in lua
- [FIX] browser version detection
- [FIX] compiling error with `cocos gen-libs`
- [FIX] spine track entry can circle reference each other
- [FIX] global object can leak during restart in JSB
- [FIX] progress timer nested sprite can't change color in Canvas
- [FIX] layout refresh issue in web engine
- [FIX] dom element position synchronization issue in web engine
- [FIX] armature position shake when parent node move in web engine
- [FIX] rendering issue for Armature using sprite as display in bone in web engine
- [FIX] Scale9Sprite GRAY state isn't correct in WebGL
- [FIX] touch startPoint can be overwrote in web engine
- [FIX] syncStatus transform dirty flag isn't resetting in web engine
New in CocoStudio Cocos2d-x 3.11.1 (May 27, 2016)
- Supports IPv6-only network
- Fix `cocos gen-libs` compiling issue
New in CocoStudio Cocos2d-x 3.11 (May 12, 2016)
- Physics: upgrade chipmunk to v7.0.1
- JS: new memory model, don't have to use retain/release in JS
- Curl: upgrade to v7.48
- OpenSSL: upgrade to 1.0.2g
- JS: can use Firefox 30+ and VSCode to debug cocos2d-x JSB programs
- New:
- JS: web console is enabled debugging JSB projects via firefox
- UI: add a setter for touch total time threshold in ScrollView
- UI: add ability to get font family
- UI: add xml support in RichText
- UI: add ability to stop auto scrolling in ScrollView
- UI: EditBox supports multiline on Mac
- UI: Scale9Sprite allows to set custom shaders
- UI: ImageView allows to set custom shaders
- UI: TextFiled supports cursor
- FileUtils: add missing getFileSize() for winrt
- Network: close websocket connection by dispatching a resetDirector event
- Tool: cmake supports on Android
- Refined:
- Network: upgrated to latest libwebsockets, add more callbacks and bugs fixed
- Network: replace char* with std::string in HttpRequest
- Renderer: TriangleCommand and QuadCommand are merged
- 2D: SpriteFrameCache takes pixelFormat into account if specified
- UI: let ScrollView swallow touch events by default
- JSB: make selectedSprite optional
- Fixed:
- JS: firefox v30+ can not debug cocos2d-x JSB projects
- UI: can not get event when PageView was turning
- UI: bitmap font sizes are not loaded from binary .fnt files
- UI: some fonts were rendered incorreclty
- Action: TargetedAction::isDone() always return false
- Action: Repeat: will run actions more than speicific times, instant action will run one frame later
- 2D: drawing in incorrect app state on iOS
- Platform: FileUtils::getValueVectorFromFile() returns wrong value on iOS and Mac
- Network: downloader crashed when storage path contains spaces on iOS
- Network: downloader may crash on Android
- HTTPAsyncConnection: crash when custom SSL certification is set on iOS
- AssetsManagerEX: will stuck at UPDATING forever if last task fails
- AssetsManagerEX: may repeatly update some assets and cause file write conflict
- Lua: fix display.wrapScene()
New in CocoStudio Cocos2d-x 3.10 (Jan 25, 2016)
- UI: Rewrite Scale9Sprite and improve the scale9sprite performance and reduce memory consumption.
- UI: Change PageView to derive from ListView.
- Core: Added Application::getVersion() to get the app version.
- UI: Add PageView indicator.
- UI: Label add three Overflow type to new label, see release note for more information.
- UI: UIText::clone supports clone the text effect.
- Label: Add methods to query label effect state.
- UI: UIRichText support the new line element.
- 3rd party: WebP loading improvements WebP loaded as premultiplied alpha if it has.
- UI: Slider `setCapInsetProgressBarRebderer` change to `setCapInsetProgressBarRenderer`.
- UI: RichText support new line element.
- UI: Set focus to Widget when touched.
- 3D: Change char* to string in Terrain.
- Studio: Merge Studio ActionTimeLine change back into engine.
- Studio: Merge Studio changes for compatible withe 32bit Mac System.
- Studio: Merge Studio changes for lua-binding, js-binding and simulator.
- Mac: Make engine compatible for 32bit Mac.
- 3rd party: WebP loading improvements WebP loaded as premultiplied alpha if it has.
- Audio: AudioEngine on Linux replace the original SimpleAudioEngine with a new version of FMOD, now AudioEngine support all platforms!
- IOS: Add virtual keyword for some render related function.
- UI: Fixes boring deprecated warning in HttpRequest.
- Network: Fix Downloader bug on iOS & Android platform.
- Studio: Fix deprecation warning in SkeletonRenderer.
- JS: Add js test case for fix, improve template.
- Network: Permit http access to cocos2d-x.org in test projects on iOS.
- Network: Crash when removing a remotely downloaded image from texture cache in js-binding.
- Win10: WinRT project update version to v3.10.
- Console: Add quiet option for Cocos Toolkit.
- JS: New GC model for js-binding.
- Doc: Fix typos in documentation and comments.
- UI: update controlButton size calculate with new Scale9Sprite logic.
- Win10: Added missing _USRJSSTATIC preprocessor define for ARM builds.
- JS: Added ccvector_to / ccmap_to converted to new js-binding API.
- UI: Slider misprint fix.
- Network: fix possible websocket crash in its destructor.
- Core: Fix premultiplyAlpha for mipmaps and compressed textures.
- UI: Fix Scale9sprite rendering error when content size smaller than the sum of leftInset and rightInset.
- Win32: Fix EditBox crash when removing an EditBox in a scheduler.
- Android: Fix cannot add view to mFrameLayout when extends Cocos2dxActivity.
- 2D: Fixed actionNode set at wrong position bug.
- 3D: Fix the movement of PUParticle lags one frame.
- UI: Fix the wront argument of setPlaceholderFontName in EditBox.
- UI: Fix EditBox editBoxEditingDidEnd may use the original text after change the text of EditBox in user script.
- Audio: Fix `FinishCallback` never be called in Windows.
- UI: Fix Layout stencil clipping nested with Clipping Node rendering issue.
- UI: Keyboard doesn't hide when click the screen outside of EditBox on iOS platform.
- UI: Fix a fatal bug in EditBox implement on Windows platform.
- UI: Fix edit box setPlaceholderFontName and scale font size issue.
- Core: Fix memory leak when initWithImage() failed.
- Network: CCDownloader on iOS is broken in v3.9 js-binding.
- JS: Bindings fixes for Menu, Sprite and Label.
- Studio: Remove weak reference in ActionNode.
- UI: shouldStartLoading method should return value to js in js-binding.
- UI: Fix scrollview render error.
- JS: Fix win32 js project crash issue.
- UI: Button touch doesn't work with scale9 enabled.
- JS: Fix evalString doesn't return result issue.
- JS: Fix ComponentJS proxy management issue in JSB.
- Android: Fix include in cocos network module.
- Network: Fix web socket crash.
- UI: Fix TextField missing default password style text setting.
- S9SpriteTest: Scale9Sprite fade actions with cascade opacity.
- Web: Remove default focus block from UIFocusTestVertical.
- Lua: Fix pageViewTest Horizontal scroll won't work in Lua-test.