forked from cocos2d/cocos2d-x
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
977 lines (917 loc) · 70.7 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
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] 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
cocos2d-x-3.5rc0 Mar.13 2015
[NEW] CocosStudio: add callback when loading a CSB file
[NEW] Particle3D: more Particle Universe features are supported, add observers and event handlers
[FIX] Billboard: fix bug on transparent Billboard because of transparent queue
[FIX] Bundle: bug that create bundle with empty path
[FIX] Camera: camera is detroyed unexpectedly when call removeAllChildren
[FIX] C++: use console in `build/build_native.sh`
[FIX] Label: position is wrong if it is visited by a new camera
[FIX] MotionStreak: can not work with MoveTo and MoveBy
[FIX] MoveTo: disable reverse() because it is meaningless
[FIX] Particle3D: to make path shorter, rename Particle Universe folder to PU, and files CCPUParticle3DXXX to CCPUXXX to fix compiling error on WP8
[FIX] Particle3D: `loadMaterialsFromSearchPaths` bug on linux platform
[FIX] Sprite3D: fix bug on transparent 3D Sprite because of transparent queue
cocos2d-x-3.5beta0 Feb.27 2015
[NEW] Added Particle3D
[NEW] C++: add Romanian language support
[FIX] Audio: audio can not resume if it is interrupted, and back from background
[FIX] Cocos Studio UI: setCameraMask does not work for the Cocos Studio UI
[FIX] C++: compiling error when using CC_USE_CULLING
[FIX] Label: texture size of string has unexpected padding on iOS 7 and upper version
[FIX] HttpClient: if the request data is started by a null character, it does not fill http body
[FIX] HttpClient: memory leak on iOS
[FIX] Sprite3D: `getAttachNode()` will fail when there is no bone with name
cocos2d-x-3.4 Jan.30 2015
[FIX] Animate3D: `setSpeed` has not effect if `Animate3D` is used in Sequence
[FIX] C++: will crash if built with armeabi-v7a enabled on Android devices that with armeabi-v7a architecture but doesn't support NEON instructions
[FIX] C++: may crash if VAO is not supported
[FIX] EditBox: content is not clipped correctly on windows
[FIX] GLProgram: will cause crash on some devices that don't support more than 8 atrributes
[FIX] HttpClient: not set response code when connecting failed on Android
[FIX] Label: alpha channel of text color of system font has not effect
[FIX] Label: use int for dimensions that will lose the precision
[FIX] Label: labels will become white block after resume from background on some Android devices, such as xiaomi3
[FIX] Label: improved parsing performance of bitmap font
[FIX] Label: can not display `&` if using system font on windows
[FIX] Lua-binding:studio-support: AnimationInfo is not binded
[FIX] New audio: not close file descriptor leads to that may causes game freeze if playing two many times(may be more than 1000) on Android
[FIX] Node: anchor point has not effect to rotation, it always rotate along (0, 0)
[FIX] Physics integration: Scale9Sprite can't run `Move` action and `Scale` action if used physical scene
[FIX] SpriteFrameCache: `addSpriteFramesWithFil`e may crash if plist file doesn't exist
[FIX] Sprite3D: material files (.mtl) are not loaded for any object when creating from an .obj file
[FIX] UI::ImageView: rendered content size is wrong if `ignoreSize` is true and `Scale9` is not enabled
[FIX] UI::Slider: when scale9 is enabled, the progress bar's rendering height is wrong
[FIX] UI:Scale9Sprite: some position information will be lost when toggling `Scale9` state
[FIX] UI::TextField: will get wrong event message if clicking `TextField` twice
[FIX] UI::TextField: result of `getContentSize` is wrong if it is invoked in insert or delete event callback
[FIX] UI::WebView: base URL can not work
cocos2d-x-3.4rc1 Jan.15 2015
[NEW] C++: added CC_USE_CULLING macro to control if enable auto culling or not
[NEW] FileUtils::fullPathForFilename will return empty string when file can not be found
[NEW] VertexBuffer&IndexBuffer: allow setting usage(GL_STATIC_DRAW or GL_DYNAMIC_DRAW) in create method
[NEW] Renderer: 3D rendering support for 2d objects
[FIX] DrawNode: fix random crash because of init opengl buffer wrongly
[FIX] DrawNode: drawPoints() can not set ponit size
[FIX] EventDispatcher: crash if adding/removing event listeners and dispatching event in event callback function
[FIX] GLProgramState: may cause GL_INVALID_VALUE error at start up on Android
[FIX] LUA: 0x80000000 can not be converted by lua_tonumber correctly on some devices
[FIX] PhysicsBody: can't get correct position in the same frame of adding PhysicsBody to PhysicsWorld
[FIX] UI: fix crash when navigation controller is null
cocos2d-x-3.4rc0 Jan.9 2015
[NEW] 3rd: update libcurl to v7.39
[NEW] 3rd: update luajit to v2.0.3
[FIX] C++: crash when run clang static analyzer in Xcode
[FIX] DrawNode: can not set color when DrawPoints, wrong behavior of drawRect
[FIX] FileUtils: getData() can't get data from file when file was using by other application on windows
[FIX] FileUtils: getData() will cause memory leak if file size is 0 on windows
[FIX] GLProgram: when there is a shader compile error in shader, it will crash on windows
[FIX] GLProgramState: Assert error because uniforms and attribute is not refreshed when come to foreground on android
[FIX] HttpClient: http requests will be lost in immediately mode on iOS
[FIX] JumpTo: can not be applied more than once
[FIX] Label: may cause infinite loop if using system font on Android
[FIX] Particle: GL_INVALID_OPERATION error because VAO and VBOs is not reset when come to foreground on android
[FIX] Physics integration: physics body is not still after disabling gravitational force by PhysicsBody::setGravityEnable()
[FIX] Sprite3DTest: Sprite3DUVAnimationTest, Sprite3DFakeShadowTest, Sprite3DLightMapTest, Sprite3DBasicToonShaderTest will crash on android when switch to foreground from background
[FIX] Template: multiple dex files define error on Android if using Eclipse to build new generated application
[FIX] VideoPlayer: can not play video if passing path returned from FileUtils::fullPathForFilename() on Android
[FIX] WP8: compiling error on ARM architecture
cocos2d-x-3.4beta0 Dec.31 2014
[NEW] 3D: support frustum culling
[NEW] Action: MoveTo and MoveBy support Vec3
[NEW] Allocator: add custom allocator support, global, default, fixed block, object pool
[NEW] Application: added Turkish and Ukrainian language support
[NEW] UI:LoadingBar: add TextureResType to LoadingBar's create method
[NEW] Director: add setClearColor() to set clear values for the color buffers
[NEW] Node: rotation representation using quaternion
[NEW] UI: Added new layout functionality for Cocos Studio, keeps widget margins a fixed set and adjusts the widget size according to the margins.
[NEW] UI: Add gray shader to ui::Button, ui::CheckBox and ui::Slider when the disable state resources are not provided
[NEW] UI: Modify the default behavior when ui::Button, ui::CheckBox and ui::Slider's selected state resources are not provided, the new behavior is scale the normal state texture when the selected state texture are missing.
[NEW] 3rd party libraries: Add prebuilt version of libcurl to Mac and upgrade iOS,Android,Mac and Win32 libcurl to 7.39.0.
[NEW] Replace network module implementation from libcurl to system network API on IOS and Android
[FIX] ui::Button: fix setTitleColor calls method setColor instead of setTextColor of title label.
[FIX] AssetsManagerEx: Fix assetManager can't download file on Win32
[FIX] FileUtils: WebP format with alpha channel displayed wrong
[FIX] Label: content size of Label is incorrect if the string is set to empty string
[FIX] GLProgramState: fix assert error caused by outdated uniform and attribute cache
cocos2d-x-3.3 Dec.12 2014
[FIX] Billboard: allow billboard rotate along z axis
[FIX] Bundle3D: create aabb for mesh whose aabb does not exist (user custom mesh)
[FIX] EditBox: text position and move animation error on iPhone6 Plus
[FIX] FileUtils: createDirectory(): doesn't invoke closedir() after opendir on platforms other than WP8/WinRT/Windows
cocos2d-x-3.3-rc2 Dec.5 2014
[FIX] C++: use 100% of one core on Windows
[FIX] Label: when a label is added to a invisible parent node, app will crash if switching from background
[FIX] Label: label will not be shown when using system font on Mac
[FIX] Studio reader: replace protocol buffer with flatbuffer
cocos2d-x-3.3-rc1 Nov.29 2014
[NEW] Vec2: added greater than operator
[NEW] Tools: Updated cocos console to v1.4 (from 1.2)
[NEW] WP8: Win8.1 universal app support
[FIX] Audio: `SimpleAudioEngine::sharedEngine()->playBackgroundMusic()` crashed freezen on Lollipop(Android5.0)
[FIX] Button: when the dimension of button title is larger than the button, button will scale to fit the dimension of the button title
[FIX] Button: when the dimension of button title is larger than the button, button will scale to fit the dimension of the button title
[FIX] Camera: does not work correctly when the up is not (0, 1, 0)
[FIX] Director: Uses a low-pass filter to diplay the FPS
[FIX] DrawNode: drawPoint() may cause crash
[FIX] EventKeyboard: can not check right Shift, right Ctrl and right ALT
[FIX] GLProgramCache: doesn't release old program with the same key before adding a new one
[FIX] GLProgramState: enabled GLProgramState restoring on render recreated on WP8
[FIX] Label: label shifting when outline feature enabled
[FIX] Label: when applying additionalKerning to a Label that displays a string with only 1 character, the character is shifted
[FIX] Label: display incompletely with multiline text with outline feature enabled
[FIX] Label: crash if using BMFont but missing corresponding png file
[FIX] Lua: logical error in luaval_to_quaternion
[FIX] New audio: can not loop on Android 2.3.x
[FIX] Random: CCRANDOM_0_1() and CCRANDOM_MINUS_1_1() can be seeded using std::srand(seed)
[FIX] Scale9Sprite: will be flipped if both flipX and flipY are false
[FIX] Scale9Sprite: if scale and flip property are set at the same time, the result would be wrong
[FIX] Scene: setScale() doesn't work as expected
[FIX] Sprite3D: did not create attached sprite from cache
[FIX] Tests: Sprite Performance Test automation works as expected
[FIX] UI: Text: invoke ignoreContentAdatpSize(false) will cause wrong effect
[FIX] VideoPlayer: showed in wrong place on Android v2.3.x
[FIX] WebView: showed in wrong place on Android v2.3.x
[FIX] WP: back key behaviour and Director::getInstance()->end() works not correctly
[FIX] Lua-binding: XmlHttpRequest would truncate binary data
cocos2d-x-3.3-rc0 Oct.21 2014
[NEW] 3d: added light support: direction light, point light, spot light and ambient light
[NEW] Added ClippingRectangleNode
[NEW] Added AssetsManagerEx, which is more powerful than AssetsManager
[NEW] Added a test case of sprite lamp effect
[NEW] Animate3D: can create with start frame and end frame
[NEW] Audio: new audio supports Mac OS X and Windows
[NEW] Application: added openUrl()
[NEW] Armature: added getOffsetPoints()
[NEW] Lua-binding: added Camera3DTest ,BillBoradTest
[NEW] Node: schedule/unschedule lambda functions
[NEW] Rect: added merge()
[NEW] Spine: update to 2.0.18
[NEW] TileMap: added staggered tile map support
[NEW] Utils: added getCascadeBoundingBox()
[NEW] WP8: enabled screen orientation change handling
[FIX] Accelerometer: using Accelerometer will freeze app and then crash on WP8
[FIX] Application: getCurrentLanguageCode() always return empty string
[FIX] Action: kRepeatForever macro superseded by CC_REPEAT_FOREVER macro
[FIX] C++: remove armv7s in VALID_ARCHS for Xcode projects
[FIX] Cocos Studio reader: UI animation playing crash if GUI JSON file is loaded again
[FIX] Cocos Studio reader: improvement ImageViewReader don't necessary loadTexture when imageFilePath is empty
[FIX] EditBox: view rendered in wrong position if click EditBox on iOS 8
[FIX] FileUtils: can not remove files/directory on iOS devices
[FIX] GLProgram: crashed on some Android devices that do not support more than 8 attributes
[FIX] Label: getStringNumLines() may returns wrong result if label is dirty
[FIX] Label: can not change opacity if using FNT font
[FIX] Label: endless loop if not using system font, and constrained length is less than one character width
[FIX] LabelAtlas: opacity do not change when setting parent's opacity
[FIX] Lua-bindings: may crash if passing two-dimensional table from lua to c++
[FIX] New audio: can not play audio after playing some times on Android
[FIX] Node: macro scheduler_selector() superseded by CC_SCHEDULER_SELECTOR(). The same is true for the other schedule_ macros
[FIX] Node: unscheduleAllSelectors() deprecated in favor of unscheudleAllCallbacks()
[FIX] Node: crashed if remove/add child too quickly when using integrated physics
[FIX] TextFieldTTF: will get wrong characters if using Chinese input method on WP8
[FIX] TextureCache: memory leak in reloadTexture()
[FIX] UI: Button: button remains gray when releasing it, this issue only happened if enable scale9 and only has one texture
[FIX] UI: Button: when creating a button with a title only, button content size is not immediately updated
[FIX] UI: EditBox: setMaxLength is invalid on mac
cocos2d-x-3.3-beta0 Sep.20 2014
[NEW] 3d: added `BillBoard`
[NEW] ActionManager: added removeAllActionsByTag()
[NEW] Audio: added new audio system for iOS and Android
[FIX] DrawNode: has as many functions as `DrawPrimitive`
[NEW] GLViewProtocol: added getAllTouches()
[NEW] Node: added stopAllActionsByTag()
[NEW] PhysicsWorld: add setSubsteps() and getSubsteps()
[NEW] Renderer: added TriangleCommand
[NEW] UI: added `WebView` on iOS and Android
[FIX] C++: CMake works for Mac builds
[FIX] C++: Reorganized cocos2d/platform folder. Easier to add new platforms
[FIX] EditBox: moved to ui:EditBox
[FIX] External: ScrollView: scroll view hidden picks up the touch events
[FIX] FastTileMap: change indices to short because not all devices support int indices which will prevent drawing tilemap
[FIX] FileUtils: can not create and delete directory on wp8
[FIX] HttpClient: condition variable sleep on unrelated mutex
[FIX] Image: optimize decompress jpg data
[FIX] Label: outline effect may be wrong if outline width is big and font size is big too
[FIX] MenuItem: memory leak if using menu_selector
[FIX] MeshCommand: generate wrong meterial id which will cause problem that only first mesh is drawn
[FIX] Node: create unneeded temple `Vec2` object in `setPosition(int, int)`, `setPositionX()` and `setPositionY()`
[FIX] Node: skew effect is wrong
[FIX] Node: setNormalizedPosition can not take effect if parent position is not changed
[FIX] TextureAtlas: may crash if only drawing part of it
[FIX] UI: Button: a button can not be touched if it only contains title
[FIX] UI: Button: title can not be scaled if a button is scaled
cocos2d-x-3.3alpha0 Aug.28 2014
[NEW] 3D: Added Camera, AABB, OBB and Ray
[NEW] 3D: Added better reskin model support
[NEW] Core: c++11 random support
[NEW] Core: Using `(std::notrow)` for all the `new` statements
[NEW] Desktop: Added support for applicationDidEnterBackground / applicationWillEnterForeground on desktop
[NEW] Device: added setKeepScreenOn() for iOS and Android
[NEW] EventMouse: support getDelta, getDeltaX, getDeltaY functions
[NEW] FileUtils: add isDirectoryExist(), createDirectory(), removeDirectory(), removeFile(), renameFile(), getFileSize()
[NEW] FileUtilsApple: allow setting bundle to use in file utils on iOS and Mac OS X
[NEW] Image: support of software PVRTC v1 decompression
[NEW] Lua-binding: added release_print that can print log even in release mode
[NEW] Physics Integration: can invoke update in demand
[NEW] Renderer: Added primitive and render primitive command, support passing point, line and triangle data
[NEW] Renderer: Added method for custom precompiled shader program loading on WP8
[NEW] Renderer: Added consistent way to set GL context attributes
[NEW] RenderTexture: add a call back function for saveToFile()
[NEW] RotateTo: added 3D rotation support
[NEW] ScrollView: added `setMinScale()` and `setMaxScale()`
[NEW] Sprite3D: added setCullFace() and setCullFaceEnabled()
[NEW] Sprite3D: added getBoundingBox() and getAABB()
[NEW] SpriteFrameCache: load from plist file content data
[NEW] utils: added gettime()
[NEW] UI: Added UIScale9Sprite
[NEW] UI: ui::Button: support customize how much zoom scale is when pressing a button
[NEW] UI: ui::PageView: added `customScrollThreshold`, could determine the swipe distance to trigger a PageView scroll event
[NEW] UI: ui::TextField: support utf8
[NEW] UI: ui::TextField: support set color and placeholder color
[NEW] UI: ui::Widget: support swallowing touch events
[NEW] Text: added getter and setter for TextColor
[FIX] EditBox: font size is not scaled when GLview is scaled on Mac OS X
[FIX] EditBox: began/end events not work
[FIX] Label: can not set charmap after it is created
[FIX] Label: setTextColor does not have any effect on Mac OS X
[FIX] Label: result of LabelTTF::getBoundingBox() is wrong
[FIX] Label: can not set outline color correctly if using system font on iOS
[FIX] Label: character edge will be cut a little if character size is small
[FIX] LabelBMFont: result of LabelBMFont::getBoundingBox() is wrong
[FIX] ListView: can not insert an item in specific position, it is added at bottom
[FIX] LoadingBar: position is changed if changing direction
[FIX] ParticleSystem: effect is wrong if scene scaled
[FIX] ParticleSystemQuad: setTotalParticles() can't set a value larger than initialized value
[FIX] PhysicsBody: return wrong bitmask
[FIX] Scale9Sprite: new added sprite will be hidden
[FIX] Slider: if the UISlider is faded, the slide ball won't fade together
[FIX] Sprite: will turn black if opacity is set other than 255 and be added into SpriteBatchNode
[FIX] TableView: can handle touch event though its parents are invisible
[FIX] TextField: can not use backspace to delete a character
[FIX] Widget: may crash if remove itself in touch call back function
[FIX] Widget: not support cascaded opacity and cascaded color by default
[FIX] VideoPlayer: memory leak on iOS
[FIX] VideoPlayer: video frame size is not calculated correctly on iOS
[FIX] VideoPlayer: video player not showing on iOS if it's not in FullScreen mode
[FIX] Others: can not import java library shift by engine correctly when using Eclispe on Android
[FIX] Others: optimize FPS control algorithm on Android
[FIX] Lua-binding: replace dynamic_cast to std::is_base_of in object_to_luaval
[3rd] fbx-conv: complex FBX model support which is useful for reskin, multiple meshes and multiple materials support
cocos2d-x-3.2 Jul.17 2014
[NEW] Node: added getChildByName method for get a node that can be cast to Type T
[NEW] FileUtils: could add search path and resolution order path in front
[FIX] Animation3D: getOrCreate is deprecated and replaced with Animation3D::create
[FIX] Animate3D: setSpeed() accept negative value, which means play reverse, getPlayback and setPlayBack are deprecated
[FIX] EditBox: can not set/get text in password mode on Mac OS X
[FIX] Game Controller: joystick y value inversed on iOS
[FIX] GLView: cursor position is not correct if design resolution is different from device resolution
[FIX] Label: color can not be set correctly if using system font on iOS
[FIX] LabelTTF: may lost chinese characters on linux
[FIX] Lua-binding: support UIVideoPlayer
[FIX] Node: setRotation3D not work based on anchor point
[FIX] Node: modify regular of enumerateChildren, now it just searchs its children
[FIX] Physics integration: body shape will be wrong when using negative value to scale
[FIX] ScrollViewDelegate: make the scrollView delegate methods optional
[FIX] Setup.py: will crash on windows because of checking `zsh`
[FIX] SpriteBatchNode: opacity can not work
[FIX] Sprite3D: may crash on Android if playing animation and replace Scene after come from background
[FIX] UIwidget: opacity is wrong when replace texture
[FIX] UIRichText: will crash when using utf8 string and the length exceed specified length
[FIX] UIText: can not wrap words automatically
[FIX] UITextField: keyboard can not hide if touching space outside of keyboard
[FIX] UITextField: can not wrap words automatically
[FIX] UIVideoPlayer: can not exit full screen mode on Android
[FIX] Others: don't release singleton objects correctly that are needed in the whole game, which will be treated
as memory leak when using VLD.
[FIX] Others: compiling error when building for iOS 64-bit devices with Xcode6 beta3
cocos2d-x-3.2rc0 Jul.7 2014
[NEW] FastTMXTiledMap: added fast tmx, which is much more faster for static tiled map
[NEW] GLProgramState: can use uniform location to get/set uniform values
[NEW] HttpClient: added sendImmediate()
[NEW] Label: support setting line height and additional kerning of label that not using system font
[NEW] Lua-binding: Animation3D supported
[NEW] Lua-binding: UIEditor test cases added
[NEW] Lua-binding: UI focus test cases added
[NEW] Node: added getName(), setName(), getChildByName(), enumerateChildren()
and addChild(Node* node, int localZOrder, const std::string &name)
[NEW] Node: physical body supports rotation
[NEW] Sprite3D: support c3b binary format
[NEW] utils: added findChildren() to find all children by name
[NEW] Value: added operator == !=
[FIX] Armature: blend func has no effect
[FIX] Armature: crashed when remove armature in frame event
[FIX] Animation3D: doesn't load original pose, which leads to wrong effect if not playing animation
[FIX] Animation3D: animation for unskined bones lost
[FIX] FileUtils: getStringFromFile may return a unterminated string
[FIX] Lua-binding: Sequence:create will cause drop-dead issue
[FIX] Lua-binding: lua-tests can’t be loaded on 64 bits iOS devices and Linux
[FIX] Node: Node::setScale(float) may not work properly
[FIX] Physics integration: child node can move with its father
[FIX] Physics integration: support scale
[FIX] Sprite3D: 20% performance improved, simplify shader, use VAO and batch draw
[FIX] Studio support: NodeReader may cause crash
[FIX] UIButton: doesn't support TTF font
[FIX] UIButton: `getTitleColor()` doesn't equal to the value set by `setTitleColor()`
[FIX] UIListView: addEventListener can not work
[FIX] UIListView: element position is changed a little when you click and up a list view without move
[FIX] UIListView: element will respond to item_end event when end of scrolling a list view
[FIX] UIVideo: crash when try to remove videoView(STATE_PLAYBACK_COMPLETED) on android
[FIX] WP8: crash of utils::captureScreen()
cocos2d-x-3.2-alpha0 Jun.17 2014
[NEW] Console: add a command to show engine version
[NEW] Node: added setter/getter for NormalizedPosition(). Allows to set positions in normalized values (between 0 and 1)
[NEW] Scene: Added createWithSize() method
[NEW] TextField: added getStringLength()
[NEW] TextureCache: added unbindImageAsync() and unbindAllImageAsync()
[NEW] utils: added captureScreen()
[NEW] UIText: added shadow, outline, glow filter support
[NEW] Sprite3D: support 3d animation
[NEW] Animation3D: 3d animation
[FIX] Application.mk: not output debug message in release mode on Android
[FIX] Android: 3d model will be black when coming from background
[FIX] Android: don't trigger EVENT_COME_TO_BACKGROUND event when go to background
[FIX] Cocos2dxGLSurfaceView.java: prevent flickering when opening another activity
[FIX] Director: Director->convertToUI() returns wrong value.
[FIX] GLProgram: not abort if shader compilation fails, just return false.
[FIX] GLProgramState: sampler can not be changed
[FIX] Image: Set jpeg save quality to 90
[FIX] Image: premultiply alpha when loading png file to resolve black border issue
[FIX] Label: label is unsharp if it's created by smaller font
[FIX] Label: Label's display may go bonkers if invoking Label::setString() with outline feature enabled
[FIX] Label: don't release cached texture in time
[FIX] Label: calculated height of multi-line string was incorrect on iOS
[FIX] Lua-binding: compiling error on release mode
[FIX] Lua-binding: Add xxtea encrypt support
[FIX] Node: setPhysicsBody() can not work correctly if it is added to a Node
[FIX] Node: state of _transformUpdated, _transformDirty and _inverseDirty are wrong in setParent()
[FIX] Node: _orderOfArrival is set to 0 after visit
[FIX] Other: link error with Xcode 6 when building with 32-bit architecture
[FIX] RenderTexture: saveToFile() lost alpha channel
[FIX] Repeat: will run one more over in rare situations
[FIX] Scale9Sprite: support culling
[FIX] Schedule: schedulePerFrame() can not be called twice
[FIX] ShaderTest: 7 times performance improved of blur effect
[FIX] SpriteFrameCache: fix memory leak
[FIX] Texture2D: use image's pixel format to create texture
[FIX] TextureCache: addImageAsync() may repeatedly generate Image for the same image file
[FIX] WP8: will restart if app goes to background, then touches icon to go to foreground
[FIX] WP8: will be black if: 1. 3rd pops up a view; 2. go to background; 3. come to foreground
[FIX] WP8: project name of new project created by console is wrong
[FIX] WP8: missing texture after app switch
[3RD] curl: will crash if use https request on iOS simulator
[3RD] curl: update OpenSSL to v1.0.1h
cocos2d-x-3.1.1 May.31 2014
[FIX] GLProgramState: restores states after coming from background
cocos2d-x-3.1 May.24 2014
[FIX] EventKeyboard::KeyCode: key code for back button changed from KEY_BACKSPACE to KEY_ESCAPE
[FIX] Label: may crash when using outline effect
[FIX] Label: using outline and invoking 'Director::setContentScaleFactor' cause label show nothing
[FIX] ProgressTo: will start from 0 when it reaches 100
[FIX] Physics integration: may crashes if remove bodies at physics contact callback
[FIX] UIWidget: copyProperties() lost copy some properties
[FIX] WP8: orientation is not correct when it is set to portrait
[FIX] WP8: fix for precompiled shaders and precompiled headers
[FIX] WP8: template supports orientation
cocos2d-x-3.1-rc0 May.18 2014
[NEW] Cocos2dxActivity: Adds a virtual method to load native libraries.
[NEW] Directory Structure: reorder some files within the cocos/ folder
[NEW] Sprite3D: a node that renders 3d models
[NEW] EditBox: support secure input on Mac
[FIX] ControlButton: cascade opacity and color error
[FIX] Director: twice calling of onExit
[FIX] Math: Vector2->Vec2, Vector3->Vec3, Vector4->Vec4, Matrix->Mat4
[FIX] GLProgram: uniform CC_Texture0 is pre-defined by cocos2d. MUST NOT be defined in shaders
[FIX] GLProgramState: Supports multitexturing
[FIX] Studio:ActionObject: correct TotalTime of ActionObject
[FIX] Studio: FrameData::copy doesn't copy `isTween` property
cocos2d-x-3.1-alpha1 May.9 2014
[NEW] Animate: Dispatch a custom event after an animation frame is displayed
[NEW] GLProgram: Easy to customize uniforms and attributes by using the new class GLProgramState
[NEW] Template: cpp project support Eclipse c++ project
[NEW] UI: add navigation support
[NEW] UI: add a widget to play video
[NEW] VS: support VS 2013
[FIX] Audio: pause sound automatically when go to background on Android
[FIX] Director: remove keepData and releaseData
[FIX] Label: label is unsharp if it's created by system font with small size on iOS & Mac OS X
[FIX] Label: Label created with system font is still visible when its opacity is 0
[FIX] Label: Label created with system font havs black border on WP8/WINRT
[FIX] Lua: A potential crash in the bindings of sp.SkeletonAnimation.setAnimation
[FIX] Lua: Lua template should fail to launch on lua error
[FIX] ParticleSystem: Particles can be created without a texture
[FIX] ParticleSystem: yFlippedCoord behavior fixed.
Added cocos2d/tools/particle to fix particles that were based on the old (broken) behaviour
[FIX] Setup.py: Added SDK / NDK detection based on PATH
[FIX] UIText: support TTF
[FIX] Value: all types share the same union to reduce memory usage
cocos2d-x-3.1-alpha0 May.1 2014
[NEW] Android: Adds support for get response when Activity's onActivityResult is triggered
[NEW] Core: Adds RefPtr<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"
[FIX] #2327: implement Node::isScheduled
[FIX] #2338: ccbRootPath is not passed to sub ccb nodes
[FIX] #2346: OpenGL error 0x0502 in TextureAtlas::drawNumberOfQuads
[FIX] #2359: Sprite will become white block when using ControlSwitch
[FIX] #2361: some bug fixed of the Set class
[FIX] #2366: text shadow
[FIX] #2367: ClippingNode works differently on different platforms
[FIX] #2370: Pivotjoint constructor and pointQueryFirst in Space class will return false instead of invalid shape object
[FIX] #2381: ControlSwitch wasn't displayed correctly when adding more than one switch
[FIX] #2384: The submenu of ExtensionTest in TestCpp can't scroll
[FIX] #2386: ClippingNode works wrongly when being set as a child
[FIX] #2396: Scale9Sprite::setInsetLeft/XXX can't work for rotated sprite frame
[FIX] #2401: LabelBMFont crashes in glDrawElements of CCTextureAtlas::drawNumberOfQuads randombly
[FIX] #2410: Black screen appears on android randomly
[FIX] #2411: Opacity option for shadow in CCLabelTTF is not working
[FIX] #2406: Color and Opacity of Scale9Sprite will not be changed when it's added to NodeRGBA and run with FadeIn/Out actions
[FIX] #2415: Warning of AL_INVALID_NAME and AL_INVALID_OPERATION in SimpleAudioEngineOpenAL.cpp
[FIX] #2418: Unused spriteframes also need to be removed when purgeCachedData
[FIX] #2431: Potential crash when loading js files
[FIX] #2229: Explicitly initialising CCAcceleration structure
[FIX] #2234: Add destructor to CCGLBufferedNode
[Feature] #2232: adding Norwegian language support
[Feature] #2235: Ability to save/retrieve CCData into/from CCUserDefault
[Feature] #2250: add support for std::function<> in CCMemuItem and CCCallFunc
[Feature] #2273: Hardware keyboard support
[Feature] #2278: Adds CALLBACK_0, CALLBACK_1 and CALLBACK_2 macros for MenuItems
[Feature] #2279: Updates chipmunk2d to v6.1.5
[Feature] #2283: Adds Polish language support
[Feature] #2289: Uses clone() pattern for actions
[Feature] #2332: Adding project for QtCreator
[Feature] #2364: Adds DrawPrimitives::DrawSolidCircle
[Feature] #2365: Adds Rect::unionWithRect
[Feature] #2385: Implemented pitch, pan and gain for SimpleAudioEngine
[Feature] #2389: Adding cookie support for HttpClient
[Feature] #2392: Adds append() function for String class
[Feature] #2395: Adds Scale9SpriteTest for TestCpp
[Feature] #2399: Adds SocketIO support
[Feature] #2408: Adds String::componentsSeparatedByString function for splitting string
[Feature] #2414: Bindings-generator could bind std::function<> argument
[Refactor] #2129: Removes Hungarian notation from ivars. Removes CC and cc prefixes from name classes and free functions.
[Refactor] #2242: Enables c++11
[Refactor] #2300: Using clone() pattern instead of 'copyWithZone' pattern
[Refactor] #2305: Use std::thread instead of pthread
[Refactor] #2328: ETC support for all platforms
[Refactor] #2373: C