aboutsummaryrefslogtreecommitdiffstats
path: root/NEWS
blob: cadd70db475cdbe8a1016263a65480eb5dcd0865 (plain) (blame)
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
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
==========
EFL 1.17.0
==========

Changes since 1.16.0:
---------------------

Features:

   * eina: add eina_tmpstr_manage_new, eina_tmpstr_manage_new_length APIs
   * eina: add API eina_strftime
   * Edje: Directly embed TGV files inside EDJ when possible
   * eolian: add eolian_type_aliased_base_get
   * Evas object: Add paragraph_direciton APIs
   * Evas textblock: add support for hyphenation wrap style
   * cmake: Add a helper script which defines generator rules for eo files
   * evas: Add ExtraLight, ExtraBold for font weight.
   * Evil: add support for LC_MESSAGES for setlocale()
   * ecore_win32: add clipboard management
   * ecore_win32: add support of X11 shaped cursors
   * ecore_cocoa: add support for system cursors
   * Ector: Implement pixel buffer support
   * ecore_cocoa: add support for system cursors
   * ecore: Add a new wayland module (T2842, T2841)
   * eina: Adding API for base64 decode.
   * edje: introduce size_class attribute
   * Static deps unibreak: Update to latest version.
   * edje_callbacks: Add mouse,pressed,in/out signal.
   * efl-js: JavaScript Eolian binding
   * edje: add text_classes syntax to EDC (T2900)
   * Add a new Ecore_Drm API for setting left-handed mouse
   * edje_embryo: add printf feature.
   * ecore-drm: Add a new API for keymap cache
   * Evas_Engine: add TBM surface and clean up Native Struct

Fixes:

   * eina: fix computation of sqrt near 1.
   * efl: fix build out of tree
   * Evas: Allow edje_decc to work with ETC images
   * edje: initialize map.zoom values to fix old *.edj compatibility issues.
   * Evas sw_generic/x11: Fix calls to native_bind_cb/unbind_cb
   * edje - signal match code - clean up function readablity and fix crash
   * ecore_con: remove last occurence of EMILE_SSLv3
   * efl: Fix configure help message for cserve
   * efl: Fix configure help message for multisense
   * ecore-evas wayland: use correct values when updating wayland window size
   * ecore-evas drm: null global device pointer after free (T2844)
   * Evas GL: Fix BadMatch with pbuffer make current
   * Evas GL: Remove invalid call inside make current pbuffer
   * ector: disable NEON build. (T2851)
   * Evas language: Fix language from locale function.
   * evas-gl: Remove extra parentheses
   * evas-software-x11: Fix returning NULL pointer
   * evas-software-x11: Fix resource leak (CID1339782)
   * ector: Fix incorrect expression (CID1339786)
   * ecore-evas-wl: Fix issue of improper window geometry (T2842)
   * ecore-drm: Don't send mouse_move event too early
   * ecore-evas-drm: Send fake mouse_move event after registering (T2854)
   * ecore-wayland: Make ecore_wl_window_maximized_get return proper values
   * evas-gl_drm: Remove set but unused variable
   * ecore-evas wayland: enforce frame/state change triggering before move/resize (T2841)
   * ecore-wayland: return only the relevant state value for maximize/fullscreen
   * ecore-wayland: rewrite maximize/fullscreen set functions for consistency (T2841)
   * Edje: Fix Evas 3D eet data descriptors
   * Evas text: Fix memory leak
   * ecore-wayland: Add EINA_SAFETY checks to window functions
   * ecore-wayland: Fix iconified functions for consistency
   * ecore-wayland: Reduce overhead for maximize/fullscreen set functions
   * [eolian_gen] remove documentation for removed argument.
   * evas: fix unreachable code in _generate_unic_color_key function in Evas.Canvas3D.
   * evas: fix possible accsess to NULL pointer in Evas.Canvas3d.
   * evas: fix uninitialize variable in convex_hull_vertex_set function
   * evas: remove useless part of code in evas_convex_hull_get function
   * ector: fix the rounding issue when applying transformation to shape data in freetype backend.
   * efreet_icon: Fix wrong inherit selection
   * edje entry: return correct selection
   * evas-3d: Fix missing field initializers
   * Evas: use LC_MESSAGES on Windows to fix compilation
   * eina: fix missing header
   * ecore_file: fix ecore_file_file_get() on Windows
   * ecore_cocoa: don't track NSAppKitDefined event
   * ecore_cocoa: fix live resize of windows
   * evas: fix a NULL dereference issue in font.
   * efl: fix build failure when it builds with coverage.
   * edje cc fix - we parsed floats not intsfor min and max desc size
   * Evas Textblock: Fix text disappear issue when text is made up with multiple items. (T2709)
   * efreet desktop tracking - fix monitoring of dirs of custom desktops
   * fix efreetd to scan more subdirs for desktop and icon files
   * Evas textblock: fix height on line wrapping (T1583)
   * ecore_evas: fix disappearing socket image
   * edje: fix edje RTL description in case of custom state of a part
   * evas: rewrite gl image transformation logic in a very simple way
   * edje_entry: Fix crash on selection (T2910)
   * Edje entry: Use markup text for password in preedit mode
   * ecore-wl2: Fix not sending compositor reguests when we use ecore_wl2_display_connect
   * ecore-wl2: Fix issue of compositors not flushing clients properly
   * ecore-evas-wl: Fix issue of resize jumping
   * ecore-wl2: Fix maximized and fullscreen functions to restore geometry
   * ecore-wl2: Fix issue of not unsetting move mouse pointer
   * ecore-wl2: Change name of ecore_wl2_window_class_name_set function
   * ecore-evas wayland: use correct values when updating wayland window size
   * ecore-evas wayland: enforce frame/state change triggering before move/resize (T2841)
   * ecore-wl2: Fix maximized & fullscreen functions to use window flag
   * ecore-wl2: Remove setting custom wl_log handler
   * ecore-evas wayland: use correct values when updating wayland window size
   * ecore-evas-wl: Fix issue of improper window geometry (T2842)
   * ecore-evas wayland: enforce frame/state change triggering before move/resize (T2841)
   * ecore-evas wayland: use correct values when updating wayland window size
   * ecore-evas-wl: Fix issue of improper window geometry (T2842)
   * ecore-evas-wl: Fix issue of resize jumping
   * ecore-evas wayland: enforce frame/state change triggering before move/resize (T2841)
   * ecore-evas-wayland: Use proper Ecore_Wl2 window functions
   * Evas textblock: Skip layout logic for an text item which doesn't have font.
   * ecore-evas-wl: Cleanup creating a wayland canvas
   * ecore-evas-wayland: Properly cleanup ecore_wl2 during error
   * ecore-wl2: Implement function pointer for configure acknowledge
   * ecore-evas-wayland: Acknowledge configure event post render
   * efl - ecore-x xrandr - fix memleaks of properties fetched
   * ecore-wl2: Don't free display structure during display cleanup function
   * evas-wayland-egl: Fix the unnecessary renewal of the engine window.
   * Evas textblock: fix evas_textblock_cursor_line_set
   * ecore-wl2: Fix issue of cleanup function always removing from client display hash
   * evas: Fix definition of framespace in canvas eo file
   * ecore-wl2: rewrite maximize/fullscreen set functions for consistency (T2919)
   * ecore-evas-wayland: Don't set window geometry in ecore_evas (T2919)
   * Edje cc: Fix use of uninitialised value.
   * Evas textblock: improve and fix line range rectangles (T2648)
   * ecore-wl2: rewrite iconified set function for consistency (T2919)
   * efl - ecore-x randr - fix coverity issue found after previous leak fix
   * Evas text: Fix Evas Text truncated text case.
   * edje: calc - remove pointer comparison while finding part desc
   * ecore-evas-wayland: Move configure acknowledge to render_flush_pre
   * ecore-evas-wayland: Fix issue of starting resizing causing size jumps
   * evas_eet: Add Type Safety check
   * Evas textblock: add missing test fonts (T2908)
   * evas: trigger RENDER_FLUSH callbacks during async render
   * ecore-wl2: Add new event for sync done
   * ecore-evas-wl: Defer creating surfaces for wayland canvas
   * ecore-evas-wl: Fix copy/paste errors
   * evas - fix evas module locks to init/del when movile created/destroyed
   * Evas Textblock: Fix NULL dereferencing issue
   * Eolian gen: Don't fail if file is empty (--gi)
   * ecore-drm: Fix failure of setting/closing evdev->fd which causes fd leak
   * ecore-evas wayland: move frame sending to pre-flush callback
   * evas: do not add unclipped smart members to the master clip
   * evas: trigger FLUSH_PRE callback prior to kicking off an async render
   * evas: do not unset/delete master clip after every frame
   * efreet_icon_cache_create: null theme eet file to avoid double free
   * edje_cc: track parts for descriptions, ensure part types match when inheriting
   * edje_cc: terminate filter file scripts
   * edje_cc: correctly copy part descriptions when setting part type
   * edje_cc: redo part type setting to be even more correct
   * Edje entry: Fix issue with width calculation and padding
   * emotion - fix gst back-end to report title and other meta changes
   * Edje entry: Fix cursor position on mouse up and down
   * evas: unset pointer ungrabs when using EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN
   * evas: handle existing pointer grabs when changing object pointer mode
   * efreetd: send ipc for EFREET_EVENT_DESKTOP_CACHE_BUILD...always (T2733)
   * ecore_x: fix memory leak
   * ecore_x: fix memory leak
   * ecore-wl2: Fix MIN() macro comparing int vs unsigned int
   * eo: Fix resource leak (CID1339783)
   * ecore-drm: Add missing variable 'dev'
   * Edje_cc: support braces for description.proxy attribute.
   * edje: custom state - if RTL flag is not set, return original description
   * edje: Fix compiler warning about set but not used variables
   * eina_js: Fix documentation generation (T3005)
   * ecore-wl2: Fix support for nested compositors
   * efreet: fix undeclared function
   * ecore_con: fix compiling on OS X
   * evas_gl_cocoa: update function parameters
   * ecore_wayland: set touch_focus window when gets pointer_enter
   * eina mp: only include malloc.h on linux
   * js: fix binding after namespace change of connector
   * Edje UI mirroring: Fix UI mirroring for GROUP parts. (T3021)
   * Edje entry: Fix memory leak.
   * eina-cxx: Remove Eo classes defined manually (T2940)
   * edje: unswallow objects from parent edje when swallowing into new edje
   * ecore-drm: Call inputs shutdown before eina_shutdown
   * ecore_wayland: send mouse_move when sets touch_focus window in cb_touch_down
   * ecore_wayland: move check for pointer capability
   * ecore_drm/ecore_wl2: logging: remove errant usage of %m
   * win32: Fix compilation due to recent changes in Evil
   * embryo: change the log catagory of printf in embryo
   * ecore imf: fix imf module load hangs when not even configured
   * ecore-x: add safety checks for _ecore_x_disp in some functions
   * Eina: Fix eina_file_mk[ds]temp when a path is passed
   * elua: Fix use of eina_file_mkstemp after previous patch
   * Evas GL: Also fix surface cap cache
   * edje/edje_edit: make posible to unset the program filter part and state
   * ecore-drm: Cleanup ecore-drm shutdown routine
   * ecore-evas-drm: Cleanup drm outputs during shutdown
   * ecore-drm: Refactor logind code to use tty functions
   * ecore-drm: Destroy any existing eeze watch when we free the device
   * ecore-drm: Don't unset logind variable when disconnecting a device
   * ecore-drm: Unify and cleanup tty code
   * ector: fix potential crash if cairo is not found on the system. (T2938)
   * Ethumb: make the emotion plugin correctly use the edje frame if requested.
   * ecore_evas_extn: Add safety checks, fixing a crash in elm_test (T2835)
   * edje: Fix potential NULL pointer dereference (CID1349866)
   * efreet: reject invalid "" data for Efreet_Desktop->x hash (T3096)
   * efreet: add locking for efreet_desktop_x_field_get()
   * evas: Fix segfault when trying to determine overlay usage
   * evas: Fix explicit NULL dereference (CID1347415)
   * Evas clip: Fix rare crash in _render_pre_clipper_change
   * eina: fix invalid prototype
   * eeze: Fix eeze_udev_find_by_subsystem_sysname function
   * eldbus: Correctly read/write boolean to eina_value (T3089)

Changes since 1.15.0:
---------------------

Features:

   * ecore-wl: Support wl_keyboard_send_repeat_info for adjusting keyboard repeat rate and delay
   * evas gl: add support for new partial update extension.
   * ecore-x: provide property state in Ecore_X_Event_Window_Property
   * ecore-x: add property member to Ecore_X_Event_Selection_Notify
   * Evas GL: Restore current context to evas gl context when the backend has taken over
   * eina: add API to join pahs, as well as path separators
   * Eo base: Change parent_set to be an assignment of ref.
   * ecore x vsync - add in exynos checks and move kernel v checks inside
   * eina thread - add wrapper for setting thread name and fix affinity
   * efl - set thread names for internally created threads for debugging
   * eolian/generator: generation of doxygen @note and @warning tags
   * evas - sw async render - move pixel upload/swap to a thread
   * evas gl - optimize updates
   * Edje: Add filter support to SNAPSHOT parts
   * edje_cc: Allow PROXY as clipper (clip_to and desc.clip_to)
   * Evas GL: Add new API to get current Evas GL
   * evas - cutouts - use less cpu by skipping non-intersecting cutout objs
   * ecore - detect nested ecore_main_loop_begins from silly code
   * evas software x11 - increase shm buffer size for modern displays
   * evas software x11 - set merge mode explicitly to smart or env var
   * edje: add edje signal emit about swallow, text

Fixes:

   * Edje entry: Make filter logic consistent across all input methods
   * evas_check_engine: Remove tests for specific version of EGL
   * Edje entry: Fix to delete selection when preedit status has not ended.
   * ecore_evas: fix first render skip in several windows
   * eolian/generator: fix turning values into @return when generating docs
   * eina: fix direct_ls_simple and ls_simple tests on Windows
   * efreet - fix efreetd kill and start with clean cache case blank icons
   * evas - handle case where layer->evas is null - don't crash
   * emotion: Fix typos in doxygen
   * ecore-wl: do not nul terminate drops
   * eo - fix bug vector when unparenting of an eo obj may affect others
   * Evas filters: Fix for Lua 5.3 (with --enable-lua-old)
   * Evas filters: Fix massive memleak with async sw render
   * Evas language: fix script run code (T2670)
   * Edje_Entry: check selection before the cursor position change.
   * eo - destruction - ensure child is removed from parent child list
   * Evil: fix compilation when MSVC is not available. (T2681)
   * efl - jp2k loader - guard against openjpeg bug tha causes an abort
   * ecore_win: fix the incorrect mouse cursor position.
   * edje_cc_out: Fix edje_cc compile error with script on Windows.
   * ecore_wayland: bind and destroy session_recovery interface correctly.
   * ecore_pipe: add write fdset and except fdset.
   * edje: Fix double free scenario caused by static pointer.
   * Evas textblock: fix case of own_closer in style_set (T2654)
   * Eina rectangle: Check for valid rectangle before taking intersection
   * evas_canvas3d: Recalculation coordinates for pick object from scene
   * evas - fix texture context bind reset in gl common using wrong texture
   * Evas masking: Fix potential invalid access to mask image
   * evas: CID 1323091 (CID1323091)
   * evas: fix memory leak in evas_object_image_render_pre.
   * ecore - let the ecore_con_eet_*.c examples build.
   * efl - edje_cc - fix double close of embryo script fd's to tmp files
   * ecore_x: free the allocated memory after used.
   * ecore_x: fix the memory leak.
   * evas: node that are used for a fill should not have a parent or they are going to be drawn.
   * ector: fix cairo backend to properly multiply gradient color.
   * edje_cache: remove duplicated call of _edje_file_coll_open
   * Ector software gradient: Fix cast from integer to pointer of wrong type.
   * eldbus: add dbus_pending NULL check
   * edje: fix internal colorclass field
   * evas_canvas3d:Broken source file for generation 3D shaders
   * Evas smart: Add obj type safety check to callback_del.
   * evas image object - dont update just if image is dirty
   * edje_adit: fix typos in header
   * Edje entry: Make cursors to null after free
   * ecore_evas-x11: unset withdrawn state when window is mapped (T2745)
   * Eo: fix double callback deletion
   * evas - protect against invalid obj id in legacy wrapper func
   * Eo: reduce memory usage across applications.
   * upower: free version string splits
   * ecore_win32: fix the mouse out behavior.
   * ecore-audio: defer deletion of pulseaudio timer until after event processing
   * doc/eldbus: fix parameter in document
   * Edje: Fix IMAGE filters
   * edje_cc: Fix inheritance of "no_render" flag
   * evas render - async sw - fix context duplication by using proper dup call
   * eldbus - make method calls less crasy since libdbus likes to abort
   * Revert "eina: change default log level at which we display backtrace."
   * eolian: fix out-of-bounds indexing on tokens (CID1324818)
   * Eo: Remove dead code. (CID1240224)
   * evas_box: fix children size and position calculation when padding is used for horizontal flow layout
   * evas-3d: fix primitives
   * Ecore pipe: clean up handling of already read information. (CID98384)
   * Ecore Con: Fix possible timing attacks. (CID1039559, CID1039558)
   * Ecore con: Prevent possible use of uninitialised buffer on the stack. (CID1316016)
   * evas rectangle - ensure centers of rects that just move/resize dont rend
   * evas engines - fix partial swap to not skip swaps if full mode used
   * Evas image: Fix wrong usage of engine data macro
   * ethumb - fix client free issue with pending dbus messages (T2769)
   * Evas filters: Fix crash with async sw rendering
   * evas-wayland-shm: Fix to add support for MERGE_MODE Smart
   * evas-wayland-shm: Don't leak rectangles during flush
   * ecore-evas-wayland-shm: Check for fullscreen and override windows when processing updates
   * ecore-evas-wayland: Set ee->draw_ok appropriately based on visibility
   * ecore-evas x - solve internal window size flickrs in e
   * eio_monitor: fix memory leak issue
   * evas_canvas3d: fix mesh being added twice added to scene data
   * Eo: Fix Eo on Windows.
   * Ector renderer: fix return value to be of the right type.
   * Edje cc handlers: Fix memory leak and possible crash.
   * Eeze sensor udev: Fix memory leak and possible crash.
   * Ector renderer: fix return value to be of the right type.
   * ecore-wayland: Comment out unused functions for session listener
   * ecore-wayland: Comment out unused functions
   * eolian-cxx: Fixed assert which was a tautology (CID1316018)
   * eolian-cxx: Fixed possible exception escaping main (CID1265600)
   * Ecore_xcb_keymap: Fix memory leak in _ecore_xcb_keymap_finilize
   * Evas filter: Fix proxies of filtered images
   * ecore-wl: Don't update window size during ecore_wl_window_resize function
   * ecore-evas-wayland: Don't resize ecore_wl window to include frame size
   * ecore-evas-wayland: Fix common window configure callback to not adjust for framespace
   * evas-drm: remove useless condition
   * ecore-evas-wayland: Trap for subsequent resize events
   * edje_cc: fix segfault when a program attempts to play a non-registered sound
   * Ecore_Con: make sure to create named pipe with a unique name
   * ecore_exe: read remaining data when the child application has closed
   * ecore_file: fix ecore_file management function on Windows
   * Ecore exe win32: Fix double-free errors. (T2675)
   * eina: Include <unistd.h> for getuid and geteuid functions
   * Eina: fix eina_file_current_directory_get()
   * Eina: fix memory leak in eina_file_open()
   * evas: Fix clang warning for missing field 'async' in default_state
   * ecore-drm: Add missing field initializers for vt_mode
   * ecore-evas-wayland-egl: Fix clang warning about extra parentheses
   * edje_edit: Fix clang warning of unused variables
   * ecore-wayland: Redo window animators to not use Custom source animators
   * ecore-evas-wayland: Don't use custom animators for frame callbacks
   * evas: no need to compute clippees list if we just want to know if there is any.
   * evas: render - use evas_object_clipees_has instead of evas_object_clipees_get
   * edje: load - use evas_object_clipees_has instead of evas_object_clipees_get
   * Eo events: Add a struct member marking if it's a legacy event or not.
   * evas gl - fix big endian fully by adding a host of new img shaders
   * evas: fix memory leak
   * evas table: fix miscalcuation in cells with span and padding (T2655)
   * edje: comparision with non-scaled min values issue fix.
   * evas textblock: fix memory leak
   * ecore-wayland: defer shell surface creation for windows if shell is not bound
   * evas: fix memory leak.
   * efl - edje - fix edje calc to avoid eo calls when object doesnt change
   * efl - eo - massively improve eo cal resolv and data scope get with cache
   * efl: fix copy & paste typo while parsing SVG elliptical arc command. (CID1328426)
   * evas - software render async - fix async render to actually be all async
   * emile: prevent segv when rotation is asked and there is no opts provided.
   * eo - make null object silent if eo id is off
   * ecore_audio: do not compile elua file if ecore_audio is disabled
   * efl - make drm vsync handle broken drm irq timestamps
   * Emile: Allow load of ETC images if region = whole image
   * Eet: fix decoding of embedded ETC images
   * Eet: Another ETC decoding fix
   * ecore-drm: Don't exit tty setup if tty is already in graphics mode
   * evas-gl-drm: Move definition of Render_Engine out to header
   * evas-gl-drm: Resize gbm surface when canvas size changes
   * ecore-evas-wl: Ignore step size when maximizing
   * eina_quaternion: correct the API name in header file
   * ecore imf - fix modules that are x11 based to only load in x11 and in wl
   * efreet - fix efreetd to not exit on $home being in extra app dirs
   * ecore_file: Fix ecore_file_file_get function on Windows.
   * ecore-evas-drm: Use GBM_FORMAT_XRGB8888 when creating new canvas
   * evas-gl-drm: Fix issue of gl_drm engine not working (T2807)
   * evas-wayland-egl: Fix missing support for EVAS_NATIVE_SURFACE_WL
   * evas-wayland-egl: Add missing include header for gl_common
   * Evas Text: avoid SIGSEV while ellipsis recalculation (T2640)
   * evas-gl-drm: Set Outbuf vsync according to engine
   * ecore-drm: Don't always check fb size against dumb buffer
   * ecore-evas-gl-drm: Don't create software dumb buffers when using gl
   * evas-gl-drm: Find symlink for eglSetDamageRegionKHR
   * evas-gl-drm: Implement eglSetDamageRegionKHR
   * ecore-drm: Check return value of drmHandleEvent and cleanup
   * ecore-drm: Fix issue of duplicate page flips
   * ecore-drm: Fix issue of hanging in read() (T2791)
   * ecore-drm: Remove unused function
   * eina/efreet: open file with binary file on Windows

Changes since 1.14.0:
---------------------

Features:

   * Eo: Add eo_do_part.
   * Eolian: Add API to retrieve an event of a class by its name
   * evas: enable NEON-optimized code for aarch64.
   * evas: implement _op_blend_c_dp_neon in NEON intrinsics.
   * Static deps: Move unibreak to be an external dep.
   * Static deps unibreak: update to what will soon be version 3.
   * ecore-drm: Add API function to return screen size range
   * ecore-drm: Add API function to return the name of an output
   * ecore-drm: Add API function to return output connected state
   * ecore-drm: Add API function to return the connector type of a given output
   * ecore-drm: Add API function to return if a given output has a backlight
   * ecore-drm: Add API function to return the edid of a given output
   * ecore-drm: Add API function to return output modes
   * ecore-drm: Add support for a Primary Output
   * ecore-drm: Add API function to return primary output
   * ecore-drm: Add API function to get an output's crtc size
   * ecore-drm: Add API function to find an output given a name
   * ecore-drm: Add new API function to mark an output as primary
   * ecore-drm: Add API function to test if an output can go on a given crtc
   * ecore-drm: Add a 'name' field to Ecore_Drm_Event_Output
   * ecore-drm: Add API function to set a new mode on an output
   * efl - add more evlog points
   * eina: add crosss platforme API to retrieve tmp and home directories from environment.
   * edje entry: Improves anchors handling
   * eina_cpu - up max number of threads to 32
   * eolian: much better and stricter redefinition checking
   * evas: New Evas Callback added when viewport is resized.
   * eolian: new syntax for params/values/keys
   * ecore-x: add function to init ecore-x from external Display* object
   * Eo: Add a return value to eo_constructor().
   * Eo: Remove eo_error_set() and clean up finalizer()
   * ecore-input: add keysym to Ecore_Event_Key struct
   * evas: add keysym member to key event structs
   * eolian: disallow cyclic dependencies between .eo files
   * ecore_imf/wayland: support autocapital mode in wayland text input
   * Evas textblock: Add underline height support
   * ecore_imf/wayland: support password mode in wayland text input
   * ecore_imf/wayland: support input hint in wayland text input
   * ecore_imf/wayland: support input language mode in wayland text input
   * eolian: initial exposed declaration API - not yet very useful
   * Evas GL: 1.x support for GLX
   * Evas GL: support surfaceless make current
   * eolian: add documentation handling API
   * ecore-x: add new grab touch devices functionality.
   * eolian/generator: generation for new documentation system
   * eolian: support for @since tag in new doc comments
   * Edje: Add clip as a property of a part description
   * Evas: Add "no-render" flag for proxy sources & clippers
   * Ecore_input: Add "ECORE_EVENT_MOUSE_BUTTON_CANCEL" event
   * ecore-buffer: Add ecore_buffer library to EFL.
   * edje: add support to control the transition time of edje animation globally.
   * edje: add possibility to speed up animation per object.
   * eolian_cxx: Use C++ wrappers instead of native types as parameters
   * Edje/evas filters: Add filter.source support
   * Edje/evas filters: Use EDJ data sections to store filters code
   * Edje & evas filters: Add extra data from EDC to Lua program
   * ecore-x: add ecore_x_keysym_get()
   * Evas Textblock: Add obstacle objects feature
   * Evil: add a wrapper around _mkdir
   * eolian: add API: eolian_declaration_get_by_name
   * eolian/generator: add proper generation of references
   * eolian: improve function_full_c_name_get API

Fixes:

   * Evas gl: Fix shader generation with out of source builds.
   * Eolian/Generator: fix enums generation (T2400)
   * evil: fix mem leak in dlsym() when using UNICODE
   * evil: fix dladdr() implementation, add 2 unit tests for evil.
   * elua: use a minimal app to avoid loading eolian at runtime
   * ecore-drm: Set output connected property in the creation function
   * ecore-drm: Set drm client capabilities to support universal planes
   * ecore - ecore_pipe_wait timeout broken as it never adjusts while waiting
   * rg_etc: Correct ifdef to keep function available for debug build
   * Evas GL common: Skip shaders generation if there is no change
   * ecore-wayland: Input grab_count is unsigned int, no need for comparison < 0
   * ecore-drm: Fix issue of edid parsing not ignoring string
   * ecore-drm: Fix ecore_drm_output_edid_get to return a hex string
   * ecore-drm: Fix finding possible crtcs
   * ecore-drm: Skip not connected outputs when calculating geometry
   * Evas filters: Fix glReadPixels usage for EGL
   * evas grid smart - fix coord overflows when grid size and vsize are large
   * ecore-drm: Fix purpose of ecore_drm_output_enable/disable functions
   * ecore-drm: Greatly improve drm rendering speed
   * ecore-drm: Only send output events when we enable/disable an output
   * ecore-drm: Fix issue with output_current_resolution_get function
   * evas canvas: add exceptional handling in invalid input case.
   * ecore_evas_wayland: prevent duplicated shutdown of ecore_wl
   * ecore-drm: Fix segfault if sending output event and output has no current mode
   * ecore-drm: Ignore output enabled flag when setting output mode
   * evas-drm: Mark framebuffer as dirty before sending
   * edje: fix back edje_watch.
   * eina - cpu count - fic cpu count to count # of cores correctly
   * evas canvas: fix insane mouse move events on proxy source.
   * ecore-drm: Only try to set the crtc mode if an output is connected
   * eina-bt: Fix Coverity CID1297405 (dereference before null check)
   * eolian: use data_type consistently in the C generator
   * Ecore con url: Fix wrong object destruction.
   * eolian: allow keys/values in property get/set
   * eolian: properly handle errors in database_fill (CID1299294)
   * ecore-wl: Set keycode in event structure for key down/up
   * evas_object_textblock: fix dereference before null check (CID1270031)
   * ecore-wl: Remove +x from ecore_wl_input.c
   * ecore-drm: Remove call to set drm mode when creating an output
   * eina_cxx, eldbus_cxx: Fix perfect forwarding of arguments
   * embryo_cc: prevent memory curruption
   * edje: fix memory leak detected by prevent static analyser.
   * evas: make image_size_get() return the actual image size
   * Fix issue wrong surrounding text returns when there is selection area
   * edje: edje_cc_parse should check pair of parens.
   * pkg-config: fix portability issue on Windows. (T2458)
   * ecore-evas: Fix issue of gl_drm engine not being able to load
   * Evas masking: Fix rare issue of invalid rendering (GL)
   * Evas GL: destroy egl image when surface is destroyed
   * Evas GL: Fix direct_mem_opt and direct_override
   * Evas GL: Make current to an Evas GL context before destroying surface buffers
   * Evas GL: return correct context for context_get with indirect context
   * Evas GL: Pass correct attachment enum for glDiscardFramebufferEXT (T0)
   * Evas GL: Match FBO config with window surface config
   * emile: fix region load for jpeg image with orientation different set.
   * ecore_con: fix error handling case.
   * eolian: double newline ends summary, not single
   * evas-gl-drm: Rework gl_drm engine to function again
   * ecore-evas-drm: Update ecore_evas_drm for recent evas gl_drm changes
   * ecore-drm: Remove erroneous error messages from EINA_SAFETY checks
   * ecore-evas: Change gl_drm to be the proper engine name
   * ecore-drm: Don't crash when trying to disable an output
   * evas-gl-drm: Readd support for pre_swap/post_swap callbacks
   * ecore-evas-drm: Use XRGB format for gl_drm canvas
   * evas-gl-drm: Create eglContext before eglWindowSurface
   * ecore-drm: Don't free an output on unplug
   * ecore-evas-drm: We don't need to feed mouse events here
   * evas-gl-drm: Refactor gl_drm engine to not use dumb buffers
   * evas-gl-drm: Fix issue with swap mode returning wrong value
   * eina: Fix warning about unused paramaters
   * evas-gl-drm: Trap for invalid gbm bo
   * eolian_cxx: initialize all members in a struct correctly (CID1298133)
   * eolian: we need import_types_ref.h included in tarball
   * ecore-wayland: Fix T2466: Update xdg shell protocol code
   * edje: set GROUP/SWALLOW/EXTERNAL pass events based on mouse events
   * eina semaphore lock - don't wake up because of signals
   * eolian: pass rbuf to doc_error (CID1304728)
   * elua lib: sanitize all file paths before writing them (CID1267463)
   * ecore-x: Fix warning of unused variable
   * ecore-x: Fix warning of defined but unused function
   * ecore-x: Fix compiler warning of unused variable
   * evas: Remove unused variables
   * ector: always initialize the array contents even without fetchfunc (CID1294210)
   * ecore: null cb function is unacceptable.
   * Edje_entry: Fix control + (x,a,y,z,m,c) not working issue.
   * Evas GL: Fix coverity CID 1304559, 1304560 (CID1304560, CID1304559)
   * eolian/generator: fix enum field doc generator bug
   * Evas filters: Fix blend with color with rgba buffers
   * edje entry - also filter 0x7f (DEL) char on input as it's invalid entry
   * evas_smart: Add a check for zero size before malloc
   * evas_event: evas_event_feed_mouse_cancel set EVAS_EVENT_FLAG_ON_HOLD
   * Evas: Remove shader_3d .x generated file from BUILT_SOURCES
   * eolian: check for C type keyword before trying to append as C type keyword
   * ecore-evas-drm: Default to GBM_FORMAT_ARGB8888
   * eina/simple_xml_parser: don't parse the <, > in the attribute string.
   * evas-gl-drm: Cleanup compiler warnings when building gl_drm engine
   * ecore-input-evas: Fix Coverity CID1306803 (logically dead code)
   * evas-render2: Fix Coverity CID1306141: Dereference null return value
   * edje: Fix Coverity CID1299026 and CID1299027: Explicit null dereference
   * evas: fix Evas.Canvas3D color pick
   * ecore-wayland: Fix issue of events not getting dispatched properly
   * ecore-drm: Fix issue of outputs not getting registered with the wayland registry (T5, T2465)
   * ecore-drm: Fix setting proper output subpixel value
   * ecore-drm: Quiet down output from libinput
   * eo - silence ERR logs on constructor fail - this is valid behavior
   * efl - efreetd service move from dbus session bus to ecore ipc
   * eina module - it is not an error to ERR log to not load a .so
   * ecore con dns - a failed dns lookup is not an err log event
   * ecore con - fix object data referencing for deleted objects
   * edje_embryo: correct type mismatching in get_geometry() method
   * eolian: try replacing '.' with locale specific decimal point
   * eolian/generator: constify all prototypes for @const functions
   * edje_cc: Fix dereference null return value (CID1308232)
   * edje_cc: Fix dereference before null check (CID1302700)
   * ecore-wayland: Update xdg shell protocol file
   * ecore_x_xi2: fix crash if device info is NULL.
   * ecore-evas-extn : map shm for sharing render pixels conservatively
   * Evas textblock: Fix issue with line_coord_set and y before the first line.
   * evas: opaque value does not change even if image data be changed
   * Evas textblock: Fix infinite loop case
   * ecore_imf: fix wrong return type of ecore_imf_context_input_panel_return_key_type_get
   * evas-fb: Fix compiler warnings about suggested parentheses
   * Interfaces: fix event name
   * Ecore exe (windows): Fix object destruction/failed creation.
   * Ecore Con: Fix ecore_con_local hangs on Windows.
   * evas - image core - fix unloading of images to work again
   * edje edit: don't set the color_class color as main
   * edje_edit: return EINA_TRUE for unset color_class
   * Efreet: Fix config and data dir paths on windows.
   * ecore-wayland: Remove improper use of EINA_UNUSED
   * evas: Init need_unload value after unload.
   * Evas textblock: Clear unused paragraphs
   * ecore-wl: Reset input's pointer & keyboard focus on events
   * ecore-wl: Reset ecore_wl_input repeat values on keyboard leave
   * ecore-wl: Don't renew keyboard-repeat timer if we have no focused surface
   * ecore-wl: Reset input keyboard repeat values when we cancel the timer
   * The default return value of edje_object_base_scale_get API is 1.0. The return value is used for divisor in many case. If it return 0.0 when it fail, it can break app with div by zero.
   * Evas masking: Fix rendering of masks that belong to a proxied smart object
   * eolian: do not use an invalid pointer after updating buffer
   * image_savers/jpeg: fix undefined behavior of using sigsetjmp on jmp_buf
   * Eolian: fix eolian helper for windows.
   * Ecore evas: Correct function name in magic failure.
   * Evas GL: Fix glClear(0,0,0,0) with DR and COPY
   * Evas GL: Fix sync, wlbuffer and image egl ext functions
   * evas: fix missing render2_walk initializers
   * Evas GDI engine: save the original bitmap into the memory DC
   * Ecore_Win32: do not allocate data as it is useless. Fix memory leak.
   * ecore-drm: Ignore key events that are not seat wide state changes
   * Evas masking: Fix crash in async rendering
   * evas-wayland-shm: Don't call surface commit until we've setup the frame listener
   * evas canvas3d: bounding box does not change the position according object
   * Evas filters: Fix invalid rendering in case of async render
   * Evas filters: Fix order of header file includes
   * wayland_shm: Don't store frame_cb
   * wayland-shm: re-organize some of the swap/redraw logic
   * wayland-shm: Remove "mapped"
   * evas-wayland-shm: Fix issue of surface_swap spamming invalid warning
   * efl: Bump required wayland library versions
   * ecore-evas-wayland-shm: Remove duplicated code on configure event
   * ecore_evas_x: make gl_sync_draw_done an explicit signed char type
   * evas engine: add null point exception.
   * evas-wayland-shm: If no depth is specified during reconfigure, use existing depth
   * wayland-shm: When we run out of shm buffers kick the server to get some back (T2612)
   * ecore_evas: Fix crash in async render

Changes since 1.13.0:
---------------------

Features:

   * edje: add of model lookups.
   * evas: Evas_3D - ColorPick mechanism finding node and mesh in scene.
   * evas/gl_x11: introduce tbm native surface type
   * evas/software_x11: implement native surface set for x11 type
   * evas/software_x11: implement tbm native surface type
   * edje: Edje_Edit - functions to edit layouts of BOX parts
   * evas: Evas_3D - callbacks for Evas 3D.
   * Edje: new set/get API omogeneous, paddings and align for BOX/TABLE in Edje Edit
   * ecore_con_url: add ecore_con_url_head()
   * edje: add camera properties to edje_cc.
   * Edje: Edje_Edit - setter and getter for min param of TABLE/BOX parts
   * edje: Adding the zoom effect of map to edje
   * Evas GL: Automatic fallback to indirect rendering when the scene has not changed.
   * ecore-drm: Add function to return the pointer xy of Ecore_Drm_Device
   * ecore-drm: Implement edid parsing for Ecore_Drm_Output
   * edje color classes can now have text descriptions
   * Evas GL: Add support for Evas GL 3.0
   * Eolian: add API to return the class from a function.
   * ecore-drm: add ecore_drm_devices_get to get the list of drm devices
   * evas: Support bitmap embedded color font. (T2139)
   * Eolian: add API to determine if a function is implemented.
   * edje: add edje_color_class_active_iterator_new()
   * ecore_evas - eetpack utility for packing files (imgs) into eet files
   * edje: add part.desc.rel.{to,to_x,to_y} keywords
   * edje: allow empty part.desc.inherit; statements to autoinherit default desc
   * ecore-drm: Add support for DPMS on an output
   * ecore-drm: Add API function to set output gamma
   * ecore-drm: Add API function to mark a Framebuffer as dirty
   * ecore-drm: Add API to setup the drm device for software rendering
   * ecore-drm: Add API function to disable an output
   * ecore-drm: Add API function to find an output at given coordinates
   * ecore-drm: Add API function to return an output crtc buffer id
   * ecore-drm: Add API function to return an output's crtc id
   * ecore-drm: Add an API function to return the connector id of an output
   * ecore-drm: Add 2 new API functions for setting and sending framebuffers

Fixes:

   * Edje: edje_edit - fix Segmentation Fault on new BOX part
   * evas text: fix _ellipsis_get to return -1.0 on failure.
   * eina: fix eina_bench.c compilation error.
   * Evas masking: Fix some garbage pixels with the SW engine
   * Evas masking: Fix potential issues with map & masking
   * Evas masking: Force BLEND mode in case of image masking (GL)
   * ecore-drm should not use sscanf when getting logind vt
   * eina: correctly handle and report Eina_File error on Windows.
   * eina: fix Eina_Log to only try to free non deleted log.
   * eolian: add right extension to eolian_gen if we are on Windows
   * eio: check that the file to be monitored is not an empty string.
   * ecore: directly allocating and freeing Ecore_Win32_Handler variable.
   * ecore_con: fix _ecore_con_server_flush on Windows.
   * ecore_con: fix use of FormatMessage for error reporting on windows.
   * eina: fix directory listing on windows when directory is empty.
   * ecore-drm: Disable/Enable inputs if we release/acquire the VT
   * ecore-drm: Disable/Enable inputs if we release/aquire VT through logind
   * ecore-drm: Print error when taking control of a device fails
   * ecore/drm: Fix libinput >= 0.8 check
   * ee-win32 probably might compile now
   * ecore/drm: Compile ecore_drm_logind.c without condition
   * edje: edje_edit - fix group source generation of item 'weight' param
   * edje: edje_edit - fix group source generation of box params
   * evas: fix error checking of eglBindAPI.
   * ecore-drm: Fix issue of checking improper eldbus message for errors
   * ecore-drm: Don't recreate ecore_event handlers if we already have them
   * ecore-drm: Fix issue of ecore_drm not calling ReleaseDevice when an input is destroyed
   * ecore-drm: Fix issue with ecore_drm_evdev->path being incorrect
   * evas: Evas_3D - fix bug with pack meshes data.
   * ecore-drm: Add output id to output event
   * edje: fix windows build
   * evil: fix gecos field of struct pw
   * Evas GL: Fix leak of surfaces with GLES 1.1
   * eina + ecore - fix main loop thread id tracking on fork
   * evas-3d: fix incorrect reading of .obj file which had an empty line before data in unix encoding.
   * ecore-wl fullscreen state is based on either window type or attribute
   * ecore-xcb: Fix 'variable set but not used' message
   * evas-software-x11: Remove improper EINA_UNUSED for function parameter
   * evas-software-x11: Provide TBM Native Surface support for xcb engine
   * ecore/ecore_audio: fix timer control logically wrong.
   * evas-gl-drm: Cleanup compiler warnings for dbg/err messages
   * evas-gl-drm: Fix T2158: compile fails when --with-opengl=full is passed
   * ecore-imf: Add check for environment variable to enable show/hide of input panel
   * ecore-wl: Send xdg_surface_set_window_geometry when we update window size/position
   * ecore-drm: Center mouse pointer on an output when it gets created
   * ecore-evas-drm: Fix function call to ecore_evas_pointer_xy_get for drm engine
   * edje - somehow edje doesn't init evas and this makes edje_decc break...
   * Evas GL: Fix list of extensions with GLESv1
   * evas: fix bug in the destructor of node in Evas_3D.
   * edje: Edje_Edit - fix part alias source generation.
   * examples: fix bad unref's in ecore and evas.
   * ecore-drm: Return the index of the crtc from output_crtc_find
   * eina: win32 release lock in case of error
   * eio: fix segmentation fault on eio_monitor for win32 api
   * ecore_cocoa: remove ObjC autorelease block to avoid segv when window is closed.
   * ecore_cocoa: move mouse event handling to NSWindow
   * ecore_cocoa: handle right and other mouse events
   * ecore_cocoa: fix keyboad event handling
   * ecore-wl cursor setup no longer triggers errors on startup (T2202)
   * ecore-wl now allocates cursor_theme_name struct member of Ecore_Wl_Input
   * edje: Edje_Edit - fix program transition source generation
   * edje: Edje_Edit - add data items into generated code for the group.
   * efl - bring back symlink complaint regardless of env vars
   * ecore_cocoa: release resources on window close event
   * evas: make current context on lockFocus for gl_cocoa backend.
   * evas: bypass lockfocus in NSView on OSX
   * ecore_cocoa: don't reject mouse events outside the window
   * ecore_cocoa: fix mouse scrollwheel direction
   * evas-wayland-shm: Refactor Evas Wayland Shm Engine (Fix T2201)
   * ecore-evas-wayland: Remove frame callbacks from Ecore_Evas wayland engine
   * ecore_con: fix ECORE_CON_LOCAL_SYSTEM use with negative port number.
   * eina: safety check for NULL pointer
   * evas/gl_x11: set EGL_PLATFORM environment variable
   * Edje: edje edit - ability to remove last item in BOX/TABLE
   * evas-gl-common: Fix building when --with-opengl=es
   * evas-software-generic: Allow future rendering calls if evas has to skip a frame
   * evas-wayland-shm: Fix redrawing issues that were causing 'flashing' in latest engine code.
   * ecore-drm: Add more debug info when output is created or updated
   * ecore-drm: Fix build error caused by missing function declaration
   * evil: fix access to a file mapping object
   * evas: prevent crash.
   * eeze: Fix issue of eeze_udev_watch_add not getting events for drm
   * ecore-drm: Fix issue of not getting updated for output hotplug events
   * ecore_exe: fix ecore_exe_pid_get on windows
   * ecore-drm: Use better output names
   * ecore_idler: + null check.
   * Edje: Edje_Edit - fix typo in code generation of BOX part
   * eina: Change newline parsing to handle crlf better (T2236)
   * ecore_drm: use get_vt instead of parsing the tty attribute
   * ecore_file - fix nasty memory issues in ecore_file_app_exe_get()
   * efreetd - cache - fix handling a text index file with 0 length lines
   * eolian_cxx: fix build error for some generated C++ wrappers
   * evas-3d: T2226 (Evas Eet saver does out of range access) fixed.
   * Ector: Ship missing headers.
   * ecore_cocoa: fix scrollwheel behavior
   * eina: eina_unicode_utf8_next_get should return 0 when one of the parameters is NULL to avoid null pointer access. it also corresponds to the description in doc.
   * ecore-drm: Create all framebuffers using XRGB8888 by default
   * evas-drm: Remove evas_bufmgr.c from the Evas Drm engine
   * ecore-drm: Add width & height to Ecore_Drm_Fb structure
   * evas-drm: Use Ecore_Drm_Fb for framebuffers
   * ecore-drm: Move Eeze Udev Watch to Drm Device
   * ecore-drm: Add more connector types
   * ecore-drm: Fix issue with edid_parse_string truncating strings
   * ecore-drm: Better output name format
   * ecore-drm: Send ECORE_DRM_EVENT_OUTPUT on unplug also
   * ecore-drm: Set mode flag for preferred if this is the preferred mode
   * ecore-drm: Fix output_geometry_get function
   * eina: Add NULL check for eina_threadqueue_free
   * [evas/evas_3D] Uninitialized component of vector gl_FragColor in shadow_map shader
   * Evas GL: reset current surface to NULL when it is destroyed
   * Evas GL: Add missing dlopen for GLX 1.x version
   * Evas image: Return proper path even with mmap
   * ecore-drm: Improve drm output creation, mode detection, and cloning support
   * evas-drm: Use ecore_drm_fb_dirty function to mark framebuffer as dirty
   * ecore-drm: Delay destroy of output if there is a pending flip
   * ecore-drm: Fix issue of outputs_geometry_get not skipping cloned outputs
   * ecore-drm: Remove per-output framebuffers
   * ecore-drm: Update drm device & output code to remove per-output dumb buffers
   * ecore-evas-drm: Setup Ecore_Drm_Device for software rendering
   * ecore-drm: Update device active state on VT switch and use new output_disable function
   * ecore-drm: Skip repaints if we are VT switched away
   * ecore-drm: Create drmEventContext Once during device open
   * ecore-drm: Move drm headers to Ecore_Drm
   * ecore-drm: Remove unused API function that should not have been committed
   * ecore-drm: Move doxygen documentation to main Ecore_Drm header
   * ecore-drm: Modify device pageflip function to accept ecore_drm_fb callbacks
   * ecore-drm: Change @since 1.15 to @since 1.14 for newly added APIs
   * ecore-evas-drm: Use new Ecore_Drm functions to get properties of the output
   * evas-drm: Cleanup Engine Info structure
   * evas-drm: Cleanup evas_engine header file
   * evas-drm: Cleanup drm engine code
   * evas-drm: Make evas drm engine use new ecore_drm functions
   * evas-drm: Remove evas_drm file from build order
   * evas-drm: Add back in the r, g, b masks for conversion
   * evas_object_box: add MAGIC_CHECK when it is added.
   * Edje: Edje_Edit - new part addition should initialise threshold as -1
   * ecore x vsync - ensure drm fb is set to close on exec - intended (T2138)
   * efreetd - startup slowness fix for recursing directories
   * efl: Remove dead configure options for drm-hw-accel
   * evas: Fix CID1293000 (resource leak)
   * ector: Fix Coverity CID1293003
   * evas-3d: Fix Resource leak from CID1271635
   * edje: Fix dereference null return value (CID1287154)
   * evas-gl-x11: Fix dereference before null check (CID1293519)
   * evas-software-x11: Fix dereference before null check(s) (CID1270030, CID1270028, CID1270029)
   * Evas object: verify the parent is valid and fail if not.
   * efreetd: If we fail to allocate space for subdir_cache, then get out (CID1294212)
   * Evas GL: Fallback to indirect rendering if mul_col != 0xFFFFFFFF
   * eo_gdb.py: fix syntax error
   * eio: reorder tests linkage to unbreak debian-based systems
   * evas-drm: Handle render mode for 4 buffers
   * ecore-drm: Add pending_flip field to Ecore_Drm_Fb
   * evas-drm: Mark the Ecore_Drm_Fb as complete when we get the page flip event. (T2289)
   * ecore-drm: Fix hotplugging of outputs
   * ecore-drm: Fix mouse movement across multiple outputs
   * ecore-drm: Don't fetch output geometry on every mouse movement
   * evas: fix possible segfault in evas_3d_node_member_add/del.
   * Evas textblock: remove freed item from the line list
   * evas: restore the value of "do_region" in jpeg loader as EINA_TRUE
   * emotion - gst1 module - handle long standing bad map/unmap of gst buf
   * eio - fix crashes due to stale eio files in tracking list (T2129)
   * ecore-drm: Remove 'defined but not used' function
   * ecore-drm: Use #if 0 to comment out unused function
   * ecore-evas-x: Fix issue of wrong interface function pointer being set (CID1267461)
   * emile: Fix resource leak (CID1288918)
   * emile: Fix resource leak (CID1288919)
   * ecore-evas-extn: Use eina_mkstemp in place of mkstemp (CID1039610)
   * ecore_imf: init wayland before using wayland calls.
   * evas-blend-ops: fix off-by-1 in the C MUL3_SYM "simd" multiplier
   * ecore-evas-drm: Fix issue of fullscreen surfaces not getting focus on show (T2349)
   * evas: fix rotation and flipping of image in gl engine (T2338)
   * efl: Move test for gl library to evas-gl-drm engine checks and Fix T2167
   * efreet: fix leak in efreet_util_desktop_exec_find()
   * ecore_timer: fix the default return value.
   * evas_text: fix default return value.
   * edje_util: fix memory leak
   * eina: correct document for eina_hash_list_prepend/remove.
   * ecore-wayland: Fix issue of efl/elm apps not setting opaque & input regions
   * autotools: fix non-verbose build output
   * eolian: mark _class_get func protos with EOAPI
   * Edje embryo: Fix invalid check for get_state_val (text str)
   * Eina: fix eina_file_split on Windows and update unit test
   * ecore-drm: Fix using uninitialized output value
   * evas-wayland-shm: Use size of buffer when caching
   * evas-wayland-shm: Minimize race condition when finding free leaf
   * evas-wayland-shm: Update software_generic render engine size on output resize
   * evas-wayland-shm: Fix T2352 (focused window borders blink)
   * ecore-evas-wayland: remove duplicated shutdown of ecore_evas_wl_common
   * ecore_drm: close fd if flag set fails
   * ecore-drm: append O_CLOEXEC always
   * ecore-drm: don't return EINA_FALSE as an invalid fd
   * ecore-drm: close fd when asked to close fd
   * eolian: specialize tmp free for typedef (avoid double free issue)
   * eolian: fix lexer assertion failure
   * ecore-evas-wayland: Fix issue of setting NULL cursor object
   * edje: _check_recursive_reference reworked to fix segv in Edje_Edit.
   * ecore-drm: Add missing doxy for ecore_drm_output_enable

Changes since 1.12.0:
---------------------

Features:

   * Edje: Set the min, max sizes of the image automatically.
   * elocation: Add elocation libraray to EFL.
   * Evas GL: Introduce concept of safe extensions
   * edje: Edje_Edit - add generation of 'limits' parameter of group in EDC.
   * eolian: add support for @optional ctor tag (T1804)
   * Eet: add diffeet a tool for diffing eet files.
   * edje entry: improve selection performance
   * evas_object_main: Keep map effect after evas object move
   * eet - add new  api to verify eet file against stored cert
   * evas: Evas_3D - add bounding sphere, revision frustum culling
   * evas: Evas_3D - add mesh blending mode.
   * Evas GL: Add support for bind_wayland_display extension
   * Evas: Evas_3D - Add check of visibilty node.
   * ecore: Add a new API function ecore_main_loop_nested_get
   * ecore: Add code for new API function 'ecore_main_loop_nested_get'
   * eldbus: Add API function declaration for eldbus_proxy_send_and_block
   * eldbus: Add actual API function code for eldbus_proxy_send_and_block
   * eeze: Add API function declaration for find_by_subsystem_sysname
   * eeze: Add API function for eeze_udev_find_by_subsystem_sysname
   * ecore-drm: Port ecore_drm to use libinput
   * ecore-drm: Merge port to libinput
   * evil: add getpwnam() function
   * ecore-drm: Handle various touch events
   * edje: Edje_Edit - generate alias parameter for 'parts' block.
   * edje: Edje_Edit - add API for program actions PLAY_SAMPLE and PLAY_TONE
   * edje: Edje_Edit - add generation of 'filter' parameter of program
   * +eina_memdup
   * edje: support anti_alias option
   * edje: Edje_Edit - add API for renaming of image.
   * Evas masking: Use alpha mask in SW engine draw functions
   * Evas masking: Add clip_image_[un]set functions to draw context
   * Evas masking: Allow setting an image object as clipper
   * Evas masking: Implement mask support in evas_render

Fixes:

   * edje_calc: fix image set bug.
   * ecore_drm: Added internal function for drm output updates when device is hotplug
   * ecore-wayland: Fix the issue of UnIconifying an xdg_surface
   * Fix bug ecore_imf_context_cursor_position_set was not called when cursor was moved by ECORE_IMF_CALLBACK_SELECTION_SET
   * edje_cc: fix log message for authors write procedure.
   * Evas GL: Fix bug in evgl_eng_pbuffer_surface_create (EGL)
   * ecore_anim: fix source_set bug.
   * edje: fix wrong generation of 'minmul' and 'text.min' parameters in EDC.
   * edje: add formating for floating point numbers in EDC.
   * eldbus-codegen: Make generated code for property set work by setting the cb
   * evas/3d: Fix dereferencing a pointer that might be null found by coverity
   * Eo: protect against recursive object destruction calls, fixes T1741 (T1741)
   * ecore-drm: fix error check of _device_flags_set function
   * eldbus-codegen: Free msg on error path for generated code.
   * eldbus-codegen: More memory leak fixes for generated code.
   * textblock: correct text position for RTL text with margins
   * evas/map: correct last 1 pixel handling in spans.
   * ecore-drm: remove unnecessary setting file's flag of O_RDWR that are ignored.
   * ecore-drm: close fd handle if _ecore_drm_tty_setup() is failed in ecore_drm_tty_open().
   * ecore-drm: Sending Active to login1.Session
   * ecore-drm: pass appropriate arguments to eldbus_message_arguments_get(), so that it can be return as success in _cb_device_resumed().
   * evas_map: Remove unnecessary check for current map
   * ecore_evas_x: Fixed strange condition.
   * evas: Evas_3D - fix depth texture size.
   * Evas textblock: Fix possibly null dereference.
   * ecore-wayland: Fixed a request of start_drag with null value
   * ecore-wayland: Check if system has mouse in ecore_wl_input
   * evas-gl: Fix improper #ifdef check
   * evas-gl: Fix evas-gl to compile for EGL
   * ecore-wayland: If we fail to create a new opaque region, safely exit the function.
   * ecore-wayland: Check return of input_region create and get our safely
   * ecore-wayland: No need for setting the input here as it's done again directly below.
   * ecore-wayland: Add safety check for window surface creation
   * ecore-wayland: Add safety check for xdg_popup creation
   * ecore-wayland: Check for xdg_surface before sending ack_configure
   * Evas GL: Add preventive padding after Evas_GL_API
   * evas: Evas_3D - fix typo.
   * autotools: fix compiling/linking gl engines on OSX.
   * ecore con: Fix GnuTLS build error.
   * ecore-drm: Remove erroneous debug messages
   * ecore/animator: fix the bezier cubic compuation.
   * eldbus: Fix _eldbus_connection_send_and_block()
   * eldbus: Add timeout parameter to eldbus_proxy_send_and_block()
   * ecore-evas-wayland: Fix issue with ELM_PROFILE=mobile and windows not showing up correctly.
   * eeze_scanner needs to hash on the address of the pointer and not use direct_add() (T1612)
   * ecore/animator: fix the wrong computation of bezier cubic.
   * evas_xcb_outbuf: fix memory leak
   * ethumb: Fixing eina_init to eina_shutdown.
   * ecore-drm: Fix error message typo
   * ecore-drm: Fix formatting
   * ecore-drm: Cleanup structures in private header
   * ecore-drm: Fix ecore_drm_launcher_device_close to not cause segfaults
   * ecore_audio: fix memory leak in ecore_audio_pulse.
   * edge: fix memory leak and removed redundant return statement.
   * ecore-drm: Added cleanup data code as a error handling of connect logind.
   * ecore_drm: Removed unused variables in ecore_drm_evdev
   * ecore-drm: cleanup data when failed to setup tty.
   * ecore-drm: restore VT to text mode when close tty.
   * ecore-drm: fix passing wrong argument to open().
   * ecore-drm: Remove libinput log print callback
   * ecore-drm: Fix usage of EINA_LIST_FREE
   * ecore-drm: Add output size to device structure and add internal function for setting size
   * ecore-drm: Add internal function to set the output size in the input device structure
   * ecore-drm: Transform touch events into output coordinates
   * ecore-drm: Update pointer motion event coordinates
   * ecore-evas-drm: Create inputs before we create outputs
   * ecore-evas-drm: Fix up error handling
   * ecore-drm: Also update device calibration when output size changes
   * ecore-drm: Finish implementing touch events
   * ecore-drm: Don't declare sprite variable unless we need it, also fix some formatting.
   * eldbus: Fix possible null dereference reported by Coverity (CID1256952)
   * evas-gl-common: Fix issue with Coverity reporting null dereferences (CID1257607, CID1257606)
   * ecore-drm: Free devices before we release the libinput reference
   * edje: Removed redundant assignement of rest_args.
   * ecore_con: Added NULL check in dns_so_reset() for dns_socket object.
   * ecore-drm: add error handling, when fail to setup tty.
   * eldbus: Fix crash when removing the last reference of the message container inside of the message callback (T1908)
   * eet: fix memory leak in eet_cipher
   * evas: fix memory leak in evas_swapper.
   * eeze: add null check condition in eeze scanner module.
   * evas: fix memory leak issues in evas_object_textgrid.
   * efreet: pass the correct option from the user input.
   * ecore: fix memory leak issues.
   * eina: fix memory leak issue in Eina_Value.
   * evil: fix memory leak issue in evil_dirent module.
   * edje: add tween images into generated code for the group.
   * edje: fix memory leak in edje_edit_source_generate.
   * Edje_Edit: Add sound samples into generated code for the group.
   * evas/gl_x11: set EGL_PLATFORM environment variable
   * ecore_con: the timer callback is waiting for the Eo object not its private data. (T1962)
   * edje: Edje_Edit - remake deletion and replacing of strings
   * ecore-evas: Fix compiler warnings about inproper returns
   * eina_cxx: Fix eina::accessor for C++ Eo wrappers
   * eina_cxx: Fix eina::array cend method recursive calling itself
   * edje: Edje_Edit - add Proxy to Edje_Part_Collection_Directory_Entry initializatoin.
   * eet: Remove unused variable
   * ecore-evas-drm: Perform shutdown in proper order
   * ecore-drm: Fix incorrect launcher shutdown procedure
   * ecore-drm: Fix issue with TakeControl and ReleaseControl functions
   * edje - fix uninitialized coord sizes if swallow obj is invalid
   * evas textgrid - fix drawing of codepoints that are 0
   * ecore_evas_drm: Added support for initial rotation in ecore_evas_drm
   * ecore-wayland: Simplify opaque and input region handling.
   * ecore-evas-wayland: Fix min/max size calculations
   * ecore: fix compilation, missing return value in ecore_thread_wait
   * evas:fix markup text length issue
   * ecore_imf: Add null check condition in ecore_imf module
   * ecore_evas_x: Free XCounter values leak.
   * eo: Fix bad addressing in _eo_classes array
   * ecore-evas-wayland: Port fix of min/max size calculations to the configure event handler
   * ecore_evas/wayland_egl: Set alpha of ecore_evas object if parent alpha is set
   * evas: Fix unintentional integer overflow (CID1261436)
   * edje: Fix Coverity CID1261437
   * ecore_imf/scim: Fix logically dead code in scim module (CID1261449)
   * edje - edje_cc - fix wrong state lists where default is not the first (T1926)
   * efl - edje_cc - fix default state checks in previous commit
   * Eo tests: Fix bad free in eo_test_value
   * edje: Remove dead code
   * eina - mmap safety handler - fix to only handle sigbus's from io
   * ecore-drm: Add actual Outut to the Input device structure
   * ecore-drm: Remove unused function
   * ecore-drm: Remove call to unused function
   * ecore-drm: Limit mouse movement to within the output size
   * ecore-evas-drm: Init outputs before inputs so that input devices can have a pointer to outputs
   * ecore-wayland: Don't set move cursor unless we actually start a drag
   * ecore-wayland: Fix issue with Elementary DnD test not releasing mouse
   * ecore-drm: Re-enable setting K_OFF keyboard mode
   * Eee image: fix macros to be surrounded with do while().
   * eet - image decode - fix robustness of image decode from eet file
   * edje: Edje_Edit - fix memory leak in edje_edit_image_usage_list_get
   * ecore-wayland: Don't crash if we have no input->cursor_name
   * ecore-drm: Restore tty keyboard mode on restore of tty
   * ecore-drm: Reset output cursor and crtc mode on shutdown
   * ecore-drm: Don't init tty unless we are Not using systemd
   * edje: edje_pick - fix double free eina hash iterator.
   * ee engines should not crash when re-setting the same title/name_class
   * ecore-wayland: Don't send a mouse_up on grab release unless we actually have a grabbed button
   * Efreet: do not get confused by path ending with / in XDG_* vars
   * evas: fix to load BMP file compressed with RLE.
   * ecore: Remove potentially useless 'else' branches
   * ecore-drm: Store session name inside dev structure and don't take/release session control inside dbus functions
   * ecore-drm: Default device->session to NULL
   * ecore-drm: Cleanup tty code and handle vt signal trapping
   * ecore-drm: Fix various issues with logind code
   * ecore-drm: Cleanup launcher code
   * ecore-drm: Cleanup private header file
   * ecore-drm: Move session and vt fields to store inside the Ecore_Drm_Device
   * ecore-drm: Remove logind header file from build order
   * ecore-drm: Remove logind header file
   * ecore-evas-drm: Fix improper shutdown sequence
   * ecore-drm: Remove session parameter for internal function
   * ecore-drm: Remove unused function parameter
   * ecore-drm: Remove session parameter for session take/release functions
   * Merge branch 'devs/devilhorns/ecore_drm'
   * edje_cc must error when first provided state description is not "default" 0.0 (T1926)
   * ecore-x: Fix calls to disable dpms in xcb
   * ecore-x: Add missing EINA_UNUSED for function paramater
   * ecore-x: Remove unused variable in backlight_available code
   * ecore-x: Use proper XCB_ATOM_CARDINAL in call to window_property_get
   * ecore-x: Fix build error in xcb
   * ecore-xcb: Fix unused paramater compiler warning
   * ecore-xcb: Fix compiler build break
   * ecore-xcb: Fix ecore_x_window_full_new function to compile again
   * ecore-xcb: Add missing EINA_UNUSED for function paramater
   * evas-software: Fix call to evas_software_xcb_outbuf_setup function
   * evas-software: Fix software engine to compile using xcb
   * evas-software: Fix compile errors when using xcb
   * evas-image-loaders: Fix compiler warning of comparison between signed and unsigned values
   * edje: Edje_Edit - fix setting NULL into string pointer
   * embryo_cc_sc2.c: prevent memory corruption.
   * Set the name for table, box items
   * evil: fix initialisation of the socket library.
   * eolian: fix unary expression parsing (correctly consume tokens) (T2064)
   * evil: fix SEGFAULT in strcasestr
   * Edje: edje_cc - abort recursive Reference that is made by GROUP parts
   * evil: get right Windows environment variables for home path.
   * eio: Win32 make GetOverlappedResult function non-blocking
   * autotools: fix make check build error on Windows
   * eo: fix to pass make check on windows
   * eolian: fix to pass make check on windows
   * check: fix tests suites on Windows
   * eina: use uintptr_t for Eina_Thread storage to be the same size for the different architectures.
   * ecore_win32: don't allocate Ecore_Event_Key events with NULL keys
   * eina: fix tests suites for Windows to have a predictable result.
   * Edje: edje_edit - abort Recursive Reference in edje_edit_part_source_set
   * ecore-drm: Trap for failure to dup stdin
   * ecore-wayland: Don't send key repeat events for keys which should not get them
   * eet - fix endianess break added by cedric a year ago in image decoding (T1987)
   * eina: fix valgrind invalid read of size in eina_file_path_sanitize.
   * ecore-x: Deprecate misspelled screensaver API function
   * ecore-x: Deprecate old misspelled API function and add new one
   * ecore-x: Port deprecated API and new API function to xcb
   * evas: Evas_3D - fix bug with uninit Evas_Mat4 flag.
   * eldbus: production code inside Eina Safety Check assert.
   * Ecore_con: fix initialisation clean up and avoid memory leak.
   * eldbus: fix memory leak.
   * elua: correct eo inheritance behavior
   * eina: Eina_Value - use eina_mempool_free to cleanup the memory
   * evas: Evas_3D - fix when bounding sphere is large, situation with incorrect frustum calculation was possible.
   * eldbus: eina_value not allocated from mempool.
   * evas: Evas_3D - fix evas_3d_scene_pick when trying to get empty texcoords from mesh.
   * evas: Evas_3D - fix order of transformation while updating bounding object.
   * eina: fix semaphore initialisation
   * ecore-drm: Fix issue with ecore_drm_output_crtc_Find sending back an invalid id. Fix T2086
   * evas - gl engine - pipe renderer - disabling of unused arrays for lines


Changes since 1.11.0:
---------------------

Features:

   * evas: add evas gl-drm engine
   * eina: port Eina_Spinlock for OSX
   * eo: mmap()/unmap() are also supported on OSX
   * ecore-wayland: Implement ivi-shell support for Ecore_Wayland (T1552)
   * ecore_cocoa: NSRunLoop integration
   * edje: Edje_Edit - add code to generate edc source for all transition types in programs
   * ecore-drm: Add API function for getting screen geometry
   * ecore-drm: Add API function to get screen geometry
   * ecore-evas-drm: Add function to return screen geometry
   * Eolian/Generator: support @empty and @auto.
   * edje: Edje_Edit - get the buffer with sound's data
   * eeze: Add missing drm subsystem & device type and add a new Eeze_Udev_Type for drm
   * eeze: Add case for EEZE_UDEV_TYPE_DRM in eeze_udev_find_by_type function
   * eeze: Add ability to get syspath from a watch for DRM
   * Merge branch 'devs/devilhorns/eeze'
   * eeze: Add eeze_udev_syspath_get_synum function
   * eeze: Add code for eeze_udev_syspath_get_sysnum function
   * +eina_value_util api
   * eeze: Add Eeze udev types for backlight and leds
   * eeze: Add cases for backlight and leds in eeze_udev_find_by_type
   * eeze: Add cases for backlight and leds in get_syspath_from_watch.
   * ecore-drm: Port ecore_drm_inputs code to use Eeze instead of udev
   * Merge branch 'devs/devilhorns/ecore_drm_eeze'
   * +eina_strdup(), eina_streq()
   * ecore-drm: Added private functions to get brightness levels in backlight
   * Evil: add strptime()
   * ecore-wayland: Add API functions to iconify an Ecore_Wl_Window
   * Merge branch 'devs/devilhorns/xdg_shell'
   * evas: Evas_3D - add .eet export/import
   * edje: Edje_Edit - get the source name of the sample
   * Evas GL: Add API evas_gl_error_get()
   * Evas GL: Add APIs to get current surface/context
   * Evas GL: Add API evas_gl_rotation_get
   * Evas GL: Add support for client-side rotation
   * Evas GL: Add evasglCreateImageForContext + import defs
   * Evas GL: Add support for fence_sync and similar extensions
   * Evas GL: Add evas_gl_surface_query
   * Evas GL: Add support for pbuffer surfaces
   * Evas GL: Add support for OpenGL-ES 1.1 (part 1)
   * ecore_drm: Added internal function to check if drm device is hotplug device

Fixes:

   * evas: Evas_Gl_X11 - add missing eng_window_free
   * evas: Evas_wayland_Egl - fix black surface during resize
   * evas: Evas_Wayland_Egl - change size of common gl context after egl make current according to current Outbuf's size
   * edje: Edje_Edit - fix support for program's targets
   * edje: Edje_cc - fix not storing edc sources in .edj file with --no-save option
   * ecore_evas: Ecore_Evas_X - make sure that ecore evas post render is always called.
   * ecore-evas-wayland: Fix ecore_evas async rendering with wayland engines
   * fix efl deadlock with thread queues
   * ecore-wayland: Remove need for function prototypes
   * ecore-wayland: Fix ecore_wl_screen_size_get function to handle more than one output.
   * ecore_evas: Ecore_Evas_X - Fix broken rendering during rotation with resize (T1371)
   * eina_file: fixing wrong return value on access problems in file copy process
   * gl-drm: Fix missing link to gbm for ecore_evas_drm and clean up build script
   * shutup ecore-x vsync stupid log domain failures
   * ecore-drm: Add local function to free outputs and on any errors during create, call it
   * ecore-drm: Fix copy/paste build error
   * ecore-evas-drm: Fix misplaced #ifdef from gl_drm patch
   * emotion - fix calling pos update cb for gst1 module in frame new
   * emotion - audio volume - leave as-is on file open/init
   * evas textblock: fixed ellipsis character cut off issue with complex markup text. (T1213)
   * edje_cc now throws an error during link combination when the current part has no name
   * evas: fix build on armv7l. (T1620)
   * evas-drm: Fix evas-drm picking incorrect resolution/mode for outputs
   * edje embryo stop_program() should stop pending actions
   * ecore: Check that eo_data_scope_get returns valid Ecore_Timer_Data before trying to use it
   * evas: let's freeze the canvas, shall we ?
   * edje: prevent resource leak.
   * ecore-evas-drm: Implement ecore_evas_pointer_xy_get for drm engine
   * ecore-drm: Close input device fd on error during open and fix some todo messages
   * ecore-drm: Fix missing close of fd on _device_add
   * ecore-drm: Fix drm VT switching to work again
   * Evas: Fix crash in hide
   * ecore-wayland: Allow setting input->cursor_size even if we don't have the shm interface yet
   * ecore-wayland: Don't crash if we have no shm interface yet when setting cursor theme
   * Evas filters: Fix parsing of argument lists (T1615)
   * edje_program: added signal "focus,part,out" when focus is discarded
   * evas: Gl_Cocoa - fix early segfault caused by unloaded symbols
   * efl: Move Eldbus above Ecore_Drm
   * ecore-drm: Remove direct dbus dependency from Ecore_Drm
   * ecore-drm: Add Eldbus header to private header file
   * ecore-drm: Include config.h in private header
   * ecore-drm: Fix private function prototypes for new dbus functions
   * ecore-drm: Rework input code to function with Eldbus
   * ecore-drm: Rework internal dbus code to use Eldbus
   * Merge branch 'devs/devilhorns/ecore_drm'
   * efl - vsync - deal with both broken and non-broken libdrm
   * eina: do no use umask on Windows in eina_file_mkstemp()
   * eeze: Fix return value for eeze_udev_syspath_get_sysnum
   * eeze: Fix issue with eeze_udev_find_by_type not finding devices when name is NULL.
   * ecore-evas-drm: Fix calling ecore_drm_device_find twice in some cases
   * ecore-drm: Move Eeze above Ecore_Drm
   * ecore-drm: Add Eeze as a dependency for Ecore_Drm
   * ecore-drm: Remove dependency on libudev for ecore-drm
   * ecore-drm: Remove internal dependency on libudev
   * ecore-drm: Add Eeze as an internal dependency for ecore-drm
   * ecore-drm: Fix comment to not mention udev
   * ecore-drm: Remove references to udev functions and init Eeze during startup
   * ecore-drm: Fix ecore_drm_device_find function to use Eeze
   * ecore-drm: Remove udev from private header and add an Eeze_Udev_Watch for Ecore_Drm_Input
   * ecore-drm: Port ecore_drm_output backlight init code to use Eeze
   * eeze: Fix missing break in switch(s) (CID1240225, CID1240226)
   * ecore_x_vsync - fix tiny leaklet of drmversion
   * ecore-drm: Remove need to use an extra variable for storing device.
   * ecore-drm: Add an extra blank line just to separate code
   * efreet: Accept both only_show_in and not_show_in
   * ecore-drm: Fix adding an input device when we don't get the devpath from Eeze.
   * ecore-drm: Add some more debug information if a device fails to open
   * ecore-drm: Don't crash if we get no devpath from Eeze
   * Evas Textblock: Fix bad empty line add on wrapping
   * ecore-drm: Fix _device_add function to check input
   * ecore vsync - fix up dual nvidia + dri/drm driver discovery
   * Evil: fix fcntl() when used with F_SETFL
   * eeze: Add configure check for older libudev version
   * eeze: Add ifdef trap for older udev version
   * edje_cc: fix memory leak.
   * eeze - sensors - ints for sensor events were decld in .h - and never .c
   * Evas Textblock: Fix native width of BiDi text (T1532)
   * ecore-wayland: Check return of calloc
   * ecore-wayland: Check for valid shell before sending bound event
   * ecore-wayland: Add support for xdg_surface class name
   * ecore-wayland: Bump xdg_shell version for pending release
   * ecore-wayland: Cleanup shell surface creation
   * ecore-wayland: Add support for handling surface delete callback
   * evas textblock: return text direction for under cursor in cursor geometry get
   * eina: open files in read-onnly for eina_file_open() on Windows
   * ecore_drm: Verifying if name format is /dev/xyz before assigning to tty.
   * evas-gl-common: Fix compile for EGL due to missing GL_LINE_SMOOTH
   * ecore-drm: Fix failure of finding drm device on ARM platforms.
   * ecore-drm: Fix drm cards on ARM platform not having boot_vga parameter
   * ecore-evas-drm: Set the ecore_drm_device reference in the engine data
   * eina: remove macros referencing to absent functions.
   * evas: GL_X11 context need to always be with alpha or it will fail to change.
   * Edje_Edit: creating new hash in global data if it is not created yet
   * Ecore_Win32: Fix string for the BackSpace key on Windows
   * edje: Edje_Edit - fix edje_edit_image_usage_list_get() to return usage list with images with USER compression.
   * edje: Edje_Edit - add state alloc for PROXY part.
   * eio: actually correctly set all field to NULL. (T1729)
   * ecore-wayland: We should be dispatching pending events After we flush clients
   * evas: evas_map - fix cast from double to int with using lround()
   * edje: Edje_Edit - fix edje_edit_state_aspect_pref_set() function to setup Source and None aspect preferences
   * evil: simplify implementation of localtime_r
   * eet: enhance error messages with libjpeg
   * ecore-drm: Default output to NULL and add safety check for NULL output after the device loop.
   * ecore-drm: Create udev watch for each output, and delete the watch when we free the output.
   * evas: Evas_Box - layout_flow_horizontal and layout_flow_vertical fix
   * evas-wayland-egl: Fix function prototype for eng_context_create
   * Eo id: Fix id security checks for invalid objects.
   * ecore-drm: Cleanup/Unify output_free function code
   * ecore-drm: Check for valid crtc before calling free
   * ecore-drm: Cleanup backlight and drm device in output_free function code
   * ecore-drm: Added documentation for various APIs in ecore_drm_device module
   * ecore-drm: Added documentation for various APIs in ecore_drm_output module
   * ecore_wayland: Making _ecore_wl_init_count not to go below zero in shutdown.
   * ecore_drm: Making _ecore_drm_init_count not to go below zero in _ecore_drm_shutdown.
   * ecore-drm: Add error message for calling shutdown without calling init first.
   * ecore-wayland: Add error message for calling shutdown without calling init
   * ecore_wayland: Making _ecore_wl_shutdown return int instead of EINA_BOOL.
   * evas-gl-drm: Fix initialization from incompatible pointer type
   * evas gl rgba visual/rendering fix try ... again
   * dnd/x: fix type set for case there is no type list exists
   * edje: edje_edit - don't unlick(NULL) (T1760)
   * edje: edje_edit - fix posible resource leak (T1760)
   * Edje_calc: set the image set border again after resize.
   * ecore_evas - ecore_evas's should start withdrawn then normal on show
   * edje_cc_out: update the id of set images.
   * ecore-tests: Add missing separator
   * evas-gl-x11: Check return value of glXMakeContextCurrent (CID1249651)
   * evas-gl-x11: Fix copy/paste error from Coverity fix
   * evas-gl-x11: Don't call gl_common_error_set if MakeContextCurrent fails
   * evas-gl-3d: Fix compiler warning about 'ld' may be used uninitialized
   * ecore-evas-wayland: Fix wayland windows not showing up after 5954289c6ce1cd55ff212428291604b981438439
   * eina_unicode: fix memory allocation
   * edje: fix use of eina_tmpstr_del after eina_shutdown.
   * ecoreidrm: Cleaned up unwanted code.
   * ecore-drm: Remove commented out dead functions
   * ecore-drm: Remove dead functions
   * eina: clear up eina_tmpstr length information (T1775)
   * elua: load .dylib on OSX
   * Ecore File: Corrected documentation of ecore_file_monitor_add API
   * edje: fix edje_object_part_text_item_list_get and edje_object_part_text_item_geometry_get
   * elua: remove the : prefix for running apps
   * evas: fix quaternion initiation for node, which isn't a root node
   * edje: Edje_Edit - fix segfaults on restacking of text parts with set 'text_source'.
   * edje: Edje_Edit - fix segfault on copying state of IMAGE part with twins
   * elua: two-stage bytecode caching

Changes since 1.10.0:
---------------------

Features:

   * Eolian: add support for typedefs.
   * Eolian/Generator: add support for implementation source file.
   * Eolian: add support of namespaces.
   * eina-tiler:add union, subtract, intersection, equal apis for tilers
   * Evas/Textblock: add support for ellipsis values
   * Eo: Add eo_finalize. A func that's called at the end of eo_add.
   * edje: Edje_Edit - add sounds list accessor.
   * edje: Edje_Edit - add edje_edit_part_copy function that copy parts within whole group.
   * edje: Edje_Edit - add edje_edit_part_pointer_mode functions.
   * evas: Evas_3D - Revision frustum culling.
   * edje: Edje_Edit - add edje_edit_part_precide_is_inside functions.
   * edje: Edje_Edit - add edje_edit_part_access functions.
   * edje: Edje_Edit - add edje_edit_group_orientation_set/_get.
   * edje: Edje_Edit - add edje_edit_part_multiline functions.
   * edje: Edje_Edit - add edje_edit_part_cursor_mode functions.
   * evas: Evas_3D - add .obj export/import.
   * evas: Evas_3D - add evas_box3_ray3_intersect and evas_box2_intersect_2d functions.
   * edje: Edje_Edit - add parameters to generate source code for part.
   * Evas ETC2: Add ETC2 encoder skeletton
   * Evas TGV: Add ETC2 support to the TGV saver
   * Evas ETC2: Implement T mode encoding
   * Evas ETC2: Implement H mode encoding
   * Evas ETC2: Implement Planar mode
   * Evas: Implement full ETC2 encoder
   * Ecore_Evas: add new API for unset the cursor from Ecore_Evas.
   * Elua: initial commit
   * Introducing Elua: an EFL-LuaJIT app runtime
   * edje: Edje_Edit - edje_edit_state_text_class_xet()
   * edje: Edje_Edit - edje_edit_state_text_text_source_xeg()
   * edje: Edje_Edit - add edje_edit_part_item_append functions.
   * edje: Edje_Edit - add edje_edit_state_minmul functions.
   * edje: Edje_Edit - edje_edit_state_text_repch_xet()
   * edje: Edje_Edit - edje_edit_state_text_size_range_min_max_xet()
   * Evas gl: Enable texture atlasses with ETC1/2
   * edje: Edje_Edit - add edje_edit_sound_sample_add() function that allows user to add new sound sample to collection
   * edje: Edje_Edit - edje_edit_sound_compression_rate_xet()
   * edje: Edje_Edit - add edje_edit_part_items_list_get.
   * Evas: Add encoding parameter to the savers
   * Eet: Add support for ETC2 encoding and decoding
   * Edje: Add support for ETC2 through LOSSY_ETC2 images
   * edje: Edje_Edit - add functions that allows user to set and get frequency value of tones in collection
   * edje: Edje_Edit - add edje_edit_part_item_source functions.
   * edje: Edje_Edit - add bunch of BOX and TABLE param get/set functions.
   * edje: Edje_Edit - edje_edit_part_select_mode_xet()
   * edje: Edje_Edit - edje_edit_sound_compression_type_xet()
   * edje: Edje_Edit - add edje_edit_state_map_light_xet()
   * edje: Edje_Edit - add edje_edit_part_item_align functions.
   * edje: Edje_Edit - add edje_edit_state_map_rotation_center_xet()
   * edje: Edje_Edit - add edje_edit_part_entry_mode_xet()
   * eolian: introducing a new lexer/parser
   * Introducing new lexer/parser for Eolian
   * edje: Edje_Edit - add API for missing map properties
   * edje: Edje_Edit - add edje_edit_part_item_del.
   * edje: Edje_Edit - add missed iterator and object deletion in _delete_play_actions() function
   * edje: Edje_Edit - add functions that provide the ability to set and get source for proxy parts state
   * edje: Edje_Edit - add edje_edit_sound_tone_add() function that allows user to add new tone to collection
   * eolian: introducing support for .eot files
   * eolian: new type API
   * Evas: Add DDS image file loader
   * Evas gl: Add support for S3TC textures (T5, T3, T1)
   * edje: Edje-Edit: edje_edit_state_map_perspective_xet()
   * edje_edit: Add edje_edit_part_item_aspect_mode functions.
   * edje_edit: Add edje_edit_state_map_point_color functions.
   * edje: Edje-Edit: edje_edit_state_map_on_xet()
   * evas: jpeg loader - support flip, transpose, transverse
   * edje: Edje_Edit - add edje_edit_part_item_weight functions.
   * edje: Edje_Edit - add edje_edit_part_item_spread functions.
   * eolian: new API for struct types
   * Evas TGV: Add support for ETC1+Alpha
   * Evas gl: Add support for ETC1+Alpha textures
   * Eet: Add support for ETC1+Alpha
   * new eina api/object - eina thread queues
   * ecore-drm: Add necessary headers for dbus and systemd-login
   * edje embryo: Now supports get_anim_pos_map
   * efreet - add menu ref/unref calls and refcounting to try solve e issue
   * edje: Add dpi feature.
   * ecore animator - adjust ecore loop time when animtor ticks to be exact
   * add function to set ecore loop time
   * add simple ecore-con-url test suite

Fixes:

   * Eolian: fix generation when optimization is set.
   * Edje GROUP objects now recursively hide child objects when parent is hidden
   * Evas textblock: Fix wrong advance calculation when bidi is disabled.
   * Eo/evas events: Fix support of mixing legacy smart events and eo events.
   * evas loader - redo gif fix so it doesn't break everything
   * Evas: Remove invalid cast and fix warning/bug on windows
   * Win64: Fix a bunch of warnings
   * eina/file - revert 18be4c50d9990c82ed9ce4269b7820e61f772699
   * Eolian: Fix class look up.
   * Eolian: Fix bad behavior when the .eo is incorrect
   * evas: Examples - fix Evsa3D Eo classnames.
   * Evas textblock: Fix crash when cutting ligatures with formats. (T1308)
   * edje: Edje_Edit - fix edje_edit_part_source_set
   * Remove autogen.sh from the dist tarball.
   * eo: force zeroing memory on non Linux system.
   * edje: Edje_Edit - fix func edje_edit_state_text_source_set()
   * evas gl: distinguish between IMG and EXT MSAA extensions
   * evas/textblock: check item's type before returning result.
   * remove unnecessary second checks on validity
   * elua: Fix building of binary
   * eina-cxx: fix compilation error on clang in eina_thread.hh (T1328)
   * eina-cxx: fix compilation error on clang (T1328)
   * Evas textblock: Fix issue with edje fonts not being used. (T1331)
   * edje: Edje_Edit - some minor edits
   * configure: Add dl to edje libs
   * Evas/Textblock: Introduce PS deletion bug test and fix
   * edje: Edje_Edit - fix compiler warnings for edje_edit_part_item_source_get/set
   * ecore-evas-wayland: Remove useless variable.
   * ecore_win32: fix key events on Windows.
   * ecore: fix ecore main loop on Windows when number of objects is greater that MAXIMUM_WAIT_OBJECTS
   * eina: fix build on windows.
   * Documentation: adding missed documentation to edcref (map.color param)
   * evas/gl - fix to render grayscale with transparency format in gl backened.
   * ecore-evas: Fix cursor position getting reset to 0,0 when using ecore_evas_cursor_object_set
   * edje: textblock style loading changed
   * evas/gl: improve the rendering quality.
   * lz4: fix possible security issue.
   * jpeg loader: exif parsing bug fix
   * evas: fix jpeg loader rotation by metadata (exif)
   * lz4: fix shadow issue
   * configure.ac: Remove obsolete macros
   * evas - gl common - fix drop of image on cache hit in gl engine images
   * this fixes crazy french altgr setups that confuse binding masks (T1273)
   * edje_edit: adding @since 1.11
   * evas: gl_common fix make dist
   * ecore-drm: Shutdown ecore_event on udev error.
   * edje: Edje_Edit - fix Documentation generation error's and warning's
   * ethumb: fix setup related API problem
   * ethumb: support ETHUMB_THUMB_ORIENT_ORIGINAL without libexif
   * evas-engine-drm: Fix drm engine breakage from Frenchie
   * evas-engine-drm: Fix invalid variable check
   * ethumb: dbus reply message handling minor bug fix ("queue_remove" method call)
   * evas-engine-drm: Fix software_generic_update to use the correct size.
   * evas-engine-drm: Fix update of output buffer size
   * evas-engine-drm: Fix evas drm engine bufer depth
   * evas-engine-wayland-shm: Check for depth being INHERIT on reconfigure
   * edje: Edje_Edit - fix size memory calculating for realloc array of tweens.
   * ecore-evas: Fix missing drm engine in list
   * evil: fix mistaken check of returned value by mkdir.
   * eina: (Windows) fix creation of files with eina_file_open() in some cases
   * evas: mark the evas text object as dirty, when text style is changed.
   * ecore-drm: Fix trapping of SIGUSR1 for VT switching signals
   * Evas textblock: Fix memory leak
   * evas-wayland-shm: Free allocated rectangle after sending damages
   * ecore_evas_extn: do not double close fd in case of memory starvation. (CID1039885)
   * ecore_evas_extn: fix wrong plug image display after connect
   * ecore animator - this fixes suspended animators still waking up
   * ecore-evas - fix continual wakeups with unchanged canvases
   * ecore_x: don't go below 0. (T1467)
   * Evas textblock: Correct word start/end moving at new line or line begins with spaces
   * evas/textblock: fix to keep original format when a markup tag is matched to a style tag.
   * build/drm: Fix broken build from scratch and add missing library dependency for evas_drm engine (T1473)
   * textblock: Update visual_pos before calling _size_native_calc_line_finalize.
   * edje: fix coverity defects (CID1214113, CID1230296, CID1230295)
   * ecore_evas_buffer: fix dereference null return value (CID1210810)
   * evas-wayland-egl: Fix wayland egl engine to work again (T1478)
   * evas-wayland-egl: Fix evas wayland_egl engine not loading due to missing symbol
   * eldbus: do not ignore numeric "0" in property_set
   * Evas text: fix text object size with empty texts.
   * evas-wayland-egl: Fix evas wayland_egl engine crash on mesa driver
   * wayland-egl: Fix eng_window_new function prototype
   * wayland-egl: Fix calls to eng_window_new
   * wayland-egl: Fix Outbuf structure not having evas & engine info
   * evas-wayland-egl: Fix typos about egl context attribute list
   * evas-wayland-egl: Add missing free
   * evas-gl-common: Fix invalid use of Texture
   * ecore-wayland: Calloc Can fail, so check that it works (or return if not).
   * evas-software-x11: Remove EINA_UNUSED for function paramater that is used
   * edje_pick: fix a segfault on 'set' copy
   * edje_pick: fix a copied aliases
   * Grid: fix a mirroring bug
   * evas gl - fix yuv smooth rendering
   * evas image loaders - silence noisy warnings that are just not needed
   * evas-wayland-egl: Fix segmentation fault on dynamic loaded gl related functions.
   * evas-wayland-egl: Free Outbuf if gl_generic_init fails
   * evas-wayland-egl: Check for valid tilebuffer before setting tile size
   * evas-wayland-egl: Increment frame count after flush
   * evas-wayland-egl: Don't resize gl_context during first_rect
   * evas-wayland-egl: Fix wayland egl engine not rendering
   * efl: Fixed unwanted configure.ac warning.
   * evas textblock: fixed ellipsis character cut off issue with complex markup text. (T1213)
   * evas-gl-generic: Remove useless returns
   * ecore_imf_context: fixing default id getter

Changes since 1.9.0:
--------------------

Features:

   * eina: add eina_inarray_resize @feature.
   * eina: add eina_accessor_clone and update all Eina_Accessor to take advantage of it.
   * eina: add a C++ bindings to Eina @feature.
   * @feature - Apply NEON intrisics improvement to rotation
   * Evas textblock: Implemented mid-contextualization formatting.
   * evas-drm: Add evas_drm to build order for Evas drm engine
   * evas-drm: Add Evas Drm Engine (software only currently)
   * evas-drm: Add option to enable drm hardware acceleration
   * evas-drm: Start on hardware-accel support for drm
   * evas-drm: Triple buffer by default.
   * evas-drm: Fix opening of drm card
   * evas-drm: Start on hardware Plane support
   * evas-drm: Add vsync/non-vsync support to evas_drm code
   * evas-drm: Ddd support for setting vsync with env variable.
   * edje: @feature to include license in edje file. (T1027)
   * edje: add support of last input entered in password mode to be always visible in entry.
   * eio: make it possible to limit the amount of memory used by threads.
   * eina: make Eina_Error thread safe.
   * edje: add AUTHORS and more than one license file to Edje.
   * ecore-drm: Add Ecore_Drm code
   * ecore-drm: Add configure.ac autofoo for ecore-drm
   * Eet: Added vieet a tool to edit eet files.
   * eina-cxx: Added eina_log support for C++, using IOStreams syntax
   * ecore-drm: Add API function to return the vt fd
   * ecore-drm: Add dependency on xkbcommon
   * ecore-drm: Add code pass along key events to ecore_event
   * ecore-drm: Set the window of the Ecore_Event_Key structure
   * ecore-drm: Add code to handle modifiers in a key event
   * ecore-drm: Add code to handle mouse input
   * evas/font: Added evas_font_path_global_* APIs.
   * Eo: Made eo id for classes a bit more secure.
   * ecore-drm: Add API function to return the drm device name
   * ecore-evas-drm: Add support for resize and move callbacks
   * ecore-evas-drm: Add support for setting focus_in & focus_out callbacks
   * ecore-evas-drm: Add support for setting the mouse in & mouse out callbacks of the ecore_evas
   * ecore-evas-drm: Add support for ecore_evas_move function
   * ecore-evas-drm: Add support for ecore_evas_move_resize
   * ecore-evas-drm: Add support for rotation set
   * ecore-evas-drm: Add support for setting the title of the ecore_evas
   * ecore-evas-drm: Add support for ecore_evas_name_class_set
   * ecore-evas-drm: Add support for setting size hints
   * ecore-evas-drm: Add support for ecore_evas_object_cursor_set
   * ecore-evas-drm: Add support for ecore_evas_layer_set
   * ecore-evas-drm: Add support for ecore_evas_iconified_set
   * ecore-evas-drm: Add support for ecore_evas_borderless_set
   * ecore-evas-drm: Add support for maximized, fullscreen, withdrawn, and ignore_events settings
   * ecore-evas-drm: Add support for alpha & transparent setting
   * ecore-evas-drm: Add support for setting aspect of ecore_evas
   * edje_cc now supports program.targets keyword for adding N targets in one line
   * edje_cc now supports group.remove for removing parts from inherited groups
   * edje_cc now supports part.inherit for copying attributes of parts within a group more easily
   * eeze_udev gets more helper functions
   * edje_cc now supports program.sequence for more easily chaining programs together
   * edje_cc can now use group.program_remove to remove inherited programs
   * edje_edit: function that will return the source code of the loaded edje edit object.
   * ecore-drm: Add API function for getting size of an output.
   * eet-cxx: add implementation for eet C++.
   * Eina: Fix mistake in a previous patch
   * +eeze_udev_get()
   * eina-cxx: Modified eina C++ log use syntax
   * Move to Eo2 and adjust code accordingly
   * Eo: eo_do now returns called func's value + default ret fix.
   * Edje: Use LOSSY_ETC1 instead of LOSSY
   * Evas TGV: Add direct copy mode for ETC1/ETC2 data
   * Evas: Add support for ETC2 in the TGV loader
   * Evas gl_x11: Add ETC2 support to the GL/X11 engine
   * edje_cc now supports "lazEDC", a more concise version of EDC
   * edje_cc now supports the group.inherit_only attribute
   * edje_cc now supports targets for SIGNAL_EMIT actions
   * edje_cc now has the program.groups and X.target_group keywords for target grouping
   * edje_cc now supports group.program_source for specifying a default source in programs
   * eina_hash now has helper functions for managing lists inside hashes
   * edje_cc now supports part.description.link for single line state changes
   * edje now has the group.script_recursion flag for permitting unsafe embryo recursion (T905)
   * eolian_cxx: initial version of the EFL C++ Bindings Generator.

Fixes:

   * ecore: @fix race condition when using ecore_main_loop_thread_safe_call_sync.
   * examples/evas: Set a proper format string for fprintf
   * evas-drm: Set Magic on the Ecore_Evas
   * evas-drm: Fix configure.ac typo for drm hw accel argument
   * evas-drm: Call framebuffer_set earlier in the process so that the screen gets updated sooner.
   * evas-drm: Fix opening of drm card
   * evas-drm: Forgot to install the evas drm engine pkgconfig file
   * evas-drm: cleanup outbuf structure and functions
   * evas-drm: cleanup evas_engine code for drm sw engine
   * evas-drm: Add vsync/non-vsync support to evas_drm code
   * evas-drm: Ddd support for setting vsync with env variable.
   * Evas: Fix build issue when building without drm
   * ecore_avahi: @fix timeout to avoid pitfall of forever frozen timer.
   * evas-drm: Fix evas drawing delay for cedric
   * Evas filters: Avoid CRI message when using the GL engine
   * Evas filters: fix black squares with the GL engine
   * Evas filters: fix random cases of 'dancing text'
   * Evas filters: fix clip to target calculation
   * edje: fix edje_watch to not pass the '\n' to eio_monitor.
   * edje: let's allow to reset escaped text to NULL. (T821)
   * evas-drm: Don't call framebuffer set from within send function
   * evas-drm: Check buffer validity in swap function
   * evas-drm: Fix setting cached image alpha flag
   * ecore-evas-x: Fix resource leak from eina_str_split_full usage (CID1188012)
   * eo: memory waste at mixin class elaboration
   * Edje entry: fix bug preedit text is committed in the next entry when Tab key is pressed.
   * edje/edje_edit: fix part add bug
   * edje/edje_edit: Check for NULL
   * evas-drm: Remove hardware acceleration fields from engine structure
   * evas-drm: Add headers for hardware acceleration
   * ecore-drm: Add missing define
   * ecore-drm: Comment out Gbm Format
   * efl: Fix installing ecore-drm pkgconfig file
   * efl: Fix build with drm disabled
   * evas/fb: avoid crashing it outbuf setup failed.
   * evas: @fix convert to 24bits so dst_jump is used properly.
   * evas/fb: expose and call fb_freemode() and fb_cleanup()
   * ecore_fb: @fix use of uninitialized values reported by valgrind.
   * evas/fb: use stride instead of width.
   * eina: Fix bug in eina_convert_itoa (T1062)
   * edje/entry: fix to not emit "changed" signal in unnecessary cases of password mode.
   * edje: do not leak in case of error. (CID1191310, CID1191311)
   * evas-fb: Fix broken build of efl
   * ecore-drm: Initialize ecore_event on ecore_drm_init
   * edje - allow lager clipper space.
   * eina-cxx: Fixes compilation errors and warnings in clang
   * evas: Replace EINA_LIST_FOREACH_SAFE to while statement.
   * evas: @fix use the correct composite op on lines with pixman
   * Evas filters: Fix 1-D blurs on a single buffer
   * Evas filters: Fix memory leak when destroying the object
   * ecore-x: Predefine Ecore_X_Atom and Ecore_X_Icon
   * ecore-evas: Predefine Ecore_X_Atom and Ecore_X_Icon
   * evas: restore behavior of stack above and below when no rel is specified. (CID1191907, CID1191906)
   * Ecore x: Add back the two symbols removed in 1.9.
   * eet: fix tokenizer's escape logic.
   * Evas textblock: Don't include right margin/padding twice when aligning lines.
   * edje: check font change in edje text part cache infra.
   * edje/util: set flag to all_part_change when edje class member is added.
   * Evas cserve2: Fix client crashes when a file changed
   * Evas gl: Fix clip in image_draw if it's not set
   * ecore-drm: Fix ecore_drm_device_window_set to use an unsigned int
   * ecore-evas-drm: Fix setting of the ecore_evas property window and register the prop.window for events.
   * evas-drm: Fix engine to use the output's framebuffer as window id
   * ecore-wayland: Fix ecore_wl_init 'stalling' when used in a server
   * Eolian/Lexer: increase buffer length for .eo files
   * Eolian/Generator: Don't generate sub ids structure if not needed.
   * ecore-drm: Fix absolute motion coordinate calculation
   * edje_cc no longer fails on collections.group{}
   * edje_cc now correctly handles lack of state int in STATE_SET action
   * edje_cc also checks min args correctly for STATE_SET actions
   * Evas filters: fix potential memory leak
   * eio monitors no longer trigger a CRI error during free
   * edje_cc uses macros for some of its handler setup
   * evas/gl - fill up missed blend mode.
   * evas: Fixed warning for uninitialized variables
   * edje_cc now correctly handles group inheriting when the inherit is after a part/program
   * build: Disallow non-working sdl + opengl ES combination (T856)
   * Evas Textblock: increase ref of format before work
   * evas/proxy - redraw proxy source properly.
   * Eolian: move the beta API ifdef to cover all the H types and functions.
   * Eolian: fix virtual pure support.
   * Eolian/Lexer: fix function names parsing.
   * edje_cc: Fix the crash when compiled wrong edc file containing empty part
   * evas - fix incorrect object reset.
   * evas-drm: Add trapping for a canvas below framebuffer size
   * ecore-evas-drm: Add better support for ecore_evas_fullscreen_set
   * ecore-drm: Fix mouse wheel to not be inverted
   * emotion: fix memory leak
   * edje_cc: fix group inheriting with scripts. (group.script and .program.script)
   * ecore-evas - fix object cursor to not delete the same cursor when set
   * ecore_evas_extn: give proper event data to callbacks
   * ecore_evas_extn: fix doxygen sample
   * evas-drm: Default async page flip to false as this can cause tearing
   * evas-drm: Remove all async_page_flip options/references
   * ecore-con - deal with internal buffer growing over 2g in size
   * fix swap buffers with damage to not detect if ext str is not there
   * ecore-wl: Optimize opaque region setting for surface and reduce unnecessary calls to surface commit.
   * ecore-wl: Optimize setting of window input region
   * ecore-evas-wl: Reduce useless compositor redraws during render update and update input & opaque regions after resizing.
   * ecore_evas_extn: initialize server handle on server deletion
   * ecore_evas_extn: update plug image object after disconnection
   * Eo: eo_do now returns called func's value + default ret fix.
   * Fixed a problem with e wl server that sent invalid key value to wl client.
   * ecore-evas-wl: Ooops, Fix opaque & input regions being set to incorrect values
   * ecore-wl: Don't create an input cursor surface unless the input has pointer capability.
   * ecore-wl: Check for existance of data device manager
   * eo: fix broken children iterator, remove redundant fields.
   * ecore: Fixed se of EINA_MAIN_LOOP_CHECK_RETURN macros with functions with return types
   * emotion: fix triggering condition of fallback module loading (T1025)
   * edje now correctly forces ellipsis setting on text parts
   * emotion: play set before file open callback bug fix
   * emotion: use eina stringshare not strdup
   * configure: Only allow wayland + egl with opengl ES (T1202)
   * eldbus-codegen no longer passes garbage values to error callbacks
   * fix emotion_test signal emit object
   * evas-wayland-shm: Use XDG_RUNTIME_DIR if available for creating mmap'd buffer file.
   * evas-wayland-shm: Fix 'oopsie/typo' in temporary file name template
   * ecore-x - fix setting protocol atoms for icccm for 64bit
   * ecore-drm: Send proper keycode to ecore key event, and remove erroneous variable.
   * edje/Edje_Edit: _edje_edit_real_part_add init field of Edje_Real_part
   * fix ecore_con_url using 100% cpu and just let fd handler do work (T1251)
   * fix behavior of edje entry to match other toolkit entires (T1229)
   * fix ecore_thread_global_data_wait to work when no data exists yet
   * Eo: Fix deref after free. (CID1039898)
   * evas/render - fix segfault because of null cow access. (T1252)
   * edje: Edje_Edit - fix wrong behaviour on draggable.event processing while deleting parts.
   * evas/text: fix abnormal ellipsis logic when harfbuzz is enabled.


Changes since 1.8.0:
--------------------

Additions:

   * evas - Added eina_stringshare_ref call for fallbacks, lang in font description.
   * evas gl: added partial rendering support for qcom extension
   * Evas filters: Add a small utility to take some screenshots
   * edje - feature - add channel types for sounds and ability to mute them
   * ecore_evas: added window manager rotation to manage the rotation of windows by the WM.
   * Add quadruple swap mode for partial rendering
   * Evas filters: Implement advanced text effects
   * Evas filters: Add transform filter
   * Evas: Add support for Alpha buffers
   * ecore_x: Add ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_OVER.
   * ecore_x: Added API - ecore_x_e_illume_window_state_send
   * Evas font: Added support for font fallback for eet/edje fonts.
   * eina_tls: add eina_tls_cb_new(Eina_TLS *key, Eina_TLS_Delete_Cb delete_cb)
   * edje: Support to set or retrieve selection of ecore_imf
   * Add ecore_imf_context_selection_get API to allow Input Method to get the selected text.
   * eina: add eina_{str,bin}buf_manage_read_only_new_length().
   * eina: add eina_binbuf_append_buffer() and eina_strbuf_append_buffer().
   * edje: use luajit by default, if you want lua use --enable-lua-old
   * ecore-x now supports XPRESENT
   * evas - fonts - move to using 4bit and rel 4 bit compressed font glyphs
   * evas gl - prefer alpha4 format for font textures if possible (save memory)
   * Edje: add edje_object_part_text_input_panel_show_on_demand_set/get()
   * emotion: initial port of emotion to GStreamer 1.0
   * edje: edje_edit - adding getter and setter for smooth parameter
   * edje: edje_edit - adding API to move to the specified place in the parts stack
   * edje: edje_edit - adding getter and setter for text source
   * edje: edje_edit - adding getter and setter for text style
   * edje: edje_edit - adding edje_edit_group_copy.
   * Ecore_Avahi: initial commit.
   * edje: adding Alias API into edje_edit module
   * edje embryo now supports reset_timer()
   * Ecore: add DnD abort from source
   * ecore_evas/wayland: Add a function to cleanup the frame callback.
   * Adding the cubic-bezier curve to edje transitions
   * Eldbus: added function for getting bus unique name
   * edje_edit: Add getters and setters for fixed param

Improvements:

   * evil: don't depend on the toolchain defined macro.
   * emotion: lower severity of a simple warning.
   * ecore_evas_fb: allow to force tslib even if mouse was handled.
   * autotools: detect cross compilation.
   * Evas filters: Improve test coverage of the filters
   * Evas filters: Add render test cases with pixel verification
   * Evas textblock tests: Improved textblock word start/end tests.
   * configure - add warning for non /usr prefixes!
   * Evas textblock tests: Add a wrapping test for complex cluster wrapping.
   * ecore-evas - sdl module - limit to 1 window at a time
   * Edje/entry: Add propagation handling in mouse_out for link anchors (T878)
   * Emotion test: rename speed slider to alpha as it should be.
   * Emotion test: New volume slider. More readable alpha text.
   * distribution cleanup - remove os/arch from module dirs and simplify version
   * eina: allow eina_time_get to fall back to other clocks if the first one fails
   * configure - add big complaint section if you use off configure options
   * Evas textblock: Added a test for rendering of spaces in some cases.
   * evas: software_x11 - use evas_xlib_swapper_depth_get to get buffer stride.
   * evas: add eglMakeCurrent in evas map create/free.
   * evas/op_blend: rename LOOP_ALIGNED_U1_A48_SSE3 to LOOP_ALIGNED_U1_A48
   * Edje entry: Enable allow_set for DEFAULT select mode.
   * Edje entry: always finish selection when mouse is up.
   * Evas textblock: Added tests for *_cursor_char_coord_set.
   * Evas filters: Disable proxies with the GL engine
   * Evas filters: Add support for proxies in Edje
   * Evas filters: Implement basic Edje support
   * Evas fonts: Pass RGBA_Image instead of DATA32 buffer
   * Evas text utils: Check syntax in color parse
   * autotools: use libevil libdl implementation.
   * evas: gl backend - ensure eng_window_use in image_content_hint_set
   * Evas font: Change font fallback to not depend on fontconfig >= 2.11.
   * Evas textblock: Improved error messages when detecting errors in markup.
   * evas: textblock - Added Null checking in evas_textblock_text_markup_to_utf8 before calling eina_strbuf_append_length API.
   * Evas font: Renamed evas_load_fontconfig and added support for a base set.
   * edje: call imf reset before selecting text area
   * Updating hungarian and italian translations
   * Evas font: Added support for the freetype spacing tag (T865)
   * Evas font: Added support for weight/width/slant font tags.
   * Evas textblock: Added a test for range geometry with bidi text.
   * allow --without-tests in addition to --with-tests=no
   * Registers a fallback handler for a given subsection of the object hierarchy.
   * ecore_imf: Add selection_set callback type to allow Input Method to select a region of text
   * Synced libunibreak local copy with upstream (T805)
   * ecore_getopt: support for per-category help listing
   * eina-inlist - handle prepend/append relative if list is null (empty)
   * eet: reduce memory usage of Eet internal structure by removing useless structure.
   * edje: Add changed signal emit in _edje_entry_imf_event_delete_surrounding_cb
   * emotion: Use the GStreamer 1.x module instead of the 0.10 one in the border example application
   * edje_entry: When preediting, cursor should not be moved.
   * ecore_getopt: support for categories
   * Textblock: Add test cases for style padding
   * ecore_x: set cursor with xinput2
   * ecore xcim module - don't printf every time you start to add stdout noise
   * emotion gstreamer1: Set visualizations if the vis name is not NULL
   * emotion gstreamer1: Also handle DATE_TIME tag
   * emotion gstreamer1: Don't forget to allocate metadata struct
   * emotion gstreamer1: Implement seekability check via seeking query
   * emotion gstreamer1: Add support for selecting subtitle channels
   * emotion gstreamer1: Volumes > 1.0 are valid too
   * emotion gstreamer1: Add support for buffering and clock-lost handling
   * emotion gstreamer1: Major cleanup of internal and GStreamer state handling
   * emotion gstreamer1: Don't set pipeline to PAUSED during seeking
   * emotion gstreamer1: Use GST_PLAY_FLAG_VIS instead of the corresponding integer
   * emotion gstreamer1: Don't use the NATIVE_AUDIO/VIDEO flags
   * emotion gstreamer1: Use refcounting instead of in/out variable counting
   * emotion gstreamer1: Simplify pipeline creation
   * emotion gstreamer1: Some code re-flow in the GStreamer bus handler
   * emotion gstreamer1: Use GStreamer's path/URI handling functions instead of writing our own
   * emotion gstreamer1: Rename functions and variables for clarity
   * eina: add test case - eina_list_clone, eina_list_reverse_clone
   * ecore: use WIN32 API to port readdir_r in ecore thread example
   * autotools: really don't build Unix specific example on Windows
   * ecore_x: Set data of selection event for XDND selection
   * ecore: don't build Unix specific example on Windows.
   * configure: correctly detect C99-capabilities for ecore_con_resolver
   * win build - check for pause func and use only if its there
   * setuid safeness - ensure if an app that is setuid doesn't do bad things
   * evas - gl-x11 engine - put in guessed blacklist of yinvert extn for intel mesa
   * efl - build - add warning about gnutls to configure and dropping privs
   * evas: let's use HUGETLB when it makes sense.
   * edje: be more informative when and where a file was not found.
   * Use key instead of keyname for considering setxkbmap
   * Major cleanup of the Emotion GStreamer 1.x video sink
   * Updating serbian and italian translations
   * evas: disable use of mmap on windows for allocating pixels buffer.
   * eina: make eina_binbuf_free and eina_strbuff_free accept NULL.
   * scimimmodule: support super key (between ctrl and alt key)
   * scimimmodule: code refinement related to key modifier and lock
   * ibusimmodule: support CAPS LOCK and NUM LOCK
   * configure - add warning when enabling xcb
   * Blending function rework and speedup
   * emotion - generic - set play after setting mutes and play speed etc.
   * evas: improve textblock rendering by walking even less in all case.
   * ecore-x - add call to create a permanent window that is not deleted on exit
   * Adding hungarian translation
   * Evas test textblock: Added a test for a broken range_text_get case.
   * edje: edje_decc - added -output flag (save to specified dir)
   * evas - jpg loader - speed up header check for pgoressive jpgs
   * Remove ecore_imf_context_reset in focus-in event handler
   * autotools: Evil is actually needed on Windows add the correct line for Ecore_Avahi.
   * getopt: add positional argument handling.
   * Evas test textblock: Added a test for a broken range_delete case.
   * Evas textblock: Added more range_delete tests.
   * ibusimmodule: support preedit style
   * emotion: make webcam initialization lazy and non blocking (T648)
   * rebase dns.c from upstream
   * autotools: detect systemd to warn user they are required to use --enable-systemd to turn it on.
   * autotools: let's try this variant for detecting c++ compiler availability.
   * Evas tests: Add invalid markup test
   * ecore-evas - disable comp syncing by default (can be turned on though still)
   * Evas textblock: Slightly improve paragraph items freeing.
   * ecore evas - add animator update syncing to only render on animator ticks
   * ecore loop + animator - add call to get if an animator cb has run this iter
   * evas - Clip mark performance improvement
   * efreet: propagate scan error to caller
   * eina: this is actually a better way of improving Eina_Hash performance.
   * eina: fuzze test the eina_hash_string_superfast to.
   * eina: increase hash matching inside of Eina_Hash.
   * eina: add fuzzy test of eina_hash.
   * eina: add fuzzy testing of the red black tree.
   * Implement withdrawn_set/unset on Wayland engines. (T155)
   * ecore_evas/wayland: Implement ecore_evas_withdrawn_set.
   * Update Korean translation for the efl1.8 release
   * NEON vectorization: added use of COLSAME define in map routine
   * configure: add optional solution to alert
   * ecore_evas_object_example: Added cursor unset example.
   * Emotion generic: change the log domain name to be consistent with others domains.
   * Emotion test: added --loop and --position args.
   * Emotion generic: remove the player restart hack.
   * eina: reduce log to warning when not found.

Fixes:

    * Check ecore_x_window_prop_card32_get() return value correctly in ecore_x_e.
    * edje freeze count can no longer become negative
   * Revert "Evas font: Change font fallback to not depend on fontconfig >= 2.11." (T1006)
   * Evil: Fix parallel build for Windows
   * Emotion Generic: receiving the size on opening is correct.
   * edje: Edje_Edit - make sure we don't use an not initialized value (CID 1181885 and CID 1181888)
   * Evas textblock: Fixed a few word start/end issues (T995)
   * ethumb - fix clients going right to disk and getting half written thumbs
   * edje: fix custom allocator with luajit
   * Evas text utils: Fixed walking compound clusters.
   * evas/image - update dirty region in the render time.
   * Gif: Fix animated gifs when used as proxy sources
   * Emotion test: no need for an animator to update the time string.
   * Emotion test: no need to search for a folder that no more exists
   * Emotion test: add the volume slider also to the Reflex group.
   * Emotion test: Removed volume key bind. EINA_UNUSED--
   * edje: fix Eo ids, to make Eolian keep silence
   * evas/common: fix segfaults in evas_map_image_loop.c
   * eina: fix in eina_rectangle_pool to make sorting effective
   * eet - dump - if group type is not a handled type, assume unknown (CID 1039307)
   * evas - table - fix theoretical leak that likely will never happen (CID 1039663)
   * evas - gl - core - checke for wrong context in error check (CID 1135266)
   * evas - gl x11 - fix glx texture from pixmap target rectangle mode check (CID 1135267)
   * edje - edje_cc - remove logically dead code (CID 1135268)
   * evas cserve2 - fix chekc of wrong return type (CID 1135269)
   * evas - gl core - don't access null ptr on init (CID 1135270)
   * edje - fix bunch of possible null return errors with checks (CID 1135274 CID 1135272 CID 1135275)
   * evas filter - fix uninitialized pointer in evas (CID 1174077)
   * evas - filter - don't use longs when DATA32 is the right type (CID 1174078)
   * evas - filters - remove logically dead code (CID 1174084)
   * evas - proxy source visible check not done on update del (T842)
   * edje segv on file update - try and fix this. not sure if this caused it
   * edje - fix probable leak by ensuring current prog is freed on real part free (T923)
   * Evas textblock: Fixed colour setting for textblock formats (T926)
   * Evas textblock: Fix rendering of spaces in some cases (T924)
   * Evas filters: Check for EVAS_CSERVE2 when using cs2 APIs
   * ecore_x_selection: fix selection data freeing
   * in case font_instance is null in text_props... avoid using it
   * Evas Textgrid: Don't leak an eina_stringshare when scale_update is called.
   * evas - textblock ... fix valign handling to actually work as documented
   * evas text filter - fix va_arg usage to not cause compiler internal errs
   * ecore_x: fix wrong Atom name.
   * Evas textblock: Fixed *_cursor_char_coord_set with some y values.
   * ecore-x xpresent - fix build if you DONT have xpresent there.
   * edje: edje_calc - fix deffect by find the part description when 'approximate' is EINA_FALSE
   * eina: restore magic debug option for ABI compatibility purpose.
   * edje embryo reset timer should probably call the reset function
   * Patcna: fix wrong widgth and height in eina_rectangle computation logic.
   * evas - fix tom's bold-killer from 2cb9db171ead5bc9920234e27c2e12b7c7b3883a
   * Evas textblock: Fix selection with bidi text.
   * fix evas_tiler bug (makes evas get stuck in an infinite loop there in certain scenarios)
   * Edje entry: Fix memory corruption (of by one in allocation) (T867)
   * Edje entry: Fix anchor href parsing.
   * entry: clear selection before selecting new one
   * checking for libmount newer than 2.19.0 means newer, not older
   * configure: Add ecore-imf to ETHUMB_INTERNAL_LIBS
   * eina: fix test suite for rwlock... hopefully.
   * evas: textgrid - fix crash in terminology with rare characters.
   * embryo: force the insertion of a '/' in the path to be sure that file path make sense.
   * eina_tls: fix calls to TlsFree
   * ecore_imf: fix to call function of immodule when the input method property is changed
   * embryo_cc - remove trainling / from path for windows stat so it works
   * Evas: Fix proxy rendering for animated objects (T832)
   * eina: do not access dead pointer from within valgrind macro.
   * ximimmodule: fix dereference after null check (CID 1162749)
   * okay, bring back xrandr < 1.4 compat for ecore_x_randr_output_name_get
   * nul terminate string from ecore_x_randr_output_name_get
   * Evas: Fix MMX mask function _op_copy_p_mas_dp_mmx()
   * _op_blend_c_dp_neon miscalculation fix
   * eet_data: guarantee double-word alignment for temporary stack buffer.
   * eina/mp/one_big: fix alignment issues.
   * configure: include required NEON build flags.
   * ecore_x: Fix to handle paste null data case.
   * evas: Fixed to compare current render_op with previous render_op for textblock. If the render_op is changed, call evas_object_render_pre_prev_cur_add.
   * Evas cserve2: Fix invalid memory access
   * emotion gstreamer1: Call _emotion_frame_new() for audio-only streams without visualisations too (T767)
   * Textblock: Relayout if needed in line geometry get
   * Textblock: Fix padding with styles (part 2)
   * Textblock: Fix padding computation (part 1)
   * Evas/cserve2: Add some safety checks when reading socket messages (CID 1039571 and 1039572)
   * Evas/cserve2: Remove dead code (CID 1039925)
   * Evas/cserve2: Stop looking at those dirty pics!
   * Evas/cserve2: Fix potential crash in image_free
   * Eio monitor: Fix crash on invalid data access
   * Evas/cserve2: Keep image_id when reopening a changed file
   * Evas/cserve2: Clear up File_Data when opening a new image
   * Evas/cserve2: Rename "invalid" field to "changed"
   * Evas/cserve2: Add another load error check
   * Evas/cserve2: Fix crash on image file change
   * Evas/cserve2: Fix crash in server on file change
   * Evas/cserve2: Fix memleak during shutdown
   * Evas/cserve2: Use calloc instead of malloc
   * Unbreak ecore_evas wayland engines
   * evas - cserve2 - avoid segv accessing im->cache
   * evas gl - fix egl/gles build after alpha4 change for fonts
   * ecore_evas_x: Fix gl_sync_draw_done initialize routine to handle exceptional case.
   * eina: fix memory leak of inserting the wrong value in the hash.
   * evas cserv2 - remove logical dead code (CID 1113441)
   * cserve2 - debug bin - fix theoretical leak of socket fd (CID 1039286)
   * eina lock posix - remove dead code in eina_spinlock_take (CID 1106340)
   * examples: fix pointer <-> int conversion (windows 64 bits) in ecore and evas examples.
   * examples: do not do void* arithmetics in evas examples.
   * example: fix uninitialized variable in ecore.
   * evas - unbreak gl font rendering with dst pointer checks
   * evas - sw render - protect against null pointer surface access
   * Evas/cserve2: Fix valgrind warning about uninitialized memory
   * Evas cserve2: Fix crash in cserve2 when slaves die
   * eio - protect against posible segv on rename with eio
   * eina: Eina_File - don't leak memory when file is not found.
   * ecore_imf_example: remove wrong implementation code.
   * eina: fix support for system requiring _XOPEN_SOURCE to use spinlock and barrier.
   * eina: fix build break on systemd based system.
   * ecore_evas: extn - restore missing symbol that resulted in a temporary ABI break.
   * ecore_con - Fix binary buffer when using ECORE_CON_REMOTE_UDP.
   * evas - sw render - map render neon broken for expedite 45/46 disable
   * evas - fix neon scale code
   * ibusimmodule: fix segmentation fault
   * edje - fix edje lua usage for lua 5.2 to not go crazy on memory allocs (T323)
   * evas - set clipees list to NULL on free to avoid access
   * ecore-evas - x11 - call resize callback if wm denies resize request
   * ethumbd - stop using an idler that spins at 100% cpu while generating queues
   * ethumbd - if thumb gen takes too long don't just quit ethumbd, but skip thumb
   * ethumbd - drop priority to 19 like efreetd so it lurks in bg as much as it can
   * efreet - minor formatting and move set prirority to very start
   * Evas textblock: Fixed range_text_get bug with multiple text nodes.
   * emotion: don't duplicate storage of audio/video stream metadata in GStreamer 1.x backend.
   * evas - gl engine - glerr should be off by default for performance
   * emotion - broken module loading loagic fixed that fixes gst 0.10/1 deadlock
   * eina: struct _Eina_Rbtree contains an enum bitfield, which is a GNU extension not specified by C99.
   * emotion: remove (broken) X11 integration from the GStreamer 1.x backend.
   * evas gl engine - ensure on texture delete we never leave a cur tex id dangling
   * evas - gl-x11 engine - don't re-init engine window on rotate
   * evas - protect against table cache being null and then used
   * evas: limit how many times we walk over items.
   * ecore: allow out-of-source build of ecore_xcb_keysym_table.h.
   * evas: fix a segfault in _draw_thread_font_draw, caused by the missing initialisation of a struct field
   * ecore: remove dead free (CID 1139955)
   * ecore: fix shutdown when using system module.
   * ecore: fix tests to avoid failure on successful initialization.
   * ecore_audio: update test to not look at ecore_init return to much due to system module.
   * eldbus: fix tests to properly take into account the presence of ecore system module.
   * eldbus: don't do a double initialization due to ecore module using eldbus now.
   * edje: edje_edit - fix .edc file generation
   * evas - redraw the map surface if one of the children has been still changed map.
   * emotion_generic: fix permissions, resource leaks and error handling.
   * bugfix: free the entire ecore_con dns struct on info clear to prevent crashes later on
   * extn: remove unused attribute am_server.
   * extn: complete with NULL newly added functions.
   * evas: no loader should ever close an Eina_File anymore (T674 and T668)
   * evas: patched evas_map_image.c to use NEON code
   * evas - render - clear out pending object array more aggressively
   * Fix leak + possible segfault in edje_edit.
   * edje: edje_edit - fix edje_edit_state_color_class_set to apply the colors to color_class.
   * ibusimmodule: fix dereference after null check issue
   * evas - tiler - fix missing clip of first rect to outbuf size
   * ecore/ecore_x - show the window if the window should be visible.
   * Evas textblock: Fixed range_deletion bug with multiple visible formats.
   * bugfix: eldbus code generator struct members named "proxy" should not be passed to eina_value_free.
   * edje_edit - fix mem leak of src strbuf on print status (CID 1039263)
   * edje - edje_edit - don't access collection after it is freed (CID 1137855)
   * emotion - webcam - don't access after free and ensure it is not in list (CID 1137853 and CID 1137854)
   * evas - fb engine - fix mem leak if ioctl fails on fb mode (CID 1137852)
   * ecore-file - fix mem leak in ecore_file_app_exe_get() on restart (CID 1039279)
   * evas - software-x11 - fill in unused struct members to avoid uninitialized CID 1039548
   * bugfix: make eldbus generated code not crash on every single generated event
   * Evas textblock: Fixed deletion of ranges ending with visual formats.
   * ecore_file - finding exe path - if HOME is not set a leak could happen (CID 1039279)
   * eina - eina_file - fix leak of fd is fd is 0 (CID 1039181)
   * fix fd leak in emotion webcam where fd of value 0 never closed (CID 1039175)
   * ethumbd - fix possible out of bounds access to work table (CID 1039314)
   * edje - epp - fix possible array access by negative (CID 1039357)
   * ecore - utils - makekeys - fix uniitialized arrays (CID 1039547 and CID 1039546)
   * eeze - fix uninitialised sigation struct content (CID 1039552)
   * edje_decc - fix possible use of uninitialized string (CID 1039553)
   * ethumb - ensure buf is nul terminated (CID 1039577  and CID 1039576)
   * ecore-con - fix possible unterminated buffers (CID 1039725 and CID 1039724)
   * Edje: Update anchor and item tags when text is deleted by _edje_entry_imf_event_delete_surrounding_cb.
   * emotion: fix potential memory leak when webcam register fail.
   * ecore_con - dns.c - re-fix coverty double-free. coverity was and is right (CID 1039909)
   * evas - fix gif loader drop of image data sometimes (image dump/flush)
   * embryo - embryo_cc - argv parsing MIGHT leave str buf not nul terminated (CID 1039726)
   * evas - evas gl - fix realloc failure case to handle it properly
   * evas - evas_gl - fix shader patch to not free static strings (CID 1039653)
   * eet data encode - dont free data if its not separately allocated (CID 1039728)
   * evas - font dir - remove from hash before free/del (CID 1039889)
   * ethumb - client lib - fix access of async item in idler after free (CID 1039892)
   * ephysics - fix real access-after-free issue on delete of constraint (CID 1039895)
   * edje - edje_pick - fix coverty access-after-unref issue (CID 1039916)
   * edje - edje_cc - fix coverty issue of not exiting loop for box items name (CID 1039918)
   * evas - textblock - fix dbg_info_get to avoid leak if root is NULL (CID 1040007)
   * evas - cserve2 - fix uninitialized member "image_id". (CID 1042303)
   * evas - gl - use snprintf for safety (never likely anyway, so code was fine)
   * edje - edje_cc - try and make coverty ignore the leak (invalid) (CID 1132627)
   * evas gif loader - address animated always being true (CID 1135790)
   * autotools: fix complain about using subdirs without the right option.
   * autotools: make systemd dependency detection automatic.
   * gif loader - handle theoretical NULL loader_data case
   * ecore_x: ensure positive malloc size (CID 1135636)
   * evas - fix gif loader cpu overuse - used too much cpu to decode anims
   * ecore_x: remove double free (CID 1135637)
   * Evas textblock: Fix crash with empty markups values
   * ecore_imf/wayland: Only call hide_input_panel on im_context_hide() (T237)
   * autotools: work around buggy macro to force C++ compiler detection.
   * ecore_evas/wayland: Update withdrawn property, and inform state_changed.
   * Evas/cserve2: Fix crash during shutdown
   * Evas: Fix crash in GL engine(s) during preload cancel
   * Fix opaque windows becoming transparent after hide() then show().
   * ecore_x: Fix buffer overrun (CID 1039584)
   * ecore_x: Fix bug in ecore_x_region_invert (CID 1039469)
   * ecore_x: Remove NULL check (CID 1039648 and 1039649)
   * ecore_x: supported isn't an optional argument (CID 1039430)
   * ecore_x: Only use att if call succeeds. (CID 1039692)
   * ecore_x: Only do memset if len < 20 (CID 1039311)
   * ecore_x: always free data and return value
   * ecore_x: Check if we have data (CID 1039264)
   * ecore_x: '\0' terminate converted text (CID 1039310)
   * ecore_x: Only send XdndEnter when we have types (CID 1039693)
   * ecore_x: Also check for !prop here (CID 1039429)
   * eldbus: Check return value of eina_value_pget (CID 1039685)
   * eldbus: use alloca to allocate local mem (CID 1039179)
   * eldbus: unref msg on error (CID 1039178)
   * eldbus: on error unref msg (CID 1039177)
   * eldbus: free allocated mem on error (CID 1039177)
   * eldbus: print error when fwrite fails (CID  1039715)
   * eldbus: Check return value of _type_size (CID 1039436)
   * eldbus: create object when needed (CID 1039287)
   * eina: Set it to NULL before next iteration (CID 1039913 and 1039914)
   * evas - fix overdraw + too many rects problem found in some expedite tests
   * efreet - fix recusrion checks need to pop as well as push.
   * ximmodule: fix issue the cursor of preedit shows the in front of preedit string
   * Fix raster bug report about elm window resize issue (content drawing outside the window).
   * Update the engine resize edge before we call ecore_wl_window_resize
   * efreet - protect efreetd from recursing too far to save overhead and mem
   * eina: improve cmp function of eina_hash string related hash.
   * Revert "eina: work around current strange behavior seen in eina_cow."
   * Revert "eina: check if the complete hash match before checking if the key match during children walk."
   * evas: fix loader to properly define _XOPEN_SOURCE for Solaris.
   * efreet: Create stack at start of recursion (CID1132751 and CID1132752)
   * efreet: Create stack at start of recursion
   * eina: work around current strange behavior seen in eina_cow.
   * evas/event - fix the inccorect event hit area.
   * evas: bugfix in evas_render of not maintaining changed flags on object correctly.
   * ximmodule: check whether pointer is NULL before accessing in xim_preedit_callback_set (CID 1135273)
   * ecore_evas/wayland_egl: Unset the surface on window hide.
   * evas/wayland_shm: Don't use a global var to store the sent buffer.
   * Revert "fix smart sma by allowing more recursion"
   * fix unchecked return value of stat in ecore_file_mv (CID 1039697)
   * textgrid - with new fallback fonts we cant depend on glyph extents  anymore
   * textgrid - out-of-bounds chars cause update artifacts - fix.
   * Emotion test: fix calculation of the displayed time.

Removals:

Changes since 1.7.0:
--------------------

Additions:
    * Add --with-api=XXX (both|legacy|eo)
    * Evil:
     - Add mkdtemp.
     - Add evil_rename() a wrapper for rename().
     - Add strsep().
    * Eina:
     - Add DOCTYPE children parsing in eina_simple_xml
     - Add eina_barrier thread API
     - Add eina_tmpstr_add(), eina_tmpstr_del(), eina_tmpstr_add_length() and
       	    eina_tmpstr_strlen().
     - Add eina_thread API
     - Add eina_list_last_data_get
     - Add eina_xattr_fd_get(), eina_xattr_fd_set(),
           eina_xattr_del(), eina_xattr_fd_del(), eina_xattr_copy() and
      	   eina_xattr_fd_copy()
     - Add eina_stringshare_refplace()
     - Add eina_file_copy()
     - Add eina_log_print_cb_journald()
     - Add eina_list_shuffle()
     - Add eina_file_mkstemp()
     - Add eina_log_timing()
     - Add eina_inlist_first
     - Add eina_inlist_last
     - Add eina_str_convert_len() to work around broken eina_str_convert()
     - Add eina_file_dup()
     - Add eina_tiler_area_size_set(), eina_tiler_strict_set(), eina_tiler_area_size_get()
     - Add eina_file_map_populate()
     - Add eina_tiler_empty()
     - Add eina_file_virtualize() and eina_file_virtual()
     - Add eina_file_refresh()
     - Add eina_rectangle_is_valid(), eina_rectangle_max_x(), eina_rectangle_max_y(), eina_rectangle_x_cut(),
     eina_rectangle_y_cut(), eina_rectangle_width_cut(), eina_rectangle_height_cut(), eina_rectangle_subtract(),
     EINA_RECTANGLE_INIT, EINA_RECTANGLE_FORMAT, EINA_RECTANGLE_ARGS.
     - Add eina_f16p16_double_from(), eina_f16p16_double_to().
     - Add eina_swap16(), eina_swap32(), eina_swap64().
     - Add Eina_Spinlock API.
    * Eet:
     - Add eet_mmap()
     - Add eet_data_descriptor_name_get()
     - Add support EET_T_VALUE
     - Add EET_DATA_DESCRIPTOR_ADD_SUB_NESTED()
     - Add EET_DATA_DESCRIPTOR_ADD_MAPPING_BASIC()
    * Eo:
     - Add generic efl object infrastructure
     - Add debugging facility
     - Make eoid use mmaped tables from anonymous memory for safety.
    * Evas:
     - Add WebP image loader and saver modules.
     - Add ellipsis support in Evas_Object_Text.
     - Add EVAS_GL_LINE_OFFSET_HACK_DISABLE to turn off line shift correction by evas.
     - Add EVAS_GL_DIRECT_MEM_OPT to enable on-demand fallback memory allocation policy for EvasGL direct rendering.
     - Add engine specific alpha_get.
     - Add multiple output support API.
     - Add buffer age support to gl for automatic partial redraws.
     - Add GLX_MESA_release_buffers suppport to release unused buffers.
     - Add multiple font draws support to engines
     - Add Cserve2 scalecache support
     - Add evas_object_image_source_clip_set()/get()
     - Use eina_file_virtualize() for evas_object_image_memfile_set().
     - Change mapping policy for image loader.
     - textblock: Use max ascent/descent at the edges of the textblock.
     - textblock: Make the ellipsis format the same as the surrounding.
     - Add interceptor for focus_set.
     - Evas font: Use our own fontconfig configuration so we don't get affected by changes made to the default fontconfig configuration.
     - Evas font: Make the evas_font_path_* functions apply to fontconfig searches.
     - Add JPEG 2000 loader.
     - Evas textblock: Use correct font underline properties when drawing underlines.
    * Ecore_X:
     - Add window profile support.
       ECORE_X_ATOM_E_WINDOW_PROFILE_SUPPORTED
       ECORE_X_ATOM_E_WINDOW_PROFILE
       ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE
       ECORE_X_ATOM_E_WINDOW_PROFILE_AVAILABLE_LIST
       ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE_REQUEST
       ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE_DONE
       ecore_x_e_window_profile_supported_set()
       ecore_x_e_window_profile_supported_get()
       ecore_x_e_window_available_profiles_set()
       ecore_x_e_window_available_profiles_get()
       ecore_x_e_window_profile_change_send()
       ecore_x_e_window_profile_change_request_send()
       ecore_x_e_window_profile_change_done_send()
       ecore_x_randr_crtc_info_get()
       ecore_x_randr_crtc_info_free()
       ecore_x_dnd_self_begin()
       ecore_x_dnd_self_drop()
       support for text/x-moz-url DND operations
     - Add atom related with indicator type. 
     - Add manual render code before deiconify
     - Add accessibility support.
       ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_BACK
       ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_SCROLL
       ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_MOUSE
       ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_ENABLE
       ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_DISABLE
     - add error messages for xlib
       ECORE_X_ATOM_XDND_DIRECTSAVE0
     - add ECORE_X_SYNC env variable for xlib backend
    * Ecore_Wayland:
     - Store global wayland interfaces in a globals list so wayland programs
       can bind to other non-standard wayland protocol extensions.
     - ecore_wl_globals_get()
     - ecore_wl_registry_get()
     - Add #ifdef __cplusplus to Ecore_Wayland.h so C++ programs can link to
       and use the API.
     - Add support for double and triple click.
     - Add ecore_wl_window_alpha_set/get().
    * Ecore_Evas:
     - ecore_evas_window_profile_supported_get()
     - ecore_evas_window_profile_set()
     - ecore_evas_window_profile_get()
     - ecore_evas_window_available_profiles_set()
     - ecore_evas_window_available_profiles_get()
     - ecore_evas_sub_ecore_evas_list_get()
     - Add infrastructure to handle message between ecore and parent ecore in Ecore_Evas.
     - Add window profile support to ecore_evas_extn.
     - Add window profile support to ecore_evas_buffer.
    * Ecore_Getopt:
     - Add ECORE_GETOPT_ACTION_BREAK
    * Ecore_audio:
     - Add PulseAudio backend.
     - Add Alsa backend.
    * Ecore_Input_Evas:
     - Add infrastructure to handle buggy touchscreen.
    * Edje:
     - textblock: Added support for size_range.
     - table: Added spread.{w,h} to repeat and automatically name an item in a TABLE part.
     - add embryo fill support for proxy parts
     - entry: Added selection handlers.
     - Add edje_object_part_text_input_panel_layout_variation_set/get API
     - Add EDJE_INPUT_PANEL_LAYOUT_DATETIME layout
     - support edc proxy.source_visible, proxy.source_clip
     - support edc map color set
     - Add threshold support to Edje draggable part.
     - Reduce load time of Edje_Object using Evas_Object_Textblock and many styles.
     - Add edje_object_mmap_set.
     - Fix play sample parameter checking.
     - Add border information to Image sets.
    * Eeze:
     - Add a dummy libmount replacement for when libmount is not there.
    * Ecore_Con:
     - Add systemd socket activation support (ECORE_CON_SOCKET_ACTIVATE).
    * Ecore:
     - notify systemd that we are ready as soon as the main loop is running.
     - automatically support Watchdog.
    * Ecore_Imf: 
     - Add ecore_imf_context_input_panel_layout_variation_set/get API
     - Add ecore_imf_input_panel_hide API
     - Add ecore_imf_context_input_panel_event_callback_call, clear API
     - Add ECORE_IMF_INPUT_PANEL_LAYOUT_DATETIME layout
     - Add ecore_imf_context_input_panel_on_demand_set/get API
    * Eio:
     - Add eio_eet_sync symbols.
        
Deprecations:
    * Ecore_X:
     - Old profile stuffs.
       ECORE_X_ATOM_E_PROFILE
       ECORE_X_ATOM_E_PROFILE_LIST
       ecore_x_e_window_profile_list_set()
       ecore_x_e_window_profile_list_get()
       ecore_x_randr_crtc_gamma_ramp_size_get()
       ecore_x_randr_crtc_gamma_ramps_get()
       ecore_x_randr_crtc_gamma_ramps_set()
    * Ecore_Evas: deprecate DirectFB, XRender, WinCE, X11-16 and X11-8.
    * Eeze: deprecate libudev<148 and libmount<2.18

Removed:
    * Evas:
     - Remove support for DirectFB, XRender, WinCE, Glew, Direct3d, X11-16 and X11-8.
     - Remove svg loader from inside the tree.
    * Ecore_Evas:
     - Remove support for DirectFB, XRender, WinCE, Glew, Direct3d, X11-16 and X11-8.
    * Ecore_DirectFB:
     - Removed
    * Eina error status:
     - eina error status from efl now don't also report error in addition to return.

Improvements:
    * EFL:
     - Single EFL tree covering all EFL library components.
     - All efl object-freeing functions now take NULL without crashing or erroring
     - Use the right macro to disable fcntl.
    * Translations updates:
     - french.
    * Eina:
     - Speedup Eina Rbtree Iterator by recycling memory instead of
       repeatedly calling malloc/free.
     - eina_magic_fail() now throws error messages on NULL pointers instead of critical
     - Eina.h includes eina_alloca.h/alloca.h to define alloca()
     - Faster eina share del.
     - Don't over align data if they are already aligned.
     - Eina_Tiler now take tile size into account.
     - Improve support for 64bits system.
     - eina_strlcat now work with a NULL source.
     - Use Eina_Spinlock for eina_log, eina_stringshare and chained_mempool.
    * Eet:
     - Display more information with eet -l -v.
     - Force thread to always run during eet_cache_concurrency test.
     - Use Eina_Spinlock for locking dictionnary instead of Eina_Lock.
    * Evas:
     - Reduced number of enqueued font commands when rendering textgrid objects
     - Use Eina_File in webp, gif, tiff, png and eet loader
     - Upgrade liblinebreak to latest version of libunibreak.
     - Improved support for 64bits system.
     - GL engine downscale quality in smooth mode much improved with multisampling up to effectively 16x16 via shaders.
     - Textblock: Added proper size adjustments for "high" shaped texts.
     - Textblock : Added split cursor for BiDi text
     - Works around MESA/intel xorg bug where alpha channel of non-argb windows is not filled in with 0xff.
     - Update the map smart members really when it needs to render.
     - Reduce memory footrpint with evasgl to only make context on demand.
     - Reduce waiting on gl so it cvan fully run async from cpu.
     - GL engine don't map dri/drm buffer unless we are going to render.
     - GL engine get partial rendering support for several gl drivers.
     - Turn on scissors always to abe able to to partual render on some GL implementations properly.
     - Use eo array of callbacks to reduce callbacks memory footprint of Evas_Object_Box and Evas_Object_Table.
     - Optimized path for when map use the same color for all corner.
     - Asynchronous preload of GL texture.
     - Add neon assembly for upscaling and map routines
     - Use mmap/munmap for image data allocation on system that have mmap.
     - Add iterator for walking child of smart objects, table and a box.
     - Use Eina_Spinlock for Evas_ScaleCache, Evas_Async_Events and Image_Entry.
     - Allow fuzziness on the texture format returned by GL.
    * Ecore:
     - Use Eina_Spinlock for Ecore_Thread.
    * Ecore_Con:
     - Rebase dns.c against upstream
     - URL support now dynamically loads libcurl at runtime via eina_module.
    * Edje:
     - Entry: cursor position and location will be passed when it's really changed in case of mouse down, move, and up event.
     - Entry: remove ecore_imf_context_reset in mouse up event because it's useless.
     - Entry: remove ecore_imf_context_reset, cursor update in mouse move event because it's useless.
     - Entry: move ecore_imf_context_cursor_position_set from mouse down event to mouse up event.
     - Entry: remove ecore_imf_context_cursor_position_set in functions related to selection.
     - Entry: support &, < and > in preedit string.
     - Entry: remove duplicated ecore_imf_context_reset in adjusting the selection.
     - Entry: emits signals on keydown/up for theme to use.
     - Entry: move cursor to correct position when selection handlers are pressed.
     - Use ecore_audio in edje-multisense
     - Reduce memory consumption of Edje program handler.
     - Use Eina_Cow to reduce memory usage.
     - Use eo array of callbacks to reduce callbacks memory footprint.
     - Improve accuracy of part positioning by keeping rounding information as long as possible.
    * Ecore_Evas:
     - wayland-egl only renders now if last frame has been presented.
    * Embryo:
     - Use eina_file_mkstemp().
    * Ecore_Audio:
     - Use eo api to batch more
    * Evas: optimize proxy rendering. Rendering performance is increased up to 2x in some cases.

Fixes:
    * Eina:
     - Fix return value of eina_mmap_safety_enabled_set() and future
       eina_mmap_safety_enabled_get() returns after success.
     - Don't leak fd on exec.
     - Fix eina_xattr_value_ls() and eina_xattr_value_fd_ls()
     - Fix eina_prefix_new() with debian multilib without magic check file.
     - Prevent potential denial of service on eina_hash function.
     - Fix memleak in Eina_File.
     - Fix memory leak in eina_xattr_value_ls.
     - Fix magic failure in eina_value_array_count when array has not been allocated.
     - Fix issue when wchar_t is signed and eina_unicode does negative array lookups.
     - Fix eina_file_map_lines() to not drop of one character in the last line.
     - Fix a possible race condition during eina_file_close().
    * Eet:
     - Fix PPC (big endian) image codec bug.
     - Fix leak in eet_pbkdf2_sha1 with OpenSSL.
     - Fix possible buffer overflow in functions relying on EET_T_LAST
     - Fix endianess issue in Eet_Image.
     - Fix eet_mmap to use caches for lookup so it shares with everyone.
    * Evas:
     - Fix GLX native surface handling to use glXChooseFBConfig.
       This frixes a break in compositing on new intel mesa drivers.
     - Fix glGetIntegerv() in Direct Rendering mode for Evas GL
       to properly handle GL_SCISSOR_BOX and GL_VIEWPORT parameters.
     - Fix textblock textprop leak.
     - Fix evas_object_box to reset size_hint_min to zero when no child.
     - Don't leak fd on exec.
     - Fix polygon rendering bug in GL backend when there are cutouts.
     - Fix the gl line incorrect position drawing.
     - Fix potential segv in software engine native_set code.
     - Fix uninitialized data in Evas OpenGL engine.
     - Fix the line drawing clipping problem on arm gl driver.
     - Fix Evas RGBA_Image->flags.loaded for copied images.
     - Fix evas_object_image_is_inside()
     - Fix mask write lines to not choose too small segments.
     - Fix build of Evas XCB backend.
     - Fix evas bmp loader code which deal with image size.
     - Fix not up to date clip cache for Evas_Object_Text.
     - Fix a bug with breaking after format items in Evas_Object_Textblock.
     - Fix issue with line height when breaking on a format in Evas_Object_Textblock.
     - Fix SIGFPE in evas map update if image is 0.
     - Fix issue and simplified cursor_geometry_get in Evas_Object_Textblock.
     - Fix issue with horiz advance in Evas_Object_Text.
     - Fix issue with no-harfbuzz bidi in evas text utils.
     - Fix pixman surface alloc where allocated and image size differ.
     - Fix evas gif loader to return the correct frame duration.
     - Fix a selection issue with different scripts and bidi in Evas_Object_Textblock.
     - Fix bug not to display preedit string with PREEDIT_TYPE_NONE style in Evas_Object_Textblock.
     - Fix bug candidate word couldn't be selected with up/down key in the preedit status in Evas_Object_Textblock.
     - Fix Evas_Object_Text when LTR and RTL are used in the same paragraph.
     - Fix bug with the text object direction detection.
     - Fix font run detection for specific cases with 2 different fonts in the middle of a run.
     - Remove the freed worker from the pthread worker list when it's failed to create a new thread so as not to access it if a thread is working newly.
     - Fix gles support to only use GL_UNPACK_ROW_LENGTH if extension exists.
     - Fix Evas_Map to not crash even if image size is 0.
     - Fix evas word start/end find in textblock to be consistent with other toolkit logic on the matter.
     - Fix evas buffer engine allocation with non alpha output.
     - Click on left/right half of char does matter now.
     - If OS/2 table is available and the font is demi-bold, don't do runtime emboldment.
     - Fix font source have wrong current size.
     - Fix over redrawing of Evas_Map when applied on smart object.
     - Fix a bug with cluster size calculation with texts ending with ligatures.
     - Don't update evas update area by the clipper if the image obj visible is changed.
     - Fix gif decoding bug related with background color.
     - Fix gif bug related with scale down decode.
     - Fix a bug with deletion of ranges that end just a visual format in Evas_Object_Textblock.
     - If an object goes to be hidden without replacing the cur/prev state info, the object context can be corrupted at the next show time. Now it replaces the cur/prev in that rare case.
     - Fix evas gl_x11 in 16bpp and lower depths than 24/32 bpp.
     - Fix recursive proxy image rendering to just render black.
     - Fix line size calculation when using multiple fonts in a Evas_Object_Textblock.
     - Fix gif loader can't load image which has normal frames and error frames.
     - Don't try blend on gl backened if the render option is COPY.
     - Fix Evas_Object_Text line size calculation when using multiple fonts.
     - Fix crash if app use native surface in wrong engine.
     - Fix textblock to render pre again if it needs to relayouting.
     - Fix textblock ascent/descent calc to use superset of fontset data.
     - Fix evas gl partial swap to keep full renders if auto mode switching.
     - Fix memory leak in evas dri/drm swapbuf path.
     - Fix string leak in evas dri/drm swapbuf.
     - Fix evas proxy_unset of NULL image.
     - Fix slowness in glmap/unmap buffer by default in evas gl engine.
     - Fix evas segv on image del if loader is NULL.
     - Fix evas swapregion rect to account for rotation.
     - Fix "always scissor" to not break map in evas gl engine.
     - Fix nvidia texture from pixmap config depth match to be looser to avoid non-matches.
     - Fix evas gl engine to work in 16bpp nicely.
     - Fix native surface to be more anal about depth matching.
     - Correctly detect if a loader support asynchronous preloading.
     - Improve stability of Evas_Cserve2.
     - Fix gif cannot decode alpha value correctly.
     - Fix bs if app call image object update add after call api like fileset.
     - Fix evas_gl direct rendering to support partial redraw.
     - Fix issue with textblocks without fonts segfaulting.
     - Fix evas_common_convert_yuv_42* functions to actually return the converted data.
     - Fix jpeg loader cannot deal with exif information correctly.
     - Fix issue when parsing formats with quotes.
     - Fix infinite loop if app use ecore evas image
     - Fix a long-standing off-by-1 in the C "simd" multiplier.
     - Skip the map rendering if all points are transparent.
     - Evas bidi: Fixed a bug causing BiDi not to work in some cases.
     - Evas textblock: fixed an issue with markup_get and markup_to_utf8 behaving differently (markup_get was misbehaving).
     - Fixed the map surface to be updated properly. By tranversing the whole of the map target's tree, it decides to update the map surface to be redrawn if one of the objects is changed except the clipper itself.
     - Fixed the textblock format to be drawn according to the glyph's horizontal advance width.
     - Fixed the textblock set to context with the textblock object's render operation.
     - Evas textblock: Fixed order of tags inserted with markup_app/prepend.
     - Fix proxy render to update the proxies recursively. If a proxy has proxies, all the chainged proxies should be updated recursively.
     - Evas textblock: Fixed wrapping of lines ending with whites.
     - Evas: Fix the memory corruption introduced by evas fonts_zero.
     - Evas: If the line goes to the 0, 0 then it won't be updated. Now it's fixed.

    * Ecore:
     - Don't leak fd on exec.
     - Fix fd handler increase issue when ecore_pipe_add/del is called repeatedly.
     - Fixed animator not working problem when source_set is changed back and forth very fast.
    * Ecore_Con:
     - Fix a memory leak in ecore_con_dns when using ecore_con_server_connect.
     - Don't leak fd on exec.
     - Fix ecore_con case where freeing server double-frees clients.
     - Fix memory usage of Ecore_Con_Server.
     - Clean up gnutls session initialization.
     - Fix use of ecore_con_*_flush functions with unconnected objects.
     - Fix setting of write flags on ecore-con servers during connect.
     - Fix use of ecore_con_server_client_limit_set() (counter never decreased).
     - Fix use of ecore_con_client_timeout_set() and ecore_con_server_timeout_set() that makes timeout on 
       connections even if you sent data.
     - Fix cl->start_time (initialization missing). So now
       ecore_con_client_uptime_get() is working.
     - Fix srv->start_time (initialization missing). So now
       ecore_con_server_uptime_get() is working for plain TCP connections.
     - Fix ecore_con_server_timeout_set(). It will now reset the timer.
    * Ecore_Evas:
     - Fix build of Ecore_Evas_Extn on Solaris.
     - Fix many memory problems with ecore_evas_extn.
     - Fix usage of underlying X window after it has received a destroy event
    * Ecore_X:
     - Fix possible memory corruption in xrandr EDID functions.
     - Fix x11 error sync issue with ecore_x_image_get().
     - Fix ecore_x_screen_is_composited/set() to work on multihead.
     - Fix ecore-x edid fetch to ftech 128, not 100 bytes.
     - Fix dangling pointer problem related with shmget fail.
     - Fix bug not check data value when get deiconify message.
     - Fix alpha set function not clear sync counter.
     - Fix selection parser to not overrun buffer read by using longs on 64bit.
     - Fix x11 selection trailing nul byte in text.
     - Fix BadMatch errors in ecore_x_image_get when requested size was larger than XImage size
     - Fix ecore_x_e_comp_pixmap_set to delete pixmap atom correctly
    * Ecore_Wayland:
     - Fix return type of function ecore_wl_outputs_get().
    * Ecore_Input_Evas:
     - Fix ecore_input_evas didn't check the device id of mouse event.
     - Check the state of last mouse event more properly.
    * Ecore-imf:
     - Fix crash when ecore_imf_context_del is called in ecore_imf_context_input_panel_callback_call.
     - Fix memory leak in scim immodule
    * Eio:
     - Don't leak fd on exec.
     - eio functions no longer crash when passed NULL and throw errors accordingly.
     - Fix bug in eio_file_map_new container set.
    * Edje:
     - Prevent a crash even if an invalid object is swallowed into an edje object.
     - Fix cache miss when active edje hash is empty.
     - Improved textblock part fit.
     - Fix anchor clicked mouse signals for selection-enabled entries.
     - Fix edje_color_class_list() and edje_text_class_list() to look at right hashes.
     - Properly report file not found in Edje.
     - Fix custom states for SPACER parts.
     - Fix edje program filters.
     - Fix bug scroll works when PgDn, PgUp, Home, End key in entry is pressed in preedit state.
     - Fix edje entry to respect filters and if input filtered out, don't clear selections.
     - When cursor is located to each edge, entry now doesn't grab events for cursor movement.
     - Fix useless ecore_imf_context_reset call in case of pressing ESC and Return key.
     - When selected word exists, selection is cleared and cursor remains on the current entry by additional key input.
     - Fix custom states for proxy parts.
     - Entry: return surrounding string until the start position of selection
     - Textblock: fixed issue with quoted formats.
     - Textblock: feep the text styles when new font by the text class is applied.
     - Lua: Stop leaking evas objects in Lua.
     - Fix edje min size calc to calc sub GROUP parts too.
     - Fix edje multisense segv (free non-malloced data from eet).
     - Fix some logic issue when using fixed point path.
     - Correctly set match flag of signal callbacks
     - Fix size calculation of flags of signal callbacks
     - Check for both Lua 5.1 and 5.2.
     - Fixed memory leak in the edje map color transition.
     - Add null checking for name of anchor and item in geometry get functions.
     - Fix use of eina_hash_pointer to actually look at the pointer value.
     - Fix to update map-enabled part when the edje object is moved.

    * Efreet:
     - Fix desktop command parsing of https.
    * Emotion:
     - Fix memory leak in gstreamer_ecore_x_check.
     - Fix backend priority order.
     - Add two events to trigger webcam plug and unplug
    * Ethumb:
     - Fix memory leak in error case.
    * Eeze:
     - Fix sensors to not segv on shutdown.