cocos2d-x-3.17 May.21 2018 [HIGHLIGHT] Android: support Android Studio 3.0, NDK 16 [HIGHLIGHT] iOS: support full screen for iPhone X and uses Storyboard for launch screen [HIGHLIGHT] 3rd: upgrade Spine runtime to v3.6.39 [HIGHLIGHT] 3rd: upgrade GLFW to 3.2.1 [HIGHLIGHT] CMake support all platforms, and support prebuilt engine libs [NEW] Engine: multisampling support [NEW] Label: support non-breaking characters [NEW] Label: support belarusian language [NEW] UI: add blend function for Text [NEW] UI: add ScrollView API to stop overall scroll [NEW] iOS: add auto hide home indicator for iPhone X [NEW] iOS: provides an interface for getting SafeArea [NEW] Andorid: add one more android return button types [REFINE] Engine: support reading object.rotation attribute in TMX [REFINE] Engine: make the sort behavior is same on 32bit and 64bit [REFINE] Engine: static analize fixes [REFINE] Engine: improve comments in ccConfig.h, JniHelper.h [REFINE] Engine: remove plugin submodule [REFINE] Engine: improve StringUtils::format implementation [REFINE] Label: don't count spaces at the end of line as part of the line width [REFENE] UI: partial cursor support with system font in TextField [REFINE] UI: support BMFont in TextField [REFINE] UI: improve EditBox on win32 platform [REFINE] UI: RichText improvements, get the real height by automatically customize ContentSize, refactor split algorithm [REFINE] UI: remove autorelease mark from UIWebViewWrapper and manage memory manually [REFINE] Lua: implementation conversion Lua table to ObjC Dictionary [REFINE] Lua: improve loader, support standerd Lua package require [REFINE] Web: upgrade Spine Javascript runtime to v3.6.39 [REFINE] Windows: speed up build by supporting precompiled header [REFINE] Windows: remove Visual Studio 2013 support [REFINE] Windows: Windows 10 update compiler to PlatformToolset v141 [REFINE] iOS: uses Images.xcassets instead of several icon png files [REFINE] Android: support Android Studio 3.0.0, switch to libc++, simplify PROP_* valuse, add default Proguard Config for cocos [REFINE] Android: remove ant project [REFINE] Android: update NDK from r14 to r16 [REFINE] Andorid: improve Android.mk, not have to set NDK_MODULE_PATH in project settings [REFINE] Android: detail comments for cddandroidAndroidJavaEngine.h, Cocos2dxSound.java [REFINE] Linux: provide prebuilt version of GLFW [REFINE] cocos console: remove ant build support [REFINE] cocos console: support building release APK without key information [REFINE] 3rd: remove Visual Studio 2013 libs [REFINE] 3rd: remove Android armeabi libs since it is deprecated and will be removed in r17 [REFINE] 3rd: rebuild all Android libs with clang in ndk-r16 [REFINE] 3rd: cmake build support for partial libs [REFENE] 3rd: update Box2D to latest commit f655c603ba9d83 [REFINE] 3rd: use prebuilt Box2D [FIX] Engine: capture image loses quality when using RenderTexture [FIX] Engine: RenderTexture DepthAndStencil issue on Android [FIX] Engine: race condition resulting in deadlock infrequently in TextureCache [FIX] Engine: CCConsole.cpp compile error with C++17 and clang [FIX] Engine: TrianglesCommand hashing technique doesn't take padding into account [FIX] Engine: default GLView bit depth is too low on desktop [FIX] Engine: cocos2d::log va_list re-use bug [FIX] Engine: cocos2d::Image::saveImageToPNG saves image in wrong PNG format [FIX] Engine: CameraBackgroundColorBrush cannot use alpha [FIX] Engine: crash in Allocator if there are no allocated pages [FIX] Engine: crash when the UserDefault.xml file is empty [FIX] Engine: memory leak in ObjectFactory destroyInstance, UserDefault::deleteValueForKey [FIX] Engine: replace ptr_fun with lambda, fix compile error with C++17 and clang [FIX] Engine: fix some warning issues [FIX] Label: memory leak when using TTF labels [FIX] Label: memory leak in FontFreeType::create [FIX] Label: Non-TTF Label Shadow issue, make it follow Label opacity [FIX] UI: RichText issue caused by Label when its string is very long [FIX] UI: EditBox right padding error [FIX] UI: win32 EditBox has wrong scale factor [FIX] UI: TableView button click event not response when the button is a cell [FIX] UI: correct bugs with cursor in TextField [FIX] UI: Android EditBox use 'setSelection' error when the text beyond the border [FIX] UI: iOS EditBox will penetrate the underlying UI event [FIX] UI: use setTextColor for EditBox placeholder [FIX] UI: returning UNKNOWN event for return type key SEARCH/SEND in EditBox [FIX] UI: crash when call TextFieldTTF::setCursorFromPoint [FIX] UI: ListView, avoid of type overflow while list size calculation [FIX] Audio: miss return value of onWavClose function [FIX] Audio: wrong header include in mp3reader.cpp, apple/AudioEngine-inl.h [FIX] Audio: wrong status check in apple/AudioDecoder.mm [FIX] Lua: should set listener to null when unregister spine event handler [FIX] Lua: event condition bugs on ParticleTest.lua [FIX] JSB: some memory leaks and crashes [FIX] JSB: miss GetterSetter define for the placeHolder of TextField [FIX] Web: out-of-date submodule commmit of cocos2d-html5 repo [FIX] Web: bugs for Performance Test for Spine on WebGL [FIX] iOS: fix bug about delayed creation UIWebView on iOS [FIX] Andorid: infinite loop when counting text lines on Android in some situations [FIX] Android: crash when network error message is too long [FIX] Android: JniHelper no longer thread safe [FIX] Android: proguard-rules.pro error for tests project [FIX] Andorid: some violations about I/O operation on UI thread, which may lead to ANR [FIX] Android: AppAcitivity is recreated which causes crash [FIX] Android: Emulator blank screen 0x501 and 0x502 problems [FIX] Android: Emulator stensil fix [FIX] Android: Fix endian detection (node render order) [FIX] Android: issue with not stable 60 fps [FIX] Android: issue with accelerometer on Android on reverse landscape/portrait [FIX] WinRT: fix keyBoard bug when input chinese [FIX] cocos console: fix archive issue with Xcode 9 cocos2d-x-3.16 Oct.9 2017 [NEW] Add RadialGradientLayer [NEW] Web: Add GLProgramState and upgrade web shader usage APIs [REFINE] 3rd: use prebuilt bullet [REFINE] CameraBackgroundBrush: use VAO/VBO to improve performance [REFINE] Color4F: add arithmentic operators [REFINE] LayerMultiplex: add `LayerMultiplex::switch(int, bool)` to not clean up previous layer after switching to a new layer [REFINE] ListView: add padding options [REFINE] FileUtils: add more async functions [REFINE] ImageView: add `ImageView::setBlendFunc()` to change blend function [REFINE] PageView: allow customizing opacity of indicator nodes [REFINE] ParticleSystem: add `ParticleSystem::setSourcePositionCompatible(bool)` to set source position instead of position [REFINE] RichText: image tag supports sprite frame [REFINE] RichText: support horizontal alignment [REFINE] ScrollView: add `ScrollView::setSwallowTouches(bool)` [REFINE] ScrollView: dispatch more useful events and add more getters [REFINE] Spine: support ETC1 [REFINE] WebView: can set opacity [REFINE] Android: update to support Android Studio 2.3.3 [REFINE] Android: add `Cocos2dxActivity.setEnableVirtualButton(boolean)` to control whether the hide virtual button or not [REFINE] iOS: more stable delta time between frames [REFINE] Engine: fix many warning issues [REFINE] Engine: exclude fps image in release mode [REFINE] Engine: add function for calculating md5 hash from Data [REFINE] Windows 10 metro mode, Windows Phone and Tizen are not supported [REFINE] Web: Text wrapping supports more languages [REFINE] Web: upgrade Spine to v3.5.35 and support Spine skeleton batching [REFINE] Web: improve Editbox user experience [REFINE] Web: improve screen adaptation for games inside iframe [REFINE] Web: use imagePool to reduce image cache memory usage in WebGL mode [REFINE] Web: ParticleSystem: Mark changeColor only if needed [REFINE] Web: use default scheduler to control action manager [REFINE] Web: remove accelerometer event listener by default [REFINE] Web: use arraybuffer responseType in BinaryLoader [FIX] Application: openURL() can not open URLs that have `&` character on linux [FIX] Audio: may crash if play, stop frequently on Mac/Android [FIX] Audio: may crash if switch to background with effect playing and switch to foreground again on Android [FIX] Audio: may freeze app on iOS/Mac [FIX] Audio: may crash if have multiple audio tracks running at the same time and frequently call `_play2d(AudioCache *cache, int audioID)` on iOS/Mac [FIX] Audio: can not mute audio while a ring or a call is comming on Android [FIX] Audio: audio loops get evently cut [FIX] Button: scale9 effect may wrong [FIX] Director: will dispatch `EVENT_BEFORE_DRAW` before drawing a frame [FIX] Downloader: task may be suspend and not been executed on Android [FIX] Downloader: may crash if downloading large file on iOS/Mac [FIX] EditBox: may not show cursor and input text on Android [FIX] EditBox: may not show any character when type on keyboard on Android [FIX] EditBox: fix spacing and alignment on Windows [FIX] EditBox: text is larger and mis-aligned on Android [FIX] EventDispatcher: `pauseEventListenersForTarget()` can not work correctly if invoked in event callback [FIX] FileUtils: `listFiles` and `listFilesRecursively` can not work correctly if the path include unicode charater on Windows [FIX] FileUtils: getFileSize() always return -1 on Android [FIX] FontAtlas: may cause crash when back from background on Android [FIX] FontAtlas: memory leak in `FontAtlas::prepareLetterDefinitions()` [FIX] HttpClient: may cause crash if used in non network environment on Android [FIX] ImageView: scale9 effect may wrong [FIX] Label: line height is reset when call `FontAtlasCache::purgeCachedData()` [FIX] Label: memory leak in `Label::setFontAtlas()` [FIX] Label: wrong effect of shrink overflow clamp on iOS [FIX] Physics: crash if calling `PhysicsWorld::setDebugDrawMask(false)` right after `Scene::initWithPhysics()` [FIX] Scheduler: can not work correctly if reschedule with same key in callback [FIX] Sprite: `Sprite::setTexture()` will reset program state [FIX] Studio: revert Studio reader and flatbuffer [FIX] TextField: crash when text exceeds content with enabled cursor [FIX] Transition: TransitionCrossFade is darker than it should [FIX] Widget: wrong layout in scaled widget [FIX] Android: app will crash at the first time launching by clicking app icon [FIX] Android: compiling error built with Android Studio for x86 [FIX] Android: can not creat EGL context if the device doesn't support 24bit depth buffer [FIX] Android: may stop response to touch event [FIX] Android: can not use previous OBB file when APK version changed [FIX] iOS: can not use cocos console compile and run in release mode on iOS with Xcode 8.3+ [FIX] iOS: FileUtils will cause compiling error on iOS 11 [FIX] Desktop: `GLViewImpl::getMonitorSize()` may return zero [FIX] Apple: may crash if there are more than 10 touches [FIX] JSB: add chipmunk binding for `cpSpace::segmentQuery()` [FIX] JSB: XMLHTTPRequest memory leak if CC_ENABLE_GC_FOR_NATIVE_OBJECTS is enabled [FIX] JSB: WebView doesn't support https [FIX] Lua: export `cocos2d::utils::findChild()` [FIX] Lua: LuaObjcBridge return wrong type when return type is bool [FIX] Lua: will crash if lua file is encrypted and it has BOM header [FIX] Lua: iskindof() return wrong result [FIX] Lua: crash if run on iOS simulator with Xcode 8.0+ [FIX] Web: memory leak in action manager [FIX] Web: local resources loading failed [FIX] Web: infinite call stack in ArmatureWebGLRenderCmd [FIX] Web: label stroke effect [FIX] Web: ProgressTimer vertex is not updated when changing transform [FIX] Web: DrawNode canvas displayedOpacity rendering cocos2d-x-3.15.1 May.27 2017 [REFINE] Add optimization codes for huawei devices 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 '<' [FIX] Android: accelerometer uses wrong time accuracy [FIX] iOS: may crashed if multiple OpenGL ES contexts coexist [FIX] Windows: bad performance [FIX] Windows: link error when compiling in release mode [FIX] Lua: content after '\0' of a string is cut off when passing a string to C++ or vice versa [FIX] Lua: lua_cocos2dx_Widget_addTouchEventListener crashed [FIX] Lua: can not get binary data from file [FIX] JSB: XMLHttpRequest supports notifying progression [FIX] JSB: invoke `jsb.reflection.callStaticMethod` many times will cause `JNI max table=512` exception on Android [FIX] Others: `download_deps.py` depends on git command cocos2d-x-3.14.1 Jan.19 2017 [FIX] May crash if using `Scene::createWithPhysics()` to create a scene and physics3d camera is not set [FIX] May have link error because of glfw conflict on Linux [FIX] Sprite: created from sprite frame with polygon information can not work correctly [FIX] Lua: link error with VS2015 [FIX] Lua: compiling error if using `cocos compile/run -p android --android-studio` on Android coocs2d-x-3.14 Dec 22 2016 [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 cocos2d-x-3.13.1 Sep 13 2016 [FIX] Label color broken [FIX] application will crash in debug mode if don't specify a design resolution [FIX] application may crash if coming from background by clicking application icon on Android [FIX] AudioEngine can not play audio if the audio lies outside APK on Android [FIX] AudioEngine::stop() will trigger `finish` callback on Android [FIX] application will crash if using SimpleAudioEngine or new AudioEngine to play audio on Android 2.3.x [FIX] object.setString() has not effect if passing a number on JSB cocos2d-x-3.13 Aug 22 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 [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 cocos2d-x-3.12 Jul 06 2016 [HIGHLIGHT] add VR support [HIGHLIGHT] add Tizen support [HIGHLIGHT] fix Android performance issue [HIGHLIGHT] Web engine performance improved in WebGL mode [HIGHLIGHT] support obb extension on Android [NEW] Core: add `utils::findChild()` [NEW] Core: add CSV format support to tile maps [NEW] Core: add `FileUtils::getContents()` [NEW] Core: cocos2d::Value supports unsigned [NEW] Particle: add feature to pause/resume particle emitter [NEW] Platform: support Windows 10 UWP x64 [NEW] UI: add clamp and shrunk feature for system fonts, currently only support iOS, Android and Mac [NEW] UI: make ListView select item programmatically [NEW] UI: add `EditBox::InputFlag::LOWERCASE_ALL_CHARACTERS` to lowercase characters [NEW] UI: add `setBounce()` to WebView [NEW] Web: refactor TMXLayer renderers [NEW] Web: can force orientation in mobile browser [NEW] Web: support high resolution TTF Label on retina display [REFINE] Android: use clang instead of gcc to compile codes [REFINE] Android: hide virtual button by default [REFINE] Android: set music volume control as default [REFINE] Android: usage clang insteand of gcc to compile codes [REFINE] Audio: catch `IllegalStateException` exception to avoid crash when playing background music with SimpleAudioEngine on Android [REFINE] Core: fix many warnings [REFINE] Core: move StringUtils functions from deprecated header file to ccUTF8.h [REFINE] Core: FontFNT will ignore chars that exceeds 65535 and print a warning information [REFINE] Core: `Node::ignoreAnchorPointForPosition()` is deprecated and add `Node::setIgnoreAnchorPointForPosition()` [REFINE] Core: allow inherit from platform FileUitils [REFINE] Core: add optional alpha parameter to Color4B and Color4F [REFINE] Core: Follow action can accept horizontal and vertical offset [REFINE] Core: TMXXMLParse parse `id` element [REFINE] Lua: rename all member functions named `end()` to `endLua()` [REFINE] JSB: make selectedSprite opitional in MenuItemSprite [REFINE] JSB: return null if read failed in `js_cocos2dx_CCFileUtils_getDataFromFile()` [REFINE] Template: iOS tempalte is refined to make cocos2d-x game scene work better with other UIView [REFINE] Template: remove `build_native.sh` [REFINE] Template: ARC support on iOS and Mac OS [REFINE] UI: TTF and BMFont label wrap mode will automanytically changed to char wrap mode when label's width is less than word's boundary [REFINE] UI: UIWidget adds missing properties for clone [REFINE] UI: UIScrollBar caches the texture created with base64 encoded images [REFINE] UI: EditBox now prints lowercase letters by default [REFINE] UI: enable WebView's local storage on Android [REFINE] UI: improve EditBox implementation on WinRT [REFINE] UI: make PageView indicator more tunable [REFINE] UI: make PageView page turning event time tweak configurable [REFINE] UI: RichText is improved: add effect of outline, shadow and glow; catch the event of open url; ability to extend tags; add anchor of image tag [REFINE] 3D: skeleton animation is more efficient when two animations switch frequently [REFINE] 3rd party: update webp to 0.5.0 [REFINE] Web: improve basic types to reduce memory usage [REFINE] Web: Show line number in console statements [REFINE] Web: Cache base64 image of PageViewIndicator and ScrollViewBar [REFINE] Web: Pass error in cc.AsyncPool in onEnd callback [REFINE] Web: Separate ccui.ListView event callback from ccui.ScrollView for its own events [FIX] Android: fix compiling error if using NDK r11+ [FIX] Android: package name is `libcocos2dx` instead of application name if building with Android Studio [FIX] Audio: AudioEngine can not work if the file path contains not ascii code on iOS [FIX] Audio: SimpleAudioEngine::playEffect() doesn't work correctly on Linux [FIX] AssetsManager: can not work [FIX] AssetsManagerEx: use manifestUrl from remote version [FIX] Core: `FileUtils::writeValueMap()` will crash on iOS if it contains `Value::Type::None` type element [FIX] Core: `ClippgNode::setStencil()` may cause assert error if it is invoked before [FIX] Core: `TextureCache::addImageAsync()` doesn't set pixel format corretly [FIX] Core: `GL::SetBlending()` doesn't set dst correctly [FIX] Core: vertex z can not work correctly if window size changed on desktop platforms [FIX] Core: use `std::isnan()` instead of `isnan()` to fix compiling errors on some Linux platforms [FIX] Core: crash on windows when using PolygonInfo [FIX] Core: fix `libpng error: CgBI: unhandled critical chunk` error with Xcode 7.3 [FIX] Core: EXC_BAD_ACCESS random crash caused by reallocation of shared indices memory [FIX] Core: memory leak of `utils::captureScreen()` on iOS and Mac OS [FIX] Core: assert error if remove an event listener twice at the same time [FIX] Core: FileUtils::getValueMapFromFile() returns wrong value if it is a number with scientific notation on Android [FIX] Core: UIGrayScale shader is not reloaded when reloading shaders [FIX] Core: `SpriteFrame::clone()` doesn't clone polygonInfo [FIX] Core: `FileUtils::createDirectory()` fails on Mac OS with sandbox [FIX] Core: `cocos2d::Value` operator overloading of comparison `==` returns wrong value in case Type::VECTOR [FIX] Core: wrong content size if minisize [FIX] Core: can not have a class named `Game` on Windows [FIX] Core: crash if load bad image on Windows [FIX] Core: custom shader uniforms and attributes do not have effect in DrawNode [FIX] Core: blend mode doesn't work with animated sprite [FIX] Core: `FileUtils::removeDirectory()` can not work correctly when the path is not end of `/` on iOS and Mac [FIX] JSB: fix some bugs related with JSB debegger [FIX] JSB: scheduler callback target lost [FIX] JSB: missing scroll widgets constants [FIX] JSB: if obj is undefined or null then attempt to access obj.__nativeObj leads to incorrect behavior [FIX] JSB: use `require()` to require the same script twice may crash [FIX] Lua: lua function is not invoked when error happens in websocket [FIX] Network: HttpClient Content-type limitation on iOS [FIX] Network: downloader crash when storage path contains spaces [FIX] Network: SocketIO crash on reconnect [FIX] Physics: PhysicsBody damping doesn't wrok [FIX] UI: EditBox may cause `java.lang.IndexOutOfBoundsException` exception on Android [FIX] UI: TextFieldTTF doesn't show password correctly [FIX] UI: RichText crash on Windows [FIX] UI: EditBox can not use custom font on Android [FIX] UI: can not use TTF font on Android [FIX] RenderTexture: `setOpacity()` has not effect [FIX] 3D: `Sprite3D::createNode()` may not work correctly with particular model data [FIX] Web: `getParentToNodeTransform` doesn't return result [FIX] Web: remote image without extension in url can't be loaded as image [FIX] Web: nested clipping nodes rendering issue in WebGL render mode [FIX] Web: IMEDispatcher can't work in mobile Chrome cocos2d-x-3.11.1 May 27 2016 [HIGHLIGHT] Supports IPv6-only network [FIX] Fix `cocos gen-libs` compiling issue cocos2d-x-3.11 May 11 2016 [HIGHLIGHT] Physics: upgrade chipmunk to v7.0.1 [HIGHLIGHT] JS: new memory model, don't have to use retain/release in JS [HIGHLIGHT] Curl: upgrade to v7.48 [HIGHLIGHT] OpenSSL: upgrade to 1.0.2g [HIGHLIGHT] JS: can use Firefox 30+ and VSCode to debug cocos2d-x JSB programs [NEW] JS: web console is enabled debugging JSB projects via firefox [NEW] UI: add a setter for touch total time threshold in ScrollView [NEW] UI: add ability to get font family [NEW] UI: add xml support in RichText [NEW] UI: add ability to stop auto scrolling in ScrollView [NEW] UI: EditBox supports multiline on Mac [NEW] UI: Scale9Sprite allows to set custom shaders [NEW] UI: ImageView allows to set custom shaders [NEW] UI: TextFiled supports cursor [NEW] FileUtils: add missing getFileSize() for winrt [NEW] Network: close websocket connection by dispatching a resetDirector event [NEW] Tool: cmake supports on Android [REFINE] Network: upgrated to latest libwebsockets, add more callbacks and bugs fixed [REFINE] Network: replace char* with std::string in HttpRequest [REFINE] Renderer: TriangleCommand and QuadCommand are merged [REFINE] 2D: SpriteFrameCache takes pixelFormat into account if specified [REFINE] UI: let ScrollView swallow touch events by default [REFINE] JSB: make selectedSprite optional [FIX] JS: firefox v30+ can not debug cocos2d-x JSB projects [FIX] UI: can not get event when PageView was turning [FIX] UI: bitmap font sizes are not loaded from binary .fnt files [FIX] UI: some fonts were rendered incorreclty [FIX] Action: TargetedAction::isDone() always return false [FIX] Action: Repeat: will run actions more than speicific times, instant action will run one frame later [FIX] 2D: drawing in incorrect app state on iOS [FIX] Platform: FileUtils::getValueVectorFromFile() returns wrong value on iOS and Mac [FIX] Network: downloader crashed when storage path contains spaces on iOS [FIX] Network: downloader may crash on Android [FIX] HTTPAsyncConnection: crash when custom SSL certification is set on iOS [FIX] AssetsManagerEX: will stuck at UPDATING forever if last task fails [FIX] AssetsManagerEX: may repeatly update some assets and cause file write conflict [FIX] Lua: fix display.wrapScene() cocos2d-x-3.10 Jan 11 2016 [HIGHLIGHT] UI: Rewrite Scale9Sprite and improve the scale9sprite performance and reduce memory consumption. [HIGHLIGHT] UI: Change PageView to derive from ListView. [NEW] Core: Added Application::getVersion() to get the app version. [NEW] UI: Add PageView indicator. [NEW] UI: Label add three Overflow type to new label, see release note for more information. [NEW] UI: UIText::clone supports clone the text effect. [NEW] Label: Add methods to query label effect state. [NEW] UI: UIRichText support the new line element. [REFINE] 3rd party: WebP loading improvements WebP loaded as premultiplied alpha if it has. [REFINE] UI: Slider `setCapInsetProgressBarRebderer` change to `setCapInsetProgressBarRenderer`. [REFINE] UI: RichText support new line element. [REFINE] UI: Set focus to Widget when touched. [REFINE] 3D: Change char* to string in Terrain. [REFINE] Studio: Merge Studio ActionTimeLine change back into engine. [REFINE] Studio: Merge Studio changes for compatible withe 32bit Mac System. [REFINE] Studio: Merge Studio changes for lua-binding, js-binding and simulator. [REFINE] Mac: Make engine compatible for 32bit Mac. [REFINE] 3rd party: WebP loading improvements WebP loaded as premultiplied alpha if it has. [REFINE] Audio: AudioEngine on Linux replace the original SimpleAudioEngine with a new version of FMOD, now AudioEngine support all platforms! [REFINE] IOS: Add virtual keyword for some render related function. [REFINE] UI: Fixes boring deprecated warning in HttpRequest. [REFINE] Network: Fix Downloader bug on iOS & Android platform. [REFINE] Studio: Fix deprecation warning in SkeletonRenderer. [REFINE] JS: Add js test case for fix, improve template. [REFINE] Network: Permit http access to cocos2d-x.org in test projects on iOS. [REFINE] Network: Crash when removing a remotely downloaded image from texture cache in js-binding. [REFINE] Win10: WinRT project update version to v3.10. [REFINE] Console: Add quiet option for Cocos Toolkit. [REFINE] JS: New GC model for js-binding. [REFINE] Doc: Fix typos in documentation and comments. [REFINE] UI: update controlButton size calculate with new Scale9Sprite logic. [REFINE] Win10: Added missing _USRJSSTATIC preprocessor define for ARM builds. [REFINE] JS: Added ccvector_to / ccmap_to converted to new js-binding API. [REFINE] UI: Slider misprint fix. [FIX] Network: fix possible websocket crash in its destructor. [FIX] Core: Fix premultiplyAlpha for mipmaps and compressed textures. [FIX] UI: Fix Scale9sprite rendering error when content size smaller than the sum of leftInset and rightInset. [FIX] Win32: Fix EditBox crash when removing an EditBox in a scheduler. [FIX] Android: Fix cannot add view to mFrameLayout when extends Cocos2dxActivity. [FIX] 2D: Fixed actionNode set at wrong position bug. [FIX] 3D: Fix the movement of PUParticle lags one frame. [FIX] UI: Fix the wront argument of setPlaceholderFontName in EditBox. [FIX] UI: Fix EditBox editBoxEditingDidEnd may use the original text after change the text of EditBox in user script. [FIX] Audio: Fix `FinishCallback` never be called in Windows. [FIX] UI: Fix Layout stencil clipping nested with Clipping Node rendering issue. [FIX] UI: Keyboard doesn't hide when click the screen outside of EditBox on iOS platform. [FIX] UI: Fix a fatal bug in EditBox implement on Windows platform. [FIX] UI: Fix edit box setPlaceholderFontName and scale font size issue. [FIX] Core: Fix memory leak when initWithImage() failed. [FIX] Network: CCDownloader on iOS is broken in v3.9 js-binding. [FIX] JS: Bindings fixes for Menu, Sprite and Label. [FIX] Studio: Remove weak reference in ActionNode. [FIX] UI: shouldStartLoading method should return value to js in js-binding. [FIX] UI: Fix scrollview render error. [FIX] JS: Fix win32 js project crash issue. [FIX] UI: Button touch doesn't work with scale9 enabled. [FIX] JS: Fix evalString doesn't return result issue. [FIX] JS: Fix ComponentJS proxy management issue in JSB. [FIX] Android: Fix include in cocos network module. [FIX] Network: Fix web socket crash. [FIX] UI: Fix TextField missing default password style text setting. [TEST] S9SpriteTest: Scale9Sprite fade actions with cascade opacity. [TEST] Web: Remove default focus block from UIFocusTestVertical. [TEST] Lua: Fix pageViewTest Horizontal scroll won't work in Lua-test. cocos2d-x-3.9 November.09 2015 [NEW] Label: Added line spacing/leading feature to Label. [NEW] ListView: Added APIs to scroll to specific item in list. [NEW] ListView: Added APIs to get an item in specific position like center, leftmost, rightmost, topmost and bottommost. [NEW] ListView: Added a feature for magnetic scrolling. [NEW] Animate: Added ActionTimeline::setAnimationEndCallBack and ActionTimeline::addFrameEndCallFunc. [NEW] Animate: Added CSLoader::createNodeWithVisibleSize, CSLoader::createNodeWithVisibleSize and moved "ui::Helper::DoLayout" into them. [NEW] Studio: Added Light3D support for Cocos Studio. [NEW] Platform: Added the missing CURL support to the Windows 10 UWP version. [NEW] Platform: Added UIEditBox support on linux platform. [REFINE] 3D: Added non-null checks in PUScriptCompiler::visit before dereferencing. [REFINE] 3D: Refined SkyboxBrush by making the shader parameter take effect at once. [REFINE] Label: Changed label font size type to float to support high precision when font size is small. [REFINE] ListView: Fixed an issue that list view's Magnetic::CENTER is not working well when non-bounceable. [REFINE] ListView: Added feature of jumping to a specific item in list view. [REFINE] Sprite: Added "a unsupport image format!" log when creating a sprite in CCImage.cpp. [REFINE] ScrollView: Merge logics of Scroll View for scroll by inertia and auto scroll into one. [REFINE] Animate: Moved initialization of image to an appropriate location, because it always called twice in SpriteFrameCache::addSpriteFramesWithFile(). [REFINE] Simulator: Changed the size of startFlag to 13. [REFINE] Simulator: Show Node and Skeleton in the middle of the simulator. [REFINE] Simulator: Removed screen direction check in simulator to avoid render error. [REFINE] Pysics: Refined components to improve physics performance. [REFINE] UI: Refined ComponentContainer to improve performance. [REFINE] UI: EventListenerMouse will dispatch EventMouse events. [REFINE] OpenGL: Added check for glfwCreateWindow. [REFINE] Platform: Fixed a crash on xiaomi2 if Cocos2d-x is built as a dynamic library. [REFINE] Platform: Updated libcococs2d name to v3.9 on WinRT platforms. [REFINE] Platform: Added some support for mouse on WinRT. Include: Show/Hide mouse cursor; Mouse event implemented similar Desktop version; Left button send mouse event and touch; Support other mouse button and scroll wheel. [REFINE] Platform: Correct the convertion between unicode and utf8 on WinRT. [REFINE] Platform: Improved EditBox implement on Win32 platform. [REFINE] JS: Add jsb.fileUtils.writeDataToFile(). [REFINE] JS: Set js templates Mac target platform from null to 10.7. [REFINE] JS: Removed the static define of variable in headfile of ScriptingCore. [REFINE] Lua: Added AssetsManagerEx constants UPDATE_FAILED and ERROR_DECOMPRESS in Lua. [REFINE] Lua / JS: Refined lua/js binding tool. [REFINE] I/O: Refined AssetsManagerEx unzipping by using async. [REFINE] Web: Improved logic of jsb_boot.js to sync with the web engine behavior. [REFINE] Web: Sync with CCBoot for web. [REFINE] Build: Fixed various compiler warnings on Xcode 7. [REFINE] Build: Fixed Wformat-security warning on Xcode. [REFINE] Build: Fixed a compile error in __LayerRGBA. [REFINE] Tool: Added tools for generating documents automatically. [REFINE] Doc: Clean up the code of setRect() function. [REFINE] Doc: Fixed a minor typo and renamed INTIAL_CAPS_ALL_CHARACTERS to INITIAL_CAPS_ALL_CHARACTERS in UIEditBox. [FIX] 3D: Fixed a bug that obb did not rotate with Sprite3d. [FIX] 3D: Corrected spot light init value. [FIX] 3D: Added the missing CCMotionStreak3D files. [FIX] 3D: Fixed a bug in CCPhysics3DComponent.cpp that oldBool is set with a wrong value. [FIX] 3D: Fixed shader light parameter bug that caused for that all the mesh share light parameter. [FIX] Sprite: Fixed a bug that CC_SPRITE_DEBUG_DRAW did nothing in Cocos2d-x. [FIX] Button: Fixed an issue that when image size of variable button status texture are different, Helper::restrictCapInsetRect result may stop the pressed & disabled status picture from loading. [FIX] Font: Fixed a crash bug in destructor of FontFreeType. [FIX] Label: Removed scale factor for label shadow. [FIX] Label: Added missing override keyword. [FIX] LoadingBar: Fixed a crash bug in LoadingBar. [FIX] ScrollView: Removed ScrollView::_innerContainer pointer copy. [FIX] Particle: Fixed a bug of nomalize_point which caused particle rendering error. [FIX] Tilemap: Fixed a TMXLayer bug: When using float values (for example the actual position of the character) to get the current tile, the wrong tile is sometimes/usually returned. [FIX] Animate: Fixed a crash bug when csb file is broken. [FIX] Animate: Fixed a bug that a same frame index is inserted after animation speed is scaled. [FIX] Animate: Fixed bug in v1.6 that bone animation crashed when performing getBoneAtPoint(0,0). [FIX] Animate: Fixed crash when recall a cached timeline after scene exited. [FIX] Animate: Fixed debug-config crash if a FrameBuffer has no RenderTargetDepthStencil. [FIX] UI: Fixed an image bug caused by the _hasPremultipliedAlpha field. [FIX] UI: Added missing getChildByTag<>() API. [FIX] UI: Fixed a bug in Widget::isClippingParentContainsPoint: _hittedByCamera may be null. [FIX] UI: Fixed a bug that cocos2d::Map may cause Dangling Pointers when inserting Ref Object which already exist in the Map. [FIX] UI: Fixed a bug in Scheduler which may case Force Close. [FIX] OpenGL: Fixed a bug of ui::WebView callback operate in OpenGL. [FIX] Performance: Fixed a bug that NotificationNode was not entered and exited. [FIX] Renderer: Fixed a bug that Material::clone failed to set the parent correctly. [FIX] Simulator: Fixed a bug that when scene was set to a very large size(eg. 2048x1536), the simulator window was out of screen. [FIX] Simulator: Fixed a compilation issue about simulator on Android x86. [FIX] Skeleton: Removed redundant interface in CCSkeletonNode. [FIX] Studio: Fixed a bug about Cocos Studio GUItest that MoveBy vertical direction under lua test project cannot scroll back to page 1 from page 2. [FIX] Studio: Hide menu "cocostudio 2.1" for JSON exported from Cocos Studio 2.x is not supported in CocoStudio 1.6. [FIX] Studio: Fixed bug that when create project from template, the app name of android-studio project is not changed. [FIX] Platform: Fixed a bug that Android activity destroyed after reopening the app. [FIX] Platform: Fixed a crash bug of AudioPlayer in Win32. [FIX] Platform: Fixed an error about Chinese input in textfield with specific IME on Android. [FIX] Platform: Fixed missing image asset in Win10 UWP manifest. [FIX] Platform: Fixed Windows 10 UWP app manifest by correcting image asset paths. [FIX] Platform: Fixed a bug that FileUtils::GetFileSize can't treat multi-char path. [FIX] Platform: Fixed a bug of loading pluginx lib when compile Android with --compile-script flag. [FIX] Platform: Fixed a crash bug caused by integer overflow in Device::getTextureDataForText on iOS. [FIX] Platform: Fixed the broken v3 Win10 UWP build by removing CCComponentPhysics2d files from the libcocos2d project. [FIX] Platform: Fixed travis-scripts/before-install.sh. [FIX] Platform: Fixed a bug in FileUtilsWin32::removeDirectory when the file begins with ".". [FIX] Platform: Corrected the keyboard codes for Desktop and WinRT. [FIX] JS: Fixed a freeze bug of playing animation in JS projects. [FIX] JS: Fixed build_native for JS default template. [FIX] JS: Fixed wrong number of param in Place and RotateTo. [FIX] Lua: Fixed a bug of luabinding enumerateChildren. [FIX] Web: Fixed wrong callback setting for webview:setOnDidFailLoading in Lua. [FIX] Web: Fixed life control for XMLHttpRequest. [FIX] Web: Fixed WebView lua-bind method name. [FIX] Build: Fixed msbuild by removing incorrect AppxBundle properties from project. [FIX] Build: Fixed the Enable_Bitcode compile error on Xcode 7. [FIX] Build: Fixed compile error for new project created by template. [FIX] Changed some delete operations to be deletions of arrays where applicable. [FIX] Changed some "free" operations to "delete" where memory was allocated with "new"." [FIX] Revert "remove CCClippingRectangleNode transform error support.". [TEST] 3D: Fixed a bug that lua Scene3DTest "back" button did not work. [TEST] Button: Added a testcase of Button opacity settings. [TEST] PageView: Fixed a bug that UIPageViewVerticalTest in cpp-test failed to scroll back to page 1. [TEST] Particle: Fixed a bug that particle test under lua has different display effects in different platforms. [TEST] Scale9Sprite: Added a test case of opacity/color cascade for Scale9Sprite. [TEST] Scale9Sprite: Added testcase for s9sprite action. [TEST] ScrollView: Added testcase for multiple items in ScrollView. [TEST] SliderBar: Fixed bug of slider bar that it doesn't refresh percentage value under project cpp-test. [TEST] SliderBar: Fixed a crash bug in "Scheduler->Scheduler ttimeScale Test" when drag slider to left then click the middle of slider bar. [TEST] Animate: Added custom spine skeletonAnimation testcase. [TEST] UI: Added DrawLabel Mode testcase. [TEST] UI: Fixed a bug that Node:Text Input test in cpp-tests touch detection is wrong. [TEST] UI: Improved UItestcase modification to make it user friendly. [TEST] Physics: Fixed a bug that quickly click mouse in "41:Node:Physics -> 6:joints" in cpp-test may cause program crash. [TEST] Studio: Fixed a crash bug of Cocos Studio 3d test under lua test project. [TEST] Platform: Solved the crash of performance-tests on Windows. [TEST] Debug: Fixed a bug that RefPtr test wasn't executed even in debug build. [TEST] JS: Fixed crash bug when click "remove ui" in "native test-JSBExtendTest" under project js-test. [TEST] JS: Updated testcase in js-test to show notificationNode to runAction. cocos2d-x-3.8.1 September.17 2015 [HIGHLIGHT] platform: Supported Xcode 7 for iOS 9 deployment cocos2d-x-3.8 final September.6 2015 cocos2d-x-3.8 rc0 August.26 2015 cocos2d-x-3.8 beta0 August.14 2015 [HIGHLIGHT] 3D: Added 3d physics collider [HIGHLIGHT] 3D: Supported setting camera background brushes with color/depth/skybox [HIGHLIGHT] 3D: Added key frame event Callback in Animate3D [HIGHLIGHT] FileUtils: Added a set of file writing APIs: writeStringToFile, writeDataToFile, writeValueMapToFile, writeValueVectorToFile [HIGHLIGHT] UI: Refined UI system [HIGHLIGHT] UI: Added RadioButton widget (JSB/Lua ready) [HIGHLIGHT] UI: Reimplemented and enhanced EditBox on Android: display cursor; support copy, cut, paste and select actions; support multi-line input; pretty adjustment when virtual keyboard shown [HIGHLIGHT] JS: Bound new AudioEngine in JSB [HIGHLIGHT] JS: Merged JSB test project into cocos2d test project [HIGHLIGHT] network: Upgrade SocketIO support to v1.x [HIGHLIGHT] tools: Optimize Bindings Generator [HIGHLIGHT] Label: Added HANYI FullType font support [NEW] 3D: Added light map support in Terrain [NEW] UI: Added ScrollViewBar for displaying a scroll bar at the side of ScrollView (JSB/Lua ready) [NEW] UI: Enhanced ScrollView with easing out scrolling [NEW] UI: Added PageView vertical scroll support [NEW] UI: Added PageView::JumpToPage API [NEW] UI: Added a setter for line width in DrawNode [NEW] Action: Permitted setting bitwise flags to action [NEW] Animate: Added Animate's getCurrentFrameIndex function [NEW] FileUtils: Added FileUtils::getFileExtension for getting file's extension name [NEW] Device: Added vibrate support to enable vibration for a duration [NEW] audio: AudioEngine supported audio preloading [NEW] UserDefault: Supported removing key pairs from UserDefault [NEW] spine: Supported Spine runtime 2.3 (Both native and web engine) [NEW] JS: Added auto binding for BlendFuncFrame [NEW] console: Supported new portrait projects from templates [NEW] console: Moved the framework-compile tools into cocos2d-console [NEW] framework: Support generate prebuilt libs of engine with debug mode [NEW] Supported Xcode 7 [REFINE] 3D: Supported composite 2D/3D scene by moving UI and camera far away [REFINE] 3D: Improved Particle3D performance [REFINE] 3D: Made SkyBox not transparent [REFINE] 3D: Enable depth write for SkyBox [REFINE] 3D: Enable depth write for transparent object [REFINE] 3D: Set depth test function of Skybox brush to always [REFINE] renderer: Enabled blending all the time for 2D render queue [REFINE] Director: Made types to handle time consistent by modifing setAnimationInterval argument from double to float [REFINE] Sprite: Made Sprite::setTexture accept nullptr as parameter [REFINE] TextureCache: Made addImageAsync function thread safe [REFINE] Label: Improved code readability [REFINE] Label: Supported adding child nodes in Label [REFINE] Label: Refine the implementation about text layout and support debug draw [REFINE] Label: Supported auto batch with bitmap font or char map [REFINE] UI: Improved Slider's precision [REFINE] UI: Made Label and Text share the same fontSize type [REFINE] UI: Reduced memory usage in Text [REFINE] UI: Refined scroll event dispatching for ScrollView [REFINE] UI: Made EditBox::setFontSize not rely on font name property [REFINE] UI: Made viewport constructor more compile friendly [REFINE] UI: Improved event handling in TextField [REFINE] studio: Avoid CSLoader from openning csb file multiple times with fopen [REFINE] studio: Added BlendFrame support to Skeleton Animation [REFINE] studio: Enabled blendfunc cascade to the skin of BoneNode [REFINE] studio: Update reader with parse logic for valid attribute of SkyBox [REFINE] FileUtils: Remove old path while adding existing search path [REFINE] Device: Implemented Device::getDPI for Mac [REFINE] network: Refine NSLog in HttpAsynConnection in release mode [REFINE] network: Fixed a problem where WebSocket messages may pile up [REFINE] utils: Made utils::captureScreen saving file in another thread to improve the performance [REFINE] 3rd party: Update Nibiru SDK to 2.6 [REFINE] platform: Correct all usage of unicode version winapi in FileUtils for win32 [REFINE] JS: Supported new construction for 3d classes in JS [REFINE] JS: Automatically add extend to need to extend classes in bindings generator [REFINE] JS: Made UI classes safely extendable in JSB [REFINE] JS: Improved NodeGrid binding [REFINE] JS: Refine performance for Cocos Studio JSON parser for 2.x [REFINE] JS: Made binding functions accept null in JS and convert to nullptr [REFINE] web: Avoid re-bake the content when the parent node's position get changed [REFINE] web: Solved repeat loading same resource issue when parsing cocos studio project [REFINE] web: Added GameNodeObjectData and GameLayerObjectData in JSON parser [REFINE] web: Updated skeleton animation to the latest version [REFINE] web: Optimized resources automatic loading in JSON parser [REFINE] web: Avoid cc.loader resource loading being terminated while encounter errors [REFINE] web: Throw new Error object instead of error message string [REFINE] web: Move setDepthTest to renderer [REFINE] web: Added BlendFuncFrame parser [REFINE] web: Permitted webp image loading on Chrome [REFINE] web: Suspended the video player when the browser is minimized [REFINE] framework: Optimized the lua & js templates [REFINE] simulator: Made Node, Skeleton needs shown in the middle of the simulator window [REFINE] Removed EMSCRIPTEN support [REFINE] Added template project daily build in Jenkins-ci [REFINE] Removed unused tool gen-prebuilt [REFINE] Removed deprecated API in templates [FIX] 3D: Fixed Effect3DOutline issue when the Sprite3D is mirrored [FIX] 3D: Fixed issue that Sprite3D::getAABBRecursively does not get AABB of Nodes with Sprite3d children [FIX] 3D: Fixed Menu unusable in 3D scene [FIX] renderer: UI component can't click correctly by moving UI and camera far away of origin [FIX] renderer: ListView in Camera with custom mask isn't visible [FIX] renderer: Temporary fix for Sprite/Label/FastTMX auto-culling failure [FIX] renderer: Fixed shader issue by reloading shader when light number changed [FIX] Scheduler: Fixed timer's delta time is error when interval equals to zero [FIX] Scheduler: Fixed Pause/Resume act incorrectly [FIX] Scheduler: Fixed the callback will be executed multiple times if the value of delay parameter equal zero [FIX] Node: Fixed issue that euler angle is NaN when update Euler angle from quaternion and asin value is not between -1 and 1 by accident [FIX] Scene: Fixed bug that can't add custom member to Scene subclass [FIX] Sprite: Fixed some warnings and a related bug in CCSprite [FIX] AutoPolygon: Fixed copy construct & assignment operator memory leakage [FIX] SpriteBatchNode: Touch screen might cause rendering order disorder when the screen have numerous sprites [FIX] SpriteBatchNode: Fixed SpriteBatchNode doesn't support setFlipped [FIX] event: Fixed EventDispatcher wrong dispatch order bug [FIX] event: Fixed EventListenerKeyboard.onKeyPressed not firing for back button on Android [FIX] FileUtils: Fixed bug that FileUtils::isDirectoryExist result is not correct on Android while using relative path in 'assets' [FIX] Action: Fixed bug that CCTargetedAction executes callback twice [FIX] audio: Fixed playing new audio after stopping an incessant(loop) audio may fail on MAC/iOS [FIX] audio: Fixed bug that playing audio may fail(error code:-1) on iOS [FIX] audio: Fixed AudioEngine possible crash on iOS/Mac while playing multiply audio [FIX] Label: Fixed rendering LabelTTF characters as black boxes on Android by ensuring atlases are purged before resetting [FIX] Label: Fixed bug that characters are displayed incorrectly with "dark roast.ttf" font [FIX] Label: Fixed opacity setting is invalid with bitmap font [FIX] Label: Fixed the color of letter will be overridden by fade action [FIX] Label: Fixed Label with some specific font is cropped [FIX] Label: Fixed the content size of Label is incorrect with GLOW effect [FIX] Label: Fixed spaces is lost if label created with Fingerpop.ttf [FIX] Label: Fixed Label::getLetter(index)->setVisible(true) cause rendering duplicate letters [FIX] Label: Fixed Label::setGlobalZOrder invalid issue if label create with system font [FIX] UI: Fixed issue that Slider::addEventListener doesn't respect the button pressed and button release event [FIX] UI: Fixed bug that UI component can't be clicked correctly by moving UI and camera far away of origin [FIX] UI: Fixed inertial scrolling for CCScrollView [FIX] UI: Fixed bug that ListView::getCurSelectedIndex may cause out of range issue [FIX] UI: Fixed PageView scrollToPage bug and the curPageIndex bug [FIX] UI: Fixed game scene displays wrongly while clicking EditBox [FIX] UI: Fixed RichText layout cause infinite loop issue [FIX] UI: Fixed formarRenderers in RichText doesn’t update container size [FIX] UI: Fixed TextField hitTest not working as expected issue [FIX] UI: Fixed Widget::setHighlighted does not work after setBright [FIX] UI: Fixed Button touch doesn't work with setScale9Enabled [FIX] UI: Fixed calculation error of Layout viewing area's clipping position in SCISSOR mode [FIX] UI: Fixed logic error in isMaxLengthEnabled handling invoked by TextField::setString [FIX] UI: Fixed improper touch intercept event propagation in UI system [FIX] UI: Fixed EditBox input maxLength for Chinese character issue on iOS [FIX] UI: Fixed EditBox turning black when soft keyboard hiding [FIX] UI: Fixed scrollview innerContainer initial position error [FIX] UI: Fixed issue that Slider create function is not taking account of res type (TextureResType) [FIX] Scale9Sprite: Fixed Scale9Sprite default capInset bug [FIX] Scale9Sprite: Fixed issue that Scale9Sprite draw extra 1 pixel when creating from spritesheet [FIX] studio: Removed "using namespace cocos2d" from CCFrame.h [FIX] studio: Fixed the SkyBox display error while parsed from editor files [FIX] studio: Fixed userCamera flag error while parsing old version exported files [FIX] studio: Fixed GameNode3DReader parse failed error [FIX] studio: Fixed crash when loading cocostudio json files with null or empty fontName [FIX] studio: Fixed bug that setColor works on a whole armature, but not on an individual bone [FIX] studio: Fixed object size error while data is error [FIX] studio: Fixed issue that bone's color and opacity cannot cascade to bone [FIX] studio: Fixed issue that bone can be see by other cameras [FIX] ClippingNode: Removed CCClippingRectangleNode transform error support [FIX] spine: Fixed the position of debug draw of bones is incorrect [FIX] spine: Fixed memory leak caused by SkeletonRenderer::initialize [FIX] network: Fixed Downloader::getHeader failure on win32 [FIX] AssetsManagerEx: Fix AssetsManager crash by protecting Downloader with shared_ptr [FIX] RenderTexture: Fixed RenderTexture switch foreground to background issue [FIX] Physics: Fixed circle shape debug draw incorrect issue [FIX] Physics: Fix transform issue of PhysicsSprite itself and its children [FIX] tilemap: Fixed small errors in the function TMXXMLParser::getRectForGID [FIX] tilemap: Fixed crash caused by creating TMX object when related image file is missing or broken [FIX] effect: Fixed PageTurn3D effect abnormal [FIX] ProgressTimer: Fixed SpriteProgressToRadialMidpointChanged bug [FIX] log: Fixed crash on Windows if passing string more than 16kb to cocos2d::log [FIX] utils: Fixed utils::captureScreen bug while using multiple camera [FIX] JS: Fixed issue of iOS/JS reflection `callStaticMethod` with bool arg [FIX] JS: Fixed Objective-C JS reflection bug while using callStaticMethod() with bool argument [FIX] JS: Fixed issue that subclass of ccui.Widget which overwrote onEnter will cause infinite recursion [FIX] JS: Fixed Node color property can not be used issue [FIX] JS: Fixed issue that SocketIO events don’t get fired when compile mode set to release [FIX] JS: Added the conversion for tmxTileFlags to fix TMXLayer::tileFlagsAt binding issue [FIX] JS: Fixed jsval_to_int and jsval_to_uint issue on 64 bit system [FIX] Lua: Fixed onTouch begin don't return value [FIX] Lua: Fixed memory leak in LuaMinXmlHttpRequest [FIX] Lua: Fixed checkbox Lua bindings issue [FIX] Lua: Fixed logic issue in cc.pIsSegmentIntersect [FIX] platform: Fixed issue that getStringUTFChars can not passing emotion from java to c++ on Android [FIX] platform: Fixed bug that paused game will be awaked by the Clock on Android [FIX] platform: Fixed bug that Cocos2dxHelper won't be initialized after activity recreate [FIX] platform: Fixed clipping node doesn't work on Android 5.0 [FIX] platform: Fixed blur shader compliant on win8 universal [FIX] platform: Fixed the error when compiling android project with release mode on Windows [FIX] platform: Fixed issue that depth/stencil buffers attributes are ignored on iOS [FIX] platform: Fixed engine crash because of wrong initialisation on some android device [FIX] platform: Removed unneeded protocol for AppController on iOS [FIX] platform: Fixed link errors in release mode on win32 [FIX] platform: Fixed Windows 10 UWP and WP8.1 app certification issue [FIX] platform: Fixed Android app occasionally freeze issue caused by Cocos2dxRenderer.nativeOnResume() is not called when the activity is resumed [FIX] web: Fixed a bug that VideoPlayer remove event throw error [FIX] web: Fixed Armature position error in studio JSON parser [FIX] web: Fixed default clearColor error in director [FIX] web: Fixed rotation value parsing error in the timeline parser [FIX] web: Fixed a bug that nested animation may be affected by outer animation [FIX] web: Made LabelAtlas ignoring invalid characters and updating correctly the content size [FIX] web: Fixed a bug that VideoPlayer remove event throw error [FIX] web: Fixed a bug that cc.director.setNotificationNode(null) doesn't take effect [FIX] web: Fixed texture rect update issue while changing sprite frame [FIX] web: Fixed effect issue in ActionGrid and NodeGrid [FIX] web: Fixed logic issue in Menu's _onTouchCancelled function [FIX] web: Fixed MenuItem crash when normal image is null [FIX] web: Fixed CCTouch's startPoint unset issue [FIX] web: Fixed incomplete fadeout effects [FIX] web: Fixed issue that return value of cc.screen.fullScreen is not boolean [FIX] web: Fixed a bug that SkeletonNode is not drawing children [TEST] 3D: Avoid to trigger touch event multiple times in Physics3D Test and Physics3D Constraint Test [TEST] 3D: Fixed Sprite3D test background to foreground bug [TEST] renderer: Added auto culling test case [TEST] renderer: Fixed material parsing test on wp8.1 [TEST] OpenGL: Fixed shader-basic and OpenGL testcase 'center' uniform error [TEST] OpenGL: Fixed ShaderRetroEffect random crash issue [TEST] OpenGL: Fixed offset on retina screen in shaderTest [TEST] OpenGL: Fixed shader test crash on android device [TEST] OpenGL: Fixed retro effect pos bug in ShaderTest [TEST] UI: Improved UIScene testcase [TEST] studio: Fixed cocostudio 3d test crash on mobile platform [TEST] studio: Added blendfunc Frame test case for skeleton animation [TEST] spine: Fixed bug that spine animition can't be rendered in Scene3DTest [TEST] tilemap: Fixed the problem that white frame didn't move as map did in JSB TMXOrthoObjectsTest [TEST] JS: Fixed Button position error in UIPageViewTest [TEST] web: Rewrote testcase for stencil depth mask in RenderTextureTest [TEST] web: Improved renderTexture stencilDepth test [TEST] web: Fixed abnormal effects in effectsTest [TEST] web: Fixed invisiable testcase of effects cocos2d-x-3.7.1 August.12 2015 [HIGHLIGHT] studio: Added new skeleton animation support and csb parser for cocos v2.3.2 beta [HIGHLIGHT] studio: Added new skeleton animation support and JSON parser in the web engine [HIGHLIGHT] studio: Added Skybox csb/JSON parser for cocos v2.3.2 beta [NEW] Node: Added getNodeToParentTransform with selected ancestor [NEW] studio: Parsed Touch/Click/Event callback in JSON parser [NEW] web: Added cc.director.setClearColor and support transparent background [REFINE] Widget: Synchronize enable state and bright state for Widget [REFINE] studio: Optimized JSON parser's performance by removing audio play [REFINE] studio: Optimized editor related extension data to a component instead of hosting in _userObject [REFINE] studio: Updated Game3DNodeReader & UserCameraReader [REFINE] Label: Remove file error notice label from TextBMFontReader [REFINE] JSB: Add firefox remote debugger support in JS templates [REFINE] web: Improved color/opacity manipulations in MenuItems [FIX] Scene: Fixed Scene can't be inherited with std::vector members [FIX] Sprite: Fixed a compile error when CC_SPRITE_DEBUG_DRAW is on [FIX] Label: Fixed creation fail if the font(TTF) contains a non-unicode charmap [FIX] Label: Fixed LabelAtlas rendering error for invalid characters and characters out of boundaries [FIX] Label: Fixed Mac system font crash issue [FIX] platform: Fixed building with system prebuilt libs on Linux [FIX] studio: Fixed ccs.Skin construction issue in JSON parser [FIX] studio: Fixed Particle3d crash while reading file with error [FIX] studio: Fixed parser crash when sprite 3d resource isn't correct [FIX] UI: Fixed CheckBox issue that _isSelected state is updated after event processing callbacks [FIX] JSB: Fixed JSON parser issue that 3d particle can not be displayed [FIX] web: Fixed an issue that loading process won't trigger callback problem [FIX] web: Fixed a bug where not resetting cc.Audio._ignoreEnded when replaying a sound caused it to stay in a "playing" state [FIX] web: cc.ScrollView and cc.TableView: added check for parent visibility in onTouchBegan method [FIX] web: Fixed TurnPageDown effect [FIX] web: Fixed Cocos Studio parser issue that all elements are missing while the timeline action contains rotation cocos2d-x-3.7final July.21 2015 [REFINE] JS: Improve manual binding code for `retain`, `release`, `onEnter`, `onExit`, `onEnterTransitionDidFinish` and `onExitTransitionDidStart` [REFINE] web: Add compatible Uint16Array defintion [FIX] Scale9Sprite: Fixed Scale9Sprite gray state issue while `setCapInsets` called [FIX] studio: Fixed parser issue by checking texture existance [FIX] studio: Fixed Armature parser issue [FIX] JS: Fixed cleanup overriding issue in JS that it will cause `too much recursion` error [FIX] web: Fixed url check regular expression not supporting localhost issue [FIX] web: Fixed issue that sprite doesn't update texture rect correctly in some condition cocos2d-x-3.7rc1 July.14 2015 [REFINE] framework: Used msbuild to generating engine prebuilt libs on win32. [REFINE] 3d: Used shader with normal while creating mesh with normals [REFINE] 3d: Set default 3d animation quality to low [REFINE] web: Improved localStorage warning when disabled [FIX] studio: Fixed percentage setting won't take effect when UISlider's background resource set to null [FIX] studio: Fixed a bug that SingleNode's color isn't set [FIX] studio: Fixed child nodes can't be rendered when particle and TiledMap as parent and their resource have been removed from disk [FIX] studio: Fixed a bug of JSON parser that texture address is wrong [FIX] studio: Fixed a bug that drawLine & drawPoints don't apply blend function in parser [FIX] studio: Fixed a bug that check box front cross texture will expand to normal size when change status between normal and disable frequently [FIX] studio: Fixed a bug that normal texture won't show when slider set to disable mode then clean slider ball disable texture [FIX] 3d: Fixed obj loading failed on windows [FIX] 3d: Fixed clipping node does not work for Sprite3D [FIX] platform: Fixed js template run error on linux [FIX] Tilemap: Fixed CCTMXXMLParser code negligence [FIX] JS: Fixed constant value error for ccui.Layout.BACKGROUND_IMAGE_ZORDER [FIX] JS: Fixed XMLHttpRequest can't be retain in JSB [FIX] JS: Added cc.path.mainFileName [FIX] JS: Fixed issue that override cleanup function in JS can't get invoked during node detaching [FIX] JS: Fixed cc.loader notification issue with image asynchonous loading [FIX] web: Fixed MenuItems' color/opacity setter issue with child nodes [FIX] web: Fixed page view's layout issue for JSON parser [FIX] web: Add ttc loader and prevent the pure digital fonts is invalid [FIX] web: Fixed Float32Array initialization [FIX] web: Fixed a bug that layout background is missing [FIX] web: Fixed a bug that ObjectExtensionData miss setCustomProperty and getCustomProperty function cocos2d-x-3.7rc0 July.1 2015 [HIGHLIGHT] core: Added Material system (JS/Lua ready) [HIGHLIGHT] 3d: Added Physics3d support (JS/Lua ready) [HIGHLIGHT] 3d: Added NavMesh support (JS/Lua ready) [HIGHLIGHT] Scale9Sprite: Added Android 9-patch image support (JS/Lua ready) [HIGHLIGHT] sprite: Supported polygon sprite with AutoPolygon generator (JS/Lua ready) [HIGHLIGHT] platform: Added Windows 10.0 Universal App(UWP) support [HIGHLIGHT] platform: Add Samsung Enhanced API on Android for cocos, please refer to the release note for more details [HIGHLIGHT] C++: Added Android Studio support [HIGHLIGHT] JS: Merged JSB and web engine into Cocos2d-x for a All-in-one engine [HIGHLIGHT] JS: Added `ccui.VideoPlayer` and `ccui.WebView` for iOS/Android/Web [HIGHLIGHT] console: Supported build & run Android Studio project with cocos console [NEW] C++: Added ActionFloat [NEW] C++: Supported physical keyboard on WinRT [NEW] FileUtils: checked filename case characters on windows [NEW] FileUitls: added supporting loading files that which file path include utf-8 characters [NEW] PhysicsShape: added sensor property [NEW] Sprite: used triangle command [NEW] 3d: Added `getFarPlane` and `getNearPlane` in `Camera` class [NEW] 3d: Added opengl version project/unproject function in camera [NEW] ui: button add BMFont title support [NEW] ui: TextField add `getTextColor`, `getTextHorizontalAlignment` and `getTextVerticalAlignment` API [NEW] ui: Reduce memory consumption of a few UI widgets. [NEW] audio: added support on WP8.1, now it supports wav format [NEW] audio: Added MP3 support to winrt audio [NEW] audio: Added OGG support to winrt audio [NEW] 3rd: updated rapidjson to v1.0.2 [NEW] web: SIMD.js optimization for kazmath functions (from Intel) [NEW] web: The json loader of Cocos Studio will automatically load dependencies resources [NEW] Framework: Added Cocos Framework compilation script tool (used by Cocos) [NEW] Simulator: Added Cocos Simulator project (used by Cocos) [REFINE] core: Use quaternion instead of euler angle in `Camera::lookAt` [REFINE] platform: Differentiated Windows Phone Application and Windows Store Application with `Application::getTargetPlatform` [REFINE] platform: Improved UserDefault's robustness on Android, now the converting behavior is the same as iOS platform [REFINE] platform: Added debug flag -Wextra to linux CMakeFile [REFINE] audio: Permitted to play large ogg files on windows [REFINE] ui: Use inch for childFocusCancelOffset in UIScrollView [REFINE] 3d: Improved `Terrain::getIntersectionPoint` by calculating the intersection with triangles [REFINE] Label: Improve rendering of letter's inner shapes when outline is used [REFINE] console: Built engine with `LOCAL_ARM_MODE=arm` when building JS projects for android [REFINE] web: Deleted the redundant variables defined and log informations in ccui.RichText [REFINE] web: Allowed timeline animations with only one frame [REFINE] web: Improved property declaration of cc.Texture2D [FIX] core: Fixed `Director::setClearColor` has no effect bug [FIX] platform: Fixed VideoPlayer on Android ignore search paths [FIX] platform: Fixed crash while using s3tc on Nexus 9 (Android 5.0.1) [FIX] platform: Fixed Application may be created more than once on Android [FIX] platform: Fixed the Windows 8.1 Universal Apps crash when there is no audio device [FIX] platform: Fixed android background and foreground switching bug with VertexAttributeBinding [FIX] platform: Fixed warning "Service Intent must be explicit" on Android [FIX] studio: Fixed ActionNode memory leaks [FIX] studio: Fixed CocoLoader destructor memory release bug [FIX] studio: Fixed cocos studio json reader's bug in percentage mode [FIX] studio: Fixed rapidjson assert error in cocos studio module [FIX] network: Win32 CURL doesn't support zlib [FIX] network: Fixed memory leak of HttpClient on iOS and Mac platform [FIX] audio: Fixed program may freeze if `AudioEngine::stop` or `AudioEngine::stopAll()` is invoked frequently on Android [FIX] audio: Fixed a freezing crash in Windows 10 with the new audio engine when pressing stop after play [FIX] audio: Fixed audio can't resume if it is interrupted by an incoming phone call [FIX] audio: Fixed `SimpleAudioEngine::playEffect` lagged on Android 5.0.x [FIX] audio: Fixed `SimpleAudioEngine` may cause application to crash on Android 5.0.x [FIX] audio: Fixed thread safety problem on Android [FIX] audio: Added guard to audio engine pointer in `SimpleAudioEngine::end` [FIX] ui: Text scale factor is wrong with multiline text [FIX] 3d: skybox can't move to other position except origin point in world space [FIX] 3d: terrain can't move to other position except origin point in world space [FIX] 3d: Fixed Terrain lod computing bugs [FIX] 3d: Fixed clipping node not working for Sprite3D [FIX] 3rd: Fixed PIE link error on iOS caused by libpng and libtiff [FIX] 3rd: Fixed iOS libtiff 32bit header file error [FIX] AssetsManager: crashed issue [FIX] EaseRateAction: no way to create an `EaseRateAction` instance [FIX] Label: Fixed compile error when enabling CC_ENABLE_BOX2D_INTEGRATION [FIX] Label: crashed if invoking `setString(text` after `getLetter(letterIndex)` and `letterIndex` is greater than the length of text [FIX] Label: position is wrong if label content is changed after invoking `getLetter(letterIndex)` [FIX] Label: shadow effect cause OpenGL error on iOS [FIX] Label: outline effect doesn't match characters well [FIX] Label: Fixed system font label line height calculation is wrong on Android. [FIX] Label: Fixed IllegalArgumentException on Android 2.3.x [FIX] Label: Fixed line wrap error without space. [FIX] Label: The texture of character have not cropped if character cross the axis-aligned bounding-box [FIX] Label: Fixed the top of character's texture may be tailored if enable outline effect [FIX] ProgressTimer: `setSprite()` doesn't take effect [FIX] Sprite3D: setGLProgram() does not work [FIX] Sprite3D: transition breaks when there is a Sprite3D in the scene [FIX] Terrain: terrain is on top of particles, particles can not be seen [FIX] TextureCache: unbindImageAsync failed to unbind all asynchronous callback for a specified bound image [FIX] TileMap: crashed if a layer contains nothing [FIX] WebView: memory leak on iOS [FIX] WebView: Fixed crash on Android [FIX] WebView: crashed if url contains illegal characters on Android [FIX] Lua: luaLoadChunksFromZip should just remove .lua or .luac extension [FIX] Lua: Added some skipped create functions for Sprite [FIX] Lua: Fixed some lua test case bugs [FIX] JS: Enabled touches support for Windows 8.1 platform [FIX] JS: Fixed keyboard support for Windows Phone 8.1 platform [FIX] web: Fixed positionType error of particle system in timeline parser [FIX] web: Fixed setAnimationName issue while the property is undefined in timeline parser [FIX] web: Fixed `cc.TMXObjectGroup#objectNamed` not returning the result bug [FIX] web: Fixed TransitionSlideX callback sequence issue [FIX] web: Fixed issue in music end event [FIX] web: Fixed bug that LayerColor's color will disappear when update transform after being baked [FIX] web: Fixed `inverse` function bug of `cc.math.Matrix4` [FIX] web: Fixed the webaudio's invalid loop attribute bug for chrome 42 [FIX] web: Fixed crash when character not found into BMP font [FIX] web: Fixed spine's js parser issue by avoid NaN duration [FIX] web: Fixed LabelTTF multiline detection [FIX] web: Fixed issue in ccui.Widget#getScale [FIX] web: Fixed texture is not updated in some cases [FIX] web: PlayMusic should not use the search path (timeline 2.x) [FIX] web: Fixed bug of loading path of resources [FIX] web: Premultiply texture's alpha for png by default to fix Cocos Studio render issues [FIX] web: Fixed cache update issue of Layout after bake [FIX] web: Fixed isBaked returning undefined issue [FIX] web: Made CCProgressTimerCanvasRenderCmd to properly show colorized sprites [FIX] web: Fixed attributes being reset issue while baked cache canvas' size changed [FIX] web: Fixed texture does not rotate bug of ccui.LoadingBar [FIX] web: Fixed color not being set issue in timeline parser [FIX] web: Fixed custom easing animation bug [FIX] web: Fixed return empty texture2d bug when adding image with same url multiple times [FIX] web: Fixed actiontimeline can not step to last frame issue when loop play [FIX] web: Fixed the prompt can not be used in iOS wechat 6.2 [FIX] web: Fixed restoring of sprite's color issue [FIX] web: Fixed Uint8Array initialize issue [FIX] web: Fixed cc.TextFieldTTF Delegate memory leaks [FIX] web: Fixed sorted result is wrong in cc.eventManager (_sortEventListenersOfSceneGraphPriorityDes) [FIX] web: Fixed BinaryLoader issue on IE11 [FIX] web: Fixed the sprite's texture bug when frequently change the color [FIX] web: Fixed an issue that action will result in automatic termination [FIX] web: Fixed ScrollView initWithViewSize issue cocos2d-x-3.6 Apr.30 2015 [NEW] 3rd: update chipmunk to v 6.2.2 on Windows 8.1 Universal App [NEW] 3rd: update freetype to v 2.5.5 on Windows 8.1 Universal App [NEW] C++: Added SpritePolygon [NEW] Label: added LabelEffect::ALL which can be used in disableEffect(LabelEffect) to disable all effects [NEW] Lua-binding: binded ui:WebView and added corresponidng test case [NEW] MathUtil: added `MathUtil::lerp()` [NEW] UserDefault: added `UserDefault::setDelegate()` [NEW] Vec2: added `Vec2::setZero()` [NEW] Vec3: added `Vec3::lerp()` [NEW] WP8: remove WP8 support because Angle don't support WP8 any more [NEW] WP8.1: added back button support [FIX] Animate3D: modify `Animate3D::setHighQuality()` Animate3D::setQuality(), add a new animation quality type none which means that will not update animation to the bone, it is useful when the Sprite3D is out of the screen, it can safe a lot of cpu time. [FIX] AnimationCurve: memory leak [FIX] Bundle3D: memory leak when failed to load file [FIX] HttpClient: memory leak on iOS [FIX] JNI: JNI illegal start byte error which causes crashing error on Android 5.0 [FIX] PUParticleSystem3D: refactoring create function using initWithXXX [FIX] UI:VideoPlayer: crashed when playing streamed MP4 file on iOS [FIX] VideoPlayer: can not play videos on Android v2.3.x cocos2d-x-3.6beta0 Apr.14 2015 [NEW] 3rd: update Spine runtime to v2.1.25 [NEW] MotionStreak: add `MotionStreak::getStroke()` and `MotionStreak::setStroke()` [NEW] Rect: added `Rect::intersectsCircle()` [NEW] UI:Text: add `Text::disableEffect(LabelEffect)` to disable a specific effect [FIX] 3rd: link error on VS2012 caused by libpng [FIX] Label: position is wrong if it is visited by a new camera [FIX] Particle3D: crash on clone [FIX] Particle3D: "make local" now working correctly. "Make local" is a properties that toggles particle coordination between local and global. [FIX] Particle3D: particle rotation now no longer stacks up on each other [FIX] Particle3D: Ribbon Trail now positions correctly [FIX] Physics: rigid body's rotation is wrong if it is attatched to a node which rotation is not 0 [FIX] Renderer: RenderQueue command buffer optimizing [FIX] UI:Button: use too much memory [FIX] UI:Text: content size is wrong after setting outline effect cocos2d-x-3.6alpha0 Apr.8 2015 [NEW] 3D: added texturecube support [NEW] 3D: added skybox support [NEW] 3D: added node animation support [NEW] 3D: added terrian support [NEW] 3rd: updated libcurl to v7.4 on all supported platforms except WP8/WP8.1 universal [NEW] 3rd: updated chipmunk to v6.2.2 [NEW] 3rd: updated openssl to v1.0.11 [NEW] 3rd: updated freetype to v2.5.5 [NEW] 3rd: updated png to v1.6.16 on all supported platforms except WP8/WP8.1 universal because it is not needed on these two platforms [NEW] Animate3D: added `Animate3D::setHighQuality()` to set animation quality [NEW] Label: added disableEffect() [NEW] Lua-binding: used luajit arm64 version on iOS 64-bit devices [NEW] Sprite3D: getAABBRecursively return own aabb combining childeren's [NEW] Vec3: added `Vec3::add(float, float, float)` and `Vec3::setZero()` [FIX] Audio: memory leak [FIX] Audio: crashed on iOS 5.1.1 [FIX] C++: lag issue if `Director::setContentScaleFactor` is called frequently [FIX] C++: CDT builder is enabled by default in cpp template on Android [FIX] Label: shadow color is incorrect [FIX] MenuItem: crash if `MenuItem::onExit` is called multiple times [FIX] Particle3D: particles' rotation affect particle system's rotation [FIX] Sprite3D: memory leak [FIX] Vec3: use inline function to improve performance [FIX] WebView: loadHTMLString() can not work if it is invoked in the same frame of creating a webview on iOS cocos2d-x-3.5 Mar.23 2015 [NEW] EditBox: support Color4B [FIX] AutoRelasePool: memory leak if adding an element into pool when releasing auto release pool [FIX] EditBox: have a 100 bytes input limit on windows [FIX] FileUtils: getWritablePath() does not return correct writable path on Mac & Windows [FIX] HttpAsynConnection: can not get error content if response code less than 200 or response code greater or equal than 300 [FIX] HttpResponse: reference count error causes assert error [FIX] Label: stroke color of system font is incorrect on iOS cocos2d-x-3.5rc0 Mar.13 2015 [NEW] CocosStudio: add callback when loading a CSB file [NEW] Particle3D: more Particle Universe features are supported, add observers and event handlers [FIX] Billboard: fix bug on transparent Billboard because of transparent queue [FIX] Bundle: bug that create bundle with empty path [FIX] Camera: camera is detroyed unexpectedly when call removeAllChildren [FIX] C++: use console in `build/build_native.sh` [FIX] Label: position is wrong if it is visited by a new camera [FIX] MotionStreak: can not work with MoveTo and MoveBy [FIX] MoveTo: disable reverse() because it is meaningless [FIX] Particle3D: to make path shorter, rename Particle Universe folder to PU, and files CCPUParticle3DXXX to CCPUXXX to fix compiling error on WP8 [FIX] Particle3D: `loadMaterialsFromSearchPaths` bug on linux platform [FIX] Sprite3D: fix bug on transparent 3D Sprite because of transparent queue cocos2d-x-3.5beta0 Feb.27 2015 [NEW] Added Particle3D [NEW] C++: add Romanian language support [FIX] Audio: audio can not resume if it is interrupted, and back from background [FIX] Cocos Studio UI: setCameraMask does not work for the Cocos Studio UI [FIX] C++: compiling error when using CC_USE_CULLING [FIX] Label: texture size of string has unexpected padding on iOS 7 and upper version [FIX] HttpClient: if the request data is started by a null character, it does not fill http body [FIX] HttpClient: memory leak on iOS [FIX] Sprite3D: `getAttachNode()` will fail when there is no bone with name cocos2d-x-3.4 Jan.30 2015 [FIX] Animate3D: `setSpeed` has not effect if `Animate3D` is used in Sequence [FIX] C++: will crash if built with armeabi-v7a enabled on Android devices that with armeabi-v7a architecture but doesn't support NEON instructions [FIX] C++: may crash if VAO is not supported [FIX] EditBox: content is not clipped correctly on windows [FIX] GLProgram: will cause crash on some devices that don't support more than 8 atrributes [FIX] HttpClient: not set response code when connecting failed on Android [FIX] Label: alpha channel of text color of system font has not effect [FIX] Label: use int for dimensions that will lose the precision [FIX] Label: labels will become white block after resume from background on some Android devices, such as xiaomi3 [FIX] Label: improved parsing performance of bitmap font [FIX] Label: can not display `&` if using system font on windows [FIX] Lua-binding:studio-support: AnimationInfo is not binded [FIX] New audio: not close file descriptor leads to that may causes game freeze if playing two many times(may be more than 1000) on Android [FIX] Node: anchor point has not effect to rotation, it always rotate along (0, 0) [FIX] Physics integration: Scale9Sprite can't run `Move` action and `Scale` action if used physical scene [FIX] SpriteFrameCache: `addSpriteFramesWithFil`e may crash if plist file doesn't exist [FIX] Sprite3D: material files (.mtl) are not loaded for any object when creating from an .obj file [FIX] UI::ImageView: rendered content size is wrong if `ignoreSize` is true and `Scale9` is not enabled [FIX] UI::Slider: when scale9 is enabled, the progress bar's rendering height is wrong [FIX] UI:Scale9Sprite: some position information will be lost when toggling `Scale9` state [FIX] UI::TextField: will get wrong event message if clicking `TextField` twice [FIX] UI::TextField: result of `getContentSize` is wrong if it is invoked in insert or delete event callback [FIX] UI::WebView: base URL can not work cocos2d-x-3.4rc1 Jan.15 2015 [NEW] C++: added CC_USE_CULLING macro to control if enable auto culling or not [NEW] FileUtils::fullPathForFilename will return empty string when file can not be found [NEW] VertexBuffer&IndexBuffer: allow setting usage(GL_STATIC_DRAW or GL_DYNAMIC_DRAW) in create method [NEW] Renderer: 3D rendering support for 2d objects [FIX] DrawNode: fix random crash because of init opengl buffer wrongly [FIX] DrawNode: drawPoints() can not set ponit size [FIX] EventDispatcher: crash if adding/removing event listeners and dispatching event in event callback function [FIX] GLProgramState: may cause GL_INVALID_VALUE error at start up on Android [FIX] LUA: 0x80000000 can not be converted by lua_tonumber correctly on some devices [FIX] PhysicsBody: can't get correct position in the same frame of adding PhysicsBody to PhysicsWorld [FIX] UI: fix crash when navigation controller is null cocos2d-x-3.4rc0 Jan.9 2015 [NEW] 3rd: update libcurl to v7.39 [NEW] 3rd: update luajit to v2.0.3 [FIX] C++: crash when run clang static analyzer in Xcode [FIX] DrawNode: can not set color when DrawPoints, wrong behavior of drawRect [FIX] FileUtils: getData() can't get data from file when file was using by other application on windows [FIX] FileUtils: getData() will cause memory leak if file size is 0 on windows [FIX] GLProgram: when there is a shader compile error in shader, it will crash on windows [FIX] GLProgramState: Assert error because uniforms and attribute is not refreshed when come to foreground on android [FIX] HttpClient: http requests will be lost in immediately mode on iOS [FIX] JumpTo: can not be applied more than once [FIX] Label: may cause infinite loop if using system font on Android [FIX] Particle: GL_INVALID_OPERATION error because VAO and VBOs is not reset when come to foreground on android [FIX] Physics integration: physics body is not still after disabling gravitational force by PhysicsBody::setGravityEnable() [FIX] Sprite3DTest: Sprite3DUVAnimationTest, Sprite3DFakeShadowTest, Sprite3DLightMapTest, Sprite3DBasicToonShaderTest will crash on android when switch to foreground from background [FIX] Template: multiple dex files define error on Android if using Eclipse to build new generated application [FIX] VideoPlayer: can not play video if passing path returned from FileUtils::fullPathForFilename() on Android [FIX] WP8: compiling error on ARM architecture cocos2d-x-3.4beta0 Dec.31 2014 [NEW] 3D: support frustum culling [NEW] Action: MoveTo and MoveBy support Vec3 [NEW] Allocator: add custom allocator support, global, default, fixed block, object pool [NEW] Application: added Turkish and Ukrainian language support [NEW] UI:LoadingBar: add TextureResType to LoadingBar's create method [NEW] Director: add setClearColor() to set clear values for the color buffers [NEW] Node: rotation representation using quaternion [NEW] UI: Added new layout functionality for Cocos Studio, keeps widget margins a fixed set and adjusts the widget size according to the margins. [NEW] UI: Add gray shader to ui::Button, ui::CheckBox and ui::Slider when the disable state resources are not provided [NEW] UI: Modify the default behavior when ui::Button, ui::CheckBox and ui::Slider's selected state resources are not provided, the new behavior is scale the normal state texture when the selected state texture are missing. [NEW] 3rd party libraries: Add prebuilt version of libcurl to Mac and upgrade iOS,Android,Mac and Win32 libcurl to 7.39.0. [NEW] Replace network module implementation from libcurl to system network API on IOS and Android [FIX] ui::Button: fix setTitleColor calls method setColor instead of setTextColor of title label. [FIX] AssetsManagerEx: Fix assetManager can't download file on Win32 [FIX] FileUtils: WebP format with alpha channel displayed wrong [FIX] Label: content size of Label is incorrect if the string is set to empty string [FIX] GLProgramState: fix assert error caused by outdated uniform and attribute cache cocos2d-x-3.3 Dec.12 2014 [FIX] Billboard: allow billboard rotate along z axis [FIX] Bundle3D: create aabb for mesh whose aabb does not exist (user custom mesh) [FIX] EditBox: text position and move animation error on iPhone6 Plus [FIX] FileUtils: createDirectory(): doesn't invoke closedir() after opendir on platforms other than WP8/WinRT/Windows cocos2d-x-3.3-rc2 Dec.5 2014 [FIX] C++: use 100% of one core on Windows [FIX] Label: when a label is added to a invisible parent node, app will crash if switching from background [FIX] Label: label will not be shown when using system font on Mac [FIX] Studio reader: replace protocol buffer with flatbuffer cocos2d-x-3.3-rc1 Nov.29 2014 [NEW] Vec2: added greater than operator [NEW] Tools: Updated cocos console to v1.4 (from 1.2) [NEW] WP8: Win8.1 universal app support [FIX] Audio: `SimpleAudioEngine::sharedEngine()->playBackgroundMusic()` crashed freezen on Lollipop(Android5.0) [FIX] Button: when the dimension of button title is larger than the button, button will scale to fit the dimension of the button title [FIX] Button: when the dimension of button title is larger than the button, button will scale to fit the dimension of the button title [FIX] Camera: does not work correctly when the up is not (0, 1, 0) [FIX] Director: Uses a low-pass filter to diplay the FPS [FIX] DrawNode: drawPoint() may cause crash [FIX] EventKeyboard: can not check right Shift, right Ctrl and right ALT [FIX] GLProgramCache: doesn't release old program with the same key before adding a new one [FIX] GLProgramState: enabled GLProgramState restoring on render recreated on WP8 [FIX] Label: label shifting when outline feature enabled [FIX] Label: when applying additionalKerning to a Label that displays a string with only 1 character, the character is shifted [FIX] Label: display incompletely with multiline text with outline feature enabled [FIX] Label: crash if using BMFont but missing corresponding png file [FIX] Lua: logical error in luaval_to_quaternion [FIX] New audio: can not loop on Android 2.3.x [FIX] Random: CCRANDOM_0_1() and CCRANDOM_MINUS_1_1() can be seeded using std::srand(seed) [FIX] Scale9Sprite: will be flipped if both flipX and flipY are false [FIX] Scale9Sprite: if scale and flip property are set at the same time, the result would be wrong [FIX] Scene: setScale() doesn't work as expected [FIX] Sprite3D: did not create attached sprite from cache [FIX] Tests: Sprite Performance Test automation works as expected [FIX] UI: Text: invoke ignoreContentAdatpSize(false) will cause wrong effect [FIX] VideoPlayer: showed in wrong place on Android v2.3.x [FIX] WebView: showed in wrong place on Android v2.3.x [FIX] WP: back key behaviour and Director::getInstance()->end() works not correctly [FIX] Lua-binding: XmlHttpRequest would truncate binary data cocos2d-x-3.3-rc0 Oct.21 2014 [NEW] 3d: added light support: direction light, point light, spot light and ambient light [NEW] Added ClippingRectangleNode [NEW] Added AssetsManagerEx, which is more powerful than AssetsManager [NEW] Added a test case of sprite lamp effect [NEW] Animate3D: can create with start frame and end frame [NEW] Audio: new audio supports Mac OS X and Windows [NEW] Application: added openUrl() [NEW] Armature: added getOffsetPoints() [NEW] Lua-binding: added Camera3DTest ,BillBoradTest [NEW] Node: schedule/unschedule lambda functions [NEW] Rect: added merge() [NEW] Spine: update to 2.0.18 [NEW] TileMap: added staggered tile map support [NEW] Utils: added getCascadeBoundingBox() [NEW] WP8: enabled screen orientation change handling [FIX] Accelerometer: using Accelerometer will freeze app and then crash on WP8 [FIX] Application: getCurrentLanguageCode() always return empty string [FIX] Action: kRepeatForever macro superseded by CC_REPEAT_FOREVER macro [FIX] C++: remove armv7s in VALID_ARCHS for Xcode projects [FIX] Cocos Studio reader: UI animation playing crash if GUI JSON file is loaded again [FIX] Cocos Studio reader: improvement ImageViewReader don't necessary loadTexture when imageFilePath is empty [FIX] EditBox: view rendered in wrong position if click EditBox on iOS 8 [FIX] FileUtils: can not remove files/directory on iOS devices [FIX] GLProgram: crashed on some Android devices that do not support more than 8 attributes [FIX] Label: getStringNumLines() may returns wrong result if label is dirty [FIX] Label: can not change opacity if using FNT font [FIX] Label: endless loop if not using system font, and constrained length is less than one character width [FIX] LabelAtlas: opacity do not change when setting parent's opacity [FIX] Lua-bindings: may crash if passing two-dimensional table from lua to c++ [FIX] New audio: can not play audio after playing some times on Android [FIX] Node: macro scheduler_selector() superseded by CC_SCHEDULER_SELECTOR(). The same is true for the other schedule_ macros [FIX] Node: unscheduleAllSelectors() deprecated in favor of unscheudleAllCallbacks() [FIX] Node: crashed if remove/add child too quickly when using integrated physics [FIX] TextFieldTTF: will get wrong characters if using Chinese input method on WP8 [FIX] TextureCache: memory leak in reloadTexture() [FIX] UI: Button: button remains gray when releasing it, this issue only happened if enable scale9 and only has one texture [FIX] UI: Button: when creating a button with a title only, button content size is not immediately updated [FIX] UI: EditBox: setMaxLength is invalid on mac cocos2d-x-3.3-beta0 Sep.20 2014 [NEW] 3d: added `BillBoard` [NEW] ActionManager: added removeAllActionsByTag() [NEW] Audio: added new audio system for iOS and Android [FIX] DrawNode: has as many functions as `DrawPrimitive` [NEW] GLViewProtocol: added getAllTouches() [NEW] Node: added stopAllActionsByTag() [NEW] PhysicsWorld: add setSubsteps() and getSubsteps() [NEW] Renderer: added TriangleCommand [NEW] UI: added `WebView` on iOS and Android [FIX] C++: CMake works for Mac builds [FIX] C++: Reorganized cocos2d/platform folder. Easier to add new platforms [FIX] EditBox: moved to ui:EditBox [FIX] External: ScrollView: scroll view hidden picks up the touch events [FIX] FastTileMap: change indices to short because not all devices support int indices which will prevent drawing tilemap [FIX] FileUtils: can not create and delete directory on wp8 [FIX] HttpClient: condition variable sleep on unrelated mutex [FIX] Image: optimize decompress jpg data [FIX] Label: outline effect may be wrong if outline width is big and font size is big too [FIX] MenuItem: memory leak if using menu_selector [FIX] MeshCommand: generate wrong meterial id which will cause problem that only first mesh is drawn [FIX] Node: create unneeded temple `Vec2` object in `setPosition(int, int)`, `setPositionX()` and `setPositionY()` [FIX] Node: skew effect is wrong [FIX] Node: setNormalizedPosition can not take effect if parent position is not changed [FIX] TextureAtlas: may crash if only drawing part of it [FIX] UI: Button: a button can not be touched if it only contains title [FIX] UI: Button: title can not be scaled if a button is scaled cocos2d-x-3.3alpha0 Aug.28 2014 [NEW] 3D: Added Camera, AABB, OBB and Ray [NEW] 3D: Added better reskin model support [NEW] Core: c++11 random support [NEW] Core: Using `(std::notrow)` for all the `new` statements [NEW] Desktop: Added support for applicationDidEnterBackground / applicationWillEnterForeground on desktop [NEW] Device: added setKeepScreenOn() for iOS and Android [NEW] EventMouse: support getDelta, getDeltaX, getDeltaY functions [NEW] FileUtils: add isDirectoryExist(), createDirectory(), removeDirectory(), removeFile(), renameFile(), getFileSize() [NEW] FileUtilsApple: allow setting bundle to use in file utils on iOS and Mac OS X [NEW] Image: support of software PVRTC v1 decompression [NEW] Lua-binding: added release_print that can print log even in release mode [NEW] Physics Integration: can invoke update in demand [NEW] Renderer: Added primitive and render primitive command, support passing point, line and triangle data [NEW] Renderer: Added method for custom precompiled shader program loading on WP8 [NEW] Renderer: Added consistent way to set GL context attributes [NEW] RenderTexture: add a call back function for saveToFile() [NEW] RotateTo: added 3D rotation support [NEW] ScrollView: added `setMinScale()` and `setMaxScale()` [NEW] Sprite3D: added setCullFace() and setCullFaceEnabled() [NEW] Sprite3D: added getBoundingBox() and getAABB() [NEW] SpriteFrameCache: load from plist file content data [NEW] utils: added gettime() [NEW] UI: Added UIScale9Sprite [NEW] UI: ui::Button: support customize how much zoom scale is when pressing a button [NEW] UI: ui::PageView: added `customScrollThreshold`, could determine the swipe distance to trigger a PageView scroll event [NEW] UI: ui::TextField: support utf8 [NEW] UI: ui::TextField: support set color and placeholder color [NEW] UI: ui::Widget: support swallowing touch events [NEW] Text: added getter and setter for TextColor [FIX] EditBox: font size is not scaled when GLview is scaled on Mac OS X [FIX] EditBox: began/end events not work [FIX] Label: can not set charmap after it is created [FIX] Label: setTextColor does not have any effect on Mac OS X [FIX] Label: result of LabelTTF::getBoundingBox() is wrong [FIX] Label: can not set outline color correctly if using system font on iOS [FIX] Label: character edge will be cut a little if character size is small [FIX] LabelBMFont: result of LabelBMFont::getBoundingBox() is wrong [FIX] ListView: can not insert an item in specific position, it is added at bottom [FIX] LoadingBar: position is changed if changing direction [FIX] ParticleSystem: effect is wrong if scene scaled [FIX] ParticleSystemQuad: setTotalParticles() can't set a value larger than initialized value [FIX] PhysicsBody: return wrong bitmask [FIX] Scale9Sprite: new added sprite will be hidden [FIX] Slider: if the UISlider is faded, the slide ball won't fade together [FIX] Sprite: will turn black if opacity is set other than 255 and be added into SpriteBatchNode [FIX] TableView: can handle touch event though its parents are invisible [FIX] TextField: can not use backspace to delete a character [FIX] Widget: may crash if remove itself in touch call back function [FIX] Widget: not support cascaded opacity and cascaded color by default [FIX] VideoPlayer: memory leak on iOS [FIX] VideoPlayer: video frame size is not calculated correctly on iOS [FIX] VideoPlayer: video player not showing on iOS if it's not in FullScreen mode [FIX] Others: can not import java library shift by engine correctly when using Eclispe on Android [FIX] Others: optimize FPS control algorithm on Android [FIX] Lua-binding: replace dynamic_cast to std::is_base_of in object_to_luaval [3rd] fbx-conv: complex FBX model support which is useful for reskin, multiple meshes and multiple materials support cocos2d-x-3.2 Jul.17 2014 [NEW] Node: added getChildByName method for get a node that can be cast to Type T [NEW] FileUtils: could add search path and resolution order path in front [FIX] Animation3D: getOrCreate is deprecated and replaced with Animation3D::create [FIX] Animate3D: setSpeed() accept negative value, which means play reverse, getPlayback and setPlayBack are deprecated [FIX] EditBox: can not set/get text in password mode on Mac OS X [FIX] Game Controller: joystick y value inversed on iOS [FIX] GLView: cursor position is not correct if design resolution is different from device resolution [FIX] Label: color can not be set correctly if using system font on iOS [FIX] LabelTTF: may lost chinese characters on linux [FIX] Lua-binding: support UIVideoPlayer [FIX] Node: setRotation3D not work based on anchor point [FIX] Node: modify regular of enumerateChildren, now it just searchs its children [FIX] Physics integration: body shape will be wrong when using negative value to scale [FIX] ScrollViewDelegate: make the scrollView delegate methods optional [FIX] Setup.py: will crash on windows because of checking `zsh` [FIX] SpriteBatchNode: opacity can not work [FIX] Sprite3D: may crash on Android if playing animation and replace Scene after come from background [FIX] UIwidget: opacity is wrong when replace texture [FIX] UIRichText: will crash when using utf8 string and the length exceed specified length [FIX] UIText: can not wrap words automatically [FIX] UITextField: keyboard can not hide if touching space outside of keyboard [FIX] UITextField: can not wrap words automatically [FIX] UIVideoPlayer: can not exit full screen mode on Android [FIX] Others: don't release singleton objects correctly that are needed in the whole game, which will be treated as memory leak when using VLD. [FIX] Others: compiling error when building for iOS 64-bit devices with Xcode6 beta3 cocos2d-x-3.2rc0 Jul.7 2014 [NEW] FastTMXTiledMap: added fast tmx, which is much more faster for static tiled map [NEW] GLProgramState: can use uniform location to get/set uniform values [NEW] HttpClient: added sendImmediate() [NEW] Label: support setting line height and additional kerning of label that not using system font [NEW] Lua-binding: Animation3D supported [NEW] Lua-binding: UIEditor test cases added [NEW] Lua-binding: UI focus test cases added [NEW] Node: added getName(), setName(), getChildByName(), enumerateChildren() and addChild(Node* node, int localZOrder, const std::string &name) [NEW] Node: physical body supports rotation [NEW] Sprite3D: support c3b binary format [NEW] utils: added findChildren() to find all children by name [NEW] Value: added operator == != [FIX] Armature: blend func has no effect [FIX] Armature: crashed when remove armature in frame event [FIX] Animation3D: doesn't load original pose, which leads to wrong effect if not playing animation [FIX] Animation3D: animation for unskined bones lost [FIX] FileUtils: getStringFromFile may return a unterminated string [FIX] Lua-binding: Sequence:create will cause drop-dead issue [FIX] Lua-binding: lua-tests can’t be loaded on 64 bits iOS devices and Linux [FIX] Node: Node::setScale(float) may not work properly [FIX] Physics integration: child node can move with its father [FIX] Physics integration: support scale [FIX] Sprite3D: 20% performance improved, simplify shader, use VAO and batch draw [FIX] Studio support: NodeReader may cause crash [FIX] UIButton: doesn't support TTF font [FIX] UIButton: `getTitleColor()` doesn't equal to the value set by `setTitleColor()` [FIX] UIListView: addEventListener can not work [FIX] UIListView: element position is changed a little when you click and up a list view without move [FIX] UIListView: element will respond to item_end event when end of scrolling a list view [FIX] UIVideo: crash when try to remove videoView(STATE_PLAYBACK_COMPLETED) on android [FIX] WP8: crash of utils::captureScreen() cocos2d-x-3.2-alpha0 Jun.17 2014 [NEW] Console: add a command to show engine version [NEW] Node: added setter/getter for NormalizedPosition(). Allows to set positions in normalized values (between 0 and 1) [NEW] Scene: Added createWithSize() method [NEW] TextField: added getStringLength() [NEW] TextureCache: added unbindImageAsync() and unbindAllImageAsync() [NEW] utils: added captureScreen() [NEW] UIText: added shadow, outline, glow filter support [NEW] Sprite3D: support 3d animation [NEW] Animation3D: 3d animation [FIX] Application.mk: not output debug message in release mode on Android [FIX] Android: 3d model will be black when coming from background [FIX] Android: don't trigger EVENT_COME_TO_BACKGROUND event when go to background [FIX] Cocos2dxGLSurfaceView.java: prevent flickering when opening another activity [FIX] Director: Director->convertToUI() returns wrong value. [FIX] GLProgram: not abort if shader compilation fails, just return false. [FIX] GLProgramState: sampler can not be changed [FIX] Image: Set jpeg save quality to 90 [FIX] Image: premultiply alpha when loading png file to resolve black border issue [FIX] Label: label is unsharp if it's created by smaller font [FIX] Label: Label's display may go bonkers if invoking Label::setString() with outline feature enabled [FIX] Label: don't release cached texture in time [FIX] Label: calculated height of multi-line string was incorrect on iOS [FIX] Lua-binding: compiling error on release mode [FIX] Lua-binding: Add xxtea encrypt support [FIX] Node: setPhysicsBody() can not work correctly if it is added to a Node [FIX] Node: state of _transformUpdated, _transformDirty and _inverseDirty are wrong in setParent() [FIX] Node: _orderOfArrival is set to 0 after visit [FIX] Other: link error with Xcode 6 when building with 32-bit architecture [FIX] RenderTexture: saveToFile() lost alpha channel [FIX] Repeat: will run one more over in rare situations [FIX] Scale9Sprite: support culling [FIX] Schedule: schedulePerFrame() can not be called twice [FIX] ShaderTest: 7 times performance improved of blur effect [FIX] SpriteFrameCache: fix memory leak [FIX] Texture2D: use image's pixel format to create texture [FIX] TextureCache: addImageAsync() may repeatedly generate Image for the same image file [FIX] WP8: will restart if app goes to background, then touches icon to go to foreground [FIX] WP8: will be black if: 1. 3rd pops up a view; 2. go to background; 3. come to foreground [FIX] WP8: project name of new project created by console is wrong [FIX] WP8: missing texture after app switch [3RD] curl: will crash if use https request on iOS simulator [3RD] curl: update OpenSSL to v1.0.1h cocos2d-x-3.1.1 May.31 2014 [FIX] GLProgramState: restores states after coming from background cocos2d-x-3.1 May.24 2014 [FIX] EventKeyboard::KeyCode: key code for back button changed from KEY_BACKSPACE to KEY_ESCAPE [FIX] Label: may crash when using outline effect [FIX] Label: using outline and invoking 'Director::setContentScaleFactor' cause label show nothing [FIX] ProgressTo: will start from 0 when it reaches 100 [FIX] Physics integration: may crashes if remove bodies at physics contact callback [FIX] UIWidget: copyProperties() lost copy some properties [FIX] WP8: orientation is not correct when it is set to portrait [FIX] WP8: fix for precompiled shaders and precompiled headers [FIX] WP8: template supports orientation cocos2d-x-3.1-rc0 May.18 2014 [NEW] Cocos2dxActivity: Adds a virtual method to load native libraries. [NEW] Directory Structure: reorder some files within the cocos/ folder [NEW] Sprite3D: a node that renders 3d models [NEW] EditBox: support secure input on Mac [FIX] ControlButton: cascade opacity and color error [FIX] Director: twice calling of onExit [FIX] Math: Vector2->Vec2, Vector3->Vec3, Vector4->Vec4, Matrix->Mat4 [FIX] GLProgram: uniform CC_Texture0 is pre-defined by cocos2d. MUST NOT be defined in shaders [FIX] GLProgramState: Supports multitexturing [FIX] Studio:ActionObject: correct TotalTime of ActionObject [FIX] Studio: FrameData::copy doesn't copy `isTween` property cocos2d-x-3.1-alpha1 May.9 2014 [NEW] Animate: Dispatch a custom event after an animation frame is displayed [NEW] GLProgram: Easy to customize uniforms and attributes by using the new class GLProgramState [NEW] Template: cpp project support Eclipse c++ project [NEW] UI: add navigation support [NEW] UI: add a widget to play video [NEW] VS: support VS 2013 [FIX] Audio: pause sound automatically when go to background on Android [FIX] Director: remove keepData and releaseData [FIX] Label: label is unsharp if it's created by system font with small size on iOS & Mac OS X [FIX] Label: Label created with system font is still visible when its opacity is 0 [FIX] Label: Label created with system font havs black border on WP8/WINRT [FIX] Lua: A potential crash in the bindings of sp.SkeletonAnimation.setAnimation [FIX] Lua: Lua template should fail to launch on lua error [FIX] ParticleSystem: Particles can be created without a texture [FIX] ParticleSystem: yFlippedCoord behavior fixed. Added cocos2d/tools/particle to fix particles that were based on the old (broken) behaviour [FIX] Setup.py: Added SDK / NDK detection based on PATH [FIX] UIText: support TTF [FIX] Value: all types share the same union to reduce memory usage cocos2d-x-3.1-alpha0 May.1 2014 [NEW] Android: Adds support for get response when Activity's onActivityResult is triggered [NEW] Core: Adds RefPtr smart pointer support [NEW] Label: supports auto-culling [NEW] Math: New unified math library that supersedes Kazmath, CCGeometry and CCAffine* [NEW] Test: Adds a sample for making a outline sprite by using a custom shader [FIX] Application: Application::run returns wrong value on Mac platform [FIX] Build scripts: Improved cmake files for Linux, and Android.mk for Android [FIX] Image: saveToImage may cause memory leak [FIX] Lua: cc.pGetAngle may return wrong value [FIX] Network: HttpRequest uses std::function as callback [FIX] Particle: The effect of particle loaded from CocosBuilder is incorrectly [FIX] ParticleSystem: particle direction in verticality is opposite when "configName" has value and "yCoordFlipped" is -1 [FIX] Physics: PhysicsSprite's transform couldn't be updated [FIX] Value: default value changed to false [FIX] WP8: Some bug fixes cocos2d-x-3.0 Apr.23 2014 [NEW] Lua: add `RichText` test cases [NEW] EditBox: Added missing Text Font and Placeholder feature for Mac platform [FIX] cocos console: Zipalign the apk generated with release mode [FIX] Director: Application crashes on closing if CC_ENABLE_CACHE_TEXTURE_DATA is enabled [FIX] Image: memoery leak [FIX] Image: crashes when save a jpg file [FIX] Lua: 'EditBox' can't response 'changed','ended' and 'return' event on Windows [FIX] Lua: new project will crash on iOS 5.1 devices [FIX] Others: compiling error when CC_LABELBMFONT_DEBUG_DRAW or CC_LABELATLAS_DEBUG_DRAW is enabled [3rd] libcurl: support ssl again on iOS cocos2d-x-3.0rc2 Apr.15 2014 [NEW] Event: Adds `EventListener::setEnabled/isEnabled` to support enable/disable event listeners [NEW] GLView: Added createWithFullscreen overloaded method for selecting monitor and setting video mode [FIX] Android: Cocos2dxHelper.runOnGLThread() can't work [FIX] Animation: Added 'loops' parameter to Animation::createWithSpriteFrames [FIX] Audio: can not resume after pausing on windows [FIX] Audio: stopalleffect lead to stop background music on WP8 [FIX] Audio: play effect may lead to memory leak on WP8 [FIX] CocoStudio: Potential crash in SceneReader::createNodeWithSceneFile [FIX] Control: ControlButton can't swallow touch event [FIX] Event: Removing and re-adding an event listener will trigger an assert [FIX] Event: A potential crash when unregistering listener right after its registration [FIX] Event: EventDispatcher::setDirtyForNode doesn't consider node's children [FIX] FileUtils: 'isFileExist' doesn't consider SearchPaths and ResolutionOrders [FIX] Image: The result of 'malloc' is incompatible with type 'unsigned char *' in Image::saveImageToPNG [FIX] JNI: doesn't cache classloader which may cause crash on Android devices with 4.2 or upper version [FIX] Network: HTTPClient reports 2xx status codes as errors [FIX] Lua: Added ScriptHandlerMgr::destroyInstance to avoid memory leak [FIX] Physics: Skips one frame when delta time is equal to zero [FIX] Physics: PhysicsShapeEdgeChain::init() always return false [FIX] Setup: Force updating environment variables in setup.py [FIX] Value: A potential memory leak in value's default constructor cocos2d-x-3.0rc1 April.2 2014 [NEW] Application: Adds getCurrentLanguageCode() which returns iso 639-1 language code [NEW] cocos2d::extension::ScrollView: Elastic bounce back effect support [NEW] Constructor: Added CC_CONSTRUCTOR_ACCESS macro to re-define constructor/initXXX methods to 'public' access. [NEW] Label: Added new methods 'set(Anti)AliasTexParameters' for enabling/disabling antialias [FIX] Android: Reloaded texture is not shown if it has the mipmap [FIX] Android: Application may become black at first time entering on some devices [FIX] Audio: Stopped music could also be resumed on iOS [FIX] CCBReader: Wrong logic in CCBAnimationManager::moveAnimationsFromNode [FIX] CocoStudio: ActionObject memory leak in ActionManagerEx::initWithDictionary [FIX] Console: initialize some variables that are not initilized in destructor [FIX] Console: refactor 'upload' command, encode file with base64, detach 'upload' from main loop [FIX] EventDispatcher: Potential crashes in EventDispatcher while using SceneGraphPriroity listeners [FIX] FileUtils: addSearchResolutionsOrder doesn't check whether there is a 'slash' at the end of path [FIX] FileUtils: Boolean value could not be written to specified plist file [FIX] GLView: Can't receive touchEnded event when mouse up outside of window on desktop platforms [FIX] Image: Some functions and variables in Image class is private, it should be protected [FIX] Label: Crash if label's type is STRING_TEXTURE and label->sortAllChildren is called [FIX] Label: Display incorrect of multi-line label if invoking 'getLetter' [FIX] Label: Default Anchor point isn't in middle and shadow offset doesn't consider contentScaleFactor [FIX] Label: Label's color is incorrect if it's created by font name [FIX] Label: Missing letters if using old LabelTTF and running on iPhone 64bit simulator(device) [FIX] Label: Refactor implementation of label's shadow [FIX] Label: Stroke was not 'outside stroke' for Label which is generated by 'Font name' [FIX] Label: Wrong logic in Label::setFontAtlas [FIX] Label: Read file more than once for label created by different font size [FIX] Label: Getting wrong rectangle by LabelTTF(LabelBMFont)::getBoundingBox. [FIX] Label: Possible crash if invoking FontAtlasCache::purgeCachedData [FIX] LuaBinding: Adds `addCustomHandler` in the ScriptHandlerMgr [FIX] LuaBinding: Upgrading LuaSocket to the latest version [FIX] Menu: Added missed scaleZ feature in ScaleTo and ScaleBy. [FIX] Network: Implements 'SIODelegate::fireEventToScript' method to integrate JSB event handling with the original native code. [FIX] Network: WebsocketTest crashes on win32, mutex varible may be deleted while it's still locked [FIX] ParticleSystem: Particle will stop animating if it was removed and re-added to another node [FIX] ParticleSystem: Set particle visible to false then set to true cause crashes [FIX] Physics: Incorrect function invocation in PhysicsBody::setAngularVelocityLimit [FIX] Physics: PhysicsBody::setGravityEnable doesn't work correctly sometimes [FIX] Physics: PhysicsBody moves randomly when switch foreground/background [FIX] Physics: Refactors PhysicsDebugDraw [FIX] Tests: Memory leak in CocosDenshionTest [FIX] Texture2D: Support to update partial texture [FIX] Tools: The apk generated with release mode in cocos-console can't be installed [FIX] UI: Widget::addNode is confused, need to add ProtectedNode to remove addNode API. [FIX] UI: Adding HBox, VBox layouts, refactoring 'doLayout' function [3RD] Chipmunk: Upgraded to v6.2.1 [3RD] libwebsockets: Upgraded to v1.23 cocos2d-x-3.0rc0 March.14 2014 [All] [NEW] Action: RotateBy supports 3D rotations [NEW] Bindings: Using python to automatically generate script bindings [NEW] ccConfig.h: removed support for CC_TEXTURE_ATLAS_USE_TRIANGLE_STRIP [NEW] Console: Added command: 'autotest run|main|next|back|restart'. [NEW] Console: Added 'resolution', 'projection' commands. Improved API [NEW] Console: Added more commands: director resume|pause|stopanimation|startanimation. [NEW] Console: Added command: 'touch tap|swipe' to simulating touch events. [NEW] Console: Added command: 'upload filename filesize' to upload a file to writable path. [NEW] Director: Displays 'Vertices drawn' in the stats. Useful to measure performance. [NEW] GLProgram: initWithVertexShaderByteArray() -> initWithByteArrays() [NEW] GLProgram: initWithVertexShaderFilename()a -> initWithFilenames() [NEW] GLProgram: addAttribute() -> bindAttributeLocation() [NEW] Label: can custom shadow and outline size [NEW] Label: LabelTTF was re-implemented as a wrapper of Label [NEW] Node: Added set/get Position3D() and set/get Rotation3D() [NEW] Node: Calculates rotation X and Y correctly. [NEW] Node: set/get VertexZ() -> set/get PositionZ() [NEW] Node: setRotationX() -> setRotationSkewX() [NEW] Node: setRotationY() -> setRotationSkewY() [NEW] Node: visit() and draw() new arguments: Renderer, parentTransform, and whether or not the parentTransform has changed since the last frame [NEW] Language: Added Dutch support [NEW] Sprite: Added auto-culling support. Performance increased in about 100% when many sprites are outside the screen [NEW] Setup.sh: added script to set up environment needed for cocos2d-x [NEW] Scheduler: Added new API [ schedule(std::function, ...), schedule(member_func, ...) ], deprecated the old API [ scheduleSelector(member_func, ...) ] [FIX] Action: FadeIn and FadeOut behaviours is incorrect if it doesn't start from an edge value( 0 or 255) [FIX] Array: crash when invoking initWithObjects() [FIX] Action: Merge cocostudio/CCActionXxx to CCAction [FIX] Bindings: Adds a macro to disable inserting script binding relevant codes [FIX] Bindings: Supports 'setTimeout' and 'setInterval' in JSB [FIX] Bindngs: Exposes the missing data structures of Spine to JS [FIX] Bindings: cc.BuilderReader.load( path, null, parentSize ); was not allowed [FIX] Console: crashes on Windows [FIX] ControlButton: Crash if it was removed from parent in its callback [FIX] CocoStudio: Logical error in 'TriggerObj::detect()' [FIX] Director: Crash if invoking Director::end() on WINDOWS [FIX] Director: setAnimationInterval has not effect on Mac [FIX] EditBox: position would not be updated if its parent's position changed [FIX] EditBox: Voice recognition input would cause crash on ios7 [FIX] EGLView: renamed to GLView, no longer a singleton, easier to customize [FIX] EventDispatcher: removeAllEventListeners() remove event listeners used internally, make textures not reload on Android when come from background [FIX] EventDispatcher: dispatchEventToListeners() causes "out of range" exception [FIX] Image: s3tc compressed textures with no mipmaps fail to be loaded [FIX] Label: A string which only contains CJK characters can't make a line-break when it's needed [FIX] Label: Character would not be aligned on the baseline when label using distance field [FIX] Label: Color and opacity can't take effect [FIX] Label: Font size passed to new Label didn't consider 'contentScaleFactor' [FIX] Label: loading custom fonts from ttf file fails on windows [FIX] Label: LabelAtlas::setColor takes no effect [FIX] MotionStreak: Added unimplemented position getter/setter [FIX] Node: setAdditionalTransform receives a pointer and not a const reference [FIX] Node: setRotation() moves opposite when node has a physics body [FIX] Node: Can not use Node::setPhysicsBody to reset a physics body [FIX] Object: Object -> Ref, and remove unneeded functions [FIX] Other: Removes samples except testcpp|testjavascript|testlua. Moves sample games to `cocos2d/samples` repo [FIX] Physics integration: Improves physical performance [FIX] Physics integration: PhysicsContact::_contactData may be double freed. [FIX] Physics integration: PhysicsShapeBox::getSize returns wrong value. [FIX] ParticleSystemQuad: setTotalParticles() can not set a value larger than initialized value [FIX] Renderer: Expand textureID bit from 18bits to 32bits. Resolves probably crash on Linux / Android [FIX] RenderTexture: save screen with RenderTexture got unexpected result [FIX] RenderTexture: saveToFile() can't write png file correctly [FIX] Spine: spine::Skeleton would not be updated after being re-added to scene [FIX] Sprite: not work as expected when CC_SPRITE_DEBUG_DRAW is 1 [FIX] Scheduler: Thread deadlock if new functions are added in callback of Scheduler:: performFunctionInCocosThread [FIX] Tests: EditBoxText crashes on Win32 when being clicked many times [FIX] Tests: ChipmunkTest bounding box for debugging couldn't be shown [FIX] Tests: CocoStudioGuiTest/LabelBMFontTest crashes [FIX] Tests: Particle test/AddAndRemove test crashes [FIX] Tests: RenderTextureTest not drawn when coming from background [FIX] Tests: LabelTTFMultiline show nothing on mac [FIX] Timer::cancel always call Director::getInstance()->getScheduler() even in another Scheduler [FIX] Tests: Potential crash by switching repeatly between HttpClientTest, WebSocketTest, SocketIOTest [FIX] Tests: State is changed to RESUME when game comes back to foreground if pause button was clicked in Interval Test [FIX] TMXLayer: Removing child from TMXLayer may cause crash [FIX] TMXObjectGroup: Object values (x, y, width and height) from TMXObjectGroup are incorrect [FIX] TMXXMLParser: Refactored the codes of parsing pure xml layer format for tilemap [FIX] TMXXMLParser: 'y' value is parsed incorrectly [FIX] UI: Changes namespace from 'cocos2d::gui' to 'cocos2d::ui'. [FIX] UI: Supports RichText [FIX] Vector: Object which isn't in Vector would also be released when invoking Vector::eraseObject. [FIX] Websocket: Potential crash when websocket connection closes. [FIX] Websocket: No callback is invoked when websocket connection fails [FIX] Xcode 5.1: Added Xcode 5.1 to build arm64 version, but can not require socket module in lua, will fix it soon [3RD] Kazmath: Upgraded to latest version of Kazmath cocos2d-x-3.0beta2 Jan.24 2014 [All] [NEW] Full screen support for desktop platforms. [NEW] Adds performance test for EventDispatcher. [NEW] Adds performance test for Containers(Vector<>, Array, Map, Dictionary). [NEW] DrawNode supports to draw triangle, quad bezier, cubic bezier. [NEW] Console: added the 'textures', 'fileutils dump' and 'config' commands [NEW] GLCache: glActiveTexture() is cached with GL::activeTexture(). All code MUST call the cached version in order to work correctly [NEW] Label: Uses a struct of TTF configuration for Label::createWithTTF to reduce parameters and make this interface more easily to use. [NEW] Label: Integrates LabelAtlas into new Label. [NEW] Node: Added `setGlobalZOrder()`. Useful to change the Node's render order. Node::setZOrder() -> Node::setLocalZOrder() [NEW] Renderer: Added BatchCommand. This command is not "batchable" with other commands, but improves performance in about 10% [FIX] event->stopPropagation can't work for EventListenerTouchAllAtOnce. [FIX] Uses unified `desktop/CCEGLView.h/cpp` for desktop platforms (windows, mac, linux). [FIX] Bindings-generator supports Windows again and remove dependency of LLVM since we only need binary(libclang.so/dll). [FIX] Removes unused files for MAC platform after using glfw3 to create opengl context. [FIX] Wrong arithmetic of child's position in ParallaxNode::addChild() [FIX] CocoStudio: TestColliderDetector in ArmatureTest can't work. [FIX] CocoStudio: The order of transform calculation in Skin::getNodeToWorldTransform() is incorrect. [FIX] Crash if file doesn't exist when using FileUtils::getStringFromFile. [FIX] If setting a shorter string than before while using LabelAtlas, the effect will be wrong. [FIX] Label: Memory leak in FontFreeType::createFontAtlas(). [FIX] Label: Crash when using unknown characters. [FIX] Label: Missing line breaks and wrong alignment. [FIX] Label: Corrupt looking characters and incorrect spacing between characters [FIX] Label: Label:color and opacity settings are invalid afeter these these properties changed: 1)text content changed 2)align style changed 3)max line width limited [FIX] Label: Crash when using unknown characters [FIX] Console: log(format, va_args) is private to prevent possible resolution errors [FIX] Configuration: dumpInfo() -> getInfo() [FIX] ControlSlider doesn't support to set selected thumb sprite. [FIX] ControlButton doesn't support to set scale ratio of touchdown state. [FIX] Particles: Crash was triggered if there is not `textureFileName`section in particle plist file. [FIX] Renderer: Uses a float as key with only the depth. Viewport, opaque are not needed now [FIX] Renderer Performance Fix: QuadCommand::init() does not copy the Quads, it only store a reference making the code faster [FIX] Renderer Performance Fix: Sprite and SpriteBatchNode (and subclasses) has much better performance [FIX] Renderer Performance Fix: When note using VAO, call glBufferData() instead of glBufferSubData(). [FIX] Renderer Performance Fix: Doesn't sort z=0 elements. It also uses sort() instead of stable_sort() for z!=0. [FIX] Sprite: removed _hasChildren optimization. It uses !_children.empty() now which is super fast as well [FIX] Tests: Sprites Performance Test has 4 new tests [FIX] TextureCache: getTextureForKey and removeTextureForKey work as expected [FIX] TextureCache: dumpCachedTextureInfo() -> getCachedTextureInfo() [FIX] Websocket doesn't support send/receive data which larger than 4096 bytes. [FIX] Object: Remove _retainCount [FIX] ParallaxNode: Coordinate of Sprite may be wrong after being added into ParallaxNode [FIX] Crash if there is not `textureFileName`section in particle plist file [FIX] Websocket cannot send/receive more than 4096 bytes data [FIX] TextureCache::addImageAsync can't load first image [FIX] ControlSlider: Can not set "selected thumb sprite" [FIX] ControlSlider: Can not set "scale ratio" [FIX] Crash when loading tga format image [FIX] Keyboard pressed events are being repeatedly fired before keyboard is released [Android] [FIX] Background music can't be resumed when back from foreground [FIX] ANR (Application Not Responding) appears on android 2.3 when pressing hardware button. [lua binding] [NEW] Can bind classes that have the same class names but different namesapces [FIX] Use EventDispatcher to update some test cases [FIX] sp.SkeletonAnimation:registerScriptHandler should not override cc.Node:registerScriptHandler [javascript binding] [NEW] Bind SAXParser [FIX] Pure JS class that wants to inherite from cc.Class will trigger an irrelevant log [FIX] Mac and iOS Simulator should also use SpiderMonkey which was built in RELEASE mode [FIX] Crash when running JSB projects on iOS device in DEBUG mode [FIX] Crash when Firefox connects to JSB application on Mac platform. [Desktop] [NEW] Support fullscreen [Linux] [FIX] "Testing empty labels" in LabelTest crashes. [Mac] [FIX] Removes unused files after using glfw3 to create opengl context [Win32] [FIX] Compiling error when using x64 target [FIX] Tests: TestCpp works with CMake [FIX] Bindings-generator supports Windows again and remove dependency of LLVM since it only needs binary of libclang cocos2d-x-3.0beta Jan.7 2014 [All] [NEW] New label: shadow, outline, glow support [NEW] AngelCode binary file format support for LabelBMFont [NEW] New spine runtime support [NEW] Add templated containers, such as `cocos2d::Map<>` and `cocos2d::Vector<>` [NEW] TextureCache::addImageAsync() uses std::function<> as call back [NEW] Namespace changed: network -> cocos2d::network, gui -> cocos2d::gui [NEW] Added more CocoStudioSceneTest samples. [NEW] Added UnitTest for Vector, Map, Value. [NEW] AngelCode binary file format support for LabelBMFont. [NEW] New renderer: Scene graph and Renderer are decoupled now. [NEW] Upgrated Box2D to 2.3.0 [NEW] SChedule::performFunctionInCocosThread() [NEW] Added tga format support again. [NEW] Adds UnitTest for Template container and Value class [FIX] A Logic error in ControlUtils::RectUnion. [FIX] Bug fixes for Armature, use Vector, Map instead of Array, Dictionary. [FIX] Used c++11 range loop(highest performance) instead of other types of loop. [FIX] Removed most hungarian notations. [FIX] Merged NodeRGBA to Node. [FIX] Potential hash collision fix. [FIX] Updates spine runtime to the latest version. [FIX] Uses `const std::string&` instead of `const char*`. [FIX] LabelBMFont string can't be shown integrally. [FIX] Deprecates FileUtils::getFileData, adds FileUtils::getStringFromFile/getDataFromFile. [FIX] GUI refactoring: Removes UI prefix, Widget is inherited from Node, uses new containers(Vector, Map). [FIX] String itself is also modified in `String::componentsSeparatedByString`. [FIX] Sprites with PhysicsBody move to a wrong position when game resume from background. [FIX] Crash if connection breaks during download using AssetManager. [FIX] OpenAL context isn't destroyed correctly on mac and ios. [FIX] Useless conversion in ScrollView::onTouchBegan. [FIX] Two memory leak fixes in EventDispatcher::removeEventListener(s). [FIX] CCTMXMap doesn't support TMX files reference external TSX files [FIX] Logical error in `CallFuncN::clone()` [FIX] Child's opacity will not be changed when its parent's cascadeOpacityEnabled was set to true and opacity was changed [FIX] Disallow copy and assign for Scene Graph + Actions objects [FIX] XMLHttpRequest receives wrong binary array [FIX] XMLHttpRequest.status needs to be assigned even when connection fails [FIX] TextureCache::addImageAsync may load a image even it is loaded in GL thread [FIX] EventCustom shouldn't use std::hash to generate unique ID, because the result is not unique [FIX] CC_USE_PHYSICS is actually impossible to turn it off [FIX] Crash if connection breaks during download using AssetManager [FIX] Project_creator supports creating project at any folder and supports UI [Android] [NEW] build/android-build.sh: add supporting to generate .apk file [NEW] Bindings-generator supports to bind 'unsigned long'. [FIX] XMLHttpRequest receives wrong binary array. [FIX] 'Test Frame Event' of TestJavascript/CocoStudioArmatureTest Crashes. [FIX] UserDefault::getDoubleForKey() doesn't pass default value to Java. [iOS] [FIX] Infinite loop in UserDefault's destructor [Windows] [NEW] CMake support for windows. [Bindings] [NEW] Support CocoStudio v1.2 [NEW] Adds spine JS binding support. [FIX] Don't bind override functions for JSB and LuaBining since they aren't needed at all. [FIX] The order of onEnter and onExit is wrong. [FIX] The setBlendFunc method of some classes wasn't exposed to LUA. [FIX] Bindings-generator doesn't support 'unsigned long' [FIX] Potential hash collision by using typeid(T).hash_code() in JSB and LuaBinding [Lua binding] [NEW] New label support [NEW] Physcis integrated support [NEW] EventDispatcher support [FIX] CallFuncND + auto remove lua test case have no effect [FIX] Lua gc will cause correcsponding c++ object been released [FIX] Some lua manual binding functions don't remove unneeded element in the lua stack [FIX] The setBlendFunc method of some classes wasn't exposed to LUA [Javascript binding] [FIX] `onEnter` event is triggered after children's `onEnter` event cocos2d-x-3.0alpha1 Nov.19 2013 [all platforms] [DOC] Added RELEASE_NOTES and CODING_STYLE.md files [FIX] Texture: use CCLOG to log when a texture is being decoded in software [FIX] Spine: fix memory leaks [FIX] fixed a memory leak in XMLHTTPRequest.cpp [FIX] removeSpriteFramesFromFile() crashes if file doesn't exist. [FIX] Avoid unnecessary object duplication for Scale9Sprite. [FIX] create_project.py does not rename/replace template projects completely. [FIX] Could not set next animation in CCBAnimationCompleted callback. [FIX] The Node's anchor point was changed after being added to ScrollView. [FIX] Refactored and improved EventDispatcher. [FIX] EventListeners can't be removed sometimes. [FIX] When parsing XML using TinyXML, the data size has to be specified. [FIX] Parameter type: const char* -> const string& [FIX] Armature: many bug fixed, add more samples, add function to skip some frames when playing animation [FIX] Configuration of VAO in runtime [FIX] Webp Test Crashes. [FIX] TransitionScenePageTurn: z fighting [FIX] AssetsManager: Adding test whether the file directory exists when uncompressing file entry,if does not exist then create directory [FIX] CCBReader: To set anchor point to 0,0 when loading Scale9Sprite [FIX] OpenGL Error 502 in Hole Demo [FIX] AssetsManager: downloading progress is not synchronized with actual download [FIX] SpriteFrameCache: memory leak when loading a plist file [FIX] removeSpriteFramesFromFile() crashes if file doesn't exist [FIX] EditBox: can't click the area that outside of keyboard to close keyboard [FIX] CCBReader: can not set next animation in AnimationCompleted callback [FIX] Node's anchor point was changed after being added to ScrollView [FIX] EventDispather: refactor method and fix some bugs [FIX] EventListner: cann't be removed sometimes [FIX] UserDefault: didn't set data size when parsing XML using TinyXML [FIX] Webp test crashed [FIX] CCHttpClient: The subthread of CCHttpClient interrupts main thread if timeout signal comes. [NEW] Arm64 support. [NEW] Added Mouse Support For Desktop Platforms. [NEW] Point: Adds ANCHOR_XXX constants like ANCHOR_MIDDLE, ANCHOR_TOP_RIGHT, etc. [NEW] Sprite: Override setScale(float scaleX, float scaleY) [NEW] External: added | operator for Control::EventType [NEW] Android & iOS screen size change support [NEW] GLProgram: setUniformLocationWithMatrix2fv, setUniformLocationWithMatrix3fv [NEW] Color[3|4][B|F]: comparable and explicit convertible [NEW] Contorl::EventType add | operation [NEW] Performance Test: Sprite drawing [NEW] Adjusted folder structure [NEW] Added tools to simplify upgrading game codes from v2.x to v3.x [FIX] Added virtual destructors on Interfaces [Android] [FIX] Added EGL_RENDERABLE_TYPE to OpenGL attributes [FIX] Fixed application will crash when pause and resume. [FIX] Clear NoSuchMethodError Exception when JniHelper fails to find method id [FIX] Fixed crash when backging from background [FIX] LabelTTF: crashed when setting dimension input height value less than the height of the font and the input width value is 0 [FIX] Changed data type of 'char' to signed as default [NEW] Added xlargeScreens="true" to supports-screens [NEW] Added build/android-build.py to build all Android samples, and remove all build_native.sh/cmd [NEW] Added build_native.py to build template projects, and remove build_native.sh/cmd [NEW] Added Cocos2dxHelper.runOnGLThread(Runnable) again [NEW] Added support for orientation changed [NEW] Disabled CDT Builder on Eclipse [Mac] [FIX] Removed unused CCLOG() from GL initialization [FIX] HttpClientTest: crash [iOS] [FIX] Can't click the area that outside of keyboard to close keyboard when using EditBox. [NEW] Added support for orientation changed [Linux] [NEW] Used CMake to build linux projects. [FIX] Closed X display after getting DPI on Linux. [Win32] [FIX] Last test case of OpenglTest crashed [Desktop] [FIX] Trigger onKeyReleased only after the key has been released. [NEW] Added mouse support [Javascript binding] [FIX] Fixed a memory leak in ScriptingCore::runScript() [FIX] sys.localStorage.getItem() does not support non-ascii string. [FIX] cc.Scheduler.schedule(target, func) without repeat argument couldn't repeat schedule forever on device. [FIX] CCBReader can't play sequence automatically in JSB. [FIX] Wrong convention to jsval in cccolor4f_to_jsval and cccolor3b_to_jsval [FIX] sys.localStorage: doesn't support non-ascii string [FIX] BuilderReader: can't play sequence automatically [FIX] Wrong conversion to javal in cccolor4f_to_jsval and cccolor3b_to_jsval [NEW] main.js -> cocos2d-jsb.js [NEW] Remote debugging using Firefox, "step into" can not work [NEW] Added binding for Node::setScale(float, float) [NEW] Impvoved armature binding [NEW] Added CocoStudio releated binding codes: gui, scene parser, and add corresponding samples [Lua Binding] [NEW] Added Armature lua binding and added test samples. [NEW] Added LuaObjectBridge & LuaJavaBridge to simplify invoking objective-c codes and java codes from lua [NEW] Added CocoStudio releated binding codes: gui, scene parser, and add corresponding samples [NEW] Added AssetsManager binding and corresponding sample [NEW] Added XMLHttpRequest lua binding and corresponding sample cocos2d-x-3.0alpha0 @Sep.19 2013 [all platforms] [FIX] TargetAction::reverse() works as expected [FIX] Fixed crash in OpenGLTest [FIX] Fixed logic when passing an empty std::vector to WebSocket::init() [FIX] Fixed crash in ParticleSystemQuad due to improper deletion of VBO and VAO [FIX] Point::isSegmentIntersect() returns correct value [FIX] Improved UTF8 response code in XmlHttpRequest [FIX] Observers with the same target and name but different sender are the same observer in NotificationCenter [NEW] Added ATITC format support [NEW] Better integration with physics engine [NEW] New Event Dispatcher: supports Keybaord, Touches, Accelerometer, Custom events. Added Tests as well [NEW] New Label code: Faster and more efficient than previous code [NEW] Added S3TC support [NEW] Added a method to get duration of timeline for CCBAnimationManager class [NEW] Array is compatible with STL containers. [3RD] Upgraded SpiderMonkey to Firefox v23 [Android] [FIX] Fixed When lock screen or entering background and resume the application textures from pvr.ccz file become black [FIX] Fixed Stroke font color [NEW] Uses Native Activity [iOS] [FIX] Status bar can be hidden on iOS 7 [FIX] Added iOS7 icons to templates and tests [Mac OS X] [NEW] iOS and Mac tempaltes were merged into one single Xcode project file. [NEW] Added Lua template [JavaScript bindings] [FIX] CCBReader is able to set properties to owner if 'owner var' is setted [FIX] Fixed crash when extending cc.ScrollView in JS [FIX] cc.registerTargettedDelegate supports pure js object as its target [FIX] Fixed memory leak in the binding glue code of cc.FileUtils.getStringFromFile(getByteArrayFromFile) [NEW] Added bindigns for Sprite::getDisplayFrame(), ControlButton callback and RemoveSelf [Lua bindings] [NEW] Bind Sprite::getDisplayFrame() cocos2d-x-3.0alpha0-pre @Jul.30 2013 [all platforms] [FIX] #2124: Image::initWithImageFileThreadSafe is not thread safe [FIX] #2230: Node::onEnterTransitionDidFinish was called twice when a node is added in Node::onEnter [FIX] #2237: calculation offset in font rendering [FIX] #2303: missing precision when getting strokeColor and fontFillColor [FIX] #2312: WebSocket can not parse url like "ws://domain.com/websocket