cocos2d-x-3.7 ?? [NEW] android: Add Samsung API for cocos, please refer to the release note for more details. [NEW] 3rd: updated rapidjson to v1.0.2 [NEW] 3d: added physics3d support [NEW] console: support build & run Android Studio project [NEW] Audio: added support on WP8.1, now it supports wav format [NEW] C++: added ActionFloat [NEW] C++: supported physical keyboard on WinRT [NEW] C++: added Android Studio support [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] Scale9Sprite: added Android 9-patch image support [NEW] Sprite: used triangle command [NEW] 3d: add `getFarPlane` and `getNearPlane` in `Camera` class [NEW] 3d: add opengl version project/unproject function in camera. [NEW] ui: button add BMFont title support [NEW] ui: TextField add `getTextColor`, `getTextHorizontalAlignment` and `getTextVerticalAlignment` API [NEW] audio: Added MP3 support to winrt audio [NEW] win10: Added Windows 10.0 Universal App(UWP) support. [FIX] network: Fix memory leak of HttpClient on iOS and Mac platform. [FIX] android++: Improve UserDefault's robustness, now the converting behavior is the same as iOS platform. [FIX] audio: Fixed program may freeze if `AudioEngine::stop` or `AudioEngine::stopAll()` is invoked frequently on Android [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] 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] 3rd: fix PIE link error on iOS caused by libpng and libtiff [FIX] AssetsManager: crashed issue [FIX] Audio: can not play large ogg files on windows [FIX] EaseRateAction: no way to create an `EaseRateAction` instance [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] 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: crashed if url contains illegal characters on Android [FIX] Lua: luaLoadChunksFromZip should just remove .lua or .luac extension 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