axmol/CHANGELOG

2483 lines
176 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

axmol-1.0 ??
- [HIGHLIGHT] Reimplemented MediaPlayer support play media(video/audio) files for all platforms, and ui::VideoPlayer was renamed to ui::MediaPlayer
- [HIGHLIGHT] Windows Store UWP apps support
- [HIGHLIGHT] Add build windows with llvm-clang + ninja support
- [HIGHLIGHT] Add extensions `Effekseer` support
- [HIGHLIGHT] Replace all string map with `robin_map` which support heterogeneous lookup
- [HIGHLIGHT] Add precompile_headers all platforms support, thanks to @crazyhappygame
- [HIGHLIGHT] Refactor `VertexLayout` sharing mechanism
- [HIGHLIGHT] Refactor shader program management: link when use, rename `ProgramCache` to `ProgramManager`
- [HIGHLIGHT] Improve MeshRenderer #879 thanks @solan-solan (#904)
- [HIGHLIGHT] Improve model loader, auto set texture for .obj file when texture path not specified
- [HIGHLIGHT] Add apple M1, android x64 support, contributed by @pietpukkel
- [HIGHLIGHT] Add apple tvos support, thanks to @paulocoutinhox
- [HIGHLIGHT] Add Particle System Animations, Alpha Masks & Improvements, thanks to @DelinWorks
- [HIGHLIGHT] Add wireframe rendering and function classification improvements, thanks to @DelinWorks
- [HIGHLIGHT] Improve text rendering
- [HIGHLIGHT] Improve windows workflow, support linking with engine prebuilt libs
- [HIGHLIGHT] Improve spine RTTI compare performance when compiler string pooling enabled
- [HIGHLIGHT] Implement Windows WebView using WebView2 Edge Chromium, thanks to @rh101
- [HIGHLIGHT] Windows x64 build support
- [HIGHLIGHT] Support custom texture atlas formats, thanks to @rh101
- [HIGHLIGHT] Downloader realtime md5 checksum calculation support
- [HIGHLIGHT] Decompress astc parallel support
- [HIGHLIGHT] Reimplement HttpClient based on yasio for concurrent http request support
- [HIGHLIGHT] Improve Lua RTTI performance and less memory cost
- [HIGHLIGHT] Virtual File System support, thanks to @rh101
- [HIGHLIGHT] Refactor lua loader, speed up 30%+
- [HIGHLIGHT] Update plainlua version to 5.4.4
- [HIGHLIGHT] Use Openal-Soft for all platform
- [HIGHLIGHT] Refactor UserDefault with mio, speed up 100x+
- [HIGHLIGHT] Implement all .wav formats supported by Openal-Soft, such as MS-ADPCM, ADPCM
- [HIGHLIGHT] Use modern GL loader glad (v2.0.2)
- [HIGHLIGHT] Add google angle (version 5672) renderer backend support for windows
- [HIGHLIGHT] Update codebase to C++ 17/20 standard
- [HIGHLIGHT] Remove tinyxml2
- [HIGHLIGHT] Use fast pugixml
- [HIGHLIGHT] Spine-3.6~4.1 support, default is 4.1
- [HIGHLIGHT] ASTC 4x4/6x6/8x8 support (if hardware decoder not present, use software decoder)
- [HIGHLIGHT] ETC2 RGB/RGBA support (if hardware decoder not present, use software decoder)
- [HIGHLIGHT] ImGui integrated for Android platform, thanks to @rh101
- [HIGHLIGHT] ImGui integrated for PC platforms
- [HIGHLIGHT] Add extension `FairyGUI` support
- [HIGHLIGHT] Add extension `Live2D` support
- [HIGHLIGHT] Use curl for transferring data with URL syntax
- [HIGHLIGHT] Modularize all optional extension, move from engine core to folder extensions
- [HIGHLIGHT] Improve thirdparty libs building, 100% of them build from sources or github actions with latest toolchain, see also: `axmolengine/buildware`
- [HIGHLIGHT] Add new API `Director::setChildrenIndexerEnabled` for speed up getChildByTag & getChildByName support
- [HIGHLIGHT] Add new API `FontFreeType::setStreamParsingEnabled` for stream parsing support . It's very useful for reducing memory costs when loading a large .ttf font file
- [HIGHLIGHT] Remove all unnecessary `std::nothrow` stubs
- [HIGHLIGHT] Use c++17 string_view instead `const std::string&`
- [HIGHLIGHT] Improve code quality (stage1.Oct) (#916)
- [HIGHLIGHT] Remove CC prefix from code file name
- [NEW] Add closeKeyboard() method for EditBox, thanks to @theunwisewolf
- [NEW] Added automake and automake to dependency list, thanks to @clawfinger
- [NEW] Add primitive type support for mesh materials, thanks to @DelinWorks
- [NEW] Add int64_t/uint64_t support for `cocos2d::Value`
- [NEW] Add support for scaling for RichElementImage, thanks to @theunwisewolf
- [NEW] Add fmtlib 10.0.0
- [NEW] Add llhttp 8.1.0
- [NEW] Add return type 'ResourceData' for lua bindings, thanks to @tkzcfc
- [NEW] Add spine binary support for lua bindings, thanks to @tkzcfc
- [NEW] Add GL_RGBA32F GL backend support by @solan-solan
- [NEW] CI: add upload android apk support by @crazyhappygame
- [NEW] Add Anchored Sprite Class by @DelinWorks
- [NEW] Update app icon to Axmol logo by @rh101
- [NEW] Add HSV/HSL types support by @DelinWorks
- [NEW] Add support for haptic feedback on iOS and Android devices by @maksg
- [FIX] Fix for UIEditBox password on Mac/iOS (Montery+/15+), thanks to @Niborski
- [Fix] Fix to ensure Component::onEnter() is called (#867), thanks to @rh101
- [Fix] Fix Label overflow shrink bug
- [FIX] Fix uniform location mismatch when more than 1 spine with different shaders
- [FIX] Fix imgui draw frame cause afterimage when game scene nothing to draw
- [FIX] Set global Z value of label debug layer to be the same as the parent label to fix display issue
- [FIX] Use TTF scaled metrics to calculate line height, thanks to @rh101
- [FIX] Fix Memory leak in ShaderModuleGL::getErrorLog(), thanks to @Xrysnow
- [FIX] Fix console output text encoding for win32
- [FIX] Fix charset process for fontName on win32
- [FIX] Fix crash on ParticleBatchNode::updateProgramStateTexture()
- [FIX] Fix crash on SpriteBatchNode::appendChild when CC_SPRITE_DEBUG_DRAW==1
- [FIX] Fix Lua can't get `unsigned char` or `unsigned int` values of `ValueMap`
- [FIX] Fix crash on AudioEngine::end after the `Director` was destroyed
- [FIX] Fix font atlas will leak when it does not exist in the atlas cache, thanks to @rh101
- [FIX] Fix ScrollView shows incorrect position in vertical direction some time, thanks to @wzhengsen
- [FIX] Fix Spine ClippingAttachment doesn't work
- [FIX] Fix render problem with boss.obj
- [FIX] Fix downloader crash in lua coroutine, thanks to @tkzcfc
- [FIX] Fix memory leak (VertexLayout) at `Program` constructor
- [FIX] Fix missed edge case when resizing the memorymapped file in UserDefault that could cause a crash, thanks to @theunwisewolf
- [FIX] Fix http post with uri params
- [FIX] Fix extension issue - FairyGUI BMFont don't load, reported by @theSlyest
- [FIX] Fix download task creation failure Program crash, reported by @tkzcfc
- [FIX] Fix charset process in glfwCharCallback (cocos2dx-all)
- [FIX] Fix positionColorLengthTexture.vert shader compilation, thanks to @DelinWorks
- [FIX] Fixed resize on Windows by @Niborski
- [FIX] Trim leading space from wrapped lines of text in RichText by @rh101
- [FIX] Fix TileMap OpenGL pixel-tolerance by @DelinWorks
- [FIX] Fix TileMap flipped/rotated animated tiles incorrect rendering by @DelinWorks
- [FIX] Fix TiledMap sprite position by @rh101
- [FIX] Fix for incorrect tile sprite setup on creation by @rh101
- [FIX] Fix return reference to local temporary value by @rh101
- [FIX] Fix TMX Tiled Map CSV, BASE64, & ZLIB incorrect parsing by @DelinWorks
- [FIX] Fix to ensure new line is correctly added to RichText by @rh101
- [FIX] Fix tilemap camera move and zoom culling by @DelinWorks
- [FIX] Fix some audio test case can't hear sound
- [FIX] Fix RenderTexture memory leak and increased memory usage when initWithWidthAndHeight is called by @rh101
- [REFINE] Improved error handling in shader initialization by @CodeAndWeb
- [REFINE] Move getWroldPosition from Widget to Node class, thanks to @rh101
- [REFINE] Improve `FileUtils::addSearchPath`, thanks to @tkzcfc
- [REFINE] Allow the forced reformatting of RichText contents, thanks to @rh101
- [REFINE] Upgrade android toolsets to ndk-r23 LTS
- [REFINE] CCValue move construct and assign with std::string support
- [REFINE] Improve windows dev workflow, use working directory instead copy resources to build binary directory
- [REFINE] Add lua debug project file to lua project template
- [REFINE] Remove lua 64bit spec search path, since we can compile compatible bytecode for both plainlua and luajit
- [REFINE] Put stats labels to safe origin to make sure we can see it integral at some mobile device
- [REFINE] Improve cmake scripts
- [REFINE] Replace deprecated repo `jcenter` with `mavenCentral`
- [REFINE] Lua-5.4 compatible
- [REFINE] Improve cmdline-tools
- [REFINE] Ensure label underline node has the same global Z value as the label node to fix visibility issue when global Z is not 0
- [REFINE] Improve android astc support check
- [REFINE] Improve the "Physics part" (#379), thanks to @aismann
- [REFINE] Rename command line to to `axmol`
- [REFINE] Update imgui to 1.88
- [REFINE] Rename thirdparty folder `external` to `thirdparty`
- [REFINE] Building plainlua as dll on windows always for debugger happy to debug app quickly
- [REFINE] Avoid OS_WINDOWS conflict with system macro
- [REFINE] Update OpenSSL to v3.0.x latest
- [REFINE] Update FreeType to latest
- [REFINE] Use Freetype SDF render when label distance field enabled
- [REFINE] Always enable string pooling for msvc on cmake
- [REFINE] Change DrawNode api color parameters from `Color4F` to low `Color4B`
- [REFINE] Improve DrawNode GC allocs
- [REFINE] Use `jni.hpp` to improve jni call without method signature GC allocs
- [REFINE] Rename is64BitIOSDevice to is64BitMobileDevice
- [REFINE] Fix Android screen blank issue after unlocking device with application running, thanks to @rh101
- [REFINE] Update zlib to v1.2.13
- [REFINE] Add explicit cmake options
- [REFINE] Migrate cross platform ci checks to github actions
- [REFINE] Replace `push_back` with `emplace_back`
- [REFINE] Improve Camera, thanks to @DelinWorks
- [REFINE] Use jpeg-turbo for jpg image decoding
- [REFINE] Update clipper1 to clipper2 1.x
- [REFINE] Update flatbuffers to v2.0.8
- [REFINE] Change Program::getActiveAttributes return type to reference
- [REFINE] Rename `Sprite3D` to `MeshRenderer`
- [REFINE] Improve AutoPolygon::generateTriangles performance (#905)
- [REFINE] Add many box2d testbed, thanks to @aismann
- [REFINE] Improve c++11 for-loop performance with Universal References ([#760](https://github.com/axmolengine/axmol/pull/760)), thanks to @aismann
- [REFINE] New engine logo & splash
- [REFINE] Improve gradle scripts
- [REFINE] Replace use of deprecated sprintf with snprintf, thanks to @euler0
- [REFINE] Fix some warnings compilation in linux gcc 12.2.0, thanks to @Joilnen
- [REFINE] Add linux prebuilt support, thanks to @AsakuraMizu
- [REFINE] Fix wanings implicit conversion loses and use of deprecated function, thanks to @euler0
- [REFINE] Clarify the order of steps required to create and build new projects, thanks to @rh101
- [REFINE] Add a pool for GroupCommand rendering commands, thanks to @rh101
- [REFINE] Improve ci scripts, thanks to @crazyhappygame
- [REFINE] Improve lua and android cmake, thanks to @crazyhappygame
- [REFINE] Update libpng to 1.6.39
- [REFINE] Improve cpp template, thanks to @aismann
- [REFINE] Improve drawCircle rendering for big ring, thanks to @aismann
- [REFINE] Add windows dll build checks for GH actions
- [REFINE] Improve test naming by @DelinWorks
- [REFINE] Scrollbar visibility fix for when auto hide is disabled by @rh101
- [REFINE] Improve richtext word wrapping by @rh101
- [REFINE] Tidy project tree and full symlink support
- [REFINE] Impore Metal Renderer Dirty Detection by @Yehsam23
- [REFINE] Improve Android performance
- [REFINE] Add 1 overload AudioEngine::play2d for time offset support
- [REFINE] Improve exit flow
- [REFINE] Use ipv4 address preferred for console command server
- [REFINE] Reopen alsoft device when default device changed
- [REFINE] Factor in protected nodes when creating global Z node priority map for event dispatcher by @rh101
cocos2d-x-4.0 Dec.3 2019
[HIGHLIGHT] Support metal
[HIGHLIGHT] Use CMake for all platforms
[REFINE] Update glfw to 3.3
[REFINE] Update minizip to 1.2
[CHANGE] remove deprecated functions
[CHANGE] remove h5 engine and JSB
[CHANGE] remove tiff
[CHANGE] remove `experimental` namespace
[FIX] system font can not work correctly on macOS 15
[FIX] TextField can not work if using system input to get Chinese characters with iOS13
[FIX] UIWebView uses WKWebView instead
[FIX] VideoPlayer uses AVPlayerController instead
[FX] lua crashes on 64it devcices
cocos2d-x-3.17 May.21 2018
[HIGHLIGHT] Android: support Android Studio 3.0, NDK 16
[HIGHLIGHT] iOS: support full screen for iPhone X and uses Storyboard for launch screen
[HIGHLIGHT] 3rd: upgrade Spine runtime to v3.6.39
[HIGHLIGHT] 3rd: upgrade GLFW to 3.2.1
[HIGHLIGHT] CMake support all platforms, and support prebuilt engine libs
[NEW] Engine: multisampling support
[NEW] Label: support non-breaking characters
[NEW] Label: support belarusian language
[NEW] UI: add blend function for Text
[NEW] UI: add ScrollView API to stop overall scroll
[NEW] iOS: add auto hide home indicator for iPhone X
[NEW] iOS: provides an interface for getting SafeArea
[NEW] Android: add one more android return button types
[REFINE] Engine: support reading object.rotation attribute in TMX
[REFINE] Engine: make the sort behavior is same on 32bit and 64bit
[REFINE] Engine: static analize fixes
[REFINE] Engine: improve comments in ccConfig.h, JniHelper.h
[REFINE] Engine: remove plugin submodule
[REFINE] Engine: improve StringUtils::format implementation
[REFINE] Label: don't count spaces at the end of line as part of the line width
[REFENE] UI: partial cursor support with system font in TextField
[REFINE] UI: support BMFont in TextField
[REFINE] UI: improve EditBox on win32 platform
[REFINE] UI: RichText improvements, get the real height by automatically customize ContentSize, refactor split algorithm
[REFINE] UI: remove autorelease mark from UIWebViewWrapper and manage memory manually
[REFINE] Lua: implementation conversion Lua table to ObjC Dictionary
[REFINE] Lua: improve loader, support standerd Lua package require
[REFINE] Web: upgrade Spine Javascript runtime to v3.6.39
[REFINE] Windows: speed up build by supporting precompiled header
[REFINE] Windows: remove Visual Studio 2013 support
[REFINE] Windows: Windows 10 update compiler to PlatformToolset v141
[REFINE] iOS: uses Images.xcassets instead of several icon png files
[REFINE] Android: support Android Studio 3.0.0, switch to libc++, simplify PROP_* values, add default Proguard Config for cocos
[REFINE] Android: remove ant project
[REFINE] Android: update NDK from r14 to r16
[REFINE] Android: improve Android.mk, not have to set NDK_MODULE_PATH in project settings
[REFINE] Android: detail comments for cddandroidAndroidJavaEngine.h, Cocos2dxSound.java
[REFINE] Linux: provide prebuilt version of GLFW
[REFINE] cocos console: remove ant build support
[REFINE] cocos console: support building release APK without key information
[REFINE] 3rd: remove Visual Studio 2013 libs
[REFINE] 3rd: remove Android armeabi libs since it is deprecated and will be removed in r17
[REFINE] 3rd: rebuild all Android libs with clang in ndk-r16
[REFINE] 3rd: cmake build support for partial libs
[REFENE] 3rd: update Box2D to latest commit f655c603ba9d83
[REFINE] 3rd: use prebuilt Box2D
[FIX] Engine: capture image loses quality when using RenderTexture
[FIX] Engine: RenderTexture DepthAndStencil issue on Android
[FIX] Engine: race condition resulting in deadlock infrequently in TextureCache
[FIX] Engine: CCConsole.cpp compile error with C++17 and clang
[FIX] Engine: TrianglesCommand hashing technique doesn't take padding into account
[FIX] Engine: default GLView bit depth is too low on desktop
[FIX] Engine: cocos2d::log va_list re-use bug
[FIX] Engine: cocos2d::Image::saveImageToPNG saves image in wrong PNG format
[FIX] Engine: CameraBackgroundColorBrush cannot use alpha
[FIX] Engine: crash in Allocator if there are no allocated pages
[FIX] Engine: crash when the UserDefault.xml file is empty
[FIX] Engine: memory leak in ObjectFactory destroyInstance, UserDefault::deleteValueForKey
[FIX] Engine: replace ptr_fun with lambda, fix compile error with C++17 and clang
[FIX] Engine: fix some warning issues
[FIX] Label: memory leak when using TTF labels
[FIX] Label: memory leak in FontFreeType::create
[FIX] Label: Non-TTF Label Shadow issue, make it follow Label opacity
[FIX] UI: RichText issue caused by Label when its string is very long
[FIX] UI: EditBox right padding error
[FIX] UI: win32 EditBox has wrong scale factor
[FIX] UI: TableView button click event not response when the button is a cell
[FIX] UI: correct bugs with cursor in TextField
[FIX] UI: Android EditBox use 'setSelection' error when the text beyond the border
[FIX] UI: iOS EditBox will penetrate the underlying UI event
[FIX] UI: use setTextColor for EditBox placeholder
[FIX] UI: returning UNKNOWN event for return type key SEARCH/SEND in EditBox
[FIX] UI: crash when call TextFieldTTF::setCursorFromPoint
[FIX] UI: ListView, avoid of type overflow while list size calculation
[FIX] Audio: miss return value of onWavClose function
[FIX] Audio: wrong header include in mp3reader.cpp, apple/AudioEngine-inl.h
[FIX] Audio: wrong status check in apple/AudioDecoder.mm
[FIX] Lua: should set listener to null when unregister spine event handler
[FIX] Lua: event condition bugs on ParticleTest.lua
[FIX] JSB: some memory leaks and crashes
[FIX] JSB: miss GetterSetter define for the placeHolder of TextField
[FIX] Web: out-of-date submodule commmit of cocos2d-html5 repo
[FIX] Web: bugs for Performance Test for Spine on WebGL
[FIX] iOS: fix bug about delayed creation UIWebView on iOS
[FIX] Andorid: infinite loop when counting text lines on Android in some situations
[FIX] Android: crash when network error message is too long
[FIX] Android: JniHelper no longer thread safe
[FIX] Android: proguard-rules.pro error for tests project
[FIX] Andorid: some violations about I/O operation on UI thread, which may lead to ANR
[FIX] Android: AppAcitivity is recreated which causes crash
[FIX] Android: Emulator blank screen 0x501 and 0x502 problems
[FIX] Android: Emulator stencil fix
[FIX] Android: Fix endian detection (node render order)
[FIX] Android: issue with not stable 60 fps
[FIX] Android: issue with accelerometer on Android on reverse landscape/portrait
[FIX] WinRT: fix keyBoard bug when input chinese
[FIX] cocos console: fix archive issue with Xcode 9
cocos2d-x-3.16 Oct.9 2017
[NEW] Add RadialGradientLayer
[NEW] Web: Add GLProgramState and upgrade web shader usage APIs
[REFINE] 3rd: use prebuilt bullet
[REFINE] CameraBackgroundBrush: use VAO/VBO to improve performance
[REFINE] Color4F: add arithmentic operators
[REFINE] LayerMultiplex: add `LayerMultiplex::switch(int, bool)` to not clean up previous layer after switching to a new layer
[REFINE] ListView: add padding options
[REFINE] FileUtils: add more async functions
[REFINE] ImageView: add `ImageView::setBlendFunc()` to change blend function
[REFINE] PageView: allow customizing opacity of indicator nodes
[REFINE] ParticleSystem: add `ParticleSystem::setSourcePositionCompatible(bool)` to set source position instead of position
[REFINE] RichText: image tag supports sprite frame
[REFINE] RichText: support horizontal alignment
[REFINE] ScrollView: add `ScrollView::setSwallowTouches(bool)`
[REFINE] ScrollView: dispatch more useful events and add more getters
[REFINE] Spine: support ETC1
[REFINE] WebView: can set opacity
[REFINE] Android: update to support Android Studio 2.3.3
[REFINE] Android: add `Cocos2dxActivity.setEnableVirtualButton(boolean)` to control whether the hide virtual button or not
[REFINE] iOS: more stable delta time between frames
[REFINE] Engine: fix many warning issues
[REFINE] Engine: exclude fps image in release mode
[REFINE] Engine: add function for calculating md5 hash from Data
[REFINE] Windows 10 metro mode, Windows Phone and Tizen are not supported
[REFINE] Web: Text wrapping supports more languages
[REFINE] Web: upgrade Spine to v3.5.35 and support Spine skeleton batching
[REFINE] Web: improve Editbox user experience
[REFINE] Web: improve screen adaptation for games inside iframe
[REFINE] Web: use imagePool to reduce image cache memory usage in WebGL mode
[REFINE] Web: ParticleSystem: Mark changeColor only if needed
[REFINE] Web: use default scheduler to control action manager
[REFINE] Web: remove accelerometer event listener by default
[REFINE] Web: use arraybuffer responseType in BinaryLoader
[FIX] Application: openURL() can not open URLs that have `&` character on linux
[FIX] Audio: may crash if play, stop frequently on Mac/Android
[FIX] Audio: may crash if switch to background with effect playing and switch to foreground again on Android
[FIX] Audio: may freeze app on iOS/Mac
[FIX] Audio: may crash if have multiple audio tracks running at the same time and frequently call `_play2d(AudioCache *cache, int audioID)` on iOS/Mac
[FIX] Audio: can not mute audio while a ring or a call is comming on Android
[FIX] Audio: audio loops get evently cut
[FIX] Button: scale9 effect may wrong
[FIX] Director: will dispatch `EVENT_BEFORE_DRAW` before drawing a frame
[FIX] Downloader: task may be suspend and not been executed on Android
[FIX] Downloader: may crash if downloading large file on iOS/Mac
[FIX] EditBox: may not show cursor and input text on Android
[FIX] EditBox: may not show any character when type on keyboard on Android
[FIX] EditBox: fix spacing and alignment on Windows
[FIX] EditBox: text is larger and mis-aligned on Android
[FIX] EventDispatcher: `pauseEventListenersForTarget()` can not work correctly if invoked in event callback
[FIX] FileUtils: `listFiles` and `listFilesRecursively` can not work correctly if the path include unicode charater on Windows
[FIX] FileUtils: getFileSize() always return -1 on Android
[FIX] FontAtlas: may cause crash when back from background on Android
[FIX] FontAtlas: memory leak in `FontAtlas::prepareLetterDefinitions()`
[FIX] HttpClient: may cause crash if used in non network environment on Android
[FIX] ImageView: scale9 effect may wrong
[FIX] Label: line height is reset when call `FontAtlasCache::purgeCachedData()`
[FIX] Label: memory leak in `Label::setFontAtlas()`
[FIX] Label: wrong effect of shrink overflow clamp on iOS
[FIX] Physics: crash if calling `PhysicsWorld::setDebugDrawMask(false)` right after `Scene::initWithPhysics()`
[FIX] Scheduler: can not work correctly if reschedule with same key in callback
[FIX] Sprite: `Sprite::setTexture()` will reset program state
[FIX] Studio: revert Studio reader and flatbuffer
[FIX] TextField: crash when text exceeds content with enabled cursor
[FIX] Transition: TransitionCrossFade is darker than it should
[FIX] Widget: wrong layout in scaled widget
[FIX] Android: app will crash at the first time launching by clicking app icon
[FIX] Android: compiling error built with Android Studio for x86
[FIX] Android: can not creat EGL context if the device doesn't support 24bit depth buffer
[FIX] Android: may stop response to touch event
[FIX] Android: can not use previous OBB file when APK version changed
[FIX] iOS: can not use cocos console compile and run in release mode on iOS with Xcode 8.3+
[FIX] iOS: FileUtils will cause compiling error on iOS 11
[FIX] Desktop: `GLViewImpl::getMonitorSize()` may return zero
[FIX] Apple: may crash if there are more than 10 touches
[FIX] JSB: add chipmunk binding for `cpSpace::segmentQuery()`
[FIX] JSB: XMLHTTPRequest memory leak if CC_ENABLE_GC_FOR_NATIVE_OBJECTS is enabled
[FIX] JSB: WebView doesn't support https
[FIX] Lua: export `cocos2d::utils::findChild()`
[FIX] Lua: LuaObjcBridge return wrong type when return type is bool
[FIX] Lua: will crash if lua file is encrypted and it has BOM header
[FIX] Lua: iskindof() return wrong result
[FIX] Lua: crash if run on iOS simulator with Xcode 8.0+
[FIX] Web: memory leak in action manager
[FIX] Web: local resources loading failed
[FIX] Web: infinite call stack in ArmatureWebGLRenderCmd
[FIX] Web: label stroke effect
[FIX] Web: ProgressTimer vertex is not updated when changing transform
[FIX] Web: DrawNode canvas displayedOpacity rendering
cocos2d-x-3.15.1 May.27 2017
[REFINE] Add optimization codes for huawei devices
cocos2d-x-3.15 Apr.21 2017
[NEW] Full support of Android Studio, can use Android Studio to edit, compile and debug C++ codes
[NEW] Audio Engine: use `tremolo` to decode audio files to be more adaptable to Android devices and improve performance on Android
[NEW] WebSockets and SocketIO supports SSL
[NEW] WebSockets: add methods to get url and server selected protocol
[NEW] Add `utils::getFileMD5Hash()`
[REFINE] EventDispatcher: use `std::stable_sort()` to sort nodes and listeners
[REFINE] FileUtils: add async version of common methods
[REFINE] Label: full unicode support
[REFINE] Renderer: enable VAO by default on Android
[REFINE] Renderer: use std::stable_sort() to sort commands
[REFINE] Scheduler: `unscheduleAll()` will unschedule selectors that scheduled with `performFunctionInCocosThread()`
[REFINE] SpriteFrameCache: avoid load frames if they are already loaded
[REFENE] Texfield: not use auto correction on iOS now
[REFINE] TextureCache: allow to unbind asynchronous texture loading callback with a custom key
[REFINE] WebSockets: each connection will create a virtual host
[REFINE] WebView: can clean cached data
[REFINE] WebSockets: allow self-assign certification
[REFINE] 3rd: update OpenSSL to v1.1.0
[REFINE] 3rd: update flatbuffer to v1.5
[REFINE] 3rd: Update Spine runtime to v3.5.35
[REFINE] Remove support for Windows 8.1 store and phone
[REFINE] Remove 32-bit linux support
[FIX] Action: spawn action may be invoked more times than specified
[FIX] Audio engine: can not play audios in the callback set in `AudioEngine::setFinishedCallback()` on iOS, Mac and win32
[FIX] Audio engine: crash if uncache audios in finish callback on Android
[FIX] Audio engine: crash if playing very small mp3 audios on Android
[FIX] Audio engine: may crash if repeat doing `play -> stop` on iOS and Mac
[FIX] Audio engine: play2d may still wait 2 seconds if preload is too fast
[FIX] Audio engine: preload many audios may cause crash on devices that use Samsung Exynos CPU
[FIX] Application: `openURL()` return wrong valueo on Linux
[FIX] Core: out scene's `onEnterTransitionDidFinish` is not triggered if using transition scene with `Director::runWithScene()`
[FIX] CheckBox: can receive touch up event that is released far from it
[FIX] Downloader: is not thread safe and may cause rondom crash on Android
[FIX] DrawNode: can't change opacity
[FIX] GLProgram: memory leak
[FIX] HttpClient: may crash on Android 4.2
[FIX] Label: ttf font line wrap
[FIX] Label: wrong effect if ttf font line gap is not 0
[FIX] Label: memory leak with ttf font
[FIX] Label: call `disableEffect()` many times will compress the label to one character
[FIX] Mesh: enable depth write by default
[FIX] Node: calling `reorderChild()` does not update touch lister with scene graph priority
[FIX] PageView: `getCurrentPageIndex()` returns -1 when created and haven't scrolled
[FIX] Physics2d: can not apply velocity to kinematic bodies
[FIX] Scheduler: an unscheduled selector may be invoked many times
[FIX] Scheduler: selector is not moved in time
[FIX] Simple Audio Engine: `unloadEffect()` doesn't work on Android 5.0.1 devices
[FIX] Simple Audio Engine: `ConcurrentModificationException`
[FIX] SokcetIO: use wrong default port for connection
[FIX] Sprite: texture and shader lost after restore from background on Android if using ETC1
[FIX] WebSockets: memory leak
[FIX] WebSockets: doesn't parse url correctly
[FIX] WebSockets: may crash in random
[FIX] Vec4: error logic of operator '<'
[FIX] Android: accelerometer uses wrong time accuracy
[FIX] iOS: may crashed if multiple OpenGL ES contexts coexist
[FIX] Windows: bad performance
[FIX] Windows: link error when compiling in release mode
[FIX] Lua: content after '\0' of a string is cut off when passing a string to C++ or vice versa
[FIX] Lua: lua_cocos2dx_Widget_addTouchEventListener crashed
[FIX] Lua: can not get binary data from file
[FIX] JSB: XMLHttpRequest supports notifying progression
[FIX] JSB: invoke `jsb.reflection.callStaticMethod` many times will cause `JNI max table=512` exception on Android
[FIX] Others: `download_deps.py` depends on git command
cocos2d-x-3.14.1 Jan.19 2017
[FIX] May crash if using `Scene::createWithPhysics()` to create a scene and physics3d camera is not set
[FIX] May have link error because of glfw conflict on Linux
[FIX] Sprite: created from sprite frame with polygon information can not work correctly
[FIX] Lua: link error with VS2015
[FIX] Lua: compiling error if using `cocos compile/run -p android --android-studio` on Android
coocs2d-x-3.14 Dec 22 2016
[NEW] Add Spine binary file format support
[NEW] Action: add a method to get the number of actions running in a given node with specific tag
[NEW] Action: new actions: ResizeBy and ResizeTo
[NEW] Button: can set title label
[NEW] Can disable multi touch on Android
[NEW] EventDispatcher: Add hasEventListener to check listener existance
[NEW] EditBox: add horizontal text alignment
[NEW] EventDispatcher: added `hasEvent()` to check if an event is added
[NEW] Sprite: support slice9 feature
[NEW] Slider: add methods to get _slidBallNormalRenderer
[NEW] Desktop: add a method to toggle between fullscreen and windowed
[NEW] Desktop: add events for window resize, focus and unfocus
[NEW] Mac: supports game controller
[NEW] JSB: add cc.sys.now() and perfromance.now(), the last one is more accurate
[NEW] Lua: add cc.vec3 functions: add, sub and dot
[NEW] Lua: use luajit 2.1.0-beta2
[NEW] Web: Add cc.CONCURRENCY_HTTP_REQUEST_COUNT to control max concurrent task count for XMLHttpRequest
[REFINE] Add NDEBUG for cpp template Xcode project
[REFINE] DrawNode: support float line width
[REFINE] EditBoxDelegate: add reason for edit end
[REFINE] Improve XML parse performance
[REFINE] Make batch capacity resizing more efficiently
[REFINE] PageView: support custom scrollToPage time
[REFINE] Lua: cc.Ray:intersects addtionally returns the distance
[REFINE] Mac: system font enhancement
[REFINE] Linux: build shared lib with -fPIC
[REFINE] Android: use SharedPreferences.apply() to store data
[REFINE] JSB: Increase default JS heap to 32 mb
[REFINE] JSB: Support more system languages
[REFINE] JSB: Direct log/error for better understantding problems
[REFINE] JSB: Separate FinalizeHook for ref objects and non ref objects
[REFINE] Web: Improve overall node construction performance
[REFINE] Web: Improve overall loading process performance
[REFINE] Web: Reduce overall memory usage
[REFINE] Web: Made cc.LabelBMFont and cc.LabelAtlas support texture packing and auto batching
[REFINE] Web: Reimplement a much faster ccui.Scale9Sprite
[REFINE] Web: Reimplement a much faster cc.DrawNode WebGL renderer
[REFINE] Web: Use stack to avoid recursive call in transform, onEnter, onExit etc, reduce call stack depth
[FIX] AsstsManagerEx: project.manifest may be downloaded twice
[FIX] AudioEngine: can not play large ogg file
[FIX] AudioEngine: may have noise if playing mp3 files on iOS/Mac OS X
[FIX] AudioEngine: can not play effect/music entirely on iOS and Mac
[FIX] ClippingNode: effect is wrong if threshold is set to a value not equal to 1 first then set to 1
[FIX] Compiling error if `USE_STD_UNORDERED_MAP == 0`
[FIX] ControlSwitch::create() may cause crash
[FIX] Downloader: may crash if it is released before finishing downloading task
[FIX] EditBox: fix single line and multiline text alighment, now single line will be center and multiline will be top align vertically by default
[FIX] EditBox: placeholder font not being set corretly for multiline text field on iOS
[FIX] EditBox: doesn't show text on Mac OS 10.12
[FIX] EditBox: multiline overflow bounds of box
[FIX] FastTilemap: wrong effect when content scale factor is not 1
[FIX] FontFreeType: crash in destructor
[FIX] ImageView: wrong effect of using loadtexture() to load a ETC1 texture with alpha support
[FIX] Label: wrong blending effect of outline
[FIX] Label: some labels may not been shown
[FIX] Label: may crash when label string is empty an the overflow is shrink
[FIX] Label: possible memory leak when font size is 0
[FIX] MenuItemSprite: MenuItemSprite::unselected() on a disabled item show wrong image
[FIX] Node: the effect of setRotation+setSkewX is wrong
[FIX] Physics3d: effect of debug draw is wrong
[FIX] Renderer: indices count may overflow when drawing batching triangle commands which causes unexpected effect
[FIX] RenderTexture: Sprite3D is not shown
[FIX] TileMap: hexagonal map fails on TMXTiledMap::getTileAt()
[FIX] TMXMapInfo: tileGid may overflow when using horizontal flip
[FIX] TriangleCommand: triangle commands can't do batching when the glprogram using custom shader with custom uniforms
[FIX] UI: label atlas and BMFont rendering issue with ETC1 texture format
[FIX] 3D: small .mtl files are not loaded
[FIX] 3D: Sprite3D::getMesh() may cause crash if it doesn't have any mesh
[FIX] 3D: wrong Skybox fov
[FIX] 3D: Sprite3D can't release its texture
[FIX] AssetsManagerEx: Fail to decompress when sub directory is not created
[FIX] ScrollView: crash of scroll to top or left
[FIX] SoketIO: memory leak
[FIX] iOS: Vibrate effect can not work in not silent mode
[FIX] iOS: view size got with landscape orientation if run on iOS 7 and ealier
[FIX] iOS: iOS 9 OpengGL error
[FIX] iOS: if a scene includes 3d model with light and ListView may cause crash
[FIX] Android: cause compiling error with android-19 or lower
[FIX] Android: RapidJason crashes in release mode
[FIX] Android: may not pause background music after game enters background
[FIX] Android: adapt to Android pixel
[FIX] Android: MessageBox inverted parames
[FIX] Android: cause deadlock if preload the same file more than 3 times in preload callback
[FIX] Android: WebView: base url can not work
[FIX] Android: may crash if `AudioEngineManager.getProperty(PROPERTY_OUTPUT_FRAMES_PER_BUFFER)` returns null
[FIX] Mac: Downloader can not access https website
[FIX] Win32: fix crash caused by `Helper::getSubStringOfUTF8String()` in debug mode
[FIX] Linux: FMOD issue
[FIX] Linux: Application::openURL can not work
[FIX] Desktop: crash upon exit when NotificationNode exists
[FIX] Spine: color bug
[FIX] Console: doesn't support `--ap` parameter
[FIX] Lua: result of radian2angle is wrong
[FIX] Lua: iskindof_ doesn't work correctly
[FIX] Lua: new lua project crashes compiling with VS2015 release mode
[FIX] Lua: ComponentLua doesn't support binary code
[FIX] JSB: `jsb.addRoot is not a function` error caused by cc.GLProgramState.setUniformCallback
[FIX] JSB: Fix spine TrackEntry conversion crash issue
[FIX] JSB: Fix CallbackWrapper and FunctionWrapper crash during deallocation in new memory model
[FIX] JSB: Fix event object memory issue by manually bind EventDispatcher::addCustomEventListener
[FIX] JSB: Fix chipmunk crash issues when using setDefaultCollisionHandler
[FIX] JSB: Fix compilation issues when COCOS_DEBUG = 2
[FIX] JSB: Unify function name of Texture2D::releaseTexture
[FIX] Web: Fix spine blend function inconsistency between web and jsb
[FIX] Web: Fix particle system load from plist generated by x-studio365
[FIX] Web: Fix doEnumerateRecursive(node, name, callback) always return undefined issue
[FIX] Web: Change bright style on 'setEnabled' call of ccui.Widget
[FIX] Web: Fix Editbox can't input in full screen mode
[FIX] Web: Fix texture issue on some Android devices by always set vertexAttribPointer
[FIX] Web: Make xhr ontimeout callback work on all browsers
[FIX] Web: Fix clear color not normalized issue
[FIX] Web: Fix clipping node rendering issue when alphaThreshold = 1
[FIX] Web: Fix nested scroll view rendering issue
[FIX] Web: Make orderDirty flag properly set for node
[FIX] Web: Fix ccui.Slider gray state not available issue
cocos2d-x-3.13.1 Sep 13 2016
[FIX] Label color broken
[FIX] application will crash in debug mode if don't specify a design resolution
[FIX] application may crash if coming from background by clicking application icon on Android
[FIX] AudioEngine can not play audio if the audio lies outside APK on Android
[FIX] AudioEngine::stop() will trigger `finish` callback on Android
[FIX] application will crash if using SimpleAudioEngine or new AudioEngine to play audio on Android 2.3.x
[FIX] object.setString() has not effect if passing a number on JSB
cocos2d-x-3.13 Aug 22 2016
[HIGHLIGHT] add VR plugin
[HIGHLIGHT] support ETC1 alpha channel
[HIGHLIGHT] fix AudioEngine performance for Android 4.2+
[HIGHLIGHT] improve canvas renderer performance with dirty region
[HIGHLIGHT] add Andorid arm-64 support
[HIGHLIGHT] use luajit for Android arm-64
[HIGHLIGHT] switch to use gcc 4.9
[HIGHLIGHT] upgrade CURL to 7.50.0
[HIGHLIGHT] upgrade Spine to 3.4
[HIGHLIGHT] upgrade glfw to 3.2
[NEW] add `Configuration::supportsMapBuffer()`
[NEW] support hexagonal tile maps
[NEW] add `ListView::setScrollDuration()`
[NEW] implement `SimpleAudioEngine::willPlayBackgroundMusic()` on Android
[NEW] implement `AudioEngine::preload()` on Android
[NEW] add `cc.Node['.classname']` to get class name for tolua C++ class in lua
[NEW] support direct load in web engine to show scene without loading all resources, resources will be loaded asynchronously
[NEW] add `cc.view.setOrientation` API to force orientation in web browser
[REFINE] move back to use gcc 4.9 on Android to fix some crash bugs
[REFINE] optimize Node sorting speed for 64-bit
[REFINE] using `chrono::steady_clock()` instread of gettimeofday for FPS calculation
[REFINE] use `fstat` instead of `fseek` and `ftell` for performance to read file content
[REFINE] use std::string reference instead of char* for `utils::findChild()`
[REFINE] make `MotionStreak` _maxPoints framerate independent
[REFINE] support utf-8 bom lua script
[REFINE] can show utf-8 characters in MessageBox and lua log on win32
[REFINE] improve stability of new WebGL renderer provided in v3.12
[REFINE] update js auto binding settings with new ndk version
[REFINE] improve evalString implementation which was rely on deprecated API
[REFINE] improve js bindings code quality by merging part of cocos2d-x-lite repo
[REFINE] sources path in sourcemap of web engine are now relative
[FIX] `GLProgram::link()` only check result in debug mode or WinRT
[FIX] PageView::clone() misses cloing some member variables
[FIX] potential crash of `AudioEngine::uncache()`
[FIX] websocket receives package size > 1023 error
[FIX] the color of underline is different from the text color
[FIX] memory leak in `MenuItemToggle::create()`
[FIX] crash after removing a physics body right after adding it
[FIX] SpriteBatchNode crash if CC_SPRITE_DEBUG_DRAW is enabled
[FIX] memory leak in `Data::move()`
[FIX] crash in `EaseExpoentialOut::clone()`
[FIX] buffer over-read in `GLProgram::updateUniformLocation()`
[FIX] `dirty` variable incorrectly reset with a multiple camera setup causing drawing issues on Sprite
[FIX] fix label text formatter right alignment
[FIX] `bsd_signal` link error on Android
[FIX] crash while decoding small MP3 file on Android
[FIX] `AppDelegate::applicationWillEnterForeground()` is invoked at launch on Android
[FIX] fix `relocation overflow in R_ARM_THM_CALL` on Android
[FIX] navigation bar doesn't hide if show and dismiss keyboard on Android
[FIX] `utils::getTimeInMilliseconds()` may return wrong value on Android
[FiX] link error that `bsd_sinal` is not defined if building with API level 21+ and uses libwebsockets on Android
[FIX] compiling error with Android 6.0(API 23)
[FIX] music is not resumed when app is reactived on iOS
[FIX] random crash in `alGenBuffers` at startup on iOS
[FIX] can not play audio if uncache and play audio many times on iOS
[FIX] `Text::create()` crash if it contains invalid string on iOS
[FIX] `FileUtils::removeDirectory()` can not work on all platforms except iOS and Mac
[FIX] can not compile cocos2d-x on Mac OS X 10.10 and lower
[FIX] new js project link error on linux
[FIX] AudioEngine can not play large ogg file on Windows
[FIX] design resolution broken after minimize on desk platforms
[FIX] can not get the `backClicked` in lua
[FIX] `cc.convertColor` issue in lua
[FIX] browser version detection
[FIX] compiling error with `cocos gen-libs`
[FIX] spine track entry can circle reference each other
[FIX] global object can leak during restart in JSB
[FIX] progress timer nested sprite can't change color in Canvas
[FIX] layout refresh issue in web engine
[FIX] dom element position synchronization issue in web engine
[FIX] armature position shake when parent node move in web engine
[FIX] rendering issue for Armature using sprite as display in bone in web engine
[FIX] Scale9Sprite GRAY state isn't correct in WebGL
[FIX] touch startPoint can be overwrote in web engine
[FIX] syncStatus transform dirty flag isn't resetting in web engine
cocos2d-x-3.12 Jul 06 2016
[HIGHLIGHT] add VR support
[HIGHLIGHT] add Tizen support
[HIGHLIGHT] fix Android performance issue
[HIGHLIGHT] Web engine performance improved in WebGL mode
[HIGHLIGHT] support obb extension on Android
[NEW] Core: add `utils::findChild()`
[NEW] Core: add CSV format support to tile maps
[NEW] Core: add `FileUtils::getContents()`
[NEW] Core: cocos2d::Value supports unsigned
[NEW] Particle: add feature to pause/resume particle emitter
[NEW] Platform: support Windows 10 UWP x64
[NEW] UI: add clamp and shrunk feature for system fonts, currently only support iOS, Android and Mac
[NEW] UI: make ListView select item programmatically
[NEW] UI: add `EditBox::InputFlag::LOWERCASE_ALL_CHARACTERS` to lowercase characters
[NEW] UI: add `setBounce()` to WebView
[NEW] Web: refactor TMXLayer renderers
[NEW] Web: can force orientation in mobile browser
[NEW] Web: support high resolution TTF Label on retina display
[REFINE] Android: use clang instead of gcc to compile codes
[REFINE] Android: hide virtual button by default
[REFINE] Android: set music volume control as default
[REFINE] Android: usage clang insteand of gcc to compile codes
[REFINE] Audio: catch `IllegalStateException` exception to avoid crash when playing background music with SimpleAudioEngine on Android
[REFINE] Core: fix many warnings
[REFINE] Core: move StringUtils functions from deprecated header file to ccUTF8.h
[REFINE] Core: FontFNT will ignore chars that exceeds 65535 and print a warning information
[REFINE] Core: `Node::ignoreAnchorPointForPosition()` is deprecated and add `Node::setIgnoreAnchorPointForPosition()`
[REFINE] Core: allow inherit from platform FileUitils
[REFINE] Core: add optional alpha parameter to Color4B and Color4F
[REFINE] Core: Follow action can accept horizontal and vertical offset
[REFINE] Core: TMXXMLParse parse `id` element
[REFINE] Lua: rename all member functions named `end()` to `endLua()`
[REFINE] JSB: make selectedSprite opitional in MenuItemSprite
[REFINE] JSB: return null if read failed in `js_cocos2dx_CCFileUtils_getDataFromFile()`
[REFINE] Template: iOS tempalte is refined to make cocos2d-x game scene work better with other UIView
[REFINE] Template: remove `build_native.sh`
[REFINE] Template: ARC support on iOS and Mac OS
[REFINE] UI: TTF and BMFont label wrap mode will automanytically changed to char wrap mode when label's width is less than word's boundary
[REFINE] UI: UIWidget adds missing properties for clone
[REFINE] UI: UIScrollBar caches the texture created with base64 encoded images
[REFINE] UI: EditBox now prints lowercase letters by default
[REFINE] UI: enable WebView's local storage on Android
[REFINE] UI: improve EditBox implementation on WinRT
[REFINE] UI: make PageView indicator more tunable
[REFINE] UI: make PageView page turning event time tweak configurable
[REFINE] UI: RichText is improved: add effect of outline, shadow and glow; catch the event of open url; ability to extend tags; add anchor of image tag
[REFINE] 3D: skeleton animation is more efficient when two animations switch frequently
[REFINE] 3rd party: update webp to 0.5.0
[REFINE] Web: improve basic types to reduce memory usage
[REFINE] Web: Show line number in console statements
[REFINE] Web: Cache base64 image of PageViewIndicator and ScrollViewBar
[REFINE] Web: Pass error in cc.AsyncPool in onEnd callback
[REFINE] Web: Separate ccui.ListView event callback from ccui.ScrollView for its own events
[FIX] Android: fix compiling error if using NDK r11+
[FIX] Android: package name is `libaxmol` instead of application name if building with Android Studio
[FIX] Audio: AudioEngine can not work if the file path contains not ascii code on iOS
[FIX] Audio: SimpleAudioEngine::playEffect() doesn't work correctly on Linux
[FIX] AssetsManager: can not work
[FIX] AssetsManagerEx: use manifestUrl from remote version
[FIX] Core: `FileUtils::writeValueMap()` will crash on iOS if it contains `Value::Type::None` type element
[FIX] Core: `ClippgNode::setStencil()` may cause assert error if it is invoked before
[FIX] Core: `TextureCache::addImageAsync()` doesn't set pixel format corretly
[FIX] Core: `GL::SetBlending()` doesn't set dst correctly
[FIX] Core: vertex z can not work correctly if window size changed on desktop platforms
[FIX] Core: use `std::isnan()` instead of `isnan()` to fix compiling errors on some Linux platforms
[FIX] Core: crash on windows when using PolygonInfo
[FIX] Core: fix `libpng error: CgBI: unhandled critical chunk` error with Xcode 7.3
[FIX] Core: EXC_BAD_ACCESS random crash caused by reallocation of shared indices memory
[FIX] Core: memory leak of `utils::captureScreen()` on iOS and Mac OS
[FIX] Core: assert error if remove an event listener twice at the same time
[FIX] Core: FileUtils::getValueMapFromFile() returns wrong value if it is a number with scientific notation on Android
[FIX] Core: UIGrayScale shader is not reloaded when reloading shaders
[FIX] Core: `SpriteFrame::clone()` doesn't clone polygonInfo
[FIX] Core: `FileUtils::createDirectory()` fails on Mac OS with sandbox
[FIX] Core: `cocos2d::Value` operator overloading of comparison `==` returns wrong value in case Type::VECTOR
[FIX] Core: wrong content size if minisize
[FIX] Core: can not have a class named `Game` on Windows
[FIX] Core: crash if load bad image on Windows
[FIX] Core: custom shader uniforms and attributes do not have effect in DrawNode
[FIX] Core: blend mode doesn't work with animated sprite
[FIX] Core: `FileUtils::removeDirectory()` can not work correctly when the path is not end of `/` on iOS and Mac
[FIX] JSB: fix some bugs related with JSB debegger
[FIX] JSB: scheduler callback target lost
[FIX] JSB: missing scroll widgets constants
[FIX] JSB: if obj is undefined or null then attempt to access obj.__nativeObj leads to incorrect behavior
[FIX] JSB: use `require()` to require the same script twice may crash
[FIX] Lua: lua function is not invoked when error happens in websocket
[FIX] Network: HttpClient Content-type limitation on iOS
[FIX] Network: downloader crash when storage path contains spaces
[FIX] Network: SocketIO crash on reconnect
[FIX] Physics: PhysicsBody damping doesn't wrok
[FIX] UI: EditBox may cause `java.lang.IndexOutOfBoundsException` exception on Android
[FIX] UI: TextFieldTTF doesn't show password correctly
[FIX] UI: RichText crash on Windows
[FIX] UI: EditBox can not use custom font on Android
[FIX] UI: can not use TTF font on Android
[FIX] RenderTexture: `setOpacity()` has not effect
[FIX] 3D: `Sprite3D::createNode()` may not work correctly with particular model data
[FIX] Web: `getParentToNodeTransform` doesn't return result
[FIX] Web: remote image without extension in url can't be loaded as image
[FIX] Web: nested clipping nodes rendering issue in WebGL render mode
[FIX] Web: IMEDispatcher can't work in mobile Chrome
cocos2d-x-3.11.1 May 27 2016
[HIGHLIGHT] Supports IPv6-only network
[FIX] Fix `cocos gen-libs` compiling issue
cocos2d-x-3.11 May 11 2016
[HIGHLIGHT] Physics: upgrade chipmunk to v7.0.1
[HIGHLIGHT] JS: new memory model, don't have to use retain/release in JS
[HIGHLIGHT] Curl: upgrade to v7.48
[HIGHLIGHT] OpenSSL: upgrade to 1.0.2g
[HIGHLIGHT] JS: can use Firefox 30+ and VSCode to debug cocos2d-x JSB programs
[NEW] JS: web console is enabled debugging JSB projects via firefox
[NEW] UI: add a setter for touch total time threshold in ScrollView
[NEW] UI: add ability to get font family
[NEW] UI: add xml support in RichText
[NEW] UI: add ability to stop auto scrolling in ScrollView
[NEW] UI: EditBox supports multiline on Mac
[NEW] UI: Scale9Sprite allows to set custom shaders
[NEW] UI: ImageView allows to set custom shaders
[NEW] UI: TextFiled supports cursor
[NEW] FileUtils: add missing getFileSize() for winrt
[NEW] Network: close websocket connection by dispatching a resetDirector event
[NEW] Tool: cmake supports on Android
[REFINE] Network: upgrated to latest libwebsockets, add more callbacks and bugs fixed
[REFINE] Network: replace char* with std::string in HttpRequest
[REFINE] Renderer: TriangleCommand and QuadCommand are merged
[REFINE] 2D: SpriteFrameCache takes pixelFormat into account if specified
[REFINE] UI: let ScrollView swallow touch events by default
[REFINE] JSB: make selectedSprite optional
[FIX] JS: firefox v30+ can not debug cocos2d-x JSB projects
[FIX] UI: can not get event when PageView was turning
[FIX] UI: bitmap font sizes are not loaded from binary .fnt files
[FIX] UI: some fonts were rendered incorreclty
[FIX] Action: TargetedAction::isDone() always return false
[FIX] Action: Repeat: will run actions more than speicific times, instant action will run one frame later
[FIX] 2D: drawing in incorrect app state on iOS
[FIX] Platform: FileUtils::getValueVectorFromFile() returns wrong value on iOS and Mac
[FIX] Network: downloader crashed when storage path contains spaces on iOS
[FIX] Network: downloader may crash on Android
[FIX] HTTPAsyncConnection: crash when custom SSL certification is set on iOS
[FIX] AssetsManagerEX: will stuck at UPDATING forever if last task fails
[FIX] AssetsManagerEX: may repeatly update some assets and cause file write conflict
[FIX] Lua: fix display.wrapScene()
cocos2d-x-3.10 Jan 11 2016
[HIGHLIGHT] UI: Rewrite Scale9Sprite and improve the scale9sprite performance and reduce memory consumption.
[HIGHLIGHT] UI: Change PageView to derive from ListView.
[NEW] Core: Added Application::getVersion() to get the app version.
[NEW] UI: Add PageView indicator.
[NEW] UI: Label add three Overflow type to new label, see release note for more information.
[NEW] UI: UIText::clone supports clone the text effect.
[NEW] Label: Add methods to query label effect state.
[NEW] UI: UIRichText support the new line element.
[REFINE] 3rd party: WebP loading improvements WebP loaded as premultiplied alpha if it has.
[REFINE] UI: Slider `setCapInsetProgressBarRebderer` change to `setCapInsetProgressBarRenderer`.
[REFINE] UI: RichText support new line element.
[REFINE] UI: Set focus to Widget when touched.
[REFINE] 3D: Change char* to string in Terrain.
[REFINE] Studio: Merge Studio ActionTimeLine change back into engine.
[REFINE] Studio: Merge Studio changes for compatible withe 32bit Mac System.
[REFINE] Studio: Merge Studio changes for lua-binding, js-binding and simulator.
[REFINE] Mac: Make engine compatible for 32bit Mac.
[REFINE] 3rd party: WebP loading improvements WebP loaded as premultiplied alpha if it has.
[REFINE] Audio: AudioEngine on Linux replace the original SimpleAudioEngine with a new version of FMOD, now AudioEngine support all platforms!
[REFINE] IOS: Add virtual keyword for some render related function.
[REFINE] UI: Fixes boring deprecated warning in HttpRequest.
[REFINE] Network: Fix Downloader bug on iOS & Android platform.
[REFINE] Studio: Fix deprecation warning in SkeletonRenderer.
[REFINE] JS: Add js test case for fix, improve template.
[REFINE] Network: Permit http access to cocos2d-x.org in test projects on iOS.
[REFINE] Network: Crash when removing a remotely downloaded image from texture cache in js-binding.
[REFINE] Win10: WinRT project update version to v3.10.
[REFINE] Console: Add quiet option for Cocos Toolkit.
[REFINE] JS: New GC model for js-binding.
[REFINE] Doc: Fix typos in documentation and comments.
[REFINE] UI: update controlButton size calculate with new Scale9Sprite logic.
[REFINE] Win10: Added missing _USRJSSTATIC preprocessor define for ARM builds.
[REFINE] JS: Added ccvector_to / ccmap_to converted to new js-binding API.
[REFINE] UI: Slider misprint fix.
[FIX] Network: fix possible websocket crash in its destructor.
[FIX] Core: Fix premultiplyAlpha for mipmaps and compressed textures.
[FIX] UI: Fix Scale9sprite rendering error when content size smaller than the sum of leftInset and rightInset.
[FIX] Win32: Fix EditBox crash when removing an EditBox in a scheduler.
[FIX] Android: Fix cannot add view to mFrameLayout when extends Cocos2dxActivity.
[FIX] 2D: Fixed actionNode set at wrong position bug.
[FIX] 3D: Fix the movement of PUParticle lags one frame.
[FIX] UI: Fix the wront argument of setPlaceholderFontName in EditBox.
[FIX] UI: Fix EditBox editBoxEditingDidEnd may use the original text after change the text of EditBox in user script.
[FIX] Audio: Fix `FinishCallback` never be called in Windows.
[FIX] UI: Fix Layout stencil clipping nested with Clipping Node rendering issue.
[FIX] UI: Keyboard doesn't hide when click the screen outside of EditBox on iOS platform.
[FIX] UI: Fix a fatal bug in EditBox implement on Windows platform.
[FIX] UI: Fix edit box setPlaceholderFontName and scale font size issue.
[FIX] Core: Fix memory leak when initWithImage() failed.
[FIX] Network: CCDownloader on iOS is broken in v3.9 js-binding.
[FIX] JS: Bindings fixes for Menu, Sprite and Label.
[FIX] Studio: Remove weak reference in ActionNode.
[FIX] UI: shouldStartLoading method should return value to js in js-binding.
[FIX] UI: Fix scrollview render error.
[FIX] JS: Fix win32 js project crash issue.
[FIX] UI: Button touch doesn't work with scale9 enabled.
[FIX] JS: Fix evalString doesn't return result issue.
[FIX] JS: Fix ComponentJS proxy management issue in JSB.
[FIX] Android: Fix include in cocos network module.
[FIX] Network: Fix web socket crash.
[FIX] UI: Fix TextField missing default password style text setting.
[TEST] S9SpriteTest: Scale9Sprite fade actions with cascade opacity.
[TEST] Web: Remove default focus block from UIFocusTestVertical.
[TEST] Lua: Fix pageViewTest Horizontal scroll won't work in Lua-test.
cocos2d-x-3.9 November.09 2015
[NEW] Label: Added line spacing/leading feature to Label.
[NEW] ListView: Added APIs to scroll to specific item in list.
[NEW] ListView: Added APIs to get an item in specific position like center, leftmost, rightmost, topmost and bottommost.
[NEW] ListView: Added a feature for magnetic scrolling.
[NEW] Animate: Added ActionTimeline::setAnimationEndCallBack and ActionTimeline::addFrameEndCallFunc.
[NEW] Animate: Added CSLoader::createNodeWithVisibleSize, CSLoader::createNodeWithVisibleSize and moved "ui::Helper::DoLayout" into them.
[NEW] Studio: Added Light3D support for Cocos Studio.
[NEW] Platform: Added the missing CURL support to the Windows 10 UWP version.
[NEW] Platform: Added UIEditBox support on linux platform.
[REFINE] 3D: Added non-null checks in PUScriptCompiler::visit before dereferencing.
[REFINE] 3D: Refined SkyboxBrush by making the shader parameter take effect at once.
[REFINE] Label: Changed label font size type to float to support high precision when font size is small.
[REFINE] ListView: Fixed an issue that list view's Magnetic::CENTER is not working well when non-bounceable.
[REFINE] ListView: Added feature of jumping to a specific item in list view.
[REFINE] Sprite: Added "a unsupport image format!" log when creating a sprite in CCImage.cpp.
[REFINE] ScrollView: Merge logics of Scroll View for scroll by inertia and auto scroll into one.
[REFINE] Animate: Moved initialization of image to an appropriate location, because it always called twice in SpriteFrameCache::addSpriteFramesWithFile().
[REFINE] Simulator: Changed the size of startFlag to 13.
[REFINE] Simulator: Show Node and Skeleton in the middle of the simulator.
[REFINE] Simulator: Removed screen direction check in simulator to avoid render error.
[REFINE] Pysics: Refined components to improve physics performance.
[REFINE] UI: Refined ComponentContainer to improve performance.
[REFINE] UI: EventListenerMouse will dispatch EventMouse events.
[REFINE] OpenGL: Added check for glfwCreateWindow.
[REFINE] Platform: Fixed a crash on xiaomi2 if Cocos2d-x is built as a dynamic library.
[REFINE] Platform: Updated libcococs2d name to v3.9 on WinRT platforms.
[REFINE] Platform: Added some support for mouse on WinRT. Include: Show/Hide mouse cursor; Mouse event implemented similar Desktop version; Left button send mouse event and touch; Support other mouse button and scroll wheel.
[REFINE] Platform: Correct the convertion between unicode and utf8 on WinRT.
[REFINE] Platform: Improved EditBox implement on Win32 platform.
[REFINE] JS: Add jsb.fileUtils.writeDataToFile().
[REFINE] JS: Set js templates Mac target platform from null to 10.7.
[REFINE] JS: Removed the static define of variable in headfile of ScriptingCore.
[REFINE] Lua: Added AssetsManagerEx constants UPDATE_FAILED and ERROR_DECOMPRESS in Lua.
[REFINE] Lua / JS: Refined lua/js binding tool.
[REFINE] I/O: Refined AssetsManagerEx unzipping by using async.
[REFINE] Web: Improved logic of jsb_boot.js to sync with the web engine behavior.
[REFINE] Web: Sync with CCBoot for web.
[REFINE] Build: Fixed various compiler warnings on Xcode 7.
[REFINE] Build: Fixed Wformat-security warning on Xcode.
[REFINE] Build: Fixed a compile error in __LayerRGBA.
[REFINE] Tool: Added tools for generating documents automatically.
[REFINE] Doc: Clean up the code of setRect() function.
[REFINE] Doc: Fixed a minor typo and renamed INTIAL_CAPS_ALL_CHARACTERS to INITIAL_CAPS_ALL_CHARACTERS in UIEditBox.
[FIX] 3D: Fixed a bug that obb did not rotate with Sprite3d.
[FIX] 3D: Corrected spot light init value.
[FIX] 3D: Added the missing CCMotionStreak3D files.
[FIX] 3D: Fixed a bug in CCPhysics3DComponent.cpp that oldBool is set with a wrong value.
[FIX] 3D: Fixed shader light parameter bug that caused for that all the mesh share light parameter.
[FIX] Sprite: Fixed a bug that CC_SPRITE_DEBUG_DRAW did nothing in Cocos2d-x.
[FIX] Button: Fixed an issue that when image size of variable button status texture are different, Helper::restrictCapInsetRect result may stop the pressed & disabled status picture from loading.
[FIX] Font: Fixed a crash bug in destructor of FontFreeType.
[FIX] Label: Removed scale factor for label shadow.
[FIX] Label: Added missing override keyword.
[FIX] LoadingBar: Fixed a crash bug in LoadingBar.
[FIX] ScrollView: Removed ScrollView::_innerContainer pointer copy.
[FIX] Particle: Fixed a bug of nomalize_point which caused particle rendering error.
[FIX] Tilemap: Fixed a TMXLayer bug: When using float values (for example the actual position of the character) to get the current tile, the wrong tile is sometimes/usually returned.
[FIX] Animate: Fixed a crash bug when csb file is broken.
[FIX] Animate: Fixed a bug that a same frame index is inserted after animation speed is scaled.
[FIX] Animate: Fixed bug in v1.6 that bone animation crashed when performing getBoneAtPoint(0,0).
[FIX] Animate: Fixed crash when recall a cached timeline after scene exited.
[FIX] Animate: Fixed debug-config crash if a FrameBuffer has no RenderTargetDepthStencil.
[FIX] UI: Fixed an image bug caused by the _hasPremultipliedAlpha field.
[FIX] UI: Added missing getChildByTag<>() API.
[FIX] UI: Fixed a bug in Widget::isClippingParentContainsPoint: _hittedByCamera may be null.
[FIX] UI: Fixed a bug that cocos2d::Map may cause Dangling Pointers when inserting Ref Object which already exist in the Map.
[FIX] UI: Fixed a bug in Scheduler which may case Force Close.
[FIX] OpenGL: Fixed a bug of ui::WebView callback operate in OpenGL.
[FIX] Performance: Fixed a bug that NotificationNode was not entered and exited.
[FIX] Renderer: Fixed a bug that Material::clone failed to set the parent correctly.
[FIX] Simulator: Fixed a bug that when scene was set to a very large size(eg. 2048x1536), the simulator window was out of screen.
[FIX] Simulator: Fixed a compilation issue about simulator on Android x86.
[FIX] Skeleton: Removed redundant interface in CCSkeletonNode.
[FIX] Studio: Fixed a bug about Cocos Studio GUItest that MoveBy vertical direction under lua test project cannot scroll back to page 1 from page 2.
[FIX] Studio: Hide menu "cocostudio 2.1" for JSON exported from Cocos Studio 2.x is not supported in CocoStudio 1.6.
[FIX] Studio: Fixed bug that when create project from template, the app name of android-studio project is not changed.
[FIX] Platform: Fixed a bug that Android activity destroyed after reopening the app.
[FIX] Platform: Fixed a crash bug of AudioPlayer in Win32.
[FIX] Platform: Fixed an error about Chinese input in textfield with specific IME on Android.
[FIX] Platform: Fixed missing image asset in Win10 UWP manifest.
[FIX] Platform: Fixed Windows 10 UWP app manifest by correcting image asset paths.
[FIX] Platform: Fixed a bug that FileUtils::GetFileSize can't treat multi-char path.
[FIX] Platform: Fixed a bug of loading pluginx lib when compile Android with --compile-script flag.
[FIX] Platform: Fixed a crash bug caused by integer overflow in Device::getTextureDataForText on iOS.
[FIX] Platform: Fixed the broken v3 Win10 UWP build by removing CCComponentPhysics2d files from the libcocos2d project.
[FIX] Platform: Fixed travis-scripts/before-install.sh.
[FIX] Platform: Fixed a bug in FileUtilsWin32::removeDirectory when the file begins with ".".
[FIX] Platform: Corrected the keyboard codes for Desktop and WinRT.
[FIX] JS: Fixed a freeze bug of playing animation in JS projects.
[FIX] JS: Fixed build_native for JS default template.
[FIX] JS: Fixed wrong number of param in Place and RotateTo.
[FIX] Lua: Fixed a bug of luabinding enumerateChildren.
[FIX] Web: Fixed wrong callback setting for webview:setOnDidFailLoading in Lua.
[FIX] Web: Fixed life control for XMLHttpRequest.
[FIX] Web: Fixed WebView lua-bind method name.
[FIX] Build: Fixed msbuild by removing incorrect AppxBundle properties from project.
[FIX] Build: Fixed the Enable_Bitcode compile error on Xcode 7.
[FIX] Build: Fixed compile error for new project created by template.
[FIX] Changed some delete operations to be deletions of arrays where applicable.
[FIX] Changed some "free" operations to "delete" where memory was allocated with "new"."
[FIX] Revert "remove CCClippingRectangleNode transform error support.".
[TEST] 3D: Fixed a bug that lua Scene3DTest "back" button did not work.
[TEST] Button: Added a testcase of Button opacity settings.
[TEST] PageView: Fixed a bug that UIPageViewVerticalTest in cpp-test failed to scroll back to page 1.
[TEST] Particle: Fixed a bug that particle test under lua has different display effects in different platforms.
[TEST] Scale9Sprite: Added a test case of opacity/color cascade for Scale9Sprite.
[TEST] Scale9Sprite: Added testcase for s9sprite action.
[TEST] ScrollView: Added testcase for multiple items in ScrollView.
[TEST] SliderBar: Fixed bug of slider bar that it doesn't refresh percentage value under project cpp-test.
[TEST] SliderBar: Fixed a crash bug in "Scheduler->Scheduler ttimeScale Test" when drag slider to left then click the middle of slider bar.
[TEST] Animate: Added custom spine skeletonAnimation testcase.
[TEST] UI: Added DrawLabel Mode testcase.
[TEST] UI: Fixed a bug that Node:Text Input test in cpp-tests touch detection is wrong.
[TEST] UI: Improved UItestcase modification to make it user friendly.
[TEST] Physics: Fixed a bug that quickly click mouse in "41:Node:Physics -> 6:joints" in cpp-test may cause program crash.
[TEST] Studio: Fixed a crash bug of Cocos Studio 3d test under lua test project.
[TEST] Platform: Solved the crash of performance-tests on Windows.
[TEST] Debug: Fixed a bug that RefPtr test wasn't executed even in debug build.
[TEST] JS: Fixed crash bug when click "remove ui" in "native test-JSBExtendTest" under project js-test.
[TEST] JS: Updated testcase in js-test to show notificationNode to runAction.
cocos2d-x-3.8.1 September.17 2015
[HIGHLIGHT] platform: Supported Xcode 7 for iOS 9 deployment
cocos2d-x-3.8 final September.6 2015
cocos2d-x-3.8 rc0 August.26 2015
cocos2d-x-3.8 beta0 August.14 2015
[HIGHLIGHT] 3D: Added 3d physics collider
[HIGHLIGHT] 3D: Supported setting camera background brushes with color/depth/skybox
[HIGHLIGHT] 3D: Added key frame event Callback in Animate3D
[HIGHLIGHT] FileUtils: Added a set of file writing APIs: writeStringToFile, writeDataToFile, writeValueMapToFile, writeValueVectorToFile
[HIGHLIGHT] UI: Refined UI system
[HIGHLIGHT] UI: Added RadioButton widget (JSB/Lua ready)
[HIGHLIGHT] UI: Reimplemented and enhanced EditBox on Android: display cursor; support copy, cut, paste and select actions; support multi-line input; pretty adjustment when virtual keyboard shown
[HIGHLIGHT] JS: Bound new AudioEngine in JSB
[HIGHLIGHT] JS: Merged JSB test project into cocos2d test project
[HIGHLIGHT] network: Upgrade SocketIO support to v1.x
[HIGHLIGHT] tools: Optimize Bindings Generator
[HIGHLIGHT] Label: Added HANYI FullType font support
[NEW] 3D: Added light map support in Terrain
[NEW] UI: Added ScrollViewBar for displaying a scroll bar at the side of ScrollView (JSB/Lua ready)
[NEW] UI: Enhanced ScrollView with easing out scrolling
[NEW] UI: Added PageView vertical scroll support
[NEW] UI: Added PageView::JumpToPage API
[NEW] UI: Added a setter for line width in DrawNode
[NEW] Action: Permitted setting bitwise flags to action
[NEW] Animate: Added Animate's getCurrentFrameIndex function
[NEW] FileUtils: Added FileUtils::getFileExtension for getting file's extension name
[NEW] Device: Added vibrate support to enable vibration for a duration
[NEW] audio: AudioEngine supported audio preloading
[NEW] UserDefault: Supported removing key pairs from UserDefault
[NEW] spine: Supported Spine runtime 2.3 (Both native and web engine)
[NEW] JS: Added auto binding for BlendFuncFrame
[NEW] console: Supported new portrait projects from templates
[NEW] console: Moved the framework-compile tools into cocos2d-console
[NEW] framework: Support generate prebuilt libs of engine with debug mode
[NEW] Supported Xcode 7
[REFINE] 3D: Supported composite 2D/3D scene by moving UI and camera far away
[REFINE] 3D: Improved Particle3D performance
[REFINE] 3D: Made SkyBox not transparent
[REFINE] 3D: Enable depth write for SkyBox
[REFINE] 3D: Enable depth write for transparent object
[REFINE] 3D: Set depth test function of Skybox brush to always
[REFINE] renderer: Enabled blending all the time for 2D render queue
[REFINE] Director: Made types to handle time consistent by modifing setAnimationInterval argument from double to float
[REFINE] Sprite: Made Sprite::setTexture accept nullptr as parameter
[REFINE] TextureCache: Made addImageAsync function thread safe
[REFINE] Label: Improved code readability
[REFINE] Label: Supported adding child nodes in Label
[REFINE] Label: Refine the implementation about text layout and support debug draw
[REFINE] Label: Supported auto batch with bitmap font or char map
[REFINE] UI: Improved Slider's precision
[REFINE] UI: Made Label and Text share the same fontSize type
[REFINE] UI: Reduced memory usage in Text
[REFINE] UI: Refined scroll event dispatching for ScrollView
[REFINE] UI: Made EditBox::setFontSize not rely on font name property
[REFINE] UI: Made viewport constructor more compile friendly
[REFINE] UI: Improved event handling in TextField
[REFINE] studio: Avoid CSLoader from openning csb file multiple times with fopen
[REFINE] studio: Added BlendFrame support to Skeleton Animation
[REFINE] studio: Enabled blendfunc cascade to the skin of BoneNode
[REFINE] studio: Update reader with parse logic for valid attribute of SkyBox
[REFINE] FileUtils: Remove old path while adding existing search path
[REFINE] Device: Implemented Device::getDPI for Mac
[REFINE] network: Refine NSLog in HttpAsynConnection in release mode
[REFINE] network: Fixed a problem where WebSocket messages may pile up
[REFINE] utils: Made utils::captureScreen saving file in another thread to improve the performance
[REFINE] 3rd party: Update Nibiru SDK to 2.6
[REFINE] platform: Correct all usage of unicode version winapi in FileUtils for win32
[REFINE] JS: Supported new construction for 3d classes in JS
[REFINE] JS: Automatically add extend to need to extend classes in bindings generator
[REFINE] JS: Made UI classes safely extendable in JSB
[REFINE] JS: Improved NodeGrid binding
[REFINE] JS: Refine performance for Cocos Studio JSON parser for 2.x
[REFINE] JS: Made binding functions accept null in JS and convert to nullptr
[REFINE] web: Avoid re-bake the content when the parent node's position get changed
[REFINE] web: Solved repeat loading same resource issue when parsing cocos studio project
[REFINE] web: Added GameNodeObjectData and GameLayerObjectData in JSON parser
[REFINE] web: Updated skeleton animation to the latest version
[REFINE] web: Optimized resources automatic loading in JSON parser
[REFINE] web: Avoid cc.loader resource loading being terminated while encounter errors
[REFINE] web: Throw new Error object instead of error message string
[REFINE] web: Move setDepthTest to renderer
[REFINE] web: Added BlendFuncFrame parser
[REFINE] web: Permitted webp image loading on Chrome
[REFINE] web: Suspended the video player when the browser is minimized
[REFINE] framework: Optimized the lua & js templates
[REFINE] simulator: Made Node, Skeleton needs shown in the middle of the simulator window
[REFINE] Removed EMSCRIPTEN support
[REFINE] Added template project daily build in Jenkins-ci
[REFINE] Removed unused tool gen-prebuilt
[REFINE] Removed deprecated API in templates
[FIX] 3D: Fixed Effect3DOutline issue when the Sprite3D is mirrored
[FIX] 3D: Fixed issue that Sprite3D::getAABBRecursively does not get AABB of Nodes with Sprite3d children
[FIX] 3D: Fixed Menu unusable in 3D scene
[FIX] renderer: UI component can't click correctly by moving UI and camera far away of origin
[FIX] renderer: ListView in Camera with custom mask isn't visible
[FIX] renderer: Temporary fix for Sprite/Label/FastTMX auto-culling failure
[FIX] renderer: Fixed shader issue by reloading shader when light number changed
[FIX] Scheduler: Fixed timer's delta time is error when interval equals to zero
[FIX] Scheduler: Fixed Pause/Resume act incorrectly
[FIX] Scheduler: Fixed the callback will be executed multiple times if the value of delay parameter equal zero
[FIX] Node: Fixed issue that euler angle is NaN when update Euler angle from quaternion and asin value is not between -1 and 1 by accident
[FIX] Scene: Fixed bug that can't add custom member to Scene subclass
[FIX] Sprite: Fixed some warnings and a related bug in CCSprite
[FIX] AutoPolygon: Fixed copy construct & assignment operator memory leakage
[FIX] SpriteBatchNode: Touch screen might cause rendering order disorder when the screen have numerous sprites
[FIX] SpriteBatchNode: Fixed SpriteBatchNode doesn't support setFlipped
[FIX] event: Fixed EventDispatcher wrong dispatch order bug
[FIX] event: Fixed EventListenerKeyboard.onKeyPressed not firing for back button on Android
[FIX] FileUtils: Fixed bug that FileUtils::isDirectoryExist result is not correct on Android while using relative path in 'assets'
[FIX] Action: Fixed bug that CCTargetedAction executes callback twice
[FIX] audio: Fixed playing new audio after stopping an incessant(loop) audio may fail on MAC/iOS
[FIX] audio: Fixed bug that playing audio may fail(error code:-1) on iOS
[FIX] audio: Fixed AudioEngine possible crash on iOS/Mac while playing multiply audio
[FIX] Label: Fixed rendering LabelTTF characters as black boxes on Android by ensuring atlases are purged before resetting
[FIX] Label: Fixed bug that characters are displayed incorrectly with "dark roast.ttf" font
[FIX] Label: Fixed opacity setting is invalid with bitmap font
[FIX] Label: Fixed the color of letter will be overridden by fade action
[FIX] Label: Fixed Label with some specific font is cropped
[FIX] Label: Fixed the content size of Label is incorrect with GLOW effect
[FIX] Label: Fixed spaces is lost if label created with Fingerpop.ttf
[FIX] Label: Fixed Label::getLetter(index)->setVisible(true) cause rendering duplicate letters
[FIX] Label: Fixed Label::setGlobalZOrder invalid issue if label create with system font
[FIX] UI: Fixed issue that Slider::addEventListener doesn't respect the button pressed and button release event
[FIX] UI: Fixed bug that UI component can't be clicked correctly by moving UI and camera far away of origin
[FIX] UI: Fixed inertial scrolling for CCScrollView
[FIX] UI: Fixed bug that ListView::getCurSelectedIndex may cause out of range issue
[FIX] UI: Fixed PageView scrollToPage bug and the curPageIndex bug
[FIX] UI: Fixed game scene displays wrongly while clicking EditBox
[FIX] UI: Fixed RichText layout cause infinite loop issue
[FIX] UI: Fixed formarRenderers in RichText doesnt 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 dont 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 cant 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 core/ 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<T> 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<K,V>, 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<T>, Map<K, V>, 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<T>, Map<K, V> 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<T>, Map<K,V>).
[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