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" [FIX] #2327: implement Node::isScheduled [FIX] #2338: ccbRootPath is not passed to sub ccb nodes [FIX] #2346: OpenGL error 0x0502 in TextureAtlas::drawNumberOfQuads [FIX] #2359: Sprite will become white block when using ControlSwitch [FIX] #2361: some bug fixed of the Set class [FIX] #2366: text shadow [FIX] #2367: ClippingNode works differently on different platforms [FIX] #2370: Pivotjoint constructor and pointQueryFirst in Space class will return false instead of invalid shape object [FIX] #2381: ControlSwitch wasn't displayed correctly when adding more than one switch [FIX] #2384: The submenu of ExtensionTest in TestCpp can't scroll [FIX] #2386: ClippingNode works wrongly when being set as a child [FIX] #2396: Scale9Sprite::setInsetLeft/XXX can't work for rotated sprite frame [FIX] #2401: LabelBMFont crashes in glDrawElements of CCTextureAtlas::drawNumberOfQuads randombly [FIX] #2410: Black screen appears on android randomly [FIX] #2411: Opacity option for shadow in CCLabelTTF is not working [FIX] #2406: Color and Opacity of Scale9Sprite will not be changed when it's added to NodeRGBA and run with FadeIn/Out actions [FIX] #2415: Warning of AL_INVALID_NAME and AL_INVALID_OPERATION in SimpleAudioEngineOpenAL.cpp [FIX] #2418: Unused spriteframes also need to be removed when purgeCachedData [FIX] #2431: Potential crash when loading js files [FIX] #2229: Explicitly initialising CCAcceleration structure [FIX] #2234: Add destructor to CCGLBufferedNode [Feature] #2232: adding Norwegian language support [Feature] #2235: Ability to save/retrieve CCData into/from CCUserDefault [Feature] #2250: add support for std::function<> in CCMemuItem and CCCallFunc [Feature] #2273: Hardware keyboard support [Feature] #2278: Adds CALLBACK_0, CALLBACK_1 and CALLBACK_2 macros for MenuItems [Feature] #2279: Updates chipmunk2d to v6.1.5 [Feature] #2283: Adds Polish language support [Feature] #2289: Uses clone() pattern for actions [Feature] #2332: Adding project for QtCreator [Feature] #2364: Adds DrawPrimitives::DrawSolidCircle [Feature] #2365: Adds Rect::unionWithRect [Feature] #2385: Implemented pitch, pan and gain for SimpleAudioEngine [Feature] #2389: Adding cookie support for HttpClient [Feature] #2392: Adds append() function for String class [Feature] #2395: Adds Scale9SpriteTest for TestCpp [Feature] #2399: Adds SocketIO support [Feature] #2408: Adds String::componentsSeparatedByString function for splitting string [Feature] #2414: Bindings-generator could bind std::function<> argument [Refactor] #2129: Removes Hungarian notation from ivars. Removes CC and cc prefixes from name classes and free functions. [Refactor] #2242: Enables c++11 [Refactor] #2300: Using clone() pattern instead of 'copyWithZone' pattern [Refactor] #2305: Use std::thread instead of pthread [Refactor] #2328: ETC support for all platforms [Refactor] #2373: C