cocos2d Changelog

What's new in cocos2d 3.17

Jun 1, 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

New in cocos2d 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

New in cocos2d 3.15 (Apr 28, 2017)

  • [NEW] Full support of Android Studio, can use Android Studio to edit, compile and debug C++ codes
  • [NEW] Audio Engine: use `tremolo` to decode audio files to be more adaptable to Android devices and improve performance on Android
  • [NEW] WebSockets and SocketIO supports SSL
  • [NEW] WebSockets: add methods to get url and server selected protocol
  • [NEW] Add `utils::getFileMD5Hash()`
  • [REFINE] EventDispatcher: use `std::stable_sort()` to sort nodes and listeners
  • [REFINE] FileUtils: add async version of common methods
  • [REFINE] Label: full unicode support
  • [REFINE] Renderer: enable VAO by default on Android
  • [REFINE] Renderer: use std::stable_sort() to sort commands
  • [REFINE] Scheduler: `unscheduleAll()` will unschedule selectors that scheduled with `performFunctionInCocosThread()`
  • [REFINE] SpriteFrameCache: avoid load frames if they are already loaded
  • [REFENE] Texfield: not use auto correction on iOS now
  • [REFINE] TextureCache: allow to unbind asynchronous texture loading callback with a custom key
  • [REFINE] WebSockets: each connection will create a virtual host
  • [REFINE] WebView: can clean cached data
  • [REFINE] WebSockets: allow self-assign certification
  • [REFINE] 3rd: update OpenSSL to v1.1.0
  • [REFINE] 3rd: update flatbuffer to v1.5
  • [REFINE] 3rd: Update Spine runtime to v3.5.35
  • [REFINE] Remove support for Windows 8.1 store and phone
  • [REFINE] Remove 32-bit linux support
  • [FIX] Action: spawn action may be invoked more times than specified
  • [FIX] Audio engine: can not play audios in the callback set in `AudioEngine::setFinishedCallback()` on iOS, Mac and win32
  • [FIX] Audio engine: crash if uncache audios in finish callback on Android
  • [FIX] Audio engine: crash if playing very small mp3 audios on Android
  • [FIX] Audio engine: may crash if repeat doing `play -> stop` on iOS and Mac
  • [FIX] Audio engine: play2d may still wait 2 seconds if preload is too fast
  • [FIX] Audio engine: preload many audios may cause crash on devices that use Samsung Exynos CPU
  • [FIX] Application: `openURL()` return wrong valueo on Linux
  • [FIX] Core: out scene's `onEnterTransitionDidFinish` is not triggered if using transition scene with `Director::runWithScene()`
  • [FIX] CheckBox: can receive touch up event that is released far from it
  • [FIX] Downloader: is not thread safe and may cause rondom crash on Android
  • [FIX] DrawNode: can't change opacity
  • [FIX] GLProgram: memory leak
  • [FIX] HttpClient: may crash on Android 4.2
  • [FIX] Label: ttf font line wrap
  • [FIX] Label: wrong effect if ttf font line gap is not 0
  • [FIX] Label: memory leak with ttf font
  • [FIX] Label: call `disableEffect()` many times will compress the label to one character
  • [FIX] Mesh: enable depth write by default
  • [FIX] Node: calling `reorderChild()` does not update touch lister with scene graph priority
  • [FIX] PageView: `getCurrentPageIndex()` returns -1 when created and haven't scrolled
  • [FIX] Physics2d: can not apply velocity to kinematic bodies
  • [FIX] Scheduler: an unscheduled selector may be invoked many times
  • [FIX] Scheduler: selector is not moved in time
  • [FIX] Simple Audio Engine: `unloadEffect()` doesn't work on Android 5.0.1 devices
  • [FIX] Simple Audio Engine: `ConcurrentModificationException`
  • [FIX] SokcetIO: use wrong default port for connection
  • [FIX] Sprite: texture and shader lost after restore from background on Android if using ETC1
  • [FIX] WebSockets: memory leak
  • [FIX] WebSockets: doesn't parse url correctly
  • [FIX] WebSockets: may crash in random
  • [FIX] Vec4: error logic of operator '

New in cocos2d 3.7.1 (Aug 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

New in cocos2d 3.6 (May 1, 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

New in cocos2d 1.0.1 (Jul 29, 2011)

  • Implicit atomic properties converted to nonatomic
  • Removed deprected code
  • CCArray: copyWithZone fixed
  • Director: frames -> totalFrames, and it works as expected. Value is not being reset.
  • Menu: If any ancestor is invisible, then touches won't be accepted
  • Node: vertexZ returns points, not "pixels"
  • LabelTTF: don't crash when calling description after dealloc
  • Tests: [window release] instead of [window dealloc]
  • Texture: TextureCache#dump reports the right info (issue #1205)
  • CocosDenshion: Cleanup buffers to prevent noise

New in cocos2d 1.0.0 (Jul 15, 2011)

  • ccpSegmentIntersect & ccpPointIntersect: Added helper functions for ccpLineIntersect (issue #1193)
  • ccConfig: Added possibility to define the configuration as preprocessor macros
  • Director: frames is a readonly property
  • Menu: MenuItemFont can change size and font from instance Scheduler: Added isTargetPaused method
  • Sprite: Debugging draw for texture
  • Textures: PVR supports NPOT textures
  • CCArray: ForEach prepends "__" to inner variables to prevent conflict
  • ccpLineIntersect works as expected. Improved performance (issue #1174, #1193)
  • cocosLive: fixed memory leak in ScoreServerPost
  • Director: Added asserts to prevent calling startAnimation twice.
  • EAGLView: Fixed leak when using multisampling and resizing the layer (issue #1198)
  • Menu: Column aligment is centered. Removed the +10 pixels padding.
  • Node: Node#Draw calls super#draw
  • Tests: Fixed memory leak in ParticleTest
  • Tests: Fixed memory leak in cocosLiveTest
  • Tiles: Worked around memory leak in NSXMLParser (issue #1197)
  • TouchDispatcher: added setPriority (issue #757)
  • Xcode: cocos2d compiles OK with Xcode 4.2 + llvm 3.0
  • Chipmunk: updated to v5.3.5

New in cocos2d 1.0.0 rc3 (Jun 1, 2011)

  • Actions: Added SkewTo and SkewBy actions
  • LabelTTF: Added support for LineBreakMode. Mac only supports Word-Break.
  • Node / Sprite: Added support for SkewX and SkewY properties
  • Tests: Added skewX, skewY tests for sprites and actions. Added linebreak tests for LabelTTF.
  • TextureCache: Added dumpCachedTextureInfo method. Shows the RAM used by the cached textures (issue #1154)
  • cocosLive: Fixed memory leaks in NSURLConnection
  • Sprites: DisplayedFrame returns the correct frame (issue #1182)
  • Templates: Supports spaces in project name (issue #1158)
  • TextureCache: Textures are autoreleased to prevent a crash in multi-threading environments
  • TexturePVR: clean glError() before creating textures
  • TMX Maps: Consume less memory (only what is needed), faster loading times (issue #1175)
  • Tests: Added test case for issue #1071
  • Director: Doesn't crash when entering fullscreen if window is not Key (issue #1185)

New in cocos2d 1.0.0 Beta (Mar 2, 2011)

  • Actions: Repeat and RepeatForEver has getter/setter for the inner action (issue #1110)
  • LayerGradient: Added "compressed interpolation" (default mode) in order to display all graident's colors in any vector
  • Added CC_DIRECTOR_INIT(). It is possible to create a Mac Window programatically
  • EventDispatcher: Added support for touches events
  • CocosDenshion: Improved logging
  • CocosDenshion: Fixed excessively large or negative gain values cause distorted audio in the simulator.
  • CocosDenshion: Added guards to prevent memory corruption caused by invalid parameters
  • CocosDenshion: Define some constants for defaults, make const parameter on buffer asynch load method
  • CCArray: insertObjectAtIndex checks bounds (issue #1121)
  • Director: Fixed possible crash when purging the TextureCache
  • Layer: Deprecated. CCMultiplexLayer deprecated. New name is CCLayerMultiplex
  • Particles: consumes less memory (12 bytes less per particle) and are a bit faster
  • ProgressTimer: Consumes less memory
  • RenderTexture: Added possibility to save buffer in any place (issue #1100)
  • RenderTexture: re-added getUIImageFromBuffer method. Supports RetinaDisplay
  • Sprite: flipx/flipy don't modify the contentSize (issue #1073)
  • SpriteFrame: setRect sets pixels too. setRectInPixels sets points too (issue #1088)
  • Templates: ItunesArtwork renamed to iTunesArtwork (issue #1092)
  • Templates: HelloWorld -> HelloWorldLayer and other improvements (issue #873)
  • TextureCache: asyncObject#dealloc uses CCLOGINFO instead of CCLOG (issue #1096)
  • TiledMap: TMX maps work with zlib compression (Tiled v0.6)
  • Director: runLoop enables NSTimers events (issue #1107)
  • EventDispatcher: flagsChanged is triggered correctly (issue #1066)
  • EventDispatcher: queue & dispatch events are synced (issue #1083)
  • LabelTTF: alignment works OK (issue #1073)
  • Menu: Menu doesn't hang up with invisible menus (issue #1070)
  • Menu: Tracking "touches" works as expected (issue #1114)
  • Templates includes AudioToolbox and OpenAL frameworks

New in cocos2d 0.4.0 (Sep 9, 2010)

  • Fixed compatibility Python 2.4

New in cocos2d 0.4 rc0 (Jul 8, 2010)

  • Actions subsystem upgraded: now Actions with duration not know in advance are possible, like the ones that terminates on a collision detection condition.
  • Also new Move/BoundedMove/WrappedMove actions for kinematic animation controls
  • ScrollableLayer and ScrollingManager moved to cocos.layer from cocos.tiles and usable in non-tiled games cocos.tiles.RectMapCollider provides a skeleton for handling collisions
  • Between sprites and rectangular tile maps recorder: video record your app as a series of .png files, at a desired framerate
  • Axis aligned bounding box (AABB) for sprites skeleton animation support, also an editor for the animations optional experimental SDL audio support
  • More minisamples in the test directories
  • Many bugfixes

New in cocos2d 0.3.1 (Apr 23, 2010)

  • ScrollableLayer and ScrollingManager moved to cocos.layer from cocos.tiles and
  • usable in non-tiled games.
  • ccoos.tiles.RectMapCollider provides a skeleton for handling collisions between sprites and rectangular tile maps.
  • Many bugfixes

New in cocos2d 0.3.0 (Nov 5, 2008)

  • Added particle systems: Sun, Fire, Fireworks, Meteor, Galaxy, Flower, Exposion, Spiral
  • Added lerp actions
  • Applied patch by naveen.michaudagrawal
  • Applied patch by Kao Cardoso Félix
  • Applied patch by JeanpierreDA
  • Fixed Camera "once" locate bug
  • Many bugfixes
  • Primitive vector based line drawing.
  • Tile-map editor