summaryrefslogtreecommitdiff
path: root/ChangeLog.md
blob: eca232eafef17a6417b978b9ddae632cbbe5701a (plain)
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
Change Log
==========


NetSurf 3.10
------------

### Core / All platforms

* HTML layout fix for {min|max}-width on replaced elements.
* Improved keyboard navigation.
* Improved local history with keyboard navigation and improved display.
* Fixed mouse interaction issue when entire document had visibility:hidden.
* Refactoring of the browser window handling.
* Refactoring of the HTML content handler.
* Refactoring of SSL certificate handling.
* Refactoring of HTML, text search and selection code.
* Many improvements to JavaScript robustness.
* Many new and improved Duktape JavaScript bindings.
* Improved core/front end interface for content scaling.
* Much improved content caching, both in memory and disc caching.
* Added a generic hashmap, used by the disc cache code.
* Fetcher improvements for robustness and performance.
* Updated JavaScript engine to Duktape 2.4.0.
* Improved handling of aborted fetches.
* Improved integration testing with framework built around monkey front end.
* Improvements to monkey front end to make testing more extensive and reliable.
* Improved handling of NetSurf generated queries and errors, including:
  - Timeouts.
  - Authentication requests.
  - Certificate problems.
* Minor HTML form improvements.
* Minor HTML handler optimisations.
* Fixes to HTML handler for robustness.
* Refactoring generation of about: pages.
* Created consistent visual style for NetSurf Core generated content.
* Fixed save complete not to save multiple copies of the same files.
* Change how animated GIFs are rate-limited to be in line with other browsers.
* Added a page info core window.
* Clamping screen DPI to a sensible range.
* Initial work towards supporting HTML5 canvas element.
* Various treeview fixes.

* Hubbub library 0.3.7 (HTML parser):
  - Minor code quality improvements.
  - Fixes for some HTML5 element handling.

* LibCSS library 0.9.1 (CSS parser and selection engine):
  - Fixed a problem in the parsing of invalid media blocks.
  - Minor code quality improvements.

* LibDOM library 0.5.0 (Document Object Model):
  - Improved HTML TextArea element handling.
  - Fix SubtreeModified event to be fired after updating attribute values.
  - Support finalising the namespace strings.
  - Basic support for keypress events.
  - Improvements to event dispatch event lifetime handling.
  - Support for InnerHTML.
  - Added support for HTMLCanvasElement.
  - Minor code quality improvements.
  - Fixed HTMLElement property setters.
  - Fixed HTMLTitleElement text getter/setter.

* LibNSBMP library 0.1.6 (BMP support):
  - Minor code quality improvements.

* LibNSLog library 0.1.2 (Filterable logging):
  - Added support for short log level names.

* LibWapcaplet library 0.5.0 (String internment):
  - Free global context if no strings leak.
  - Enabled build with toolchains that don't support statement expressions.

### RISC OS-specific

* Updated to improved core content scaling interface.
* Add support for scrolling core windows in response to core requests.
* Removed login window because it's now handled by the core.
* Added Page Info url bar icon and window.
* Fixed use after free in dialog handling.
* Fixed cookie window re-opening bug.

### GTK-specific

* Use Curl's default path for the ca-bundle.
* Updated to improved core content scaling interface.
* Run scheduler before fetching file descriptor set.
* Add support for scrolling core windows in response to core requests.
* Removed login window because it's now handled by the core.
* Moved favicon from URL entry widget to tab.
* Huge reworking of the browser interface to be more modern.
  - Particularly toolbar and menu code.
* Improved cursor focus handling.
* Default buildsystem target changed from gtk2 to gtk3.
* Added Page Info icon.

### AmigaOS-specific

* Updated to improved core content scaling interface.
* Add support for scrolling core windows in response to core requests.
* Allow running JavaScript from ARexx.
* Removed login window because it's now handled by the core.
* Added Page Info icon and window.

### Windows-specific

* Add support for scrolling core windows in response to core requests.
* Removed login window because it's now handled by the core.
* Improved Unicode handling.
* Improved command line handling.
* Added Page Info icon.
* Improved error reporting.

### Haiku-specific

* Run scheduler before fetching file descriptor set.

### Atari-specific

* Removed login window because it's now handled by the core.

### Framebuffer-specific

* Add support for scrolling core windows in response to core requests.
* Added keyboard controls for scaling.
* Added some glyphs to the internal font.
* Can now enumerate available backend surfaces.

* LibNSFB library 0.1.5 (NetSurf Framebuffer):
  - Optimisation to pixel/colour conversion.
  - Added backend surface enumerator.
  - Minor code quality improvements.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 3.9
-----------

### Core / All platforms

* Buildsystem improvements.
* Improved URL query string handling.
* Improved form submission code.
* Improved error handling in HTML box construction.
* Much improved testing, with automated test frontend.
* Improved treeview rendering.
* Improved HTML content handling of viewport dimensions.
* Improved debug logging of JavaScript handling.
* Added support for Webp image format.
* Fixed SVG stroke width plotting.
* Lots of new JavaScript bindings.
* Support for script insertion after beginning conversion.
* Added support for CSS media queries.
* Various JavaScript related fixes.
* Window is now supported as a JavaScript event target.
* Support for nodeList indexing in JavaScript handler.
* Allowed front ends to execute JavaScript scripts.
* Optimised data URL handling.
* Improved support for logging to JavaScript console.
* Squashed several leaks.
* CSS pixel support: Better rendering on high DPI screens.
* Made curl fetcher use the standard NetSurf logging API.
* Fixed incremental redraw, while fetching HTML images.
* Improved HTTP header Cache-Control parsing.
* Cleaned up handling of aborted fetches and loading content.
* Improvements to generated JavaScript bindings.

* Hubbub library 0.3.6 (HTML parser):
  - Fix for script insertion during parse.

* LibCSS library 0.9.0 (CSS parser and selection engine):
  - Added support for parsing CSS Media Queries Level 4.
  - API for adding sheets to a selection context now takes
    a Media string.
  - The selection API now allows the client to describe the
    media that is being selected for.
  - Selection now honours width/height feature queries.
  - Removed the uncommon property extension blocks in
    computed style data.  This simplfies the code and
    fixes a subtle bug in the cascade/composition handling.
  - Fixed leak where rules had over 256 selectors.

* LibDOM library 0.4.0 (Document Object Model):
  - Removed dom_string implementation details from
    public header.
* LibDOM library 0.3.4 (Document Object Model):
  - Fixed a few places where public API didn't ref the
    objects it returned.
  - Fixes to the test generator.
  - Initial support for SCRIPT element flags.
  - Added dom_node_contains() call.
  - Fixed leaks in DOM node set text context.

* LibNSPSL library 0.1.3 (Public suffix list):
  - Updated public suffix list.

### GTK-specific

* Fixed HTTP authentication dialogue NULL dereference.

### AmigaOS-specific

* Improved logging.
* Better handling of local charset.
* Improved the sheduler.
* Removed RISC OS ,type extensions from resource files.
* Support building against AmiSSL instead of OpenSSL.
* Squashed many build warnings.
* Tidied up gui_window handling.
* Fixed SimpleRefresh mode and made it default.

### Windows-specific

* Added clipboard support.
* Fixed keyboard input.

### Haiku-specific

* Fixed package version.

### Atari-specific

* Buildsystem: Fixed binary stripping.

### Framebuffer-specific

* Improved buildsystem.
* Support for internationalized UI resources.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 3.8
-----------

### Core / All platforms

* Updated to be compatible with latest LibCSS.
* Updated Duktape to version 2.3.0.
* Added support for new CSS units.
* Fixed resource cleanup in the backing store.
* Added support for CMYK/YCCK JPEGs.
* Replaced tables are now treated as blocks.
* Improved percentage max-width handling.
* Improved browser history handling to be more robust.
* Buildsystem dependency improvements.
* Improved handling of messages and bundled resources.
* Added support for HTTP Strict Transport Security.
* Enabled TLS session tickets.
* Restricted the HTTPS ciphersuites allowed.
* Reorganised source code for HTML and text handling.
* Improved plotter API consistency and completeness.
* Enabled front ends to get current URL with fragment IDs.
* Fixed rendering glitch in treeviews.
* Fixed dragging to current selection in treeviews.
* Allowed building with address sanitiser.
* Suppressed fetch poll logging.
* Suppressed logging of data: URLs.
* Refactored HTTP header processing in llcache.
* Revised front end API for HTTP authentication.
* Display application/json as text, instead of download.
* Fixed JavaScript related CSS crash.

* Hubbub library 0.3.5 (HTML parser):
  - Squashed leaks in tests.

* LibCSS library 0.8.0 (CSS parser and selection engine):
  - Added support for CSS flexbox properties.
  - Added support for new CSS units.
  - Auto-generated source code for computed style handling.
  - Squashed some undefined behaviour issues.
  - Unified some duplicated media handling code.

* LibDOM library 0.3.3 (Document Object Model):
  - Fixed some resource leaks.
  - Fixed some flawed error handling.
  - Fixed some tests.

* LibNSGIF library 0.2.1 (GIF support):
  - Tiny optimisation to LZW decoding.
  - Cleaned up test suite.

* LibNSBMP library 0.1.5 (BMP support):
  - Fixed a few issues caught by address sanitiser and
    undefined behaviour sanitiser.

* LibSVGTiny library 0.1.7 (SVG support):
  - Fixed a few issues caught by address sanitiser and
    undefined behaviour sanitiser.

* LibNSPSL library 0.1.3 (Public suffix list):
  - Updated public suffix list to current edition.

* LibNSLog library 0.1.2 (Filterable logging):
  - Tweaks to suppress warnings on openbsd.

### RISC OS-specific

* Improved iconsprite selection based on alpha support.
* Translate resource paths.
* Drag saving the URL bar now includes fragment IDs.

### GTK-specific

* Fixed bugs in toolbar configuration.
* Improved accelerator (keyboard shortcut) handling.

### AmigaOS-specific

* Removed Iconify gadget for OS3.
* Fixed radio button labels on OS3.
* Fixed switch from public screen to own screen.
* Minor optimisations.
* Fixed HTTP authentication login window resource ownership.
* Improved Unicode handling in HTTP authentication login window.
* Close HTTP authentication login window on quit.

### Windows-specific

* Fixed image scaling crash.
* Added support for HTTP authentication.

### Framebuffer-specific

* Added support for HOME and END keys.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 3.7
-----------

### Core / All platforms

* CSS computed styles shared globaly between elements.
* Fixed OpenSSL 1.1.0 X509 certificate handling.
* Updated for compatibility with upstream libutf8proc.
* Updated JS engine to Duktape 2.1.0.
* Improved treeview robustness.
* Local history uses system colours.
* Made local history use corewindow interface.
* Simplified local history code.
* Added EventListener support to Duktape binding.
* Added EventTarget JavaScript binding.
* Improved plotter API.
* Simplified HTML border plotting.
* Make disabled form elements read-only.
* Improved URLdb.
* Improved tests.
* Fixed bug in content state machine for HTML contents.
* Fixed issue in parsing of file urls.
* Split out ASCII locale-safe handling used in parsers.
* Made libcurl build-time optional.
* Hotlist saved on change, rather than at exit.
* Improved handling of display:table applied to :after.
* Added support for CSS3 box-sizing to HTML layout.
* Improved handling of margins where constrained by {min|max}-width.
* Cleaned up content message broadcasts.
* Logging now run-time filterable using LibNSLog.
* Added search feature to treeviews.
* Browser history now remembers page scroll offsets.

* Hubbub library 0.3.4 (HTML parser):
  - Support falling back to space-separated charset.

* LibCSS library 0.7.0 (CSS parser and selection engine):
  - Computed styles can now be shared between elements.
    - Computed styles interned, so only unique computed styles
      reside in memory.  This means multiple pages/tabs/windows
      can share computed style data.
    - Where possible, we now bypass CSS selection, and simply
      take a reference to another element in the DOM's style,
      if we're sure it will be the same.
  - Added support for the CSS3 box-sizing property.
  - Fixed invalid read when removing sheet from selection context.
  - Fixed example / demo app build.

* LibDOM library 0.3.2 (Document Object Model):
  - Add support for checking if an event is in dispatch.
  - Add is_initialised flag to events.
  - Add getter/setter for event_target is_trusted.
  - Simplified API for removing all instances of a listener.

* LibNSGIF library 0.2.0 (GIF support):
  - Complete rewrite of LZW decompression is more optimal and robust.
  - Stability fixes.

* LibSVGTiny library 0.1.6 (SVG support):
  - Buildsystem improvements.
  - Fixed bug in parsing of multiple lineto commands.

* LibNSPSL library 0.1.2 (Public suffix list):
  - Updated public suffix list.

* LibNSLog library 0.1.0 (Filterable logging):
  - First release.

### RISC OS-specific

* Improved quit/exit behaviour.
* Moved treeviews to use the corewindow interface.
* Moved local history to use the core window interface.
* Updated to new plotter API.

### GTK-specific

* Moved treeviews to use the corewindow interface.
* Moved local history to use the core window interface.
* Fixed Hotlist finalisation on exit.
* Updated to new plotter API.
* Improved text display and DPI handling.
* Optimised tiled bitmap rendering.

### AmigaOS-specific

* Improved memory handling.
* Reduced frequency of diskfont open/close.
* Improved splash screen robustness.
* Improved quit/exit behaviour.
* Moved treeviews to use the corewindow interface.
* Moved local history to use the core window interface.
* Improved redrawing.
* Improved menus.
* Updated to new plotter API.
* Reduced use of globals.
* Improved use of notifications.
* Improved AmigaOS3 compatibility.

### Haiku-specific

* View source in user's preferred editor.
* Reworked menu accelerator handling.
* Fixed popup menu.
* Updated to new plotter API.

### Atari-specific

* Updated to new plotter API.
* Don't package the ca-bundle twice.

### Framebuffer-specific

* Fixed font handling return types.
* Moved local history to use the core window interface.
* Updated to new plotter API.

### Windows-specific

* Fixed font handling return types.
* Fixed Windows installer generation.
* Updated to new plotter API.
* Moved local history to use the core window interface.
* Fixed text handling.
* Fixed redraw bug on resize.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 3.6
-----------

### Core / All platforms

* Build system improvements.
* Internal code reorganisation.
* Improved time handling.
* Removed use of warn_user.
* Updated Duktape JavaScript engine to version 1.5.1.
* Removed old spidermonkey build options.
* Fixed certificate chain handling.
* Improved URL (un)escape code.
* Added unit tests.
* Allowed build without libcurl and openssl (lacks http(s) support).
* Added parser for HTTP date time strings.
* Simplified treeview initialisation and finalisation.
* Added treeview font size user option.
* Improved locale handling, by using with ascii-only parsing routines.
* Fixed blocking of supercookies, and updated public suffix list.
* Improved User Agent default CSS.

* LibWapcaplet library 0.4.0 (String internment):
  - Added function to get caseless hash value.

* LibSVGTiny library 0.1.5 (SVG support):
  - Added tests.
  - Improved handling of bad SVGs.
  - Improved linear gradient handling.

* LibNSGIF library 0.1.4 (GIF support):
  - Improved tests.

* LibNSBMP library 0.1.4 (BMP support):
  - Improved tests.
  - Improved documentation.
  - Fixed RLE decoding.
  - Improved handling of bad BMPs.
  - Improved BMP alpha channel handling.
  - Fixed row padding handling.

* LibDOM library 0.3.1 (Document Object Model):
  - Fixed DOM tree walking routine.
  - Fixed Expat parser binding.

* LibCSS library 0.6.1 (CSS parser and selection engine):
  - Minor fixes.
  - Updated to use libwapcaplet caseless hash value API.

* LibNSPSL library 0.1.0 (Public suffix list):
  - First release.

### GTK-specific

* Fixed TLS certificate viewer, with multiple queries.
* Switched to corewindow API for treeviews for improved robustness.
* Fixed About dialogue licence and credits buttons.
* Fixed MIME types of local BMP files.

### AmigaOS-specific

* Make use of guigfx library for improved image display.
* Fixed websearch crash.
* Code cleanup.
* Improve character encoding conversion.
* Improved search engine list.
* Improvements to aid compiler optimisation.
* Improved scheduler.
* Improved tab handling, when launching URLs with existing NeSurf instance.
* Improved AmigaOS3 support.

### Framebuffer-specific

* LibNSFB library 0.1.5 (NetSurf Framebuffer):
  - Minor buildsystem changes.

### Haiku-specific

* Support http(s) schemes URI schemes in the .desktop.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 3.5
-----------

### Core / All platforms

* Fixed URL parsing to avoid locale-specific character handling.
* Improved documentation of font APIs.

### RISC OS-specific

* Improved !Boot and !System distributions.
* Updated distributed SharedUnixLibrary.
* Improved relocatable module checks.

### GTK-specific

* Fixed resource handling.
* Removed theme handling code.
* Cleaned up 401 login window.

### AmigaOS-specific

* Fixed bug that caused NetSurf to fail to exit.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 3.4
-----------

### Core / All platforms

* Simplified web page thumbnailing interface between core and front ends.
* Buildsystem improvements.
* Added prefix to key codes to avoid namespace conflict with ncurses.
* Fixed URL hash not to contain the URL fragment.
* Removed outdated RISC OS cross-compilation instructions.
* Improved disc cache indexing and element layout.
* Improved disc cache performance for small files.
* Moved bitmap operations to use new operation table pattern.
* Improved bitmap rendering.
* Removed support for webp image format.
* Fixed freeing of form controls.
* Minor code cleanup in handling of relative positioning.
* Added scaled content redraw interface.
* Updated default user agent CSS to support HTML5 block level elements.
* Fixed PNG handling in low memory situations.
* Automatically disable the disc cache if the disc is too slow.
* Improved LOG macro.
* Improved build-time generation of internationalised messages.
* Allowed verbose logging to be redirected to a file.
* Reduced overhead of logging.
* Moved message loading from core out to front ends.
* Improved error reporting.
* Fixed a URL parsing bug.
* Improved URL parsing tests.
* Added code coverage reporting for tests.
* Improved test coverage.
* Updated IDL specs.
* Optional UTF-8 rendering of URLs.
* Migrated to Duktape JavaScript engine.  Using Duktape 1.4.0.
* Fixed ALIGN attribute on TABLE elements.
* Fixed percentage calculation to avoid arithmetic overflow.
* Fixed JavaScript instanceof.
* Fixed asynchronous JavaScript scripts.
* Much improved JavaScript engine bindings.
* Fixed leak of frame scrollbar data.
* Fixed leak of frameset DOM documents.
* Added initial support for JavaScript events.
* Fixed overflow-{x|y} property handling.
* Improved option handling.
* Fixed mouse handling to consider the root element's box.
* Added support for auto-retrying timed-out cURL fetches.
* Fixed mime sniffing when fetcher completes with no data.
* Don't try to look up mailto URLs in database, as they aren't stored.
* Optimised HTML layout of floats.
* Fixed HTML layout bug relating to position of floats.
* Fixed bug when user toggled javascript_enabled setting during page load.
* Slight optimisation of DOM node inserted handling.
* Introduced 10s script execution timeout.
* Used new LibCSS API to optimise handling of HTML presentational hints.
* Removed logging during browser window resize.
* Improved cache logging.
* Fixed to avoid generating pseudo elements for HTML replaced elements.
* Simplified status bar updating while fetching HTML contents.
* Fixed bug in accounting of objects being used by HTML contents.
* Stopped GIF animations for when GIF has no users.

* Hubbub library 0.3.3 (HTML parser):
  - Fixed paths for Haiku.
  - Minor buildsystem changes.
  - Updated name of JSON library used for tests.
  - Added doxygen code documentation generation support.
  - Fixed doxygen warnings.

* LibCSS library 0.6.0 (CSS parser and selection engine):
  - Fixed paths for Haiku.
  - Minor buildsystem changes.
  - Added doxygen code documentation generation support.
  - Minor improvements to tests.
  - Added "96" to useful fixed point values in fpmath header.
  - Slight simplification of initial computed style setup.
  - Changed how presentational hints are handled to be more optimal.

* LibDOM library 0.3.0 (Document Object Model):
  - Fixed paths for Haiku.
  - Minor buildsystem changes.
  - Added doxygen code documentation generation support.
  - Improved tests.
  - Fixed event listener removal.
  - Removed unused document argument from event layer API.
  - Improved HTML Element specialisation APIs to better match IDL.
  - Added a _FINISHED event action callback.
  - Handle cleanup during event target gathering.
  - Ensured HTML element attributes are lower cased.
  - Added asynchronous property to script element.
  - Fix event handling not to capture and bubble on event target.
  - Added support for Event.eventPhase.
  - Fixed event target listener destruction.
  - Fixed HTMLDocument's vtable, so .textContent will work.
  - Fixed handling of document base URI.
  - Improved and optimised handling of HTMLElement specialisations.
  - Fixed copy constructors for HTMLElement and its specialisations.
  - Optimised DOM string upper/lower-case conversion.
  - Optimised event dispatch.
  - Provided public API for efficient identification of HTML elements.

* LibNSBMP library 0.1.3 (NetSurf BMP decoder):
  - Fixed paths for Haiku.
  - Minor buildsystem changes.
  - Added BMP decode test suite.
  - Added ICO decode test suite.
  - Fixed calculation in RLE decoding. (CVE-2015-7508)
  - Improved input data range check for RLE4 absolute mode.
  - Added range check to colour table accesses. (CVE-2015-7507)

* LibNSGIF library 0.1.3 (NetSurf GIF decoder):
  - Fixed paths for Haiku.
  - Minor buildsystem changes.
  - Added basic decode test.
  - Improved checks for buffer exhaustion.
  - Ensured LZW decode stack does not overflow. (CVE-2015-7505)
  - Ensured LZW code is valid before use. (CVE-2015-7506)

* LibParserUtils library 0.2.3 (parser building utility functions):
  - Fixed paths for Haiku.
  - Minor buildsystem changes.

* LibSVGTiny library 0.1.4 (SVG support):
  - Fixed paths for Haiku.
  - Minor buildsystem changes.
  - Fixed path buffer length allocation issue.
  - Added test files.

* LibWapcaplet library 0.3.0 (String internment):
  - Fixed paths for Haiku.
  - Minor buildsystem changes.
  - Added assertions to interface macros.
  - Updated tests.
  - Added doxygen code documentation generation support.
  - Fixed doxygen warnings.
  - Added function to return lower-cased strings.

### RISC OS-specific

* Improved full-save output to retain their creation date on copy.
* Fixed closure of menu when asked for clipboard data.
* Updated bundled Shared Unix Library support module to 1.12.
* Fixed object info crash that occurred with NULL URLs.
* Doxygen generated code documentation fixes and improvements.
* Many minor cleanups.
* Converted to bitmap operations table.
* Set the default disc cache size to zero (off).
* Squashed a memory leak in path handling.
* Improved menu keyboard-shortcuts.
* Prevent sprite export when image can't be converted.
* Fixed rendering in 4k and 64k colour modes.
* Increased size of download window.
* Fixed page-search ignoring case sensitivity.
* Fixed lingering pointer shape on window close bug.

### GTK-specific

* Extended GTK 2/3 compatibility layer for changes in recent GTK 3 releases.
* Fixed warnings in about dialogue construction.
* Many minor UI changes and improvements.
* Cleaned up header usage.
* Converted to bitmap operations table.
* Improved view source behaviour.
* Memory leak fixes.
* Use of GResource to improve building of image resources.
* Made path to resources more robust.
* Removed GTK-specific default CSS file.
* Allow resources to be built into the binary, rather than loaded from disc.
* Improve URL bar completion to navigate on selection.
* Show default favicon on window creation.
* Add option to show IDN decoded URLs.
* Improved the man page.
* Tidied up themes code.
* Fixed memory leaking of Pango layouts when rendering text.

### AmigaOS-specific

* Fixed screen depth check for friend bitmaps.
* Made use of friend bitmaps optional.
* Removed asynchronous backing store code.
* Allowed URL completion to pick up non-visited URLs.
* Converted to bitmap operations table.
* Improved rendering.
* Improved plotted robustness.
* Improved menus.
* Improved file extension handling when saving.
* Cache pre-scaled versions of favicons.
* Added support for UTF-16 surrogates.  Enables emoji rendering.
* Improved AmigaOS 3 support.
* Improved font handling.
* Show IDN decoded URLs, subject to local charset restrictions.
* Added new keyboard shortcuts.
* Improved hotlist toolbar look.
* Optimised font lookups.
* Allowed specifying of user directory locations on command line.
* Further improvements to AmigaOS 3 support.
* Improved font engine selection.
* Fixed build warnings.

### Mac OS X-specific

* Updated for building with SDK 10.10.
* Various clean-ups.

### Haiku-specific

* Converted to bitmap operations table.
* Fixed 64-bit builds.
* Improved build instructions.
* Use core menu widget for SELECT form entry.
* Disabled replicant dragger.
* Improved about dialogue box.
* Improved menus.
* Embedded language resources in executable.
* Added cookie management support.
* Added web search bar.

### Atari-specific

* Converted to bitmap operations table.
* Cleaned up inconsistency of source code line endings.
* Enabled JavaScript-capable builds.

### Framebuffer-specific

* Reduced amount of verbose logging.
* Converted to bitmap operations table.
* Added glyphs to built-in bitmap font.

* LibNSFB library 0.1.4 (NetSurf Framebuffer):
  - Minor buildsystem changes.
  - Added checks to ensure non-zero size framebuffer.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 3.3
-----------

### Core / All platforms

* Rewrote html mouse pointer handling to reduce stack usage.
* Improved portability of the curl binding.
* Fixed relative URLs in inline CSS to resolve with respect to base URL.
* Improved debug box tree dump.
* Fixed textarea rendering glitches.
* Fixed textarea scrollbar behaviour.
* Removed support for all SSL versions due to vulnerabilities.
* Protect against inappropriate encryption protocol downgrades.
* Many changes to sanitise interface between core and front ends.
* Front ends can use their own main loop instead of polling core.
* Fixed bad background image URLs causing page load to abort.
* Improved buildsystem handling of warning flags.
* Improved HTML form handling.
* Improved the disc cache.
* Improved the hotlist/bookmarks loading and saving.
* Improved error handling.
* Added copy-to-clipboard of selected hotlist & history entries.
* All die calls removed; errors now passed to front ends.
* Rationalised URL handling functionality.
* Added API for front ends to set DPI.
* Added simple map access a about:maps.
* Improved documentation for cross-compiling.
* Many minor improvements and fixes.

* Hubbub library 0.3.1 (HTML parser):
  - Updated buildsystem.
  - Minor code tidying.

* LibCSS library 0.5.0 (CSS parser and selection engine):
  - Added selection support for CSS3 column-count property.
  - Added selection support for CSS3 column-fill property.
  - Added selection support for CSS3 column-gap property.
  - Added selection support for CSS3 column-rule-color property.
  - Added selection support for CSS3 column-rule-style property.
  - Added selection support for CSS3 column-rule-width property.
  - Added selection support for CSS3 column-span property.
  - Added selection support for CSS3 column-width property.
  - Added selection support for CSS3 break-after property.
  - Added selection support for CSS3 break-before property.
  - Added selection support for CSS3 break-inside property.
  - Improved and fixed absolute value conversion of computed styles.
  - Minor optimisations.
  - Updated buildsystem.
  - Improved selection tests.
  - Code tidying.
  - Many minor improvements and fixes.

* LibDOM library 0.1.2 (Document Object Model):
  - Updated buildsystem.
  - Minor fixes and improvements.

* LibNSBMP library 0.1.2 (NetSurf BMP decoder):
  - Minor code tidying.
  - Updated buildsystem.

* LibNSGIF library 0.1.2 (NetSurf GIF decoder):
  - Updated buildsystem.

* LibParserUtils library 0.2.1 (parser building utility functions):
  - Updated buildsystem.

* LibSVGTiny library 0.1.3 (SVG support):
  - Fix for relative move commands after path close.
  - Fix parsing of whitespace in transform operators.
  - Fix for path generation overrunning allocated storage.
  - Updated buildsystem.

* LibWapcaplet library 0.2.2 (String internment):
  - Updated buildsystem.

### RISC OS-specific

* Updated to use new core interface.
* Cleaned up the bundled !Cache distribution.
* Divorced from core-internal browser window data structure.
* Fixed user-launched fetches to be verifiable.
* Minor code tidying.

### GTK-specific

* Updated to use new core interface.
* Updated to use own main loop.
* Fixed thumbnailing issue.
* Added man page and XDG file..
* Divorced from core-internal browser window data structure.
* Various minor fixes and improvements.

### AmigaOS-specific

* Updated to use new core interface.
* Improved filenames in save requesters.
* Improved kiosk window handling.
* Improved browser window scrollbar behaviour.
* Improved library handling.
* Divorced from core-internal browser window data structure.
* Many minor fixes and improvements.
* Simplified handing of core browser windows and tab management.
* Improved initialisation, and main loop.
* Rewritten scheduler.
* Improved Style Guide compliance.
* Added YouTube video helper script.
* Removed obsolete GetVideo support.
* Write to the disc cache asynchronously.
* Added preliminary support for AmigaOS 3.
* Code tidying.

### BeOS/Haiku-specific

* Updated to use new core interface.
* Divorced from core-internal browser window data structure.
* Fixed resource fetcher.

### Atari-specific

* Updated to use new core interface.
* Divorced from core-internal browser window data structure.
* Fixed handling of local paths.
* Added support for disc cache.
* Code tidying.
* Many minor fixes and improvements.

### Framebuffer-specific

* Updated to use new core interface.
* Divorced from core-internal browser window data structure.
* Renamed internal font to "ns-sans".
* Added man page.
* Updated to use own main loop.
* Improved command line option handling.

* LibNSFB 0.1.2 library (NetSurf Framebuffer):
  - Fixed build of wayland surface.
  - Updated buildsystem.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 3.2
-----------

### Core / All platforms

* Improved building on OpenBSD.
* Improved interface between front ends and core.
* Improved internal URL handling.
* Cleaned up many internal interfaces.
* Added support for disc caching.
* Fixed treeview selection issue.
* Fixed line breaking of plain text with multi-byte sequences.
* Improved out-of-memory handling.
* Added support for overflow-x and overflow-y CSS3 properties.
* Improved web search feature.
* Improved internal task scheduling.
* Improved support for Unicode URLs.
* Fixed issue relating to CSS imports.
* Improved debug dumping of box trees.
* Fixed SSL certificate viewer lifetimes bug.
* Fixed HTML ordered list numbering issue.
* Fixed DOM tree debug dump.
* Fixed handling of malformed URLs.
* Fixed text selection.

* LibCSS library 0.4.0 (CSS parser and selection engine):
  - Added support for CSS3 overflow-x and overflow-y properties.
  - Fix to !important handling with play-during property.
  - Improved test coverage.

* LibDOM library 0.1.1 (Document Object Model):
  - Implemented many missing specialisations of HTMLElement.

### RISC OS-specific

* Fix for toolbar width calculation.
* Code clean-ups.
* Added option to use disc cache.

### GTK-specific

* Improved configuration handling.
* Improved command line usage.
* Enabled disc caching.
* Improved context menu.
* Fixed gdkpixbuf usage issue.
* Improved view source, and debug features.
* Improved main menu.
* Improved developer options.
* Added options to open view source, etc, in new window, tab, or editor.
* Many code clean-ups.
* Internationalisation fixes.

### AmigaOS-specific

* Removed Cairo.
* Improved installer script.
* Enabled disc caching.
* Improved line splitting behaviour for text wrap.
* Improved web search.
* Improved hotlist menu.
* Improved task scheduler.
* Wait for network activity, rather than polling for it.
* Improved throbber operation.
* Fixed tab bar update failure issue.
* Improved favicon handling.

### BeOS/Haiku-specific

* Various fixes.

### Atari-specific

* Made several little bug fixes.

### Framebuffer-specific

* Added Unicode support to internal font.
* Added codepoint rendering to internal font, for missing glyphs.
* Added scaled glyph rendering to internal font.
* Added support for window resizing, were underlying surface supports it.

* LibNSFB library 0.1.2 (NetSurf Framebuffer):
  - Made SDL surface resizeable.
  - Fixed rendering for 1bpp glyphs with greater than 1 byte width.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 3.1
-----------

### Core / All platforms

* Optimised UTF-8 conversion.
* Optimised URL database lookups.
* Added support for visited link rendering.
* Made better use of DOM events to optimise load times.
* Improved handling of user options.
* Improved about:config page.
* Faster application startup time.
* Fixed rendering of animated background images.
* Rewritten treeview implementation with improved look and behaviour.
* Rewritten hotlist (bookmarks, favourites) with new treeview.
* Rewritten global history with new treeview.
* Rewritten cookie manager with new treeview.
* Added multi-level undo and redo support to textareas.
* Hotlist has special directory for new 'unsorted' entries.
* Improved file:// directory listings.
* Faster CSS selection achieved by updating to new LibCSS version.
* Improved support for min-height and max-height CSS properties.
* Removed support for MNG and JNG images.
* Launch image fetches during HTML parsing.
* Improved support for file upload form element.
* Enabled TLS 1.2 support again.
* Fixed various issues with HTML forms by using the DOM properly.
* Make better use of string interning.
* Simplified favicon handling.
* Fixed fetch handle caching with modern libcurl versions.
* Simplified local history programmer interface.
* Improved handling of invalid HTML.
* Improved handling of browser tabs.
* Various fixes and improvements to URL handling.
* Fixed textarea selection redraw.
* Improved separation of core and platform-specific code.
* Improved content caching.
* Improved build documentation.
* Improved display of single-line form text inputs.
* Various fixes to table layout and rendering.

* Hubbub library 0.3.0 (HTML parser):
  - Updated to use latest LibParserUtils.
  - Removed client allocation function.
  - Added support for multilib.

* LibCSS library 0.3.0 (CSS parser and selection engine):
  - Added support for the writing-mode property.
  - Significantly optimised selection performance.
  - Made many fixes and internal clean-ups.
  - Added support for multilib.

* LibDOM library 0.1.0 (Document Object Model):
  - Fixed node comparison.
  - Made many fixes and internal clean-ups.
  - Updated Hubbub binding for latest Hubbub.
  - Added support for multilib.
  - Added HR specialisation of HTMLElement.

* LibNSBMP library 0.1.1 (NetSurf BMP decoder):
  - Added support for multilib.

* LibNSGIF library 0.1.1 (NetSurf GIF decoder):
  - Added support for multilib.

* LibParserUtils library 0.2.0 (parser building utility functions):
  - Removed client allocation function.
  - Added support for multilib.
  - Minor fixes and clean-ups.

* LibROSprite library 0.1.1 (RISC OS Sprite support for non-RO platforms):
  - Added support for multilib.

* LibSVGTiny library 0.1.1 (SVG support):
  - Several minor fixes.
  - Added support for multilib.

* LibWapcaplet library 0.2.1 (String internment):
  - Added support for multilib.

### RISC OS-specific

* Improved mouse handling.
* Added F8 and F9 key shortcuts for textarea undo and redo.
* Optimised rendering of treeview windows.
* Added hotlist indicator to URL bar.
* Improved handling of long URLs in URL bar.
* Improved menu handling.
* Reduced dependency on core's implementation details.

### GTK-specific

* Fixed scroll wheel step size.
* Improved GTK-3 compatibility.
* Fixed red/blue swapping with animated gifs.
* Added new tab button to tab bar.
* Improved window/tab closing.
* Added key shortcuts for textarea undo and redo.
* Improved save source.
* Added support for file upload form element.
* Reduced dependency on core's implementation details.
* Fixed alpha channel handling
* Fixed endian issues in bitmap handling.
* Improved support for keyboard input of non-latin letters.
* Improvement of text caret rendering.

### AmigaOS-specific

* Added key shortcuts for textarea undo and redo.
* Use OS mouse pointers.
* Improved hotlist menu.
* Added favourites/hotlist indicator to URL bar.
* Reduced dependency on core's implementation details.
* Added support for AmigaGuide help system.
* Improved behaviour on quit.
* Improved download handling.
* Improved URL handling.

### BeOS/Haiku-specific

* Improved embedding of resource files.
* Improved About dialogue box.
* Fixed CSS system colour setting.
* Updated to account for change in atomic_add() in Haiku.
* Reduced dependency on core's implementation details.

### Windows-specific

* Reduced dependency on core's implementation details.

### Atari-specific

* Added SSL certificate inspection window.
* Added About dialogue box.
* Added support for scaling web pages.
* Improved rendering.
* Reduced dependency on core's implementation details.

### Framebuffer-specific

* Added key shortcuts for textarea undo and redo.
* Use libnsfb for tiled bitmap rendering.
* Reduced dependency on core's implementation details.

* LibNSFB library 0.1.1 (NetSurf Framebuffer):
  - Fixed various memory leaks.
  - Added tiled bitmap rendering support.
  - Improved dithering.
  - Added support for multilib.
  - Allowed building for Win32.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 3.0
-----------

### Core / All platforms

* Internal restructuring to separate different components.
* Improved drag handling.
* Added support for User CSS file.
* Fixed compressed Messages loading.
* Updated translations.
* Improved internal options handling.
* Improved build documentation.
* Moved to using LibDOM for our document object model.
* Removed LibXML dependency.
* Merged messages files into single resource.
* Improved about:imagecache debug feature.
* Use system colours for treeview.
* Use system colours for scrollbar widget.
* Improved content cache.
* Added support for DoNotTrack header.
* Added early and primitive JavaScript support. (Disabled by default.)
* Textarea widget now supports double/triple click selections.
* Moved welcome page to local about: URL scheme.
* Improved text selection handling.
* Simplified interface for dealing with clipboard cut/copy/paste.
* Optimised file: fetcher where mmap is available.
* Allowed contents to request scrolls.
* Improved frames resizing.
* Internal restructuring of content communication with window.
* New system for obtaining debug dump from core browser window.
* Build system uses ccache where available.
* Improved handling of CSS white-space property.
* Avoid conversion of spaces to hard spaces.
* Reduced usage of talloc to box tree.
* Improved URL utility functions.
* Brought internal URL database into line with other URl handling.
* Improved title bar display for standalone image viewing.
* Try to downgrade TLS version support if server can't cope.
* Fix for layout issue involving floats with negative margins.
* Reduced overhead of debug logging.
* Don't abort HTML redraw when bad image fails to convert.
* Added support for CSS clip property.
* Improved error reporting.
* Added support for httponly cookies.
* Overhauled core textarea widget.
* Use textarea widget for HTML form text, password and textarea input.
* Improved caret and focus handling.
* Removed CPU architecture from user agent string.
* Changed text selection highlight colouring.
* Remove limitation of HTML line breaking handling that required space.
* Allowed CSS to be fetched/parsed in parallel with HTML document.
* Added support for readonly attribute on textareas and text inputs.
* Fixed text clipping issue.

* Hubbub library 0.2.0 (HTML parser):
  - Added script support.
  - Fixed handling of encoding change.
  - Updated to use new core buildsystem.

* LibCSS library 0.2.0 (CSS parser and selection engine):
  - Updated example code.
  - Added support for CSS widows and orphans properties.
  - Minor selection optimisations.
  - Several minor fixes.
  - Updated to use new core buildsystem.

* LibDOM library 0.0.1 (Document Object Model):
  - First release.

* LibNSBMP library 0.1.0 (NetSurf BMP decoder):
  - Removed suspend/invalidate stuff from API.
  - Updated to use new core buildsystem.

* LibNSGIF library 0.1.0 (NetSurf GIF decoder):
  - Updated to use new core buildsystem.

* LibParserUtils library 0.1.2 (parser building utility functions):
  - Fixed input insertion.
  - Updated to use new core buildsystem.

* LibROSprite library 0.1.0 (RISC OS Sprite support for non-RO platforms):
  - Minor improvement.
  - Updated to use new core buildsystem.

* LibSVGTiny library 0.1.0 (SVG support):
  - Ported from LibXML to LibDOM.
  - Minor fixes.
  - Updated to use new core buildsystem.

* LibWapcaplet library 0.2.0 (String internment):
  - Optimised to reduce function call overheads.
  - Updated to use new core buildsystem.

### RISC OS-specific

* Documentation menu options now launch online documentation.
* Added option to enable/disable JavaScript.
* Added distribution Zip file build target.
* Updated buildsystem to squeeze !RunImage.
* Now require v0.13 or higher of the CryptRand module.
* Added logging switch to !NetSurf.!Run.
* Consult internal mimemap table before consulting MimeMap module.
* Improve line wrap handling.
* Made clipboard use UTF-8 internally.
* Now require v0.12 or higher of the Iconv module.
* Pass double and triple clicks to the core.
* Fixed ctrl+{left|right|up|down} keys.

### GTK-specific

* Added URL launcher for NetSurf.
* Added support for building with GTK3.
* Fixed rendering of tiled background images.
* Fixed scrollwheel support.
* Fixed OpenBSD compatibility.
* Rewritten preferences handling.
* Added clipboard keyboard shortcuts for cut/copy/paste.
* Enabled support for line breaking on non-space characters.
* Improved localisation.

### AmigaOS-specific

* Disabled print support.
* Tiled redraw improvement.
* Fixed fast scrolling.
* Updated default favicon.
* Improved status bar.
* Made DataTypes picture handler use the core image cache.
* Improved font width measuring.
* Improved position in rendered string handling.
* Improved line splitting handling.
* Allow another font to be used if current font lacks required glyph.
* Fixed download window's handling of aborted/stalled downloads.
* Added option to enable/disable JavaScript.
* Support for less than 16bpp screen modes.
* Optimisation for opaque bitmap plotting.
* Removed p96 dependency.
* Install target now produces an archive for distribution.
* Added hotlist toolbar.
* Improved tabbed browsing.
* Added basic context sensitive help.
* Made various redraw optimisations.

### BeOS/Haiku-specific

* Made multiple toolbars share single icon instance.
* Optimised text rendering slightly.
* Added download window.
* Fixed off-by-one in caret placement and text selection.

### Windows-specific

* Install target creates an installer.

### Atari-specific

* Improved download window behaviour.
* Improved plotters.
* Optimised redraw areas.
* Simplified keyboard shortcut handling.
* Added native bitmap buffer for faster rendering.
* Improved toolbar.
* Improved URL bar.
* Enabled paste into URL bar.
* Faster rendering of opaque bitmaps.
* Faster freetype text rendering.
* Improved context menu.
* Added global history window.
* Improved text selection and caret placement.
* Improved font handling.
* Removed windom dependency.

### Framebuffer-specific

* Removed unnecessary redraw when not scrolling.
* Optimised scrolling.
* Reduced lag in handling mouse actions and movements.
* Improved scrollbar behaviour.
* Added text caret for URL bar and HTML forms.
* Improved URL bar editing.
* Optimised text widget redraw.
* Improved text selection and caret placement.
* Enable mouse pointers with offset 'hot-spots'.
* Improved key handling.
* Added support for drags.
* Added simple internal clipboard (cut/copy/paste) support.
* Added on-screen-keyboard (OSK) icon.
* Turned on Quit button by default.
* Improved system colours.
* Improved window width/height option handling.

* LibNSFB library 0.1.0 (NetSurf Framebuffer):
  - Fixed X surface build.
  - Fixed 1bpp bitmap rendering.  (Fixes internal font clipping.)
  - Improved 8bpp palette.
  - Optimised paletted rendering.
  - Added error diffusion support to bitmap plotter.
  - Added support for surfaces with BGR component ordering.
  - Added Wayland surface handler.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 2.9
-----------

### Core / All platforms

* Improved internal management of simultaneously occurring operations.
* Rewritten and streamlined URL handling.
* Improved handling of frames and iframes.
* Improved handling of min/max-width on replaced elements.
* Simplified layout object dimension calculations.
* Reduced memory usage in the fetch layer.
* Disabled extraneous fetch debug code when built without debugging.
* Optimised fetchers.
* Updated MIME sniff handling in accordance with evolution of spec.
* Optimised cache layer.
* Enabled yield and resumption of box tree construction.
* Improved resource handling.
* Added new support for favicons.
* Increased default memory cache size.
* Added about:imagecache status page.
* Optimised URL fragment handling.
* Made meta refresh handling more robust.
* Various minor table layout fixes.
* Cleaned up fetch callback API.
* New hotlist entries can be inserted into defined or selected folder.
* Enabled resizing of textarea widget.
* Fixed cookie expiration.
* Improved handling of CSS overflow scrollbars.
* Fixed caret position after deleting selection in textarea widget.
* Enabled mouse wheel scrolling of frames and other scrollable content.
* Improved handling of file drops, e.g. for HTML form file submission.
* Added the beginnings of a gstreamer binding.
* Fixed some content cache layer issues.
* Improved handling of deletion of nodes from treeviews.
* Added options to disable fetching of images.
* Simplified redraw API rendering options.
* Improved support for drag operations.

* Hubbub library 0.1.2 (HTML parser):
  - Fixed xmlns attribute handling.

* LibCSS library 0.1.2 (CSS parser and selection engine):
  - Avoid interning standard strings for every stylesheet, style
     tag and style attribute.
  - Made significant optimisations to style selection.
  - Fixed case where font-family is unspecified in input CSS.
  - Added some support for @font-face.
  - Fixed !important on opacity property.
  - Added support for parsing CSS3 Multi-column layout properties.

### RISC OS-specific

* Removed unused and broken plugin handler.
* Removed normalisation of user input URLs.
* Added support for external hotlist utilities.
* Improved signal handling.
* Improved keyboard input handling.
* Various fixes.
* Fixed Drawfile export not to show interactive features.
* Improved scroll event handling.

### GTK-specific

* Improved resource handling.
* Cleaned up handling of tabs.
* Made tab bar position configurable.
* Updated plotters to use Cairo surfaces throughout.
* Enabled search-as-you-type of page content.
* Fixed ~/.netsurf directory permissions.

### AmigaOS-specific

* Improved mouse handling.
* Improved multi-tasking behaviour.
* Increased keyboard scroll speed.
* Better MIME type handling.
* Improved contextual menu handling.
* Enabled context menu for frames.
* Enabled context menu for plain text contents.
* Improved aspect ratio handling.
* Consolidated user file operations.
* Fixed scrolling issues.
* Improved resource handling.
* Improved tab bar handling.
* Improved drag handling.
* Improved font handling.
* Improved clipboard support.

### Mac OS X-specific

* Fixed build.

### Atari-specific

* Added context menu.
* View source support.
* Use favicon when iconified.
* Removed unneeded frames handling code.
* Fixed rectangle plotter.
* Simplified status bar.
* Improved download window.
* Improved URL bar.
* Fixed conversion from local encoding to UTF-8.
* Improved scheduler.
* Added save page support.
* Added settings dialogue.
* Enabled view source feature.
* Added support for 8-bit displays.

### Framebuffer-specific

* Reduced excessive logging.
* Implemented RAM surfaces, instead of direct blitting.
* Fixed VNC surface.
* Enabled thumbnailing in local history view.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 2.8
-----------

### Core / All platforms

* Added rudimentary support for CSS :before pseudo element.
* Improved vertical layout of boxes and margin handling.
* Optimised layout engine not to calculate word widths it doesn't need.
* Optimised layout and redraw of pages as their images fetch.
* Simplified internal character in string location.
* Improved internal content management.
* Fixes to build system.
* Cleaned up image content handlers.
* Simplified internal content redraw interface.
* Simplified status bar text.
* Improved content handler initialisation.
* Improved scrollbar widget.
* Fixed direct dragging of scrollable boxes in HTML.
* Improved fetch option handling.
* Optimised treeview layout.
* Improved default cookie manager view.
* Added support for iframes.
* Added support for frames.
* Improved drag handling.
* Fixed text selection, search, and widget rendering in HTML redraw.
* Made page text search support more robust.
* Improved HTTP authentication header parsing.
* Removed plotter table global.
* Removed current browser global for redraw.
* Updated PNG handler for recent libPNGs.
* Refactored HTTP handling utilities.
* Improved handling of mouse input for text selection.
* Fixed stopping of active HTML content fetches.
* Fixed GCC 4.6 build warnings.
* Disallowed self-importing of CSS contents.
* Made download handling more robust.
* Simplified bitmap management.
* Improved handling of HTML font tag's size attribute.
* Added support for content type sniffing.
* Added an image cache, for managing decoded image reuse.
* Fixed handling of zero-length documents.
* Improved handling of memory cache sizes.

* Hubbub library 0.1.1 (HTML parser):
  - Fixed build with GCC 4.6.

* LibCSS library 0.1.1 (CSS parser and selection engine):
  - Improved build tree cleaning.
  - Fixed build with GCC 4.6.
  - Added support for selection of page-break properties.
  - Optimised style selection.

* LibParserUtils library 0.1.1 (parser building utility functions):
  - Changed build to require iconv by default.
  - Support Byte Order Marks in UTF16 and UTF32 streams.

### RISC OS-specific

* Improved Adjust double-click handling in treeviews.
* Consolidated content handlers for ArtWorks, Draw, and Sprite.
* Removed redundant code specific to old RISC OS frame implementation.
* Removed redundant code specific to old RISC OS iframe implementation.
* Updated for new frame and iframe support in core.
* Updated to handle new interface to core redraw functionality.

### GTK-specific

* Made new window open showing homepage, rather than current page.
* Fixed compatibility with latest GTK API.
* Updated to handle new interface to core redraw functionality.
* Updated for new frame and iframe support in core.

### AmigaOS-specific

* Improved font handling.
* Improved text charset handling.
* Added support for user defined DPI setting.
* Improved image handlers.
* Improved MIME type handling.
* Primitive plugin content support.
* Added support for additional mouse buttons.
* Updated to handle new interface to core redraw functionality.
* Improved handling of tabs.
* Improved toolbar button availability.
* Improved download window.
* Improved context menus.
* Updated for new frame and iframe support in core.
* Added a splash screen.
* Improved support for entering exotic characters.

### Mac OS X-specific

* Removed dependency on Xcode installation for MIME mappings.
* Accept URLs as arguments to binary.
* Fixed build.
* Fixed local directory listing display.
* Improved Apple image handler.
* Added view source functionality.
* Fixed crash due to broken certificate bundle path.
* Added quarantine attributes to downloaded files.
* Added NetSurf to 'Open with' menu for HTML files.
* Updated to handle new interface to core redraw functionality.
* Updated for new frame and iframe support in core.

### BeOS/Haiku-specific

* Reduced debug output.
* Updated resources.
* Updated to handle new interface to core redraw functionality.
* Updated for new frame and iframe support in core.

### Atari-specific

* Improved rendering.
* Implemented treeview support.
* Added Hotlist (bookmarks) feature.
* Simplified scheduler.
* Improved support for local files.
* Updated to handle new interface to core redraw functionality.
* Improved window resize accuracy.
* Ensured window title is converted to local encoding.
* Updated for new frame and iframe support in core.

### Framebuffer-specific

* Improved portability.
* Updated to handle new interface to core redraw functionality.
* Fixed to handle no configured Cookies file location.
* Updated for new frame and iframe support in core.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 2.7
-----------

### Core / All platforms

* Added WebP image support as build-time option.
* Made logging include timing information.
* Added treeview support.
* Added global history manager.
* Added hotlist manager.
* Added cookie manager.
* Added SSL certificate chain inspection display.
* Improved stability.
* Optimised plain text handling.
* Cleaned up build infrastructure.
* Fixed HTTP authentication issues.
* Improved cache cleanup.
* Improved detection of IP addresses in URLs.
* Fixed handling of IPv6 addresses.
* Updated rendering of local history.
* Made the cache more robust.
* Fixed building on OpenBSD.
* Optimised count of current fetches for given host.
* Added options for treeview rendering colours.
* Added partial support for CSS :after pseudo element.
* Fixed 'auto' top/bottom margins for tables.
* Improved font API documentation.
* Fixed float clearing bug.
* Fixed browser_window destruction issue.
* Added support for CSS system colours.
* Fixed colour treatment in rsvg binding.
* Improved portability.
* Fixed copying from plain text to clipboard.
* Improved core/front end interface for rendering into browser windows.
* Improved core/front end interface for rendering thumbnails.
* Optimised thumbnail rendering.
* Made rendering calls pass clipping rectangle around as pointer.
* Reduced floating point maths in the layout engine.
* Added support for about: URL scheme.
* Made cache more robust to strange server responses.
* Added about:config and about:Choices displays.
* Added about:licence and about:credits pages.
* Made knockout rendering optimisation independent of content types.
* Fixed clipping issue for HTML contents.
* Fixed overflow:auto and overflow:scroll behaviour.
* Set download filename according to Content-Disposition header.
* Added resource: URL scheme.
* Fixed poll loops for file: and data: URL scheme fetchers.
* Fixed cache control invalidation.
* Fixed text-indent layout issue.
* Fixed layout issue where clear wrongly interacted with margins.
* Improved cache performance.
* Fixed handling of objects which fail to load.
* Fixed various form submission issues.
* Parallelised fetch and conversion of imported stylesheets.
* Made content states more robust.
* Optimised layout code to reduce calls to measure strings.
* Improved layout code not to duplicate strings for text wrapping.
* Improved box structure for HTML contents.
* Optimised content message redraw requests.
* Made various cache enhancements.
* Text plot scaling handled in core.
* Handle API diversity of iconv() implementations.
* Optimise handling of child objects of an HTML content.
* Avoided stalling during early stages of fetch caused by cURL.
* Improved example of build configuration.
* Added generation of build testament for about:testament.
* Sanitised task scheduling.
* Improved debugging infrastructure.
* Fixed text/plain renderer to cope with scroll offsets.
* Added generated list of about: content at about:about.
* Allowed config. options to be set from the command line.

* Hubbub library 0.1.0 (HTML parser):
  - Added scoping for use from C++ programs.
  - Fixed example program.
  - Removed need for library initialisation and finalisation.
  - Generate entities tree at build time, rather than run time.
  - Added clang build support.

* LibCSS library 0.1.0 (CSS parser and selection engine):
  - Fixed destruction of bytecode for clip property.
  - Added scoping for use from C++ programs.
  - Removed need for library initialisation and finalisation.
  - Added support for CSS2 system colours.
  - Added support for CSS2 system fonts.
  - Altered external representation of colours to aarrggbb.
  - Added support for CSS3 rgba() colour specifier.
  - Added support for CSS3 'transparent' colour keyword.
  - Added support for CSS3 hsl() and hsla() colour specifiers.
  - Added support for CSS3 'currentColor' colour keyword.
  - Added support for CSS3 'opacity' property.
  - Added support for CSS3 selectors.
  - Added support for CSS3 namespaces.
  - Enabled clients to fetch imported stylesheets in parallel.
  - Made internal bytecode 64-bit safe.
  - Fixed leaking of strings.
  - Rewritten property parsers.
  - Certain property parsers auto-generated at build time.
  - Added clang build support.
  - Various portability enhancements.
  - Fixed selection for pseudo elements.
  - Added simultaneous selection for base and pseudo elements.
  - Namespaced all global symbols.
  - Updated test suite.
  - Future-proofed ABI.
  - Ensured fixed point maths saturates instead of overflowing.
  - Fixed clip property handling.
  - Fixed selection and cascade of "uncommon" CSS properties.
  - Added structure versioning for client input.

* LibNSBMP library 0.0.3 (NetSurf BMP decoder):
  - Added missing include.
  - Made more robust when handling broken ICO files.
  - Added clang build support.

* LibNSGIF library 0.0.3 (NetSurf GIF decoder):
  - Added missing include.
  - Added clang build support.

* LibParserUtils library 0.1.0 (parser building utility functions):
  - Fixed input stream encoding issue.
  - Added scoping for use from C++ programs.
  - Removed need for library initialisation and finalisation.
  - Removed need for run time provision of external Aliases file.
  - Added clang build support.
  - Namespaced all global symbols.
  - Handle API diversity of iconv() implementations.

* LibROSprite library (RISC OS Sprite support for non-RO platforms):
  - C89 compatibility.

* LibSVGTiny library (SVG support):
  - Improved parsing of stroke-width.
  - Added clang build support.
  - Various portability enhancements.

* LibWapcaplet library 0.1.1 (String internment):
  - Added scoping for use from C++ programs.
  - Removed need for library initialisation and finalisation.
  - Added clang build support.

### RISC OS-specific

* Replaced hotlist with core hotlist.
* Replaced global history with core global history.
* Replaced cookie manager with core cookie manager.
* Replaced SSL cert. inspection with core SSL cert. inspection.
* Apply weighted averaging to download rate display.
* Examine extension when fetching local file of type 'Data'.
* Iconv module version 0.11 required.
* Rewritten toolbar code.
* Created simplified, self-contained gui widgets.
* Obtain download filename from the core.
* Set CSS system colours from desktop palette.
* Added menu entries to load about:licence and about:credits pages.

### GTK-specific

* Replaced global history with core global history.
* Added bookmarks support, using core hotlist.
* Added cookie manager.
* Added SSL certificate inspection window.
* Support GTK >= 2.21.6.
* Improved full save implementation.
* Made drags less jerky.
* Made new tabs open to show homepage.
* Improved text wrap handling.
* Improved menu bar.
* Improved context sensitive popup menu.
* Made various thumbnailing fixes.
* Obtain download filename from the core.
* Updated to use resource: scheme for resources.
* Fixed makefie's installation target.
* Enabled tabbing between form inputs.
* Updated About NetSurf dialogue.
* Reduced overhead due to Pango when measuring text.

### AmigaOS-specific

* Improved bitmap caching.
* Fixed menus in kiosk mode.
* Improved filetype handling.
* Fixed menu shortcuts.
* Replaced hotlist with core hotlist.
* Replaced global history with core global history.
* Replaced cookie manager with core cookie manager.
* Replaced SSL cert. inspection with core SSL cert. inspection.
* Improved Cairo and non-Cairo plotters.
* Added auto-scroll on selection drags beyond window boundaries.
* Improved clipboard handling.
* Improved icon usage.
* Improved stability.
* Some incomplete work towards AmigaOS 3 support.
* Disabled iframes by default.
* Set CSS system colours from the pens in the screen DrawInfo table.
* Fixed kiosk mode to always fill screen.
* Improved scheduler.
* Made new tabs open to show homepage.
* Obtain download filename from the core.
* Added history content menus to back and forward buttons.
* Bitmap rendering optimisations.
* Improved download handling.
* Runtime selection of graphics plot implementations.
* Updated About requester.
* Enabled fast scrolling for all content types.

### Mac OS X-specific

* New front end.

### BeOS/Haiku-specific

* Fixed Replicant instantiation.
* Set CSS system colours according to current desktop settings.

### Windows-specific

* Improved sub-window creation.
* Fixed redraw bugs.
* Fixed bitmap plotting.
* Fixed thumbnailing.
* Fixed local history.
* Fixed URL bar.
* Cleaned up toolbar creation.
* Improved native build.
* Fixed CPU thrashing when idle.
* Use NetSurf icon on window decoration.
* Improved options dialogue.
* Made various 'look and feel' enhancements.

### Atari-specific

* New front end.

### Framebuffer-specific

* Improved toolbar.
* Improved font selection.
* Added glyph cache size configuration option.
* Made click action happen on mouse button release.
* Give browser widget input focus on startup.
* Fixed cursor leaving root widget.
* Dynamic detection of surface libraries.
* Updated to use resource: scheme for resources.
* Improved DPI handling.
* Fixed font size in text widgets.
* Added support for scaled rendering.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 2.6
-----------

### Core / All platforms

* Improvements to float positioning.
* Fix absolute positioned inlines.
* Improve handling of percentage margins and paddings on floats.
* Fix several memory leaks.
* Rationalised memory allocation functions.
* Updated SSL root certificates.
* Fix handling of PNGs with zero data.
* Moved input handling into content handlers.
* Simplified browser window module.
* Fix table borders specified in em/ex units.
* Improved CSS content handling.
* Don't try to draw zero size images.
* Simplified and fixed save complete feature.
* Reduce frequency of cache clean attempts.
* Improve and optimise rendering of borders in HTML.
* Fix URL comparison issue.
* Improve object handling in HTML.
* Fix absolute positioned root element.
* Rewritten file: fetch handler for local URLs.
* Much improved directory listings for local file: paths.
* Improve handling of binary data in plain text renderer.
* Fixed cache expiry problems.

* LibCSS library 0.0.2 (CSS parser and selection engine):
  - Allow stylesheets to be used in multiple contexts
     simultaneously.
  - Fix possible stylesheet reuse crash.

### RISC OS-specific

* Increased maximum allowed value for memory cache size option.
* Update 'about' page to include licences for linked components.
* Fix layout to paper width when printing.
* Fix screen redraw after printing.
* Enable sideways print option.

### GTK-specific

* Avoid potential use of NULL pointer.
* Fix for old versions of GTK.
* Improve internationalisation support.
* Improve handling of bitmap opacity.
* Fix redraw issues with non-HTML content.
* Cleaned up menu generation and handling.

### BeOS/Haiku-specific

* Fix build.
* Fix mimetype acquisition for local files.
* Improve handling of bitmap opacity.
* Enable knockout rendering optimisation.
* Improved polygon plotter accuracy.
* Fix colours on copy to clipboard.

### AmigaOS-specific

* Fixed menus when switching tabs.
* Improved font handling.
* Text kerning.
* Update for OS4.1 Update 2.
* Simplify building of Cairo and non-Cairo versions.
* Fixed scrollbar handling.
* Better NetSurf icon.
* Improve installer.
* Better support for ARexx commands.
* Context sensitive cut/copy/paste.
* Fix clipping for non-HTML contents.
* Option to show icon under drag saves.
* Bitmap plot optimisations.
* Now uses core fetcher for file: URLs.

### Framebuffer-specific

* Framebuffer toolkit rationalised.
* Improved scrollbar support.
* Added X surface handler.
* Improved scheduling.
* Fixed redraw issues.
* Improved keypress handling.
* On screen keyboard.
* History window.
* Configurable window furniture size.
* Support for scaled bitmap plotting.
* Factored out common plot code for rendering at different bpp.
* Load and save cookies file on start and quit.
* Improve handling of bitmap opacity.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 2.5
-----------

### Core / All platforms

* Fetch improvements.
* Fix fetching from https sites with http authentication.
* Handle http authentication with no realm.
* Cookie handling improvements.
* Improved support for {min|max}-{width|height} CSS properties.
* HTML redraw optimisations.
* Improved mouse tracking over browser windows.
* Browser window status bar update rationalisation.
* Better handling of memory exhaustion.
* Made text export more robust.
* Fix relative positioning of floats.
* Align baselines of text on a line.
* HTML layout optimisations.
* Fixed HTML based box alignment behaviour.
* Sorted out default table borders.
* Updated Italian translation.
* Updated German translation.
* Allow any name for frame targets.
* Allow sending of referer when moving from http hosts to https.
* Improved stability.
* Simplified plotter API.
* Fixed memory leak in imagemap handler.
* Optimised debug rendering of box model outlines.
* Activity is indicated by 'progress' pointer. 
* Ensure debug rendering outlines are plotted on top of other content.
* Now using LibCSS for CSS parsing and selection.
* Many CSS related bugs fixed.
* Rewritten cache and internal content handling.
* Fixes for file: URL handling.
* Don't try to access file: URLs through the configured proxy.
* Core widget for handling SELECT element menus.
* Core scrollbar widget used for CSS overflow and SELECT menu widget.
* Very basic quirks mode support.
* Cleaned up how the initial rendering of a content occurs.
* Command line argument handling and initialisation cleanup.
* Clearer build configuration messages.
* Favicon retrieval.
* Full page saves, including CSS and image files.
* PDF export disabled.
* Search-as-you-type page search support.

* Hubbub library 0.0.2 (HTML parser):
  - Fixed locale problem.
  - Various improvements.

* LibCSS library 0.0.1 (CSS parser and selection engine):
  - First release.

* LibNSBMP library 0.0.2 (NetSurf BMP decoder):
  - Fix ICO decoding on big-endian platforms.
  - Improve inverse height calculation.

* LibNSGIF library 0.0.2 (NetSurf GIF decoder):
  - Improve Palette entry handling.

* LibParserUtils library 0.0.2 (parser building utility functions):
  - Fixed charset problem.
  - Various improvements.

* LibSVGTiny library (SVG support):
  - Colour component ordering fix.
  - Support arcs in paths.
  - Improve circle element handling.
  - Add ellipse element support.
  - Improve stroke width rounding.

* LibWapcaplet library 0.0.2 (String internment):
  - First release.

### RISC OS-specific

* Theme code cleanup.
* Fix possible HTTP autentication crash.
* Fix potential problem with URL completion.
* Better handling of WIMP errors.
* Fixed memory leak in path plotting. (Used for SVG display.)
* Improve launching of URIs NetSurf doesn't handle.
* New guide to building NetSurf on RISC OS.
* Simplified native build process for NetSurf and libraries.
* Multitasking behaviour changed to be kinder to other apps.
* Fixed problem loading content served locally from WebJames.
* Improved stability.
* Save complete now implemented in the core.
* Find text moved to core and crash bug fixed.

* RUfl library (RISC OS Unicode support):
  - Fixed font scan crash.
  - Faster font scanning with FontManager 3.64 or later.

### GTK-specific

* Give drawing area input focus on click.
* Added local history toolbar button.
* Improve dot and dash line patterns.
* Made throbber loading more robust.
* Improved tab handling.
* Improved status bar control.
* Faster plotting of clipped and scaled images for smooth scrolling.
* Favicon display.
* Added view source code feature.
* Added search box on toolbar.
* Theme handling.
* Toolbar customisation.
* Context sensitive menu updated.
* Improved menu structure.
* Updated for compatibility with latest GTK versions.

### BeOS/Haiku-specific

* Complete save support.

### AmigaOS-specific

* Faster and more robust page plotting.
* Better clipping of plot actions.
* Smoother scrolling.
* Improved handling of tabs.
* Added UI for SSL certificate inspection.
* Improved stability.
* Better font handling.
* Added a preferences GUI.
* Better pointer handling.
* Better handling of bitmap alpha channels.
* Improved status bar.
* Added scale support.
* Improved mouse click handling.
* Keyboard shortcuts added.
* Added search bar.
* Added HelpHints.
* Theme and icon improvements.
* Handle more exotic formats dropped on text boxes, using DataTypes.
* Favicon display.
* Added search box on toolbar.

### Framebuffer-specific

* Framebuffer handling abstracted into libnsfb library.
* Fixed throbber to show inactivity correctly.
* Improved handling of text entry into URL bar.
* Fixed redraw issues while scrolled from top and while scrolling.
* Fixed redraw issues with animated GIFs and text areas.
* Improved mouse handling.
* Fixed zero size iframe crash.
* Added full range of pointer sprites.
* Better keyboard input handling.
* Fix continual reload on pages with meta refresh.
* Improve look and placement of toolbar, icons and scrollbars.
* Internal font changed.  Includes more glyphs and bold/italic.
* Improved stability.

* LibNSFB library (NetSurf Framebuffer):
  - New library.

### Windows-specific

* New front end, considered pre-alpha.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 2.1
-----------

### Core / All platforms

* Fix detection of active link areas (avoids entire page being treated
  as a link in certain cases).
* Support height on TR.
* Fix numbering of floated list items.
* Make borders/margins/padding on form elements match other browsers.
* Updated Italian translation.
* German welcome page.
* Fix handling of percentage height on HTML and BODY.
* Partially handle percentage heights on TABLE

### RISC OS-specific

* Set bit 4 of extended window flags byte.

### GTK-specific

* Fix buffer overflows in options code.

### BeOS/Haiku-specific

* Implement path plotter for SVG rendering.

### AmigaOS-specific

* Improved packaging and installation rules.
* Speed up scrollwheel scrolling.
* Cache scaled bitmaps in memory by default.
* Support exporting of images as IFF.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 2.0
-----------

### Core / All platforms

* Completely new HTML parser (Hubbub).
* SVG support. (Can be used as normal images and background images.)
* PDF export support.
* Many improvements to page layout and rendering.
* More CSS properties supported.
* Improved text selection behaviour.
* Charset fixes.
* Portability improvements.
* Configurable multi-platform build system.
* Tabbed browsing awareness.
* Corrected behaviour of backgrounds on root element.
* Many fixes related to floated content.
* More lenient meta refresh delay handling.
* Improvements to cut, copy and paste behaviour.
* Better cookie handling.
* Improved form functionality.
* Improved form control display.
* Stability fixes for handling nonsense data.
* Better handling of HTML attributes.
* Fix broken layout on systems which don't use '.' as the decimal
  separator.
* Fix inline height not affecting line height.
* Handle whitespace in URL bar.
* New throbber animation.
* Fixed occasional white flicker of page area during layout.
* New default homepage.

* Hubbub library 0.0.1 (HTML parser):
  - First release.

* LibParserUtils library 0.0.1 (parser building utility functions):
  - First release.

### RISC OS-specific

* Restructured menu with access to more functionality.
* Remembers save / download paths.
* Improved style-guide compliance.
* Wimpslot size adjusted at build time.
* Alt+click on close icon closes all NetSurf windows.
* Escape aborts drag save.
* New object > link submenu.
* SVG to Drawfile conversion.
* Zoom/scale with shift+scrollwheel.
* Improved drawfile export.

### GTK-specific

* Tabbed browsing.
* Global history.
* Download manager.
* Enhanced interface.
* Text selection.
* Print support.
* Improved context menu.
* Handle desktop DPI setting.
* Can support RISC OS Sprite bitmap format via librosprite.
* View source.
* Content language selection option.

### BeOS/Haiku-specific

* First release.

### AmigaOS-specific

* First release.

### Framebuffer-specific

* First release.

Also included are many smaller bug fixes, improvements and
documentation enhancements.


NetSurf 1.2
-----------

### Core / All platforms

* Overhaul documentation in line with new website.
* Many improvements to cookie handling.
* Minimum font size option is now obeyed by form elements.
* Add support for periodic reflow during fetching.
* Fixes for positioning of floated elements -- NetSurf now passes Acid1.
* Bring support for <center> and align= in line with specification.
* Updated SSL root certificate bundle.
* Various fixes for form element default styling and interaction with CSS.
* Rewritten, more tolerant, HTTP redirect handling.
* Fix crash when tabbing into hidden form fields.
* Fix background handling on <body> and <html>.
* Permit <style> in <body>.
* Relax restriction on location of @import rules.
* Improve CSS colour handling.
* Fix positioning of horizontal scrollbars within page.
* Fixes for inline-block boxes.
* Minor fixes to CSS parsing.
* NetBSD support.
* Fix GIF decoding to work correctly on big-endian processors.
* New build system and many compiler warnings fixed.

### RISC OS-specific

* Fix crashes on 'images.google.com'.
* Fix intermittent crashing when clicking in URL-completion menu.
* Fix search when input is '*'.
* Fix Shift+Adjust clicks.
* Permit disabling of interactive help.

### GTK-specific

* Improve form widget support.
* Improve support for core configuration options (memory cache size,
  proxy, etc).
* Fix unsightly flickering to white.
* Fix non-ASCII text input handling.
* Fix for caret positioning when clicking after the end of text in
  form inputs.

Also included are many and various smaller bug fixes, documentation
enhancements and updated translations.


NetSurf 1.1
-----------

### Core / All platforms

* Fix charset detection bugs, fixes #1726341 (WightLink).
* Add -v command line option to enable debugging output.
  (This is enabled by default in the RISC OS build via the !Run file).
* Rationalise header file includes.
* Various portability fixes to BSD and Solaris.
* Abstraction of schemes for fetchers.
* More encoding detection fixes.
* Fix cookie domain matching in unverifiable transactions.
* Fix cookie issues with 'launchpad.net'.
* Fix deadlock when fetching stylesheets.
* Fix bug where the referer header was being sent regardless.
* Fix bug where strange Accept-Language and other headers could be
  sent.
* Fix crash when building error page.
* Content scaling is now handled centrally, such that both GTK and
  RISC OS versions act in the same way.
* Licence for NetSurf changed to GPLv2 only with clause allowing
  linking to OpenSSL.

### RISC OS-specific

* Tweak default hotlist entries to be more up-to-date.
* Fix interaction between failed drag saves and pointer
  tracking (including page scrolling).
* Scroll wheel support on hotlist and history windows.
* Use proper background colour for AW files using transparency.
* Fix AWRenderer clipping issue (#1756230) and improve rendering
  performance.

### GTK-specific

* Add local file browsing MIME type guessing.  Also fixes
  directory browsing.
* Fix destruction of windows involving frames, fixes crashes
  on sites such as 'news.bbc.co.uk'.
* Reduce flicker when periodically reflowing during fetch.
* Fix bug that caused 100% CPU usage on some sites with frames.
* Fix scroll-position setting, allowing anchors and
  back/forward positions to be set/remembered.
* Fix problems with closing windows with fetches still in progress.
* New Window menu entry now functions.
* Open File... menu entry now functions.
* Fix reentrancy issues with event scheduling.
* Support for setting the path to find CA certificates (fixes SSL sites).
* Stop referer header being sent with URLs entered in the URL bar.
* Use default homepage if homepage option is blank.
* Full screen mode now functions.
* Popup version of the main menu.
* Removal of menubar/toolbar/statusbar now functions.
* Fix corruption on some animated GIFs due to new images not being
  created blank.
* Fix issues with scrolling from the keyboard.
* Add simple SSL certificate verification window.

Also included are many and various smaller bug fixes, documentation
enhancements and updated translations.


NetSurf 1.0
-----------

* First release.