forked from cocos2d/cocos2d-x
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
2358 lines (2214 loc) · 169 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
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
cocos2d-x-3.17.1 Nov.19 2018
[REFINE] Renderer: properly reduce clear buffer times to save energy
[REFINE] Engine: improve the reuse logic of sprite frames cache
[REFINE] Engine: add `GLView::setCursor` for desktop platforms
[REFINE] Engine: add methods to change icons for desktop platforms
[REFINE] UI: improve iPhone X home indicator handling behavior
[REFINE] UI: add line spacing support for system font on iOS and Android
[REFINE] UI: add support for pressed and disabled image in EditBox
[REFINE] UI: shrink extra label text if too long, prevent label too long crash
[REFINE] LUA: add binding code for cocos2d::Downloader
[REFINE] Android: add supporting SafeArea for most edge screens devices
[REFINE] Android: change default value of PROP_BUILD_TYPE from ndk-build to CMake
[REFINE] Android: update project config to gradle 4.6, sdk 28, android gradle plugin 3.1.0
[REFINE] Android: add ability to not stop music on game start in android
[REFINE] Windows: refine CCDevice-win32 BitmapDC
[REFINE] Windows: improve binary folder structure, copy resources to "Resources/" folder
[REFINE] Action: add ui::LoadingBar support to Progress actions
[REFINE] Network: support multiple parameters in SocketIO emit/send method
[REFINE] FileUtils: improve thread safety (use single recursive_mutex)
[REFINE] FileUitils: add getFileSize impl for Windows
[REFINE] FileUtils: add listFiles impl for Android and Windows platform
[REFINE] CMake: improve libraries link, compile options config
[REFINE] CMake: remove un-elegant prebuilt feature at internal cmake build scripts
[REFINE] 3rd: upgrade libwebsockets to 2.4.2 with libuv enabled
[REFINE] 3rd: improve cmake build scripts for external libs
[REFINE] Tests: add websocket latency test
[REFINE] Tests: add download multi task test case
[REFINE] cocos console: disable "gen-libs" command
[REFINE] Others: add another xbox 360 configuration
[REFINE] Others: remove ANT_ROOT env check on setup.py
[REFINE] Others: improve cmake tests in travis CI scripts
[FIX] Renderer: handle opengl recreate event for CameraBackgroundDepthBrush
[FIX] Renderer: fix some EVENT_RENDERER_RECREATED problem
[FIX] Engine: fix the last update time was not corrected if next delta time was zeroed
[FIX] Engine: be safe to handle operator= in CCData
[FIX] Engine: aviod reading outside of the buffer when print log
[FIX] Engine: avoid duplicate find action when already found
[FIX] Engine: prevent free _bytes when src and dest are identical in CCData
[FIX] Engine: fix Console::loop() consumes 100% of CPU usage
[FIX] Engine: fix Action doesn't work when follow Node added PhysicsBody
[FIX] UI: fix locate image path relative to tsx file error in TiledMap
[FIX] UI: fix several bugs with button's title, include memory leak
[FIX] UI: fix LabelLetter::isVisible always return false
[FIX] UI: fix not support sprite frame when ignoreContentAdaptWithSize is false
[FIX] UI: fix out of range access in Label
[FIX] UI: fix Widget::getAncestorWidget error
[FIX] UI: fix "known incorrect sRGB profile" by mogrify convert png format
[FIX] UI: fix iOS editbox EndAction wrong when single line mode (UITextField)
[FIX] UI: Fix for Label and UIRichEdit text trailing space trimming
[FIX] Audio: fix AudioEngine rotateBufferThread crash on iOS
[FIX] Audio: add extra init checks in pcm audio service, avoid crash in PcmAudioService
[FIX] Audio: fix AVAudioSessionErrorCodeCannotStartPlaying error may occur on Apple
[FIX] Audio: fix background music may resumes even the application is on the background on Android
[FIX] Network: fix memory leaks in WebSocket
[FIX] Network: fix websocket memory zereoing size error
[FIX] Network: fix https downloader timeout on win/mac
[FIX] Network: fix "cc.loader.load" convert url error
[FIX] iOS: fix project build warnings in Xcode
[FIX] iOS: fix crash when saving gray colorspace image
[FIX] Android: shorten C++ build path, reduce long path error on Windows
[FIX] Android: keep cocos2dx activity at task root by mark "singleTask" in manifest
[FIX] Android: fix crash caused by JNIEnv null pointer in getStringUTFCharsJNI function
[FIX] Android: use 'Binary names' style on JNI for ClassLoader.loadClass
[FIX] Action: fix repeat CallFunc for some times, may never stop
[FIX] Physics: fix PhysicsJointMotor setRate and getRate Bad Access Crash
[FIX] FileUtils: fix removeDirectory() failure on win32
[FIX] FileUtils: let getContents return an error code when the filename is a directory
[FIX] FileUtils: let isFileExistInternal return false when folder as parameter on Linux
[FIX] CMake: fix project name always be "TemplateCpp" when create a new project
[FIX] Tests: fix auto test stop in cpp-tests project
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 `libcocos2dx` 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