CHANGELOG
164 KB
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
cocos2d-x-4.0 Dec.3 2019
[HIGHLIGHT] Support metal
[HIGHLIGHT] Use CMake for all platforms
[REFINE] Update glfw to 3.3
[REFINE] Update minizip to 1.2
[CHANGE] remove deprecated functions
[CHANGE] remove h5 engine and JSB
[CHANGE] remove tiff
[CHANGE] remove `experimental` namespace
[FIX] system font can not work correctly on macOS 15
[FIX] TextField can not work if using system input to get Chinese characters with iOS13
[FIX] UIWebView uses WKWebView instead
[FIX] VideoPlayer uses AVPlayerController instead
[FX] lua crashes on 64it devcices
cocos2d-x-3.17 May.21 2018
[HIGHLIGHT] Android: support Android Studio 3.0, NDK 16
[HIGHLIGHT] iOS: support full screen for iPhone X and uses Storyboard for launch screen
[HIGHLIGHT] 3rd: upgrade Spine runtime to v3.6.39
[HIGHLIGHT] 3rd: upgrade GLFW to 3.2.1
[HIGHLIGHT] CMake support all platforms, and support prebuilt engine libs
[NEW] Engine: multisampling support
[NEW] Label: support non-breaking characters
[NEW] Label: support belarusian language
[NEW] UI: add blend function for Text
[NEW] UI: add ScrollView API to stop overall scroll
[NEW] iOS: add auto hide home indicator for iPhone X
[NEW] iOS: provides an interface for getting SafeArea
[NEW] Android: add one more android return button types
[REFINE] Engine: support reading object.rotation attribute in TMX
[REFINE] Engine: make the sort behavior is same on 32bit and 64bit
[REFINE] Engine: static analize fixes
[REFINE] Engine: improve comments in ccConfig.h, JniHelper.h
[REFINE] Engine: remove plugin submodule
[REFINE] Engine: improve StringUtils::format implementation
[REFINE] Label: don't count spaces at the end of line as part of the line width
[REFENE] UI: partial cursor support with system font in TextField
[REFINE] UI: support BMFont in TextField
[REFINE] UI: improve EditBox on win32 platform
[REFINE] UI: RichText improvements, get the real height by automatically customize ContentSize, refactor split algorithm
[REFINE] UI: remove autorelease mark from UIWebViewWrapper and manage memory manually
[REFINE] Lua: implementation conversion Lua table to ObjC Dictionary
[REFINE] Lua: improve loader, support standerd Lua package require
[REFINE] Web: upgrade Spine Javascript runtime to v3.6.39
[REFINE] Windows: speed up build by supporting precompiled header
[REFINE] Windows: remove Visual Studio 2013 support
[REFINE] Windows: Windows 10 update compiler to PlatformToolset v141
[REFINE] iOS: uses Images.xcassets instead of several icon png files
[REFINE] Android: support Android Studio 3.0.0, switch to libc++, simplify PROP_* values, add default Proguard Config for cocos
[REFINE] Android: remove ant project
[REFINE] Android: update NDK from r14 to r16
[REFINE] Android: improve Android.mk, not have to set NDK_MODULE_PATH in project settings
[REFINE] Android: detail comments for cddandroidAndroidJavaEngine.h, Cocos2dxSound.java
[REFINE] Linux: provide prebuilt version of GLFW
[REFINE] cocos console: remove ant build support
[REFINE] cocos console: support building release APK without key information
[REFINE] 3rd: remove Visual Studio 2013 libs
[REFINE] 3rd: remove Android armeabi libs since it is deprecated and will be removed in r17
[REFINE] 3rd: rebuild all Android libs with clang in ndk-r16
[REFINE] 3rd: cmake build support for partial libs
[REFENE] 3rd: update Box2D to latest commit f655c603ba9d83
[REFINE] 3rd: use prebuilt Box2D
[FIX] Engine: capture image loses quality when using RenderTexture
[FIX] Engine: RenderTexture DepthAndStencil issue on Android
[FIX] Engine: race condition resulting in deadlock infrequently in TextureCache
[FIX] Engine: CCConsole.cpp compile error with C++17 and clang
[FIX] Engine: TrianglesCommand hashing technique doesn't take padding into account
[FIX] Engine: default GLView bit depth is too low on desktop
[FIX] Engine: cocos2d::log va_list re-use bug
[FIX] Engine: cocos2d::Image::saveImageToPNG saves image in wrong PNG format
[FIX] Engine: CameraBackgroundColorBrush cannot use alpha
[FIX] Engine: crash in Allocator if there are no allocated pages
[FIX] Engine: crash when the UserDefault.xml file is empty
[FIX] Engine: memory leak in ObjectFactory destroyInstance, UserDefault::deleteValueForKey
[FIX] Engine: replace ptr_fun with lambda, fix compile error with C++17 and clang
[FIX] Engine: fix some warning issues
[FIX] Label: memory leak when using TTF labels
[FIX] Label: memory leak in FontFreeType::create
[FIX] Label: Non-TTF Label Shadow issue, make it follow Label opacity
[FIX] UI: RichText issue caused by Label when its string is very long
[FIX] UI: EditBox right padding error
[FIX] UI: win32 EditBox has wrong scale factor
[FIX] UI: TableView button click event not response when the button is a cell
[FIX] UI: correct bugs with cursor in TextField
[FIX] UI: Android EditBox use 'setSelection' error when the text beyond the border
[FIX] UI: iOS EditBox will penetrate the underlying UI event
[FIX] UI: use setTextColor for EditBox placeholder
[FIX] UI: returning UNKNOWN event for return type key SEARCH/SEND in EditBox
[FIX] UI: crash when call TextFieldTTF::setCursorFromPoint
[FIX] UI: ListView, avoid of type overflow while list size calculation
[FIX] Audio: miss return value of onWavClose function
[FIX] Audio: wrong header include in mp3reader.cpp, apple/AudioEngine-inl.h
[FIX] Audio: wrong status check in apple/AudioDecoder.mm
[FIX] Lua: should set listener to null when unregister spine event handler
[FIX] Lua: event condition bugs on ParticleTest.lua
[FIX] JSB: some memory leaks and crashes
[FIX] JSB: miss GetterSetter define for the placeHolder of TextField
[FIX] Web: out-of-date submodule commmit of cocos2d-html5 repo
[FIX] Web: bugs for Performance Test for Spine on WebGL
[FIX] iOS: fix bug about delayed creation UIWebView on iOS
[FIX] Andorid: infinite loop when counting text lines on Android in some situations
[FIX] Android: crash when network error message is too long
[FIX] Android: JniHelper no longer thread safe
[FIX] Android: proguard-rules.pro error for tests project
[FIX] Andorid: some violations about I/O operation on UI thread, which may lead to ANR
[FIX] Android: AppAcitivity is recreated which causes crash
[FIX] Android: Emulator blank screen 0x501 and 0x502 problems
[FIX] Android: Emulator stencil fix
[FIX] Android: Fix endian detection (node render order)
[FIX] Android: issue with not stable 60 fps
[FIX] Android: issue with accelerometer on Android on reverse landscape/portrait
[FIX] WinRT: fix keyBoard bug when input chinese
[FIX] cocos console: fix archive issue with Xcode 9
cocos2d-x-3.16 Oct.9 2017
[NEW] Add RadialGradientLayer
[NEW] Web: Add GLProgramState and upgrade web shader usage APIs
[REFINE] 3rd: use prebuilt bullet
[REFINE] CameraBackgroundBrush: use VAO/VBO to improve performance
[REFINE] Color4F: add arithmentic operators
[REFINE] LayerMultiplex: add `LayerMultiplex::switch(int, bool)` to not clean up previous layer after switching to a new layer
[REFINE] ListView: add padding options
[REFINE] FileUtils: add more async functions
[REFINE] ImageView: add `ImageView::setBlendFunc()` to change blend function
[REFINE] PageView: allow customizing opacity of indicator nodes
[REFINE] ParticleSystem: add `ParticleSystem::setSourcePositionCompatible(bool)` to set source position instead of position
[REFINE] RichText: image tag supports sprite frame
[REFINE] RichText: support horizontal alignment
[REFINE] ScrollView: add `ScrollView::setSwallowTouches(bool)`
[REFINE] ScrollView: dispatch more useful events and add more getters
[REFINE] Spine: support ETC1
[REFINE] WebView: can set opacity
[REFINE] Android: update to support Android Studio 2.3.3
[REFINE] Android: add `Cocos2dxActivity.setEnableVirtualButton(boolean)` to control whether the hide virtual button or not
[REFINE] iOS: more stable delta time between frames
[REFINE] Engine: fix many warning issues
[REFINE] Engine: exclude fps image in release mode
[REFINE] Engine: add function for calculating md5 hash from Data
[REFINE] Windows 10 metro mode, Windows Phone and Tizen are not supported
[REFINE] Web: Text wrapping supports more languages
[REFINE] Web: upgrade Spine to v3.5.35 and support Spine skeleton batching
[REFINE] Web: improve Editbox user experience
[REFINE] Web: improve screen adaptation for games inside iframe
[REFINE] Web: use imagePool to reduce image cache memory usage in WebGL mode
[REFINE] Web: ParticleSystem: Mark changeColor only if needed
[REFINE] Web: use default scheduler to control action manager
[REFINE] Web: remove accelerometer event listener by default
[REFINE] Web: use arraybuffer responseType in BinaryLoader
[FIX] Application: openURL() can not open URLs that have `&` character on linux
[FIX] Audio: may crash if play, stop frequently on Mac/Android
[FIX] Audio: may crash if switch to background with effect playing and switch to foreground again on Android
[FIX] Audio: may freeze app on iOS/Mac
[FIX] Audio: may crash if have multiple audio tracks running at the same time and frequently call `_play2d(AudioCache *cache, int audioID)` on iOS/Mac
[FIX] Audio: can not mute audio while a ring or a call is comming on Android
[FIX] Audio: audio loops get evently cut
[FIX] Button: scale9 effect may wrong
[FIX] Director: will dispatch `EVENT_BEFORE_DRAW` before drawing a frame
[FIX] Downloader: task may be suspend and not been executed on Android
[FIX] Downloader: may crash if downloading large file on iOS/Mac
[FIX] EditBox: may not show cursor and input text on Android
[FIX] EditBox: may not show any character when type on keyboard on Android
[FIX] EditBox: fix spacing and alignment on Windows
[FIX] EditBox: text is larger and mis-aligned on Android
[FIX] EventDispatcher: `pauseEventListenersForTarget()` can not work correctly if invoked in event callback
[FIX] FileUtils: `listFiles` and `listFilesRecursively` can not work correctly if the path include unicode charater on Windows
[FIX] FileUtils: getFileSize() always return -1 on Android
[FIX] FontAtlas: may cause crash when back from background on Android
[FIX] FontAtlas: memory leak in `FontAtlas::prepareLetterDefinitions()`
[FIX] HttpClient: may cause crash if used in non network environment on Android
[FIX] ImageView: scale9 effect may wrong
[FIX] Label: line height is reset when call `FontAtlasCache::purgeCachedData()`
[FIX] Label: memory leak in `Label::setFontAtlas()`
[FIX] Label: wrong effect of shrink overflow clamp on iOS
[FIX] Physics: crash if calling `PhysicsWorld::setDebugDrawMask(false)` right after `Scene::initWithPhysics()`
[FIX] Scheduler: can not work correctly if reschedule with same key in callback
[FIX] Sprite: `Sprite::setTexture()` will reset program state
[FIX] Studio: revert Studio reader and flatbuffer
[FIX] TextField: crash when text exceeds content with enabled cursor
[FIX] Transition: TransitionCrossFade is darker than it should
[FIX] Widget: wrong layout in scaled widget
[FIX] Android: app will crash at the first time launching by clicking app icon
[FIX] Android: compiling error built with Android Studio for x86
[FIX] Android: can not creat EGL context if the device doesn't support 24bit depth buffer
[FIX] Android: may stop response to touch event
[FIX] Android: can not use previous OBB file when APK version changed
[FIX] iOS: can not use cocos console compile and run in release mode on iOS with Xcode 8.3+
[FIX] iOS: FileUtils will cause compiling error on iOS 11
[FIX] Desktop: `GLViewImpl::getMonitorSize()` may return zero
[FIX] Apple: may crash if there are more than 10 touches
[FIX] JSB: add chipmunk binding for `cpSpace::segmentQuery()`
[FIX] JSB: XMLHTTPRequest memory leak if CC_ENABLE_GC_FOR_NATIVE_OBJECTS is enabled
[FIX] JSB: WebView doesn't support https
[FIX] Lua: export `cocos2d::utils::findChild()`
[FIX] Lua: LuaObjcBridge return wrong type when return type is bool
[FIX] Lua: will crash if lua file is encrypted and it has BOM header
[FIX] Lua: iskindof() return wrong result
[FIX] Lua: crash if run on iOS simulator with Xcode 8.0+
[FIX] Web: memory leak in action manager
[FIX] Web: local resources loading failed
[FIX] Web: infinite call stack in ArmatureWebGLRenderCmd
[FIX] Web: label stroke effect
[FIX] Web: ProgressTimer vertex is not updated when changing transform
[FIX] Web: DrawNode canvas displayedOpacity rendering
cocos2d-x-3.15.1 May.27 2017
[REFINE] Add optimization codes for huawei devices
cocos2d-x-3.15 Apr.21 2017
[NEW] Full support of Android Studio, can use Android Studio to edit, compile and debug C++ codes
[NEW] Audio Engine: use `tremolo` to decode audio files to be more adaptable to Android devices and improve performance on Android
[NEW] WebSockets and SocketIO supports SSL
[NEW] WebSockets: add methods to get url and server selected protocol
[NEW] Add `utils::getFileMD5Hash()`
[REFINE] EventDispatcher: use `std::stable_sort()` to sort nodes and listeners
[REFINE] FileUtils: add async version of common methods
[REFINE] Label: full unicode support
[REFINE] Renderer: enable VAO by default on Android
[REFINE] Renderer: use std::stable_sort() to sort commands
[REFINE] Scheduler: `unscheduleAll()` will unschedule selectors that scheduled with `performFunctionInCocosThread()`
[REFINE] SpriteFrameCache: avoid load frames if they are already loaded
[REFENE] Texfield: not use auto correction on iOS now
[REFINE] TextureCache: allow to unbind asynchronous texture loading callback with a custom key
[REFINE] WebSockets: each connection will create a virtual host
[REFINE] WebView: can clean cached data
[REFINE] WebSockets: allow self-assign certification
[REFINE] 3rd: update OpenSSL to v1.1.0
[REFINE] 3rd: update flatbuffer to v1.5
[REFINE] 3rd: Update Spine runtime to v3.5.35
[REFINE] Remove support for Windows 8.1 store and phone
[REFINE] Remove 32-bit linux support
[FIX] Action: spawn action may be invoked more times than specified
[FIX] Audio engine: can not play audios in the callback set in `AudioEngine::setFinishedCallback()` on iOS, Mac and win32
[FIX] Audio engine: crash if uncache audios in finish callback on Android
[FIX] Audio engine: crash if playing very small mp3 audios on Android
[FIX] Audio engine: may crash if repeat doing `play -> stop` on iOS and Mac
[FIX] Audio engine: play2d may still wait 2 seconds if preload is too fast
[FIX] Audio engine: preload many audios may cause crash on devices that use Samsung Exynos CPU
[FIX] Application: `openURL()` return wrong valueo on Linux
[FIX] Core: out scene's `onEnterTransitionDidFinish` is not triggered if using transition scene with `Director::runWithScene()`
[FIX] CheckBox: can receive touch up event that is released far from it
[FIX] Downloader: is not thread safe and may cause rondom crash on Android
[FIX] DrawNode: can't change opacity
[FIX] GLProgram: memory leak
[FIX] HttpClient: may crash on Android 4.2
[FIX] Label: ttf font line wrap
[FIX] Label: wrong effect if ttf font line gap is not 0
[FIX] Label: memory leak with ttf font
[FIX] Label: call `disableEffect()` many times will compress the label to one character
[FIX] Mesh: enable depth write by default
[FIX] Node: calling `reorderChild()` does not update touch lister with scene graph priority
[FIX] PageView: `getCurrentPageIndex()` returns -1 when created and haven't scrolled
[FIX] Physics2d: can not apply velocity to kinematic bodies
[FIX] Scheduler: an unscheduled selector may be invoked many times
[FIX] Scheduler: selector is not moved in time
[FIX] Simple Audio Engine: `unloadEffect()` doesn't work on Android 5.0.1 devices
[FIX] Simple Audio Engine: `ConcurrentModificationException`
[FIX] SokcetIO: use wrong default port for connection
[FIX] Sprite: texture and shader lost after restore from background on Android if using ETC1
[FIX] WebSockets: memory leak
[FIX] WebSockets: doesn't parse url correctly
[FIX] WebSockets: may crash in random
[FIX] Vec4: error logic of operator '<'
[FIX] Android: accelerometer uses wrong time accuracy
[FIX] iOS: may crashed if multiple OpenGL ES contexts coexist
[FIX] Windows: bad performance
[FIX] Windows: link error when compiling in release mode
[FIX] Lua: content after '\0' of a string is cut off when passing a string to C++ or vice versa
[FIX] Lua: lua_cocos2dx_Widget_addTouchEventListener crashed
[FIX] Lua: can not get binary data from file
[FIX] JSB: XMLHttpRequest supports notifying progression
[FIX] JSB: invoke `jsb.reflection.callStaticMethod` many times will cause `JNI max table=512` exception on Android
[FIX] Others: `download_deps.py` depends on git command
cocos2d-x-3.14.1 Jan.19 2017
[FIX] May crash if using `Scene::createWithPhysics()` to create a scene and physics3d camera is not set
[FIX] May have link error because of glfw conflict on Linux
[FIX] Sprite: created from sprite frame with polygon information can not work correctly
[FIX] Lua: link error with VS2015
[FIX] Lua: compiling error if using `cocos compile/run -p android --android-studio` on Android
coocs2d-x-3.14 Dec 22 2016
[NEW] Add Spine binary file format support
[NEW] Action: add a method to get the number of actions running in a given node with specific tag
[NEW] Action: new actions: ResizeBy and ResizeTo
[NEW] Button: can set title label
[NEW] Can disable multi touch on Android
[NEW] EventDispatcher: Add hasEventListener to check listener existance
[NEW] EditBox: add horizontal text alignment
[NEW] EventDispatcher: added `hasEvent()` to check if an event is added
[NEW] Sprite: support slice9 feature
[NEW] Slider: add methods to get _slidBallNormalRenderer
[NEW] Desktop: add a method to toggle between fullscreen and windowed
[NEW] Desktop: add events for window resize, focus and unfocus
[NEW] Mac: supports game controller
[NEW] JSB: add cc.sys.now() and perfromance.now(), the last one is more accurate
[NEW] Lua: add cc.vec3 functions: add, sub and dot
[NEW] Lua: use luajit 2.1.0-beta2
[NEW] Web: Add cc.CONCURRENCY_HTTP_REQUEST_COUNT to control max concurrent task count for XMLHttpRequest
[REFINE] Add NDEBUG for cpp template Xcode project
[REFINE] DrawNode: support float line width
[REFINE] EditBoxDelegate: add reason for edit end
[REFINE] Improve XML parse performance
[REFINE] Make batch capacity resizing more efficiently
[REFINE] PageView: support custom scrollToPage time
[REFINE] Lua: cc.Ray:intersects addtionally returns the distance
[REFINE] Mac: system font enhancement
[REFINE] Linux: build shared lib with -fPIC
[REFINE] Android: use SharedPreferences.apply() to store data
[REFINE] JSB: Increase default JS heap to 32 mb
[REFINE] JSB: Support more system languages
[REFINE] JSB: Direct log/error for better understantding problems
[REFINE] JSB: Separate FinalizeHook for ref objects and non ref objects
[REFINE] Web: Improve overall node construction performance
[REFINE] Web: Improve overall loading process performance
[REFINE] Web: Reduce overall memory usage
[REFINE] Web: Made cc.LabelBMFont and cc.LabelAtlas support texture packing and auto batching
[REFINE] Web: Reimplement a much faster ccui.Scale9Sprite
[REFINE] Web: Reimplement a much faster cc.DrawNode WebGL renderer
[REFINE] Web: Use stack to avoid recursive call in transform, onEnter, onExit etc, reduce call stack depth
[FIX] AsstsManagerEx: project.manifest may be downloaded twice
[FIX] AudioEngine: can not play large ogg file
[FIX] AudioEngine: may have noise if playing mp3 files on iOS/Mac OS X
[FIX] AudioEngine: can not play effect/music entirely on iOS and Mac
[FIX] ClippingNode: effect is wrong if threshold is set to a value not equal to 1 first then set to 1
[FIX] Compiling error if `USE_STD_UNORDERED_MAP == 0`
[FIX] ControlSwitch::create() may cause crash
[FIX] Downloader: may crash if it is released before finishing downloading task
[FIX] EditBox: fix single line and multiline text alighment, now single line will be center and multiline will be top align vertically by default
[FIX] EditBox: placeholder font not being set corretly for multiline text field on iOS
[FIX] EditBox: doesn't show text on Mac OS 10.12
[FIX] EditBox: multiline overflow bounds of box
[FIX] FastTilemap: wrong effect when content scale factor is not 1
[FIX] FontFreeType: crash in destructor
[FIX] ImageView: wrong effect of using loadtexture() to load a ETC1 texture with alpha support
[FIX] Label: wrong blending effect of outline
[FIX] Label: some labels may not been shown
[FIX] Label: may crash when label string is empty an the overflow is shrink
[FIX] Label: possible memory leak when font size is 0
[FIX] MenuItemSprite: MenuItemSprite::unselected() on a disabled item show wrong image
[FIX] Node: the effect of setRotation+setSkewX is wrong
[FIX] Physics3d: effect of debug draw is wrong
[FIX] Renderer: indices count may overflow when drawing batching triangle commands which causes unexpected effect
[FIX] RenderTexture: Sprite3D is not shown
[FIX] TileMap: hexagonal map fails on TMXTiledMap::getTileAt()
[FIX] TMXMapInfo: tileGid may overflow when using horizontal flip
[FIX] TriangleCommand: triangle commands can't do batching when the glprogram using custom shader with custom uniforms
[FIX] UI: label atlas and BMFont rendering issue with ETC1 texture format
[FIX] 3D: small .mtl files are not loaded
[FIX] 3D: Sprite3D::getMesh() may cause crash if it doesn't have any mesh
[FIX] 3D: wrong Skybox fov
[FIX] 3D: Sprite3D can't release its texture
[FIX] AssetsManagerEx: Fail to decompress when sub directory is not created
[FIX] ScrollView: crash of scroll to top or left
[FIX] SoketIO: memory leak
[FIX] iOS: Vibrate effect can not work in not silent mode
[FIX] iOS: view size got with landscape orientation if run on iOS 7 and ealier
[FIX] iOS: iOS 9 OpengGL error
[FIX] iOS: if a scene includes 3d model with light and ListView may cause crash
[FIX] Android: cause compiling error with android-19 or lower
[FIX] Android: RapidJason crashes in release mode
[FIX] Android: may not pause background music after game enters background
[FIX] Android: adapt to Android pixel
[FIX] Android: MessageBox inverted parames
[FIX] Android: cause deadlock if preload the same file more than 3 times in preload callback
[FIX] Android: WebView: base url can not work
[FIX] Android: may crash if `AudioEngineManager.getProperty(PROPERTY_OUTPUT_FRAMES_PER_BUFFER)` returns null
[FIX] Mac: Downloader can not access https website
[FIX] Win32: fix crash caused by `Helper::getSubStringOfUTF8String()` in debug mode
[FIX] Linux: FMOD issue
[FIX] Linux: Application::openURL can not work
[FIX] Desktop: crash upon exit when NotificationNode exists
[FIX] Spine: color bug
[FIX] Console: doesn't support `--ap` parameter
[FIX] Lua: result of radian2angle is wrong
[FIX] Lua: iskindof_ doesn't work correctly
[FIX] Lua: new lua project crashes compiling with VS2015 release mode
[FIX] Lua: ComponentLua doesn't support binary code
[FIX] JSB: `jsb.addRoot is not a function` error caused by cc.GLProgramState.setUniformCallback
[FIX] JSB: Fix spine TrackEntry conversion crash issue
[FIX] JSB: Fix CallbackWrapper and FunctionWrapper crash during deallocation in new memory model
[FIX] JSB: Fix event object memory issue by manually bind EventDispatcher::addCustomEventListener
[FIX] JSB: Fix chipmunk crash issues when using setDefaultCollisionHandler
[FIX] JSB: Fix compilation issues when COCOS_DEBUG = 2
[FIX] JSB: Unify function name of Texture2D::releaseTexture
[FIX] Web: Fix spine blend function inconsistency between web and jsb
[FIX] Web: Fix particle system load from plist generated by x-studio365
[FIX] Web: Fix doEnumerateRecursive(node, name, callback) always return undefined issue
[FIX] Web: Change bright style on 'setEnabled' call of ccui.Widget
[FIX] Web: Fix Editbox can't input in full screen mode
[FIX] Web: Fix texture issue on some Android devices by always set vertexAttribPointer
[FIX] Web: Make xhr ontimeout callback work on all browsers
[FIX] Web: Fix clear color not normalized issue
[FIX] Web: Fix clipping node rendering issue when alphaThreshold = 1
[FIX] Web: Fix nested scroll view rendering issue
[FIX] Web: Make orderDirty flag properly set for node
[FIX] Web: Fix ccui.Slider gray state not available issue
cocos2d-x-3.13.1 Sep 13 2016
[FIX] Label color broken
[FIX] application will crash in debug mode if don't specify a design resolution
[FIX] application may crash if coming from background by clicking application icon on Android
[FIX] AudioEngine can not play audio if the audio lies outside APK on Android
[FIX] AudioEngine::stop() will trigger `finish` callback on Android
[FIX] application will crash if using SimpleAudioEngine or new AudioEngine to play audio on Android 2.3.x
[FIX] object.setString() has not effect if passing a number on JSB
cocos2d-x-3.13 Aug 22 2016
[HIGHLIGHT] add VR plugin
[HIGHLIGHT] support ETC1 alpha channel
[HIGHLIGHT] fix AudioEngine performance for Android 4.2+
[HIGHLIGHT] improve canvas renderer performance with dirty region
[HIGHLIGHT] add Andorid arm-64 support
[HIGHLIGHT] use luajit for Android arm-64
[HIGHLIGHT] switch to use gcc 4.9
[HIGHLIGHT] upgrade CURL to 7.50.0
[HIGHLIGHT] upgrade Spine to 3.4
[HIGHLIGHT] upgrade glfw to 3.2
[NEW] add `Configuration::supportsMapBuffer()`
[NEW] support hexagonal tile maps
[NEW] add `ListView::setScrollDuration()`
[NEW] implement `SimpleAudioEngine::willPlayBackgroundMusic()` on Android
[NEW] implement `AudioEngine::preload()` on Android
[NEW] add `cc.Node['.classname']` to get class name for tolua C++ class in lua
[NEW] support direct load in web engine to show scene without loading all resources, resources will be loaded asynchronously
[NEW] add `cc.view.setOrientation` API to force orientation in web browser
[REFINE] move back to use gcc 4.9 on Android to fix some crash bugs
[REFINE] optimize Node sorting speed for 64-bit
[REFINE] using `chrono::steady_clock()` instread of gettimeofday for FPS calculation
[REFINE] use `fstat` instead of `fseek` and `ftell` for performance to read file content
[REFINE] use std::string reference instead of char* for `utils::findChild()`
[REFINE] make `MotionStreak` _maxPoints framerate independent
[REFINE] support utf-8 bom lua script
[REFINE] can show utf-8 characters in MessageBox and lua log on win32
[REFINE] improve stability of new WebGL renderer provided in v3.12
[REFINE] update js auto binding settings with new ndk version
[REFINE] improve evalString implementation which was rely on deprecated API
[REFINE] improve js bindings code quality by merging part of cocos2d-x-lite repo
[REFINE] sources path in sourcemap of web engine are now relative
[FIX] `GLProgram::link()` only check result in debug mode or WinRT
[FIX] PageView::clone() misses cloing some member variables
[FIX] potential crash of `AudioEngine::uncache()`
[FIX] websocket receives package size > 1023 error
[FIX] the color of underline is different from the text color
[FIX] memory leak in `MenuItemToggle::create()`
[FIX] crash after removing a physics body right after adding it
[FIX] SpriteBatchNode crash if CC_SPRITE_DEBUG_DRAW is enabled
[FIX] memory leak in `Data::move()`
[FIX] crash in `EaseExpoentialOut::clone()`
[FIX] buffer over-read in `GLProgram::updateUniformLocation()`
[FIX] `dirty` variable incorrectly reset with a multiple camera setup causing drawing issues on Sprite
[FIX] fix label text formatter right alignment
[FIX] `bsd_signal` link error on Android
[FIX] crash while decoding small MP3 file on Android
[FIX] `AppDelegate::applicationWillEnterForeground()` is invoked at launch on Android
[FIX] fix `relocation overflow in R_ARM_THM_CALL` on Android
[FIX] navigation bar doesn't hide if show and dismiss keyboard on Android
[FIX] `utils::getTimeInMilliseconds()` may return wrong value on Android
[FiX] link error that `bsd_sinal` is not defined if building with API level 21+ and uses libwebsockets on Android
[FIX] compiling error with Android 6.0(API 23)
[FIX] music is not resumed when app is reactived on iOS
[FIX] random crash in `alGenBuffers` at startup on iOS
[FIX] can not play audio if uncache and play audio many times on iOS
[FIX] `Text::create()` crash if it contains invalid string on iOS
[FIX] `FileUtils::removeDirectory()` can not work on all platforms except iOS and Mac
[FIX] can not compile cocos2d-x on Mac OS X 10.10 and lower
[FIX] new js project link error on linux
[FIX] AudioEngine can not play large ogg file on Windows
[FIX] design resolution broken after minimize on desk platforms
[FIX] can not get the `backClicked` in lua
[FIX] `cc.convertColor` issue in lua
[FIX] browser version detection
[FIX] compiling error with `cocos gen-libs`
[FIX] spine track entry can circle reference each other
[FIX] global object can leak during restart in JSB
[FIX] progress timer nested sprite can't change color in Canvas
[FIX] layout refresh issue in web engine
[FIX] dom element position synchronization issue in web engine
[FIX] armature position shake when parent node move in web engine
[FIX] rendering issue for Armature using sprite as display in bone in web engine
[FIX] Scale9Sprite GRAY state isn't correct in WebGL
[FIX] touch startPoint can be overwrote in web engine
[FIX] syncStatus transform dirty flag isn't resetting in web engine
cocos2d-x-3.12 Jul 06 2016
[HIGHLIGHT] add VR support
[HIGHLIGHT] add Tizen support
[HIGHLIGHT] fix Android performance issue
[HIGHLIGHT] Web engine performance improved in WebGL mode
[HIGHLIGHT] support obb extension on Android
[NEW] Core: add `utils::findChild()`
[NEW] Core: add CSV format support to tile maps
[NEW] Core: add `FileUtils::getContents()`
[NEW] Core: cocos2d::Value supports unsigned
[NEW] Particle: add feature to pause/resume particle emitter
[NEW] Platform: support Windows 10 UWP x64
[NEW] UI: add clamp and shrunk feature for system fonts, currently only support iOS, Android and Mac
[NEW] UI: make ListView select item programmatically
[NEW] UI: add `EditBox::InputFlag::LOWERCASE_ALL_CHARACTERS` to lowercase characters
[NEW] UI: add `setBounce()` to WebView
[NEW] Web: refactor TMXLayer renderers
[NEW] Web: can force orientation in mobile browser
[NEW] Web: support high resolution TTF Label on retina display
[REFINE] Android: use clang instead of gcc to compile codes
[REFINE] Android: hide virtual button by default
[REFINE] Android: set music volume control as default
[REFINE] Android: usage clang insteand of gcc to compile codes
[REFINE] Audio: catch `IllegalStateException` exception to avoid crash when playing background music with SimpleAudioEngine on Android
[REFINE] Core: fix many warnings
[REFINE] Core: move StringUtils functions from deprecated header file to ccUTF8.h
[REFINE] Core: FontFNT will ignore chars that exceeds 65535 and print a warning information
[REFINE] Core: `Node::ignoreAnchorPointForPosition()` is deprecated and add `Node::setIgnoreAnchorPointForPosition()`
[REFINE] Core: allow inherit from platform FileUitils
[REFINE] Core: add optional alpha parameter to Color4B and Color4F
[REFINE] Core: Follow action can accept horizontal and vertical offset
[REFINE] Core: TMXXMLParse parse `id` element
[REFINE] Lua: rename all member functions named `end()` to `endLua()`
[REFINE] JSB: make selectedSprite opitional in MenuItemSprite
[REFINE] JSB: return null if read failed in `js_cocos2dx_CCFileUtils_getDataFromFile()`
[REFINE] Template: iOS tempalte is refined to make cocos2d-x game scene work better with other UIView
[REFINE] Template: remove `build_native.sh`
[REFINE] Template: ARC support on iOS and Mac OS
[REFINE] UI: TTF and BMFont label wrap mode will automanytically changed to char wrap mode when label's width is less than word's boundary
[REFINE] UI: UIWidget adds missing properties for clone
[REFINE] UI: UIScrollBar caches the texture created with base64 encoded images
[REFINE] UI: EditBox now prints lowercase letters by default
[REFINE] UI: enable WebView's local storage on Android
[REFINE] UI: improve EditBox implementation on WinRT
[REFINE] UI: make PageView indicator more tunable
[REFINE] UI: make PageView page turning event time tweak configurable
[REFINE] UI: RichText is improved: add effect of outline, shadow and glow; catch the event of open url; ability to extend tags; add anchor of image tag
[REFINE] 3D: skeleton animation is more efficient when two animations switch frequently
[REFINE] 3rd party: update webp to 0.5.0
[REFINE] Web: improve basic types to reduce memory usage
[REFINE] Web: Show line number in console statements
[REFINE] Web: Cache base64 image of PageViewIndicator and ScrollViewBar
[REFINE] Web: Pass error in cc.AsyncPool in onEnd callback
[REFINE] Web: Separate ccui.ListView event callback from ccui.ScrollView for its own events
[FIX] Android: fix compiling error if using NDK r11+
[FIX] Android: package name is `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
[REFINE] web: Optimized resources automatic loading in JSON parser
[REFINE] web: Avoid cc.loader resource loading being terminated while encounter errors
[REFINE] web: Throw new Error object instead of error message string
[REFINE] web: Move setDepthTest to renderer
[REFINE] web: Added BlendFuncFrame parser
[REFINE] web: Permitted webp image loading on Chrome
[REFINE] web: Suspended the video player when the browser is minimized
[REFINE] framework: Optimized the lua & js templates
[REFINE] simulator: Made Node, Skeleton needs shown in the middle of the simulator window
[REFINE] Removed EMSCRIPTEN support
[REFINE] Added template project daily build in Jenkins-ci
[REFINE] Removed unused tool gen-prebuilt
[REFINE] Removed deprecated API in templates
[FIX] 3D: Fixed Effect3DOutline issue when the Sprite3D is mirrored
[FIX] 3D: Fixed issue that Sprite3D::getAABBRecursively does not get AABB of Nodes with Sprite3d children
[FIX] 3D: Fixed Menu unusable in 3D scene
[FIX] renderer: UI component can't click correctly by moving UI and camera far away of origin
[FIX] renderer: ListView in Camera with custom mask isn't visible
[FIX] renderer: Temporary fix for Sprite/Label/FastTMX auto-culling failure
[FIX] renderer: Fixed shader issue by reloading shader when light number changed
[FIX] Scheduler: Fixed timer's delta time is error when interval equals to zero
[FIX] Scheduler: Fixed Pause/Resume act incorrectly
[FIX] Scheduler: Fixed the callback will be executed multiple times if the value of delay parameter equal zero
[FIX] Node: Fixed issue that euler angle is NaN when update Euler angle from quaternion and asin value is not between -1 and 1 by accident
[FIX] Scene: Fixed bug that can't add custom member to Scene subclass
[FIX] Sprite: Fixed some warnings and a related bug in CCSprite
[FIX] AutoPolygon: Fixed copy construct & assignment operator memory leakage
[FIX] SpriteBatchNode: Touch screen might cause rendering order disorder when the screen have numerous sprites
[FIX] SpriteBatchNode: Fixed SpriteBatchNode doesn't support setFlipped
[FIX] event: Fixed EventDispatcher wrong dispatch order bug
[FIX] event: Fixed EventListenerKeyboard.onKeyPressed not firing for back button on Android
[FIX] FileUtils: Fixed bug that FileUtils::isDirectoryExist result is not correct on Android while using relative path in 'assets'
[FIX] Action: Fixed bug that CCTargetedAction executes callback twice
[FIX] audio: Fixed playing new audio after stopping an incessant(loop) audio may fail on MAC/iOS
[FIX] audio: Fixed bug that playing audio may fail(error code:-1) on iOS
[FIX] audio: Fixed AudioEngine possible crash on iOS/Mac while playing multiply audio
[FIX] Label: Fixed rendering LabelTTF characters as black boxes on Android by ensuring atlases are purged before resetting
[FIX] Label: Fixed bug that characters are displayed incorrectly with "dark roast.ttf" font
[FIX] Label: Fixed opacity setting is invalid with bitmap font
[FIX] Label: Fixed the color of letter will be overridden by fade action
[FIX] Label: Fixed Label with some specific font is cropped
[FIX] Label: Fixed the content size of Label is incorrect with GLOW effect
[FIX] Label: Fixed spaces is lost if label created with Fingerpop.ttf
[FIX] Label: Fixed Label::getLetter(index)->setVisible(true) cause rendering duplicate letters
[FIX] Label: Fixed Label::setGlobalZOrder invalid issue if label create with system font
[FIX] UI: Fixed issue that Slider::addEventListener doesn't respect the button pressed and button release event
[FIX] UI: Fixed bug that UI component can't be clicked correctly by moving UI and camera far away of origin
[FIX] UI: Fixed inertial scrolling for CCScrollView
[FIX] UI: Fixed bug that ListView::getCurSelectedIndex may cause out of range issue
[FIX] UI: Fixed PageView scrollToPage bug and the curPageIndex bug
[FIX] UI: Fixed game scene displays wrongly while clicking EditBox
[FIX] UI: Fixed RichText layout cause infinite loop issue
[FIX] UI: Fixed formarRenderers in RichText doesn’t update container size
[FIX] UI: Fixed TextField hitTest not working as expected issue
[FIX] UI: Fixed Widget::setHighlighted does not work after setBright
[FIX] UI: Fixed Button touch doesn't work with setScale9Enabled
[FIX] UI: Fixed calculation error of Layout viewing area's clipping position in SCISSOR mode
[FIX] UI: Fixed logic error in isMaxLengthEnabled handling invoked by TextField::setString
[FIX] UI: Fixed improper touch intercept event propagation in UI system
[FIX] UI: Fixed EditBox input maxLength for Chinese character issue on iOS
[FIX] UI: Fixed EditBox turning black when soft keyboard hiding
[FIX] UI: Fixed scrollview innerContainer initial position error
[FIX] UI: Fixed issue that Slider create function is not taking account of res type (TextureResType)
[FIX] Scale9Sprite: Fixed Scale9Sprite default capInset bug
[FIX] Scale9Sprite: Fixed issue that Scale9Sprite draw extra 1 pixel when creating from spritesheet
[FIX] studio: Removed "using namespace cocos2d" from CCFrame.h
[FIX] studio: Fixed the SkyBox display error while parsed from editor files
[FIX] studio: Fixed userCamera flag error while parsing old version exported files
[FIX] studio: Fixed GameNode3DReader parse failed error
[FIX] studio: Fixed crash when loading cocostudio json files with null or empty fontName
[FIX] studio: Fixed bug that setColor works on a whole armature, but not on an individual bone
[FIX] studio: Fixed object size error while data is error
[FIX] studio: Fixed issue that bone's color and opacity cannot cascade to bone
[FIX] studio: Fixed issue that bone can be see by other cameras
[FIX] ClippingNode: Removed CCClippingRectangleNode transform error support
[FIX] spine: Fixed the position of debug draw of bones is incorrect
[FIX] spine: Fixed memory leak caused by SkeletonRenderer::initialize
[FIX] network: Fixed Downloader::getHeader failure on win32
[FIX] AssetsManagerEx: Fix AssetsManager crash by protecting Downloader with shared_ptr
[FIX] RenderTexture: Fixed RenderTexture switch foreground to background issue
[FIX] Physics: Fixed circle shape debug draw incorrect issue
[FIX] Physics: Fix transform issue of PhysicsSprite itself and its children
[FIX] tilemap: Fixed small errors in the function TMXXMLParser::getRectForGID
[FIX] tilemap: Fixed crash caused by creating TMX object when related image file is missing or broken
[FIX] effect: Fixed PageTurn3D effect abnormal
[FIX] ProgressTimer: Fixed SpriteProgressToRadialMidpointChanged bug
[FIX] log: Fixed crash on Windows if passing string more than 16kb to cocos2d::log
[FIX] utils: Fixed utils::captureScreen bug while using multiple camera
[FIX] JS: Fixed issue of iOS/JS reflection `callStaticMethod` with bool arg
[FIX] JS: Fixed Objective-C JS reflection bug while using callStaticMethod() with bool argument
[FIX] JS: Fixed issue that subclass of ccui.Widget which overwrote onEnter will cause infinite recursion
[FIX] JS: Fixed Node color property can not be used issue
[FIX] JS: Fixed issue that SocketIO events don’t get fired when compile mode set to release
[FIX] JS: Added the conversion for tmxTileFlags to fix TMXLayer::tileFlagsAt binding issue
[FIX] JS: Fixed jsval_to_int and jsval_to_uint issue on 64 bit system
[FIX] Lua: Fixed onTouch begin don't return value
[FIX] Lua: Fixed memory leak in LuaMinXmlHttpRequest
[FIX] Lua: Fixed checkbox Lua bindings issue
[FIX] Lua: Fixed logic issue in cc.pIsSegmentIntersect
[FIX] platform: Fixed issue that getStringUTFChars can not passing emotion from java to c++ on Android
[FIX] platform: Fixed bug that paused game will be awaked by the Clock on Android
[FIX] platform: Fixed bug that Cocos2dxHelper won't be initialized after activity recreate
[FIX] platform: Fixed clipping node doesn't work on Android 5.0
[FIX] platform: Fixed blur shader compliant on win8 universal
[FIX] platform: Fixed the error when compiling android project with release mode on Windows
[FIX] platform: Fixed issue that depth/stencil buffers attributes are ignored on iOS
[FIX] platform: Fixed engine crash because of wrong initialisation on some android device
[FIX] platform: Removed unneeded protocol for AppController on iOS
[FIX] platform: Fixed link errors in release mode on win32
[FIX] platform: Fixed Windows 10 UWP and WP8.1 app certification issue
[FIX] platform: Fixed Android app occasionally freeze issue caused by Cocos2dxRenderer.nativeOnResume() is not called when the activity is resumed
[FIX] web: Fixed a bug that VideoPlayer remove event throw error
[FIX] web: Fixed Armature position error in studio JSON parser
[FIX] web: Fixed default clearColor error in director
[FIX] web: Fixed rotation value parsing error in the timeline parser
[FIX] web: Fixed a bug that nested animation may be affected by outer animation
[FIX] web: Made LabelAtlas ignoring invalid characters and updating correctly the content size
[FIX] web: Fixed a bug that VideoPlayer remove event throw error
[FIX] web: Fixed a bug that cc.director.setNotificationNode(null) doesn't take effect
[FIX] web: Fixed texture rect update issue while changing sprite frame
[FIX] web: Fixed effect issue in ActionGrid and NodeGrid
[FIX] web: Fixed logic issue in Menu's _onTouchCancelled function
[FIX] web: Fixed MenuItem crash when normal image is null
[FIX] web: Fixed CCTouch's startPoint unset issue
[FIX] web: Fixed incomplete fadeout effects
[FIX] web: Fixed issue that return value of cc.screen.fullScreen is not boolean
[FIX] web: Fixed a bug that SkeletonNode is not drawing children
[TEST] 3D: Avoid to trigger touch event multiple times in Physics3D Test and Physics3D Constraint Test
[TEST] 3D: Fixed Sprite3D test background to foreground bug
[TEST] renderer: Added auto culling test case
[TEST] renderer: Fixed material parsing test on wp8.1
[TEST] OpenGL: Fixed shader-basic and OpenGL testcase 'center' uniform error
[TEST] OpenGL: Fixed ShaderRetroEffect random crash issue
[TEST] OpenGL: Fixed offset on retina screen in shaderTest
[TEST] OpenGL: Fixed shader test crash on android device
[TEST] OpenGL: Fixed retro effect pos bug in ShaderTest
[TEST] UI: Improved UIScene testcase
[TEST] studio: Fixed cocostudio 3d test crash on mobile platform
[TEST] studio: Added blendfunc Frame test case for skeleton animation
[TEST] spine: Fixed bug that spine animition can't be rendered in Scene3DTest
[TEST] tilemap: Fixed the problem that white frame didn't move as map did in JSB TMXOrthoObjectsTest
[TEST] JS: Fixed Button position error in UIPageViewTest
[TEST] web: Rewrote testcase for stencil depth mask in RenderTextureTest
[TEST] web: Improved renderTexture stencilDepth test
[TEST] web: Fixed abnormal effects in effectsTest
[TEST] web: Fixed invisiable testcase of effects
cocos2d-x-3.7.1 August.12 2015
[HIGHLIGHT] studio: Added new skeleton animation support and csb parser for cocos v2.3.2 beta
[HIGHLIGHT] studio: Added new skeleton animation support and JSON parser in the web engine
[HIGHLIGHT] studio: Added Skybox csb/JSON parser for cocos v2.3.2 beta
[NEW] Node: Added getNodeToParentTransform with selected ancestor
[NEW] studio: Parsed Touch/Click/Event callback in JSON parser
[NEW] web: Added cc.director.setClearColor and support transparent background
[REFINE] Widget: Synchronize enable state and bright state for Widget
[REFINE] studio: Optimized JSON parser's performance by removing audio play
[REFINE] studio: Optimized editor related extension data to a component instead of hosting in _userObject
[REFINE] studio: Updated Game3DNodeReader & UserCameraReader
[REFINE] Label: Remove file error notice label from TextBMFontReader
[REFINE] JSB: Add firefox remote debugger support in JS templates
[REFINE] web: Improved color/opacity manipulations in MenuItems
[FIX] Scene: Fixed Scene can't be inherited with std::vector members
[FIX] Sprite: Fixed a compile error when CC_SPRITE_DEBUG_DRAW is on
[FIX] Label: Fixed creation fail if the font(TTF) contains a non-unicode charmap
[FIX] Label: Fixed LabelAtlas rendering error for invalid characters and characters out of boundaries
[FIX] Label: Fixed Mac system font crash issue
[FIX] platform: Fixed building with system prebuilt libs on Linux
[FIX] studio: Fixed ccs.Skin construction issue in JSON parser
[FIX] studio: Fixed Particle3d crash while reading file with error
[FIX] studio: Fixed parser crash when sprite 3d resource isn't correct
[FIX] UI: Fixed CheckBox issue that _isSelected state is updated after event processing callbacks
[FIX] JSB: Fixed JSON parser issue that 3d particle can not be displayed
[FIX] web: Fixed an issue that loading process won't trigger callback problem
[FIX] web: Fixed a bug where not resetting cc.Audio._ignoreEnded when replaying a sound caused it to stay in a "playing" state
[FIX] web: cc.ScrollView and cc.TableView: added check for parent visibility in onTouchBegan method
[FIX] web: Fixed TurnPageDown effect
[FIX] web: Fixed Cocos Studio parser issue that all elements are missing while the timeline action contains rotation
cocos2d-x-3.7final July.21 2015
[REFINE] JS: Improve manual binding code for `retain`, `release`, `onEnter`, `onExit`, `onEnterTransitionDidFinish` and `onExitTransitionDidStart`
[REFINE] web: Add compatible Uint16Array defintion
[FIX] Scale9Sprite: Fixed Scale9Sprite gray state issue while `setCapInsets` called
[FIX] studio: Fixed parser issue by checking texture existance
[FIX] studio: Fixed Armature parser issue
[FIX] JS: Fixed cleanup overriding issue in JS that it will cause `too much recursion` error
[FIX] web: Fixed url check regular expression not supporting localhost issue
[FIX] web: Fixed issue that sprite doesn't update texture rect correctly in some condition
cocos2d-x-3.7rc1 July.14 2015
[REFINE] framework: Used msbuild to generating engine prebuilt libs on win32.
[REFINE] 3d: Used shader with normal while creating mesh with normals
[REFINE] 3d: Set default 3d animation quality to low
[REFINE] web: Improved localStorage warning when disabled
[FIX] studio: Fixed percentage setting won't take effect when UISlider's background resource set to null
[FIX] studio: Fixed a bug that SingleNode's color isn't set
[FIX] studio: Fixed child nodes can't be rendered when particle and TiledMap as parent and their resource have been removed from disk
[FIX] studio: Fixed a bug of JSON parser that texture address is wrong
[FIX] studio: Fixed a bug that drawLine & drawPoints don't apply blend function in parser
[FIX] studio: Fixed a bug that check box front cross texture will expand to normal size when change status between normal and disable frequently
[FIX] studio: Fixed a bug that normal texture won't show when slider set to disable mode then clean slider ball disable texture
[FIX] 3d: Fixed obj loading failed on windows
[FIX] 3d: Fixed clipping node does not work for Sprite3D
[FIX] platform: Fixed js template run error on linux
[FIX] Tilemap: Fixed CCTMXXMLParser code negligence
[FIX] JS: Fixed constant value error for ccui.Layout.BACKGROUND_IMAGE_ZORDER
[FIX] JS: Fixed XMLHttpRequest can't be retain in JSB
[FIX] JS: Added cc.path.mainFileName
[FIX] JS: Fixed issue that override cleanup function in JS can't get invoked during node detaching
[FIX] JS: Fixed cc.loader notification issue with image asynchonous loading
[FIX] web: Fixed MenuItems' color/opacity setter issue with child nodes
[FIX] web: Fixed page view's layout issue for JSON parser
[FIX] web: Add ttc loader and prevent the pure digital fonts is invalid
[FIX] web: Fixed Float32Array initialization
[FIX] web: Fixed a bug that layout background is missing
[FIX] web: Fixed a bug that ObjectExtensionData miss setCustomProperty and getCustomProperty function
cocos2d-x-3.7rc0 July.1 2015
[HIGHLIGHT] core: Added Material system (JS/Lua ready)
[HIGHLIGHT] 3d: Added Physics3d support (JS/Lua ready)
[HIGHLIGHT] 3d: Added NavMesh support (JS/Lua ready)
[HIGHLIGHT] Scale9Sprite: Added Android 9-patch image support (JS/Lua ready)
[HIGHLIGHT] sprite: Supported polygon sprite with AutoPolygon generator (JS/Lua ready)
[HIGHLIGHT] platform: Added Windows 10.0 Universal App(UWP) support
[HIGHLIGHT] platform: Add Samsung Enhanced API on Android for cocos, please refer to the release note for more details
[HIGHLIGHT] C++: Added Android Studio support
[HIGHLIGHT] JS: Merged JSB and web engine into Cocos2d-x for a All-in-one engine
[HIGHLIGHT] JS: Added `ccui.VideoPlayer` and `ccui.WebView` for iOS/Android/Web
[HIGHLIGHT] console: Supported build & run Android Studio project with cocos console
[NEW] C++: Added ActionFloat
[NEW] C++: Supported physical keyboard on WinRT
[NEW] FileUtils: checked filename case characters on windows
[NEW] FileUitls: added supporting loading files that which file path include utf-8 characters
[NEW] PhysicsShape: added sensor property
[NEW] Sprite: used triangle command
[NEW] 3d: Added `getFarPlane` and `getNearPlane` in `Camera` class
[NEW] 3d: Added opengl version project/unproject function in camera
[NEW] ui: button add BMFont title support
[NEW] ui: TextField add `getTextColor`, `getTextHorizontalAlignment` and `getTextVerticalAlignment` API
[NEW] ui: Reduce memory consumption of a few UI widgets.
[NEW] audio: added support on WP8.1, now it supports wav format
[NEW] audio: Added MP3 support to winrt audio
[NEW] audio: Added OGG support to winrt audio
[NEW] 3rd: updated rapidjson to v1.0.2
[NEW] web: SIMD.js optimization for kazmath functions (from Intel)
[NEW] web: The json loader of Cocos Studio will automatically load dependencies resources
[NEW] Framework: Added Cocos Framework compilation script tool (used by Cocos)
[NEW] Simulator: Added Cocos Simulator project (used by Cocos)
[REFINE] core: Use quaternion instead of euler angle in `Camera::lookAt`
[REFINE] platform: Differentiated Windows Phone Application and Windows Store Application with `Application::getTargetPlatform`
[REFINE] platform: Improved UserDefault's robustness on Android, now the converting behavior is the same as iOS platform
[REFINE] platform: Added debug flag -Wextra to linux CMakeFile
[REFINE] audio: Permitted to play large ogg files on windows
[REFINE] ui: Use inch for childFocusCancelOffset in UIScrollView
[REFINE] 3d: Improved `Terrain::getIntersectionPoint` by calculating the intersection with triangles
[REFINE] Label: Improve rendering of letter's inner shapes when outline is used
[REFINE] console: Built engine with `LOCAL_ARM_MODE=arm` when building JS projects for android
[REFINE] web: Deleted the redundant variables defined and log informations in ccui.RichText
[REFINE] web: Allowed timeline animations with only one frame
[REFINE] web: Improved property declaration of cc.Texture2D
[FIX] core: Fixed `Director::setClearColor` has no effect bug
[FIX] platform: Fixed VideoPlayer on Android ignore search paths
[FIX] platform: Fixed crash while using s3tc on Nexus 9 (Android 5.0.1)
[FIX] platform: Fixed Application may be created more than once on Android
[FIX] platform: Fixed the Windows 8.1 Universal Apps crash when there is no audio device
[FIX] platform: Fixed android background and foreground switching bug with VertexAttributeBinding
[FIX] platform: Fixed warning "Service Intent must be explicit" on Android
[FIX] studio: Fixed ActionNode memory leaks
[FIX] studio: Fixed CocoLoader destructor memory release bug
[FIX] studio: Fixed cocos studio json reader's bug in percentage mode
[FIX] studio: Fixed rapidjson assert error in cocos studio module
[FIX] network: Win32 CURL doesn't support zlib
[FIX] network: Fixed memory leak of HttpClient on iOS and Mac platform
[FIX] audio: Fixed program may freeze if `AudioEngine::stop` or `AudioEngine::stopAll()` is invoked frequently on Android
[FIX] audio: Fixed a freezing crash in Windows 10 with the new audio engine when pressing stop after play
[FIX] audio: Fixed audio can't resume if it is interrupted by an incoming phone call
[FIX] audio: Fixed `SimpleAudioEngine::playEffect` lagged on Android 5.0.x
[FIX] audio: Fixed `SimpleAudioEngine` may cause application to crash on Android 5.0.x
[FIX] audio: Fixed thread safety problem on Android
[FIX] audio: Added guard to audio engine pointer in `SimpleAudioEngine::end`
[FIX] ui: Text scale factor is wrong with multiline text
[FIX] 3d: skybox can't move to other position except origin point in world space
[FIX] 3d: terrain can't move to other position except origin point in world space
[FIX] 3d: Fixed Terrain lod computing bugs
[FIX] 3d: Fixed clipping node not working for Sprite3D
[FIX] 3rd: Fixed PIE link error on iOS caused by libpng and libtiff
[FIX] 3rd: Fixed iOS libtiff 32bit header file error
[FIX] AssetsManager: crashed issue
[FIX] EaseRateAction: no way to create an `EaseRateAction` instance
[FIX] Label: Fixed compile error when enabling CC_ENABLE_BOX2D_INTEGRATION
[FIX] Label: crashed if invoking `setString(text` after `getLetter(letterIndex)` and `letterIndex` is greater than the length of text
[FIX] Label: position is wrong if label content is changed after invoking `getLetter(letterIndex)`
[FIX] Label: shadow effect cause OpenGL error on iOS
[FIX] Label: outline effect doesn't match characters well
[FIX] Label: Fixed system font label line height calculation is wrong on Android.
[FIX] Label: Fixed IllegalArgumentException on Android 2.3.x
[FIX] Label: Fixed line wrap error without space.
[FIX] Label: The texture of character have not cropped if character cross the axis-aligned bounding-box
[FIX] Label: Fixed the top of character's texture may be tailored if enable outline effect
[FIX] ProgressTimer: `setSprite()` doesn't take effect
[FIX] Sprite3D: setGLProgram() does not work
[FIX] Sprite3D: transition breaks when there is a Sprite3D in the scene
[FIX] Terrain: terrain is on top of particles, particles can not be seen
[FIX] TextureCache: unbindImageAsync failed to unbind all asynchronous callback for a specified bound image
[FIX] TileMap: crashed if a layer contains nothing
[FIX] WebView: memory leak on iOS
[FIX] WebView: Fixed crash on Android
[FIX] WebView: crashed if url contains illegal characters on Android
[FIX] Lua: luaLoadChunksFromZip should just remove .lua or .luac extension
[FIX] Lua: Added some skipped create functions for Sprite
[FIX] Lua: Fixed some lua test case bugs
[FIX] JS: Enabled touches support for Windows 8.1 platform
[FIX] JS: Fixed keyboard support for Windows Phone 8.1 platform
[FIX] web: Fixed positionType error of particle system in timeline parser
[FIX] web: Fixed setAnimationName issue while the property is undefined in timeline parser
[FIX] web: Fixed `cc.TMXObjectGroup#objectNamed` not returning the result bug
[FIX] web: Fixed TransitionSlideX callback sequence issue
[FIX] web: Fixed issue in music end event
[FIX] web: Fixed bug that LayerColor's color will disappear when update transform after being baked
[FIX] web: Fixed `inverse` function bug of `cc.math.Matrix4`
[FIX] web: Fixed the webaudio's invalid loop attribute bug for chrome 42
[FIX] web: Fixed crash when character not found into BMP font
[FIX] web: Fixed spine's js parser issue by avoid NaN duration
[FIX] web: Fixed LabelTTF multiline detection
[FIX] web: Fixed issue in ccui.Widget#getScale
[FIX] web: Fixed texture is not updated in some cases
[FIX] web: PlayMusic should not use the search path (timeline 2.x)
[FIX] web: Fixed bug of loading path of resources
[FIX] web: Premultiply texture's alpha for png by default to fix Cocos Studio render issues
[FIX] web: Fixed cache update issue of Layout after bake
[FIX] web: Fixed isBaked returning undefined issue
[FIX] web: Made CCProgressTimerCanvasRenderCmd to properly show colorized sprites
[FIX] web: Fixed attributes being reset issue while baked cache canvas' size changed
[FIX] web: Fixed texture does not rotate bug of ccui.LoadingBar
[FIX] web: Fixed color not being set issue in timeline parser
[FIX] web: Fixed custom easing animation bug
[FIX] web: Fixed return empty texture2d bug when adding image with same url multiple times
[FIX] web: Fixed actiontimeline can not step to last frame issue when loop play
[FIX] web: Fixed the prompt can not be used in iOS wechat 6.2
[FIX] web: Fixed restoring of sprite's color issue
[FIX] web: Fixed Uint8Array initialize issue
[FIX] web: Fixed cc.TextFieldTTF Delegate memory leaks
[FIX] web: Fixed sorted result is wrong in cc.eventManager (_sortEventListenersOfSceneGraphPriorityDes)
[FIX] web: Fixed BinaryLoader issue on IE11
[FIX] web: Fixed the sprite's texture bug when frequently change the color
[FIX] web: Fixed an issue that action will result in automatic termination
[FIX] web: Fixed ScrollView initWithViewSize issue
cocos2d-x-3.6 Apr.30 2015
[NEW] 3rd: update chipmunk to v 6.2.2 on Windows 8.1 Universal App
[NEW] 3rd: update freetype to v 2.5.5 on Windows 8.1 Universal App
[NEW] C++: Added SpritePolygon
[NEW] Label: added LabelEffect::ALL which can be used in disableEffect(LabelEffect) to disable all effects
[NEW] Lua-binding: binded ui:WebView and added corresponidng test case
[NEW] MathUtil: added `MathUtil::lerp()`
[NEW] UserDefault: added `UserDefault::setDelegate()`
[NEW] Vec2: added `Vec2::setZero()`
[NEW] Vec3: added `Vec3::lerp()`
[NEW] WP8: remove WP8 support because Angle don't support WP8 any more
[NEW] WP8.1: added back button support
[FIX] Animate3D: modify `Animate3D::setHighQuality()` Animate3D::setQuality(), add a new animation quality type none which means that will not update animation to the bone, it is useful when the Sprite3D is out of the screen, it can safe a lot of cpu time.
[FIX] AnimationCurve: memory leak
[FIX] Bundle3D: memory leak when failed to load file
[FIX] HttpClient: memory leak on iOS
[FIX] JNI: JNI illegal start byte error which causes crashing error on Android 5.0
[FIX] PUParticleSystem3D: refactoring create function using initWithXXX
[FIX] UI:VideoPlayer: crashed when playing streamed MP4 file on iOS
[FIX] VideoPlayer: can not play videos on Android v2.3.x
cocos2d-x-3.6beta0 Apr.14 2015
[NEW] 3rd: update Spine runtime to v2.1.25
[NEW] MotionStreak: add `MotionStreak::getStroke()` and `MotionStreak::setStroke()`
[NEW] Rect: added `Rect::intersectsCircle()`
[NEW] UI:Text: add `Text::disableEffect(LabelEffect)` to disable a specific effect
[FIX] 3rd: link error on VS2012 caused by libpng
[FIX] Label: position is wrong if it is visited by a new camera
[FIX] Particle3D: crash on clone
[FIX] Particle3D: "make local" now working correctly. "Make local" is a properties that toggles particle coordination between local and global.
[FIX] Particle3D: particle rotation now no longer stacks up on each other
[FIX] Particle3D: Ribbon Trail now positions correctly
[FIX] Physics: rigid body's rotation is wrong if it is attatched to a node which rotation is not 0
[FIX] Renderer: RenderQueue command buffer optimizing
[FIX] UI:Button: use too much memory
[FIX] UI:Text: content size is wrong after setting outline effect
cocos2d-x-3.6alpha0 Apr.8 2015
[NEW] 3D: added texturecube support
[NEW] 3D: added skybox support
[NEW] 3D: added node animation support
[NEW] 3D: added terrian support
[NEW] 3rd: updated libcurl to v7.4 on all supported platforms except WP8/WP8.1 universal
[NEW] 3rd: updated chipmunk to v6.2.2
[NEW] 3rd: updated openssl to v1.0.11
[NEW] 3rd: updated freetype to v2.5.5
[NEW] 3rd: updated png to v1.6.16 on all supported platforms except WP8/WP8.1 universal because it is not needed on these two platforms
[NEW] Animate3D: added `Animate3D::setHighQuality()` to set animation quality
[NEW] Label: added disableEffect()
[NEW] Lua-binding: used luajit arm64 version on iOS 64-bit devices
[NEW] Sprite3D: getAABBRecursively return own aabb combining childeren's
[NEW] Vec3: added `Vec3::add(float, float, float)` and `Vec3::setZero()`
[FIX] Audio: memory leak
[FIX] Audio: crashed on iOS 5.1.1
[FIX] C++: lag issue if `Director::setContentScaleFactor` is called frequently
[FIX] C++: CDT builder is enabled by default in cpp template on Android
[FIX] Label: shadow color is incorrect
[FIX] MenuItem: crash if `MenuItem::onExit` is called multiple times
[FIX] Particle3D: particles' rotation affect particle system's rotation
[FIX] Sprite3D: memory leak
[FIX] Vec3: use inline function to improve performance
[FIX] WebView: loadHTMLString() can not work if it is invoked in the same frame of creating a webview on iOS
cocos2d-x-3.5 Mar.23 2015
[NEW] EditBox: support Color4B
[FIX] AutoRelasePool: memory leak if adding an element into pool when releasing auto release pool
[FIX] EditBox: have a 100 bytes input limit on windows
[FIX] FileUtils: getWritablePath() does not return correct writable path on Mac & Windows
[FIX] HttpAsynConnection: can not get error content if response code less than 200 or response code greater or equal than 300
[FIX] HttpResponse: reference count error causes assert error
[FIX] Label: stroke color of system font is incorrect on iOS
cocos2d-x-3.5rc0 Mar.13 2015
[NEW] CocosStudio: add callback when loading a CSB file
[NEW] Particle3D: more Particle Universe features are supported, add observers and event handlers
[FIX] Billboard: fix bug on transparent Billboard because of transparent queue
[FIX] Bundle: bug that create bundle with empty path
[FIX] Camera: camera is detroyed unexpectedly when call removeAllChildren
[FIX] C++: use console in `build/build_native.sh`
[FIX] Label: position is wrong if it is visited by a new camera
[FIX] MotionStreak: can not work with MoveTo and MoveBy
[FIX] MoveTo: disable reverse() because it is meaningless
[FIX] Particle3D: to make path shorter, rename Particle Universe folder to PU, and files CCPUParticle3DXXX to CCPUXXX to fix compiling error on WP8
[FIX] Particle3D: `loadMaterialsFromSearchPaths` bug on linux platform
[FIX] Sprite3D: fix bug on transparent 3D Sprite because of transparent queue
cocos2d-x-3.5beta0 Feb.27 2015
[NEW] Added Particle3D
[NEW] C++: add Romanian language support
[FIX] Audio: audio can not resume if it is interrupted, and back from background
[FIX] Cocos Studio UI: setCameraMask does not work for the Cocos Studio UI
[FIX] C++: compiling error when using CC_USE_CULLING
[FIX] Label: texture size of string has unexpected padding on iOS 7 and upper version
[FIX] HttpClient: if the request data is started by a null character, it does not fill http body
[FIX] HttpClient: memory leak on iOS
[FIX] Sprite3D: `getAttachNode()` will fail when there is no bone with name
cocos2d-x-3.4 Jan.30 2015
[FIX] Animate3D: `setSpeed` has not effect if `Animate3D` is used in Sequence
[FIX] C++: will crash if built with armeabi-v7a enabled on Android devices that with armeabi-v7a architecture but doesn't support NEON instructions
[FIX] C++: may crash if VAO is not supported
[FIX] EditBox: content is not clipped correctly on windows
[FIX] GLProgram: will cause crash on some devices that don't support more than 8 atrributes
[FIX] HttpClient: not set response code when connecting failed on Android
[FIX] Label: alpha channel of text color of system font has not effect
[FIX] Label: use int for dimensions that will lose the precision
[FIX] Label: labels will become white block after resume from background on some Android devices, such as xiaomi3
[FIX] Label: improved parsing performance of bitmap font
[FIX] Label: can not display `&` if using system font on windows
[FIX] Lua-binding:studio-support: AnimationInfo is not binded
[FIX] New audio: not close file descriptor leads to that may causes game freeze if playing two many times(may be more than 1000) on Android
[FIX] Node: anchor point has not effect to rotation, it always rotate along (0, 0)
[FIX] Physics integration: Scale9Sprite can't run `Move` action and `Scale` action if used physical scene
[FIX] SpriteFrameCache: `addSpriteFramesWithFil`e may crash if plist file doesn't exist
[FIX] Sprite3D: material files (.mtl) are not loaded for any object when creating from an .obj file
[FIX] UI::ImageView: rendered content size is wrong if `ignoreSize` is true and `Scale9` is not enabled
[FIX] UI::Slider: when scale9 is enabled, the progress bar's rendering height is wrong
[FIX] UI:Scale9Sprite: some position information will be lost when toggling `Scale9` state
[FIX] UI::TextField: will get wrong event message if clicking `TextField` twice
[FIX] UI::TextField: result of `getContentSize` is wrong if it is invoked in insert or delete event callback
[FIX] UI::WebView: base URL can not work
cocos2d-x-3.4rc1 Jan.15 2015
[NEW] C++: added CC_USE_CULLING macro to control if enable auto culling or not
[NEW] FileUtils::fullPathForFilename will return empty string when file can not be found
[NEW] VertexBuffer&IndexBuffer: allow setting usage(GL_STATIC_DRAW or GL_DYNAMIC_DRAW) in create method
[NEW] Renderer: 3D rendering support for 2d objects
[FIX] DrawNode: fix random crash because of init opengl buffer wrongly
[FIX] DrawNode: drawPoints() can not set ponit size
[FIX] EventDispatcher: crash if adding/removing event listeners and dispatching event in event callback function
[FIX] GLProgramState: may cause GL_INVALID_VALUE error at start up on Android
[FIX] LUA: 0x80000000 can not be converted by lua_tonumber correctly on some devices
[FIX] PhysicsBody: can't get correct position in the same frame of adding PhysicsBody to PhysicsWorld
[FIX] UI: fix crash when navigation controller is null
cocos2d-x-3.4rc0 Jan.9 2015
[NEW] 3rd: update libcurl to v7.39
[NEW] 3rd: update luajit to v2.0.3
[FIX] C++: crash when run clang static analyzer in Xcode
[FIX] DrawNode: can not set color when DrawPoints, wrong behavior of drawRect
[FIX] FileUtils: getData() can't get data from file when file was using by other application on windows
[FIX] FileUtils: getData() will cause memory leak if file size is 0 on windows
[FIX] GLProgram: when there is a shader compile error in shader, it will crash on windows
[FIX] GLProgramState: Assert error because uniforms and attribute is not refreshed when come to foreground on android
[FIX] HttpClient: http requests will be lost in immediately mode on iOS
[FIX] JumpTo: can not be applied more than once
[FIX] Label: may cause infinite loop if using system font on Android
[FIX] Particle: GL_INVALID_OPERATION error because VAO and VBOs is not reset when come to foreground on android
[FIX] Physics integration: physics body is not still after disabling gravitational force by PhysicsBody::setGravityEnable()
[FIX] Sprite3DTest: Sprite3DUVAnimationTest, Sprite3DFakeShadowTest, Sprite3DLightMapTest, Sprite3DBasicToonShaderTest will crash on android when switch to foreground from background
[FIX] Template: multiple dex files define error on Android if using Eclipse to build new generated application
[FIX] VideoPlayer: can not play video if passing path returned from FileUtils::fullPathForFilename() on Android
[FIX] WP8: compiling error on ARM architecture
cocos2d-x-3.4beta0 Dec.31 2014
[NEW] 3D: support frustum culling
[NEW] Action: MoveTo and MoveBy support Vec3
[NEW] Allocator: add custom allocator support, global, default, fixed block, object pool
[NEW] Application: added Turkish and Ukrainian language support
[NEW] UI:LoadingBar: add TextureResType to LoadingBar's create method
[NEW] Director: add setClearColor() to set clear values for the color buffers
[NEW] Node: rotation representation using quaternion
[NEW] UI: Added new layout functionality for Cocos Studio, keeps widget margins a fixed set and adjusts the widget size according to the margins.
[NEW] UI: Add gray shader to ui::Button, ui::CheckBox and ui::Slider when the disable state resources are not provided
[NEW] UI: Modify the default behavior when ui::Button, ui::CheckBox and ui::Slider's selected state resources are not provided, the new behavior is scale the normal state texture when the selected state texture are missing.
[NEW] 3rd party libraries: Add prebuilt version of libcurl to Mac and upgrade iOS,Android,Mac and Win32 libcurl to 7.39.0.
[NEW] Replace network module implementation from libcurl to system network API on IOS and Android
[FIX] ui::Button: fix setTitleColor calls method setColor instead of setTextColor of title label.
[FIX] AssetsManagerEx: Fix assetManager can't download file on Win32
[FIX] FileUtils: WebP format with alpha channel displayed wrong
[FIX] Label: content size of Label is incorrect if the string is set to empty string
[FIX] GLProgramState: fix assert error caused by outdated uniform and attribute cache
cocos2d-x-3.3 Dec.12 2014
[FIX] Billboard: allow billboard rotate along z axis
[FIX] Bundle3D: create aabb for mesh whose aabb does not exist (user custom mesh)
[FIX] EditBox: text position and move animation error on iPhone6 Plus
[FIX] FileUtils: createDirectory(): doesn't invoke closedir() after opendir on platforms other than WP8/WinRT/Windows
cocos2d-x-3.3-rc2 Dec.5 2014
[FIX] C++: use 100% of one core on Windows
[FIX] Label: when a label is added to a invisible parent node, app will crash if switching from background
[FIX] Label: label will not be shown when using system font on Mac
[FIX] Studio reader: replace protocol buffer with flatbuffer
cocos2d-x-3.3-rc1 Nov.29 2014
[NEW] Vec2: added greater than operator
[NEW] Tools: Updated cocos console to v1.4 (from 1.2)
[NEW] WP8: Win8.1 universal app support
[FIX] Audio: `SimpleAudioEngine::sharedEngine()->playBackgroundMusic()` crashed freezen on Lollipop(Android5.0)
[FIX] Button: when the dimension of button title is larger than the button, button will scale to fit the dimension of the button title
[FIX] Button: when the dimension of button title is larger than the button, button will scale to fit the dimension of the button title
[FIX] Camera: does not work correctly when the up is not (0, 1, 0)
[FIX] Director: Uses a low-pass filter to diplay the FPS
[FIX] DrawNode: drawPoint() may cause crash
[FIX] EventKeyboard: can not check right Shift, right Ctrl and right ALT
[FIX] GLProgramCache: doesn't release old program with the same key before adding a new one
[FIX] GLProgramState: enabled GLProgramState restoring on render recreated on WP8
[FIX] Label: label shifting when outline feature enabled
[FIX] Label: when applying additionalKerning to a Label that displays a string with only 1 character, the character is shifted
[FIX] Label: display incompletely with multiline text with outline feature enabled
[FIX] Label: crash if using BMFont but missing corresponding png file
[FIX] Lua: logical error in luaval_to_quaternion
[FIX] New audio: can not loop on Android 2.3.x
[FIX] Random: CCRANDOM_0_1() and CCRANDOM_MINUS_1_1() can be seeded using std::srand(seed)
[FIX] Scale9Sprite: will be flipped if both flipX and flipY are false
[FIX] Scale9Sprite: if scale and flip property are set at the same time, the result would be wrong
[FIX] Scene: setScale() doesn't work as expected
[FIX] Sprite3D: did not create attached sprite from cache
[FIX] Tests: Sprite Performance Test automation works as expected
[FIX] UI: Text: invoke ignoreContentAdatpSize(false) will cause wrong effect
[FIX] VideoPlayer: showed in wrong place on Android v2.3.x
[FIX] WebView: showed in wrong place on Android v2.3.x
[FIX] WP: back key behaviour and Director::getInstance()->end() works not correctly
[FIX] Lua-binding: XmlHttpRequest would truncate binary data
cocos2d-x-3.3-rc0 Oct.21 2014
[NEW] 3d: added light support: direction light, point light, spot light and ambient light
[NEW] Added ClippingRectangleNode
[NEW] Added AssetsManagerEx, which is more powerful than AssetsManager
[NEW] Added a test case of sprite lamp effect
[NEW] Animate3D: can create with start frame and end frame
[NEW] Audio: new audio supports Mac OS X and Windows
[NEW] Application: added openUrl()
[NEW] Armature: added getOffsetPoints()
[NEW] Lua-binding: added Camera3DTest ,BillBoradTest
[NEW] Node: schedule/unschedule lambda functions
[NEW] Rect: added merge()
[NEW] Spine: update to 2.0.18
[NEW] TileMap: added staggered tile map support
[NEW] Utils: added getCascadeBoundingBox()
[NEW] WP8: enabled screen orientation change handling
[FIX] Accelerometer: using Accelerometer will freeze app and then crash on WP8
[FIX] Application: getCurrentLanguageCode() always return empty string
[FIX] Action: kRepeatForever macro superseded by CC_REPEAT_FOREVER macro
[FIX] C++: remove armv7s in VALID_ARCHS for Xcode projects
[FIX] Cocos Studio reader: UI animation playing crash if GUI JSON file is loaded again
[FIX] Cocos Studio reader: improvement ImageViewReader don't necessary loadTexture when imageFilePath is empty
[FIX] EditBox: view rendered in wrong position if click EditBox on iOS 8
[FIX] FileUtils: can not remove files/directory on iOS devices
[FIX] GLProgram: crashed on some Android devices that do not support more than 8 attributes
[FIX] Label: getStringNumLines() may returns wrong result if label is dirty
[FIX] Label: can not change opacity if using FNT font
[FIX] Label: endless loop if not using system font, and constrained length is less than one character width
[FIX] LabelAtlas: opacity do not change when setting parent's opacity
[FIX] Lua-bindings: may crash if passing two-dimensional table from lua to c++
[FIX] New audio: can not play audio after playing some times on Android
[FIX] Node: macro scheduler_selector() superseded by CC_SCHEDULER_SELECTOR(). The same is true for the other schedule_ macros
[FIX] Node: unscheduleAllSelectors() deprecated in favor of unscheudleAllCallbacks()
[FIX] Node: crashed if remove/add child too quickly when using integrated physics
[FIX] TextFieldTTF: will get wrong characters if using Chinese input method on WP8
[FIX] TextureCache: memory leak in reloadTexture()
[FIX] UI: Button: button remains gray when releasing it, this issue only happened if enable scale9 and only has one texture
[FIX] UI: Button: when creating a button with a title only, button content size is not immediately updated
[FIX] UI: EditBox: setMaxLength is invalid on mac
cocos2d-x-3.3-beta0 Sep.20 2014
[NEW] 3d: added `BillBoard`
[NEW] ActionManager: added removeAllActionsByTag()
[NEW] Audio: added new audio system for iOS and Android
[FIX] DrawNode: has as many functions as `DrawPrimitive`
[NEW] GLViewProtocol: added getAllTouches()
[NEW] Node: added stopAllActionsByTag()
[NEW] PhysicsWorld: add setSubsteps() and getSubsteps()
[NEW] Renderer: added TriangleCommand
[NEW] UI: added `WebView` on iOS and Android
[FIX] C++: CMake works for Mac builds
[FIX] C++: Reorganized cocos2d/platform folder. Easier to add new platforms
[FIX] EditBox: moved to ui:EditBox
[FIX] External: ScrollView: scroll view hidden picks up the touch events
[FIX] FastTileMap: change indices to short because not all devices support int indices which will prevent drawing tilemap
[FIX] FileUtils: can not create and delete directory on wp8
[FIX] HttpClient: condition variable sleep on unrelated mutex
[FIX] Image: optimize decompress jpg data
[FIX] Label: outline effect may be wrong if outline width is big and font size is big too
[FIX] MenuItem: memory leak if using menu_selector
[FIX] MeshCommand: generate wrong meterial id which will cause problem that only first mesh is drawn
[FIX] Node: create unneeded temple `Vec2` object in `setPosition(int, int)`, `setPositionX()` and `setPositionY()`
[FIX] Node: skew effect is wrong
[FIX] Node: setNormalizedPosition can not take effect if parent position is not changed
[FIX] TextureAtlas: may crash if only drawing part of it
[FIX] UI: Button: a button can not be touched if it only contains title
[FIX] UI: Button: title can not be scaled if a button is scaled
cocos2d-x-3.3alpha0 Aug.28 2014
[NEW] 3D: Added Camera, AABB, OBB and Ray
[NEW] 3D: Added better reskin model support
[NEW] Core: c++11 random support
[NEW] Core: Using `(std::notrow)` for all the `new` statements
[NEW] Desktop: Added support for applicationDidEnterBackground / applicationWillEnterForeground on desktop
[NEW] Device: added setKeepScreenOn() for iOS and Android
[NEW] EventMouse: support getDelta, getDeltaX, getDeltaY functions
[NEW] FileUtils: add isDirectoryExist(), createDirectory(), removeDirectory(), removeFile(), renameFile(), getFileSize()
[NEW] FileUtilsApple: allow setting bundle to use in file utils on iOS and Mac OS X
[NEW] Image: support of software PVRTC v1 decompression
[NEW] Lua-binding: added release_print that can print log even in release mode
[NEW] Physics Integration: can invoke update in demand
[NEW] Renderer: Added primitive and render primitive command, support passing point, line and triangle data
[NEW] Renderer: Added method for custom precompiled shader program loading on WP8
[NEW] Renderer: Added consistent way to set GL context attributes
[NEW] RenderTexture: add a call back function for saveToFile()
[NEW] RotateTo: added 3D rotation support
[NEW] ScrollView: added `setMinScale()` and `setMaxScale()`
[NEW] Sprite3D: added setCullFace() and setCullFaceEnabled()
[NEW] Sprite3D: added getBoundingBox() and getAABB()
[NEW] SpriteFrameCache: load from plist file content data
[NEW] utils: added gettime()
[NEW] UI: Added UIScale9Sprite
[NEW] UI: ui::Button: support customize how much zoom scale is when pressing a button
[NEW] UI: ui::PageView: added `customScrollThreshold`, could determine the swipe distance to trigger a PageView scroll event
[NEW] UI: ui::TextField: support utf8
[NEW] UI: ui::TextField: support set color and placeholder color
[NEW] UI: ui::Widget: support swallowing touch events
[NEW] Text: added getter and setter for TextColor
[FIX] EditBox: font size is not scaled when GLview is scaled on Mac OS X
[FIX] EditBox: began/end events not work
[FIX] Label: can not set charmap after it is created
[FIX] Label: setTextColor does not have any effect on Mac OS X
[FIX] Label: result of LabelTTF::getBoundingBox() is wrong
[FIX] Label: can not set outline color correctly if using system font on iOS
[FIX] Label: character edge will be cut a little if character size is small
[FIX] LabelBMFont: result of LabelBMFont::getBoundingBox() is wrong
[FIX] ListView: can not insert an item in specific position, it is added at bottom
[FIX] LoadingBar: position is changed if changing direction
[FIX] ParticleSystem: effect is wrong if scene scaled
[FIX] ParticleSystemQuad: setTotalParticles() can't set a value larger than initialized value
[FIX] PhysicsBody: return wrong bitmask
[FIX] Scale9Sprite: new added sprite will be hidden
[FIX] Slider: if the UISlider is faded, the slide ball won't fade together
[FIX] Sprite: will turn black if opacity is set other than 255 and be added into SpriteBatchNode
[FIX] TableView: can handle touch event though its parents are invisible
[FIX] TextField: can not use backspace to delete a character
[FIX] Widget: may crash if remove itself in touch call back function
[FIX] Widget: not support cascaded opacity and cascaded color by default
[FIX] VideoPlayer: memory leak on iOS
[FIX] VideoPlayer: video frame size is not calculated correctly on iOS
[FIX] VideoPlayer: video player not showing on iOS if it's not in FullScreen mode
[FIX] Others: can not import java library shift by engine correctly when using Eclispe on Android
[FIX] Others: optimize FPS control algorithm on Android
[FIX] Lua-binding: replace dynamic_cast to std::is_base_of in object_to_luaval
[3rd] fbx-conv: complex FBX model support which is useful for reskin, multiple meshes and multiple materials support
cocos2d-x-3.2 Jul.17 2014
[NEW] Node: added getChildByName method for get a node that can be cast to Type T
[NEW] FileUtils: could add search path and resolution order path in front
[FIX] Animation3D: getOrCreate is deprecated and replaced with Animation3D::create
[FIX] Animate3D: setSpeed() accept negative value, which means play reverse, getPlayback and setPlayBack are deprecated
[FIX] EditBox: can not set/get text in password mode on Mac OS X
[FIX] Game Controller: joystick y value inversed on iOS
[FIX] GLView: cursor position is not correct if design resolution is different from device resolution
[FIX] Label: color can not be set correctly if using system font on iOS
[FIX] LabelTTF: may lost chinese characters on linux
[FIX] Lua-binding: support UIVideoPlayer
[FIX] Node: setRotation3D not work based on anchor point
[FIX] Node: modify regular of enumerateChildren, now it just searchs its children
[FIX] Physics integration: body shape will be wrong when using negative value to scale
[FIX] ScrollViewDelegate: make the scrollView delegate methods optional
[FIX] Setup.py: will crash on windows because of checking `zsh`
[FIX] SpriteBatchNode: opacity can not work
[FIX] Sprite3D: may crash on Android if playing animation and replace Scene after come from background
[FIX] UIwidget: opacity is wrong when replace texture
[FIX] UIRichText: will crash when using utf8 string and the length exceed specified length
[FIX] UIText: can not wrap words automatically
[FIX] UITextField: keyboard can not hide if touching space outside of keyboard
[FIX] UITextField: can not wrap words automatically
[FIX] UIVideoPlayer: can not exit full screen mode on Android
[FIX] Others: don't release singleton objects correctly that are needed in the whole game, which will be treated
as memory leak when using VLD.
[FIX] Others: compiling error when building for iOS 64-bit devices with Xcode6 beta3
cocos2d-x-3.2rc0 Jul.7 2014
[NEW] FastTMXTiledMap: added fast tmx, which is much more faster for static tiled map
[NEW] GLProgramState: can use uniform location to get/set uniform values
[NEW] HttpClient: added sendImmediate()
[NEW] Label: support setting line height and additional kerning of label that not using system font
[NEW] Lua-binding: Animation3D supported
[NEW] Lua-binding: UIEditor test cases added
[NEW] Lua-binding: UI focus test cases added
[NEW] Node: added getName(), setName(), getChildByName(), enumerateChildren()
and addChild(Node* node, int localZOrder, const std::string &name)
[NEW] Node: physical body supports rotation
[NEW] Sprite3D: support c3b binary format
[NEW] utils: added findChildren() to find all children by name
[NEW] Value: added operator == !=
[FIX] Armature: blend func has no effect
[FIX] Armature: crashed when remove armature in frame event
[FIX] Animation3D: doesn't load original pose, which leads to wrong effect if not playing animation
[FIX] Animation3D: animation for unskined bones lost
[FIX] FileUtils: getStringFromFile may return a unterminated string
[FIX] Lua-binding: Sequence:create will cause drop-dead issue
[FIX] Lua-binding: lua-tests 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