This file is indexed.

/usr/share/doc/stilts/sun256/versions.html is in stilts-doc 3.1.2-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

   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
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
<html>
   
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <link rel="stylesheet" type="text/css" href="sun-style.css">
      <title>Version History</title>
   </head>
   
   <body>
      <hr>
      Next <a href="secC.1.html">Previous</a> <a href="secC.html">Up</a> <a href="index.html">Contents</a> <br>  <b>Up: </b><a href="secC.html">Release Notes</a><br>
       <b>Previous: </b><a href="secC.1.html">Acknowledgements</a><br>
      
      <hr>
      <hr>
      <h2><a name="versions">C.2 Version History</a></h2>
      <p>Releases to date have been as follows:
         
         <dl>
            <dt><strong>Version 0.1b (29 April 2005)</strong></dt>
            <dd>First public release
               
            </dd>
            <dt><strong>Version 0.2b (30 June 2005)</strong></dt>
            <dd>
               
               <ul>
                  <li>Added Times func class for MJD-ISO8601 time conversions.</li>
                  <li>Fixed bug when doing NULL_ test expressions on first column in table.</li>
               </ul>
               
            </dd>
            <dt><strong>Version 1.0b (30 September 2005)</strong></dt>
            <dd>This is the first non-experimental release of STILTS, and 
               it incorporates major changes and backward incompatibilities 
               since version 0.2b.
               
               <p>
                  <dl>
                     <dt><strong>Parameter system</strong></dt>
                     <dd>The parameter system has undergone a complete rewrite;
                        there is now only a single command "<code>stilts</code>",
                        invoked using the <code>stilts</code> script or the 
                        <code>stilts.jar</code> jar file, and the various tasks are
                        named as subsequent arguments on the command line.
                        Command arguments are supplied after that.
                        The new invocation syntax is described in detail elsewhere in 
                        this document.  As well as invocation features such
                        as improved on-line help, optional prompting, 
                        parameter defaulting, and more uniform access to common features,
                        this will make it more straightforward to wrap these tasks 
                        for use in non-command-line environments, such as behind a
                        SOAP or CORBA interface, or in a CEA-like execution environment.
                        
                     </dd>
                     <dt><strong>Crossmatching</strong></dt>
                     <dd>A new command <code>tmatch2</code> has been introduced.
                        This provides flexible and efficient crossmatching between
                        two input tables.  Future releases will provide commands for
                        intra-table and multi-table matching.
                        
                     </dd>
                     <dt><strong>Concatentation</strong></dt>
                     <dd>A new command <code>tcat</code> has been introduced, which
                        allows two tables to be glued together top-to-bottom.
                        This is currently working but very rudimentary - improvements
                        will be forthcoming in future releases.
                        
                     </dd>
                     <dt><strong>Calculator</strong></dt>
                     <dd>A new utility command <code>calc</code> has been introduced,
                        which performs one-line expression evaluations from the 
                        command line.
                        
                     </dd>
                     <dt><strong>Pipeline filters</strong></dt>
                     <dd>The following new filter commands for use in <code>tpipe</code>
                        and other commands have been introduced:
                        
                        <ul>
                           <li><code>addskycoords</code>: calculates new 
                              celestial coordinate pair from existing ones 
                              (FK4, FK5, ecliptic, galactic, supergalactic)
                           </li>
                           <li><code>replacecol</code>: replaces column data,
                              using existing metadata
                           </li>
                           <li><code>badval</code>: replaces given 'magic'
                              value with null
                           </li>
                           <li><code>replaceval</code>: replaces given 'magic'
                              value with any specified value
                           </li>
                           <li><code>tablename</code>: edits table name
                           </li>
                           <li><code>explodecols</code> and <code>explodecols</code> commands
                              replace <code>explode</code></li>
                        </ul>
                        
                        <p>The new <code>stream</code> parameter of <code>tpipe</code> now
                           allows you to write filter commands in an external file, to 
                           facilitate more manageable command lines.
                           
                        </p>
                        <p>Wildarding for column specification is now allowed for some
                           filter commands.
                           
                        </p>
                     </dd>
                     <dt><strong>Algebraic functions</strong></dt>
                     <dd>
                        <ul>
                           <li>New functions for converting time values between different
                              coordinate systems (Modified Julian Date, ISO-8601,
                              Julian Epoch and Besselian Epoch).
                           </li>
                           <li>New RANDOM special function.</li>
                        </ul>
                     </dd>
                     <dt><strong>Documentation</strong></dt>
                     <dd>SUN/256 has undergone many changes.  Much of the tool
                        documentation is now automatically generated from the code
                        itself, which goes a long way to ensuring that the documentation
                        is correct with respect to the current state of the code.
                        
                     </dd>
                  </dl>
               </p>
            </dd>
            <dt><strong>Version 1.0-1b (7 October 2005)</strong></dt>
            <dd>Fixed jar file manifest bug which prevented working on Java 1.5</dd>
            <dt><strong>Version 1.1 (10 May 2006)</strong></dt>
            <dd>A number of new features and capabilities have been introduced:
               
               <dl>
                  <dt><strong><code>tcube</code> Command</strong></dt>
                  <dd>The new <a href="tcube.html">tcube</a> command
                     calculates N-dimensional histograms (density maps) from N columns
                     of an input table and writes the result to a FITS file.
                  </dd>
                  <dt><strong>Processing Filters</strong></dt>
                  <dd>The following new <a href="filterSteps.html">filters</a>
                     have been added:
                     
                     <ul>
                        <li><code>stats</code> filter provides the same information as
                           the old <code>stats</code> output mode, but allows much more
                           flexible use of the results.  It can also calculate many new
                           quantities, including quantiles, skew and kurtosis.
                        </li>
                        <li><code>meta</code> filter provides the same information as
                           the old <code>meta</code> output mode, but allows much more
                           flexible use of the results.
                        </li>
                        <li><code>assert</code> filter provides in-pipeline logical
                           assertions.
                        </li>
                        <li><code>uniq</code> filter collapses multiple adjacent identical 
                           or similar rows.
                        </li>
                        <li><code>sorthead</code> filter provides a (usually) more
                           efficient method of doing what you could previously do 
                           by combining <code>sort</code> and <code>head</code> filters.
                        </li>
                        <li><code>colmeta</code> filter adds/modifies metadata for selected
                           columns.
                        </li>
                        <li><code>check</code> filter checks table in stream - for debugging
                           purposes only.
                        </li>
                     </ul>
                     
                     <p>Additionally usage of the <code>sort</code> filter has been changed
                        so that it can now do everything that <code>sortexpr</code> used to
                        be able to do; <code>sortexpr</code> is now withdrawn.
                        
                     </p>
                  </dd>
                  <dt><strong>Output Modes</strong></dt>
                  <dd>The following new <a href="outModes.html">output modes</a>
                     have been introduced:
                     
                     <ul>
                        <li><code>plastic</code> mode broadcasts the table to
                           one or all registered PLASTIC listeners.
                        </li>
                        <li><code>cgi</code> mode writes the table to standard output in a
                           form suitable for output from a CGI script.
                        </li>
                        <li><code>discard</code> mode throws away the table.
                        </li>
                     </ul>
                     and usage of the following has been modified:
                     
                     <ul>
                        <li><code>topcat</code> mode now attempts to use PLASTIC 
                           (amongst other methods) to contact TOPCAT.
                        </li>
                        <li><code>stats</code> and <code>meta</code> modes are mildly
                           deprecated in favour of the corresponding new filters
                           (see above).
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Other new features</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>New IPAC table format input handler added.</li>
                        <li>New <code>csv-noheader</code> format variant output handler
                           added.
                        </li>
                        <li><code>roundDecimal</code> and <code>formatDecimal</code>
                           functions introduced for more control over visual appearance
                           of numeric values.
                        </li>
                        <li>Experimental facilities for automatically generating a CEA
                           application description file.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Bug fixes and minor improvements</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Now copes with 'K'-format FITS binary table columns
                           (64-bit integers).
                        </li>
                        <li>Improved, though still imperfect, retention of table-wide
                           metadata in VOTables.
                        </li>
                        <li>Distinctions between null and false values in boolean columns are
                           handled more carefully for FITS and VOTable files.
                        </li>
                        <li>Efficiency improvement when writing FITS-plus format
                           (now only requires a maximum of two passes rather than
                           three of the input rows).
                        </li>
                        <li>Added the <code>mark.workaround</code> 
                           <a href="sysProperties.html">system property</a> which can 
                           optionally work around a bug in some input streams 
                           ("Resetting to invalid mark" errors).
                        </li>
                        <li>Fixed a bug in Cartesian matching which failed to match
                           if the required error in any dimension was zero.
                        </li>
                        <li>Fixed erroneous reports about unknown <code>ucd</code> and 
                           <code>utype</code> attributes of TABLE element in 
                           <code>votlint</code>.
                        </li>
                        <li>When joining tables, column name comparison to determine
                           whether deduplication is required is now case-insensitive.
                        </li>
                        <li>Error message improved when no automatic format detection
                           is attempted for streamed tables.
                        </li>
                        <li>Setting <code>istream=true</code> is now less likely to cause a
                           "Can't re-read stream" error.
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
               
            </dd>
            <dt><strong>Version 1.2 (7 July 2006)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>Column-oriented Storage</strong></dt>
                  <dd>New features for permitting column-oriented storage
                     (<code>colfits</code> format, new <code>startable.storage</code> 
                     policy "<code>sideways</code>") have been introduced.
                     These can provide considerable efficiency improvements for
                     certain tasks when working with very large (and especially wide)
                     tables.
                     
                  </dd>
                  <dt><strong>New VO commands</strong></dt>
                  <dd>Added two new commands for querying Virtual Observatory services:
                     
                     <ul>
                        <li><code>multicone</code>
                           - Makes multiple cone search queries to the same service
                        </li>
                        <li><a href="regquery.html"><code>regquery</code></a>
                           - Queries the VO registry
                        </li>
                     </ul>
                     These tasks are experimental and may be modified or renamed in
                     future releases.
                     
                  </dd>
                  <dt><strong>Other items</strong></dt>
                  <dd>
                     
                     <ul>
                        <li><code>transpose</code> filter added.
                        </li>
                        <li>Added flux conversion functions (Jansky&lt;-&gt;magnitude).</li>
                        <li>ISO-8601 strings now permit times of 24:00:00 as they should.</li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 1.2-1 (3 August 2006)</strong></dt>
            <dd>
               
               <ul>
                  <li>Tab-Separated Table (TST) format now supported for reading and 
                     writing.
                  </li>
                  <li>New <code>setparam</code> and <code>clearparams</code> filters.
                  </li>
                  <li>Added ICRS coordinate system for <code>addskycoords</code>.
                  </li>
                  <li>TUCDnn header cards now used in FITS files to transmit UCDs
                     (non-standard mechanism).
                  </li>
                  <li>Efficiency improvements for column-oriented access.</li>
               </ul>
               
            </dd>
            <dt><strong>Version 1.3 (5 October 2006)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>Table Concatenation</strong></dt>
                  <dd>The old <code>tcat</code> command has been replaced by more capable 
                     <a href="tcat.html"><code>tcat</code></a> and
                     <a href="tcatn.html"><code>tcatn</code></a> commands.
                     Between them these provide concatenation of an unlimited number of
                     homogeneous or heterogeneous input tables.
                     Additional columns may be added to indicate which of the input tables
                     given output rows originated from.
                     
                  </dd>
                  <dt><strong>Parameter value indirection</strong></dt>
                  <dd>Certain parameters 
                     (<code>in</code> in <a href="tcat.html"><code>tcat</code></a>,
                     <code>cmd</code> and friends)
                     may now be specified in the form "@filename".
                     This indicates that the value for the parameter is to be obtained
                     by reading it from the named file.
                     This is useful if a very long value is required for the parameter
                     in question.  The <code>script</code> parameter of
                     <a href="tpipe.html"><code>tpipe</code></a> has therefore been
                     withdrawn, since it did just the same thing.
                     
                  </dd>
                  <dt><strong>MySpace access</strong></dt>
                  <dd>Direct access to the MySpace virtual file system is now provided
                     by use of <code>ivo:</code>- or <code>myspace:</code>-type URLs.
                     
                  </dd>
                  <dt><strong>Conversion functions</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Time conversion functions between MJD and Decimal Year have
                           been added
                           (<a href="uk.ac.starlink.ttools.func.Times.html">Section 10.5.5</a>).
                        </li>
                        <li><code>toHex</code> and <code>fromHex</code> numeric conversion
                           functions have been added
                           (<a href="uk.ac.starlink.ttools.func.Conversions.html">Section 10.5.13</a>).
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Documentation improvements</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>The HTML version of SUN/256 now uses CSS to provide better 
                           highlighting of <code>commands</code> etc.
                        </li>
                        <li>The <a href="outModes.html">Output Modes</a> and
                           <a href="filterSteps.html">Processing Filter</a> sections are
                           now split into subsections to make the table of contents
                           clearer.
                        </li>
                        <li>The <a href="cmdUsage.html">Command Reference</a> section now 
                           has only one level of subsection listed in the table of
                           contents to make it clearer.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Other new features and improvements</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Added <code>-J</code> flag to <code>stilts</code> script
                           for passing flags directly to Java.
                        </li>
                        <li>Added new <code>out</code> parameter to <code>votlint</code>.
                        </li>
                        <li>Added <code>-ifndim</code> and <code>-ifshape</code> flags to
                           <a href="explodeall.html">explodeall</a> filter.
                        </li>
                        <li>The <code>exact</code> match mode in 
                           <a href="tmatch2.html"><code>tmatch2</code></a>
                           now copes with array-valued columns.
                        </li>
                        <li>Added <code>force</code> parameter to <code>multicone</code> task 
                           as a workaround for some broken services.
                        </li>
                        <li>Added Sample (as opposed to Population) Standard Deviation/Variance
                           calculation options to the <code>stats</code> filter.
                        </li>
                        <li>Improved CEA description file output - now contains details of 
                           all tasks rather than just a few, as well as various 
                           improvements in documentation etc.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Bug fixes</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Fixed erroneous complaints from <code>votlint</code> about 
                           <code>utype</code> attribute on RESOURCE elements.
                        </li>
                        <li>Fixed a couple of minor crossmatching bugs (which wouldn't
                           have affected results).
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 1.3-1 (Starlink Hokulei release)</strong></dt>
            <dd>
               
               <ul>
                  <li>New command <a href="tjoin.html"><code>tjoin</code></a> introduced.
                  </li>
                  <li>Output to MySpace can now be streamed, if running under J2SE1.5 or
                     later.
                  </li>
                  <li>Slight changes to parameters for <code>votlint</code>
                     and <code>votcopy</code>.
                  </li>
                  <li>Fixed bug in handling of single quotes in FITS file metadata.</li>
                  <li>Added <code>-bench</code> flag to <code>stilts</code> command.
                  </li>
                  <li>Various scalability improvements for use with very large (Tb?) 
                     files.
                  </li>
                  <li>Improved efficiency for <code>text</code> and <code>ascii</code>
                     output formats (now one-pass not two-pass).
                  </li>
                  <li>Improved CEA app-description file, including especially option lists
                     for things like input and output formats.
                  </li>
                  <li>Added README.cea file to distribution.</li>
                  <li>Fixed problem which could mis-report VOTable out of memory errors
                     as Broken Pipe.
                  </li>
                  <li>Added Vega&lt;-&gt;AB magnitude conversion constants to 
                     <a href="uk.ac.starlink.ttools.func.Fluxes.html">Fluxes</a> functions.
                  </li>
                  <li>Added <code>duptag</code> parameters to <a href="tmatch2.html">tmatch2</a>
                     task for customised renaming of columns with duplicated names.
                  </li>
                  <li>Added hyperbolic trig functions to
                     <a href="uk.ac.starlink.ttools.func.Maths.html">Maths</a> class
                     (<code>sinh</code>, <code>cosh</code>, <code>tanh</code>
                     and inverses).
                  </li>
                  <li>Added cosmology distance calculations in class
                     <a href="uk.ac.starlink.ttools.func.Distances.html">Distances</a>.
                  </li>
                  <li>Added <a href="funcs.html"><code>funcs</code></a> task, a browser for
                     expression language function documentation.
                  </li>
                  <li>Added <code>-checkversion</code> to list of <code>stilts</code>
                     <a href="stilts-flags.html">flags</a>.
                  </li>
               </ul>
               
            </dd>
            <dt><strong>Version 1.3-2 (6 July 2007)</strong></dt>
            <dd>
               
               <ul>
                  <li>Added optional <code>table</code> parameter to 
                     <a href="calc.html"><code>calc</code></a> command
                     (for access to table parameters).
                  </li>
                  <li>Can use table parameter names in expressions using 
                     <code>param$</code> notation (<a href="jel-paramref.html">Section 10.2</a>).
                  </li>
                  <li>Can reference columns/parameters by UCD by using 
                     <code>ucd$</code> notation 
                     in expressions (<a href="jel-colref.html">Section 10.1</a>)
                     and as column identifiers (<a href="col-id.html">Section 6.2</a>).
                  </li>
                  <li>Improved deduplication of column names when joining tables.</li>
                  <li>Fix error in output of FITS table <code>TNULL</code><i>n</i> header
                     cards - write them as numeric not string values.
                  </li>
                  <li>Improve error message for broken CSV files.</li>
                  <li>Modified JDBC handling so that MySQL and PostgreSQL do not run out
                     of heap memory when streaming large datasets for input.
                     Think I've done the same for SQL Server, but this is not tested.
                  </li>
                  <li>Improve error reporting in the presence of a deficient JVM
                     (such as GNU <code>gcj</code>).
                  </li>
                  <li>Add locale-specific <code>formatDecimalLocal</code> functions in 
                     class <a href="uk.ac.starlink.ttools.func.Formats.html">Formats</a>.
                  </li>
                  <li>Add <code>fluxToLuminosity</code> and <code>luminosityToFlux</code>
                     functions in class 
                     <a href="uk.ac.starlink.ttools.func.Fluxes.html">Fluxes</a>.
                  </li>
                  <li>Fix bug which was causing NullPointerExceptions 
                     in the <code>transpose</code> filter.
                  </li>
               </ul>
               
            </dd>
            <dt><strong>Version 1.3-3 (4 Sep 2007)</strong></dt>
            <dd>
               
               <ul>
                  <li>Experimental, and currently undocumented, <code>sqlcone</code> 
                     task introduced, along with some classes in package 
                     <code>uk.ac.starlink.ttools.cone</code> designed for library use by
                     AstroGrid DSA code.
                     
                  </li>
                  <li>CEA description of <code>tmatch2</code> <code>params</code>
                     parameter now has <code>minoccurs=0</code>, since that can be true
                     for exact matches.
                  </li>
               </ul>
               
            </dd>
            <dt><strong>Version 1.3-4 (10 Sep 2007)</strong></dt>
            <dd>
               
               <ul>
                  <li>Fixed VotCopy bug.</li>
               </ul>
               
            </dd>
            <dt><strong>Version 1.3-5 (30 Oct 2007)</strong></dt>
            <dd>
               
               <ul>
                  <li>Added <code>-stdout</code> and <code>-stderr</code> flags to
                     <code>stilts</code> command.
                  </li>
                  <li>Some bugs fixed in generation of CEA <code>app-description.xml</code>
                     file.
                  </li>
                  <li>Documentation provided for <code>sqlcone</code> command.
                  </li>
                  <li>Fixed error in <code>fluxToLuminosity</code> function.
                  </li>
               </ul>
               
            </dd>
            <dt><strong>Version 1.4 (6 December 2007)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>Table joins</strong></dt>
                  <dd>This version provides more cross matching functionality.
                     Added to the existing <a href="tmatch2.html"><code>tmatch2</code></a>
                     command are new tasks:
                     
                     <ul>
                        <li><a href="tskymatch2.html"><code>tskymatch2</code></a>:
                           stripped down version of <code>tmatch2</code> for ease of use when
                           matching with sky coordinates.
                        </li>
                        <li><a href="tmatch1.html"><code>tmatch1</code></a>:
                           internal matcher, finds groups of objects within a table.
                        </li>
                        <li><a href="tmatchn.html"><code>tmatchn</code></a>:
                           finds group or multiple-pair matches between multiple (&gt;2)
                           tables.
                        </li>
                     </ul>
                     
                     <p>Two tasks have been renamed for improved clarity and consistency:
                        
                        <ul>
                           <li><code>multicone</code> is now named
                              <a href="coneskymatch.html"><code>coneskymatch</code></a></li>
                           <li><code>sqlcone</code> is now named
                              <a href="sqlskymatch.html"><code>sqlskymatch</code></a></li>
                        </ul>
                        
                     </p>
                     <p>There has also been some enhancement and rationalisation of
                        parameters for all table join tools (<code>tmatch*</code> as well as 
                        <code>tjoin</code>,
                        <code>coneskymatch</code> and <code>sqlskymatch</code>):
                        
                        <ul>
                           <li>All table join commands now use similar <code>fixcols</code> and 
                              <code>suffix*</code> parameters to control renaming of duplicated
                              columns in output tables (note this replaces the old 
                              <code>duptag*</code> parameters in <code>tmatch2</code>).
                           </li>
                           <li>Crossmatching tasks have a new <code>progress</code> parameter
                              which allows you to configure whether progress is reported to the 
                              console.
                           </li>
                           <li>The <code>copycols</code> parameter of <code>coneskymatch</code> 
                              and <code>sqlskymatch</code> now defaults to "<code>*</code>" 
                              (include all columns from input table in the output).
                           </li>
                        </ul>
                        
                     </p>
                     <p><a href="match.html">Section 7</a> of the manual has been somewhat
                        rearranged and improved.
                        
                     </p>
                  </dd>
                  <dt><strong>Other enhancements</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>FITS reader now imports table HDU header cards as table parameters.
                           
                        </li>
                        <li>CeaWriter can now output CEA service definition XML config file as
                           well as app-description file (experimental - may be withdrawn).
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Bug fixes</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Embedded spaces in output ASCII format table column names
                           are now substituted with underscores.
                        </li>
                        <li>Fix a bug which caused an infinite number of dots to be printed
                           when attempting a crossmatch with an empty input table.
                        </li>
                        <li>Corrected <code>votlint</code> handling of TABLEDATA-type 
                           multi-dimensional <code>char</code>/<code>unicodeChar</code> arrays.
                           These are now split up into strings by counting characters rather
                           than using whitespace delimiters.
                           I <em>think</em> it's doing the right thing now.
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 1.4-1 (28 January 2008)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>New RDBMS-related features</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>New command <a href="sqlclient.html"><code>sqlclient</code></a>,
                           which is a general JDBC-based SQL command-line client.
                        </li>
                        <li>New command <a href="sqlupdate.html"><code>sqlupdate</code></a>,
                           which allows updates to existing rows in SQL tables.
                        </li>
                        <li>Some changes to <a href="mode-tosql.html"><code>tosql</code></a> 
                           output mode:
                           
                           <ul>
                              <li>choice of options for how to write to the database output table,
                                 controlled by new associated parameter <code>write</code>
                                 (can be <code>create</code>, <code>dropcreate</code> 
                                 or <code>append</code>)
                              </li>
                              <li>associated parameter <code>newtable</code> renamed
                                 <code>dbtable</code></li>
                              <li>associated parameter <code>database</code> renamed
                                 <code>db</code> for consistency with other commands
                              </li>
                           </ul>
                           
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Local and service-based matching command enhancements</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>New parameter <code>scorecol</code> added to
                           <code>tmatch2</code>,
                           <code>coneskymatch</code> and
                           <code>sqlskymatch</code> commands,
                           which controls adding a new column to match output tables 
                           containing a goodness-of-match value.
                        </li>
                        <li>New parameter <code>parallel</code> added to 
                           <a href="coneskymatch.html"><code>coneskymatch</code></a> task
                           which allows multiple cone searches to be carried out in 
                           parallel.
                        </li>
                        <li>New parameter <code>erract</code> added to 
                           <code>coneskymatch</code> which controls response to 
                           isolated failures in individual cone search queries.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>General improvements</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Improved error reporting (reasons for errors are now reported
                           even without the <code>-debug</code> flag).
                        </li>
                        <li>Add new help option <code>help='*'</code> which prints help for
                           all parameters of a task at once.
                        </li>
                        <li>Added (mostly undocumented) <code>+verbose</code> flag 
                           for reducing verbosity level.
                        </li>
                        <li>Minor improvements to CEA app-description.</li>
                        <li>Downgraded from WARNING to INFO log messages about 
                           the (extremely common) VOTable syntax error of omitting 
                           a FIELD/PARAM element's <code>datatype</code> attribute.
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 1.4-2 (26 March 2008)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>Minor enhancements:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Add <code>progress</code> parameter to <code>tmatchn</code>.
                        </li>
                        <li>Add <code>emptyok</code> parameter to 
                           <code>coneskymatch</code>.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Bugfixes:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Fixed pair matching performance bug (slower if tables were not 
                           given in the right order) introduced at v1.4.
                        </li>
                        <li>Fixed null handling error in <code>calc</code> task.
                        </li>
                        <li>Fixed error in <code>stats</code> filter cardinality value 
                           calculation.
                        </li>
                        <li>Fixed minor bugs in suffix addition for matching commands
                           <code>fixcols</code>.
                        </li>
                        <li>Removed unformatted XML output in <code>stats</code> filter
                           usage message.
                        </li>
                        <li>Try to avoid exponential format in cone search URLs 
                           (some endpoints seem to require fixed point format).
                        </li>
                        <li>Minor CEA fixes.</li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 2.0b (23 October 2008)</strong></dt>
            <dd>This version contains two new major items, plotting and server mode.
               Both work, but are missing desirable features and have not had extensive
               testing in the field, so should be considered experimental at this stage.
               
               <dl>
                  <dt><strong>Plotting</strong></dt>
                  <dd>Two table plotting commands are now provided:
                     
                     <ul>
                        <li><a href="plot2d.html"><code>plot2d</code></a>:
                           Old-style 2D Scatter Plot
                        </li>
                        <li><a href="plot3d.html"><code>plot3d</code></a>:
                           Old-style 3D Scatter Plot
                        </li>
                        <li><a href="plothist.html"><code>plothist</code></a>:
                           Old-style Histogram
                        </li>
                     </ul>
                     See also the new <a href="plot.html">Plotting</a>
                     section in the manual.
                     
                  </dd>
                  <dt><strong>Server/Servlet Mode</strong></dt>
                  <dd>A new command <a href="server.html"><code>server</code></a> is
                     provided which allows STILTS commands to be executed via HTTP.
                     One purpose of this is to facilitate server-side use of the 
                     plotting commands co-located with data to generate on-the-fly 
                     graphical summaries of server-held datasets.
                     
                  </dd>
                  <dt><strong>Smaller enhancements and bugfixes</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Efficiency improvements (~25%? in both CPU time and memory usage) 
                           for HEALPix-based sky crossmatching 
                           (thanks to Nikolay Kouropatkine at Fermilab for a new version of 
                           the PixTools library).
                        </li>
                        <li>New class <a href="uk.ac.starlink.ttools.func.Arrays.html">Arrays</a> 
                           added to algebraic functions.
                        </li>
                        <li>New Appendix <a href="classified.html">Commands by Category</a>
                           added to manual.
                           
                        </li>
                        <li>Add <code>minReal</code> and <code>maxReal</code> functions 
                           (max/min ignoring blank values) in class
                           <a href="uk.ac.starlink.ttools.func.Arithmetic.html">Arithmetic</a>.
                           
                        </li>
                        <li>Sexagesimal field identification for ASCII input files 
                           is less stringent
                           (now permits minutes or seconds equal to 60).
                        </li>
                        <li>Minor CEA fixes.</li>
                        <li>HEALPix bug fix
                           (<a href="http://home.fnal.gov/~kuropat/HEALPIX/PixTools.html">PixTools</a> bug fix update).
                        </li>
                        <li>Fix bug in use of <code>tcat</code>'s
                           <code>loccol</code> parameter.
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 2.0-1 (23 December 2008)</strong></dt>
            <dd>
               
               <ul>
                  <li>Can reference columns/parameters by Utype by using 
                     <code>utype$</code> notation
                     in expressions (<a href="jel-colref.html">Section 10.1</a>)
                     and as column identifiers (<a href="col-id.html">Section 6.2</a>).
                  </li>
                  <li>Non-alphanumeric column names may now be used for algebraic expressions
                     in the special case that the expression is just the value of a
                     single column.
                  </li>
                  <li><code>regquery</code> command has changed in implementation,
                     data access, and output format.  It now queries VOResource1.0 
                     registries rather than the very out of date registry protocol which
                     was used in earlier versions.
                  </li>
               </ul>
               
            </dd>
            <dt><strong>Version 2.0-2 (9 January 2009)</strong></dt>
            <dd>
               
               <ul>
                  <li>Added new <a href="mode-samp.html">samp</a> output mode which passes
                     the generated table to clients using the SAMP protocol.
                  </li>
                  <li>Updated the <a href="mode-topcat.html">topcat</a> output mode to use
                     SAMP as one way of communicating with a running TOPCAT.
                  </li>
                  <li><code>-version</code> flag now reports starjava subversion revision
                     as well as other items.
                  </li>
               </ul>
               
            </dd>
            <dt><strong>Version 2.0-3 (27 March 2009)</strong></dt>
            <dd>
               
               <ul>
                  <li>Fits BINTABLE TZERO/TSCAL value reading improvements:
                     
                     <ul>
                        <li>Columns with integer TZERO values now read as integers
                           rather than floating point values where possible.  
                           This includes unsigned longs ('K'), which were previously 
                           represented as doubles with lost precision.  
                           Unsigned longs which are too large however (&gt;2<sup>63</sup>) 
                           are read as nulls.
                        </li>
                        <li>Byte-valued columns can now be written out by 
                           <code>fits-basic</code> output
                           handler as signed byte values (TFORM=B,TZERO=-128) 
                           rather than signed shorts (TFORM=I).
                        </li>
                        <li>More comprehensive testing.</li>
                        <li>Fixed bug in calculating value scaled double ('D') values.</li>
                        <li>Fixed bug in typing value for scaled float ('E') arrays.</li>
                        <li>Fixed bug which caused registry queries (<code>regquery</code>) 
                           to fail for Java 1.6.
                        </li>
                     </ul>
                  </li>
                  <li>Fix minor bugs in detail of <code>votlint</code>'s validation tests
                     (VOTABLE element content model, 
                     INFO and PARAM and FIELD required attributes).
                  </li>
                  <li>Report application name and version in User-Agent header of outgoing
                     HTTP requests.
                  </li>
                  <li>The fixed length Substring Array Convention for string arrays
                     (<code>TFORMnn=rAw</code>) 
                     is now understood for FITS binary tables.
                  </li>
                  <li>Minor SAMP bugs fixed (JSAMP upgraded to 0.3-1).</li>
               </ul>
               
            </dd>
            <dt><strong>Version 2.0-4 (17 July 2009)</strong></dt>
            <dd>
               
               <ul>
                  <li>Work around J2SE mark/reset bug when loading table direct from URL.</li>
                  <li>Produce null rather than nonsense results from sky coordinate
                     conversions with unphysical latitudes
                     (<code>addskycoords</code> filter).
                  </li>
                  <li>Produce null rather than questionable results from sexagesimal
                     conversions with mins/secs out of range.
                  </li>
                  <li>Fix two bugs in <code>votcopy</code>: XML processing instructions 
                     garbled on output, and pathnames in <code>base</code> parameters
                     inappropriately flattened in hrefs attribute values.
                  </li>
               </ul>
               
            </dd>
            <dt><strong>Version 2.0-5 (2 Oct 2009)</strong></dt>
            <dd>
               
               <ul>
                  <li>VOTable 1.2 supported.</li>
                  <li><code>votlint</code> can now validate VOTable documents following
                     the (provisional, 2009-09-29 PR) VOTable 1.2 standard.
                  </li>
                  <li>Namespacing of VOTable documents made more intelligent, and
                     configurable using the <code>votable.namespacing</code> system
                     property.
                  </li>
                  <li><code>votlint</code> now checks that the correct XML namespaces are
                     in use.
                  </li>
                  <li>Be more careful in XML, including VOTable, output; 
                     fix VOTable output encoding to be UTF-8,
                     and ensure no illegal XML characters are written.
                  </li>
                  <li>HTML table output is now HTML 4.01 by default 
                     (includes THEAD and TBODY tags).
                  </li>
                  <li><code>parse*</code> string-&gt;numeric conversion 
                     functions now cope with leading or trailing whitespace.
                  </li>
                  <li>Work around illegally truncated type declarations in IPAC tables.</li>
                  <li>Fix a bug which caused the first table in a multi-table file
                     (FITS or VOTable) to be used in streaming mode, even if
                     a subsequent one was requested.
                  </li>
                  <li>Bug fixed in crossmatching output: entries which should have been 
                     null were sometimes written as non-null (typically large negative
                     numbers) in FITS and in non-TABLEDATA VOTable output.
                     This affected cells in otherwise non-nullable columns
                     where the entire row was absent.  The previous behaviour is not
                     likely to have been mistaken for genuine results.
                     
                  </li>
               </ul>
               
            </dd>
            <dt><strong>Version 2.1 (6 November 2009)</strong></dt>
            <dd>
               
               <ul>
                  <li><code>coneskymatch</code> can now match using SIA and SSA
                     services as alternatives to Cone Search ones
                     (see its new <code>servicetype</code> parameter).
                  </li>
                  <li>Fixed an obscure bug which could under rare circumstances cause
                     truncation of strings with leading/trailing whitespace read
                     from text-format files.
                  </li>
                  <li>A new <code>startable.storage</code> policy "<code>adaptive</code>"
                     is now the default.  This should mean running out of memory less
                     often.  The old behaviour can be restored by giving the new
                     <code>-memory</code> command line flag.
                  </li>
               </ul>
               Note that the STIL API used by this release has changed in some
               backwardly incompatible ways, and may change further.
               If you're using STILTS as a library rather than an application
               you might want to wait for a later release when the API has settled down.
               
            </dd>
            <dt><strong>Version 2.1-1 (21 December 2009)</strong></dt>
            <dd>
               
               <ul>
                  <li>Plotting commands can now output to PDF as well as existing graphics
                     formats.
                  </li>
                  <li>New filter <a href="fixcolnames.html"><code>fixcolnames</code></a>.
                  </li>
                  <li>Fixed internationalisation bug which could cause
                     <code>coneskymatch</code> to fail in locales that use ","
                     for a decimal point.
                  </li>
                  <li>Significant performance improvements related to the case of VOTable
                     documents containing many tables.
                  </li>
               </ul>
               
            </dd>
            <dt><strong>Version 2.1-2 (24 March 2010)</strong></dt>
            <dd>
               
               <ul>
                  <li><a href="jystilts.html">JyStilts</a> introduced.
                     This is a jython (i.e. Python, though not CPython)
                     interface to the STILTS commands.
                     It is believed to be fully working, but somewhat experimental -
                     feedback is encouraged.
                  </li>
                  <li>Considerable performance and scalability improvements to the
                     crossmatching commands
                     (<code>tmatch1</code>, <code>tmatch2</code>, <code>tmatchn</code> and
                     <code>tskymatch2</code>).
                     For several common regimes, using default settings, 
                     memory use has been decreased by a
                     factor of about 5, and CPU time reduced by a factor of about 3.
                  </li>
                  <li>Add optional tuning parameters to crossmatch commands
                     (parameter <code>tuning</code> for 
                     <code>tmatch1</code>, <code>tmatch2</code> and <code>tmatchn</code>,
                     and parameter <code>healpixk</code> for <code>tskymatch2</code>).
                     Experimentation with these can lead to significant performance
                     improvements for given matches.
                  </li>
                  <li>Fixed a crossmatch bug; it was giving a possibility of
                     suboptimal "<code>find=best</code>"
                     match assignments when pair matching in crowded fields.
                     Crossmatch results thus may differ between earlier versions
                     and this one.  Both are reasonable, but the newer behaviour is 
                     more correct.  In non-crowded fields, there should be no change.
                  </li>
                  <li>Further performance improvement for VOTable documents with
                     very many TABLEs.
                  </li>
                  <li>Memory management adjusted further - default (Adaptive) storage policy 
                     now uses direct allocation (=<code>malloc()</code>) 
                     for intermediate-sized buffers
                     to avoid running out of java heap space.
                  </li>
                  <li>New option "<code>find=each</code>" for
                     <code>coneskymatch</code> and <code>sqlskymatch</code> commands.
                     This allows you to get an output table with exactly one row for
                     each row of the input table.
                  </li>
                  <li>New flag <code>-memgui</code> to monitor memory usage during runs.
                  </li>
                  <li>Add new filter <a href="rowrange.html"><code>rowrange</code></a>.
                  </li>
                  <li>Add new functions to 
                     <a href="uk.ac.starlink.ttools.func.Arrays.html">Arrays</a>:
                     <code>array</code> functions for constructing arrays,
                     and new aggregating functions <code>median</code> and
                     <code>quantile</code>.
                  </li>
                  <li>Syntax of the crossmatching commands' <code>progress</code> parameter
                     has changed; it now has an additional option which will write
                     limited profiling information as well as logging as the match
                     progresses.
                  </li>
                  <li>Add <code>ylabel</code> parameter to <code>plothist</code> command.
                  </li>
                  <li>The <code>random</code> and <code>sequential</code> filters have
                     been renamed <code>randomview</code> and <code>seqview</code>
                     respectively.  This provides a better idea of what they do.
                     Since they are only useful for debugging, it is unlikely that this
                     will break anyone's existing code.
                  </li>
                  <li>New filter <code>random</code> introduced which converts tables
                     to random-access if necessary.
                  </li>
                  <li>Document previously undocumented <code>legend</code> parameter to
                     plotting commands.
                  </li>
                  <li>Matching commands <code>matcher</code> parameters can now accept
                     classnames of <code>MatchEngine</code> implementation classes as
                     an option.
                  </li>
                  <li>Classes are now distributed as a zip of jars 
                     (<code>stilts_jars.zip</code>) as an alternative to
                     the monolithic jar file (<code>stilts.jar</code>).
                     This may be more appropriate for those using STILTS classes in a
                     framework that contains other third party class libraries.
                  </li>
                  <li>Adjusted the way that data types are read from JDBC databases.
                     Date, Time and Timestamp typed columns will now be converted to Strings
                     which means they can be written to most output formats
                     (previously they were omitted from output tables).
                  </li>
                  <li>STILTS no longer attempts to communicate with TOPCAT using SOAP.
                     TOPCAT's SOAP interface has been deprecated since v2.1 (2006),
                     so this isn't likely to cause trouble, and it permits removal of
                     SOAP (Axis) classes from the application jar file, saving several
                     megabytes and reducing potential version clash problems.
                  </li>
                  <li>Fix bug in code for handling very large mapped FITS files.
                     This was causing fatal read errors in some cases.
                  </li>
               </ul>
               
            </dd>
            <dt><strong>Version 2.2 (6 August 2010)</strong></dt>
            <dd>New capabilities for multi-table I/O have been introduced:
               
               <ul>
                  <li>New multi-table output tasks
                     <code>tmulti</code> and <code>tmultin</code>.
                     These currently just copy multiple input tables to a single 
                     multi-table container file (e.g. Multi-Extension FITS or 
                     multi-TABLE VOTable).  Future releases may generalise the output of
                     multi-table processing.
                  </li>
                  <li>New <code>multi</code> parameter introduced for <code>tcat</code>
                     and <code>tmulti</code> tasks to pick up all tables in a 
                     multi-table container file.
                  </li>
                  <li>New JyStilts functions <code>treads</code> and <code>twrites</code>
                     for multi-table I/O.
                  </li>
               </ul>
               There are some additional enhancements:
               
               <ul>
                  <li>Added experimental name-resolution filter <code>addresolve</code>;
                     this currently uses Sesame.
                  </li>
                  <li>Added filter <code>repeat</code>, which repeats table rows a
                     given number of times.
                  </li>
               </ul>
               And a number of bug fixes:
               
               <ul>
                  <li>Recognise unofficial column type "<code>long</code>" in IPAC format
                     tables.
                  </li>
                  <li>Better behaviour (warn + failover) when attempting to read large
                     files on 32-bit OS or JVM.
                  </li>
                  <li>Efficiency warning now issued for large compressed FITS files.</li>
                  <li>Upgraded PixTools HEALPix library to 2010/02/09 version.
                     This fixes a bug that could theoretically cause deficient crossmatch
                     results, though I haven't managed to produce such errors.
                  </li>
                  <li>Fixed bug in TST table output.</li>
                  <li>Fixed bug in FITS-plus metadata output
                     (table parameters were getting lost).
                  </li>
                  <li>Corrected literature references in Fluxes conversion class
                     documentation (thanks to Mattia Vaccari).
                  </li>
                  <li>Fixed bug in CSV file parsing that could ignore header row in
                     absence of non-numeric columns.
                  </li>
                  <li>Shape and ElSize metadata items now correctly reported by 
                     <code>meta</code> filter.
                  </li>
                  <li>Fixed JyStilts bug when supplying an empty string for a parameter
                     value.
                  </li>
               </ul>
               
               <p>Finally, from this release STILTS requires version 1.5 (a.k.a. 5.0)
                  of the Java J2SE Runtime Environment; it will no longer run on 
                  version 1.4, which is now very old.  I don't expect this to cause
                  compatibility issues for anyone, but I'm interested to hear if that's
                  not the case.
                  
               </p>
            </dd>
            <dt><strong>Version 2.2-1 (23 December 2010)</strong></dt>
            <dd>
               
               <ul>
                  <li>Storage management improvements; removed restriction on large
                     (&gt;2Gb) non-FITS datasets in some circumstances.
                  </li>
                  <li>Efficiency improvement in sequential mapped access to large FITS
                     files.
                  </li>
                  <li>Fix so FITS tables &gt;2Gb can provide random access in 32-bit mode
                     (though slower than 64-bit).
                  </li>
                  <li>FITS files now store table names in EXTNAME (and possibly EXTVAR)
                     header cards.
                  </li>
                  <li>Window placement for the few GUI tasks should now behave a bit more
                     like platform norms, rather than sitting in the top left hand
                     corner.
                  </li>
                  <li>HTML table output now writes cell contents which look like URLs
                     in HTML &lt;A&gt; tags.
                  </li>
                  <li>Basic authorization (<code>http://user:pass@host/path</code>) on
                     table URLs handled.
                  </li>
                  <li>Fixed file pointer int overflow bug in FITS MultiMappedFiles.</li>
               </ul>
               
            </dd>
            <dt><strong>Version 2.3 (9 May 2011)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>TAP</strong></dt>
                  <dd>The new commands
                     <a href="tapquery.html"><code>tapquery</code></a> and
                     <a href="tapresume.html"><code>tapresume</code></a> have been introduced.
                     These provide support for the Table Access Protocol (TAP),
                     and allow freeform queries in an SQL-like language to be
                     made to remote databases.
                     
                  </dd>
                  <dt><strong>Minor enhancements</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Random Groups HDUs are now tolerated, though not interpreted, 
                           within FITS files.
                        </li>
                        <li>Added <code>soapout</code> parameter to <code>regquery</code>
                           command.
                        </li>
                        <li>Added <code>count</code>, <code>variance</code> and
                           <code>stdev</code> functions to 
                           <a href="uk.ac.starlink.ttools.func.Arrays.html">Arrays</a>.
                        </li>
                        <li>Upgrade to JSAMP v1.2.</li>
                        <li>Improve text rendering in <code>funcs</code> window display.
                        </li>
                        <li>Attempt case-sensitive matching before case-insensitive for
                           column names.
                        </li>
                        <li>Fix <code>replaceval</code> filter to work with Infinities.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Bug fixes and workarounds</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>JDBC table input handler now effectively downcasts
                           BigInteger/BigDecimal types to Long/Double.  
                           The PostgreSQL JDBC driver seems to use the Big* types routinely 
                           for numeric values (which I don't think it used to do).
                        </li>
                        <li>Add workaround for J2SE bug
                           <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4795134">#4795134</a>,
                           which could cause errors when reading compressed FITS files.
                        </li>
                        <li>Fix FITS character handling bug which could cause corrupted FITS
                           files on output in presence of non-ASCII characters.
                        </li>
                        <li>Fix (some) JDBC connection leaks.</li>
                        <li>Add missing parameters <code>dashNS</code> and
                           <code>linewidthNS</code> to <code>plot2d</code> task.
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 2.3-1 (30 June 2011)</strong></dt>
            <dd>
               
               <ul>
                  <li>Added new command <code>taplint</code>.
                     This is a validator for TAP (Table Access Protocol) services.
                     It is only likely to be useful to people developing or operating
                     TAP services.
                  </li>
                  <li>ASCII table parsers now understand python-friendly
                     <code>nan</code> and <code>inf</code> representations.
                  </li>
                  <li>Added new constants to expression language
                     <code>Infinity</code> and <code>NaN</code>.
                  </li>
                  <li>Fixed a significant bug in sky crossmatching.
                     If all points in a table were on one side of the RA=0 line,
                     but the error radius extended across that line, matches on the
                     other side could be missed.  Matches could also be missed if
                     different tables used different conventional ranges for RA
                     (e.g. -180..180 in one case and 0..360 in another).
                     This fix may in some, but not most, cases result in slower matching
                     than previously.
                  </li>
                  <li>Fixed <code>coneskymatch</code> cone search verbosity parameter so that
                     VERB=3 is not erroneously ignored.
                  </li>
               </ul>
               
            </dd>
            <dt><strong>Version 2.4 (27 October 2011)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>Crossmatching:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Two new asymmetric match options <code>best1</code>
                           and <code>best2</code> have been added
                           for the <code>find</code> parameter in the pair matching commands 
                           <code>tmatch2</code> and <code>tskymatch2</code>.
                           They correspond to finding the best match in table B for each row
                           in table A, and in crowded fields often provide more intuitive
                           semantics than the previous symmetric <code>best</code> option
                           (in non-crowded fields there is generally no difference).
                           This replicates the matching performed by some other tools,
                           including Aladin.
                        </li>
                        <li>New matchers have been added to permit matching of general
                           elliptical, rather than just circular, regions in both planar
                           and sky coordinates; see 
                           <a href="EllipseCartesianMatchEngine.html"><code>2d_ellipse</code></a>,
                           and
                           <a href="EllipseSkyMatchEngine.html"><code>skyellipse</code></a>.
                        </li>
                        <li>Another new matcher is available for dealing with per-object
                           errors in Cartesian coordinates (previously per-object errors
                           could only be handled in sky coords); see
                           <a href="ErrorCartesianMatchEngine.html"><em>N</em><code>d_err</code></a>.
                           
                        </li>
                        <li>Semantics of the
                           <a href="SkyMatchEngine-err.html"><code>skyerr</code></a>
                           matcher have changed slightly.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Expression language functions:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Algebraic functions involving angles are now mostly available
                           using degrees as well as radians.
                           The <code>Coords</code> class has been replaced by
                           <a href="uk.ac.starlink.ttools.func.CoordsDegrees.html"><code>CoordsDegrees</code></a> and
                           <a href="uk.ac.starlink.ttools.func.CoordsRadians.html"><code>CoordsRadians</code></a>
                           classes providing sky coordinate functions,
                           and a new class
                           <a href="uk.ac.starlink.ttools.func.TrigDegrees.html"><code>TrigDegrees</code></a>
                           provides normal degree-based trigonometric functions
                           alongside the radian-based versions in
                           <a href="uk.ac.starlink.ttools.func.Maths.html"><code>Maths</code></a>.
                           Some of the old function names have changed to make clear that they
                           use radians and not degrees.
                           This change should be much more convenient in most cases;
                           sorry it's taken so long to get round to.
                        </li>
                        <li>Add new <code>join</code> function is added to the
                           <a href="uk.ac.starlink.ttools.func.Arrays.html">Arrays</a> class
                           to combine all the elements of an array into a string.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>taplint:</strong></dt>
                  <dd>There are several bugfixes and changes related to the
                     TAP validator tool <code>taplint</code>, mostly thanks to bug
                     reports etc from the TAP community:
                     
                     <ul>
                        <li>Improve test logic for record limiting queries.</li>
                        <li>Errors no longer reported (e.g. E-Qxx-CNAM) 
                           for unexpected TAP_SCHEMA table column ordering
                           (when running query stage but no metadata acquisition stages).
                        </li>
                        <li>Add new stage MDQ, which checks query result columns for all
                           tables against declared metadata.
                        </li>
                        <li>Add check of versioned and unversioned LANG variants.</li>
                        <li>Now uses corrected upload ID 
                           (<code>ivo://ivoa.net/std/TAPRegExt#upload-*</code>)
                           as per most recent TAPRegExt draft.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Bug fixes and minor enhancements:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Add parameter <code>parse</code> to <code>tapquery</code> command,
                           allowing pre-send syntax checking of submitted ADQL.
                        </li>
                        <li>Add experimental system properties
                           <code>star.basicauth.user</code> and 
                           <code>star.basicauth.password</code>.
                        </li>
                        <li>Improve resilience of <code>coneskymatch</code> in the presence of
                           unreliable or inconsistent DAL services.
                        </li>
                        <li>A PARAMref element with no referent in a VOTable
                           no longer causes an uncaught NullPointerException.
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 2.5 (28 March 2013)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>New coverage-related functionality:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Add new command <a href="pixsample.html"><code>pixsample</code></a>
                           which can sample pixel data from HEALPix table files
                           (useful for things like Schlegel dust extinction).
                           Also <a href="addpixsample.html"><code>addpixsample</code></a> filter,
                           which does the same job.
                        </li>
                        <li>Add new command <code><a href="pixfoot.html">pixfoot</a></code>
                           which can generate MOC (Multi-Order Coverage) maps.
                        </li>
                        <li>Add MOC-based coverage filter to <code>coneskymatch</code>
                           when using some Cone Search services (mostly VizieR).
                           This uses the Multi-Order Coverage map service operated by CDS.
                           It can make VizieR multi-cone queries much faster by not doing
                           cone searches that are outside the coverage region of the
                           catalogue in question.
                        </li>
                        <li>Add new class 
                           <a href="uk.ac.starlink.ttools.func.Coverage.html">Coverage</a>
                           to the expression language containing MOC-related functions
                           (currently, just <code>inMoc</code>).
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Other new capabilities:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Add IPAC table output format.</li>
                        <li>Add new class
                           <a href="uk.ac.starlink.ttools.func.KCorrections.html">KCorrections</a>
                           to the expression language,
                           containing a method for calculating K-corrections
                           following the method of Chilingarian and Zolotukhin.
                        </li>
                        <li>You can now reference tables in multi-extension FITS files by name
                           (EXTNAME or EXTNAME-EXTVER) as an alternative to by HDU index.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>VOTable enhancements:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>VOTable input, output and validation are now supported
                           for version 1.3 of the VOTable standard.
                        </li>
                        <li>The version of the VOTable format used for VOTable output
                           can now be selected,
                           by using the <a href="sysProperties.html">system property</a>
                           <code>votable.version</code>.
                           Output version is VOTable 1.2 by default.
                        </li>
                        <li><code>votlint</code> has been changed so that it handles
                           different VOTable versions more capably.
                           Versions 1.1+ are now validated against a schema
                           (which is how those versions are defined) rather than against
                           a DTD hacked to do the same job as the schema.
                           VOTable 1.3 validation is now provided.
                        </li>
                        <li>The <code>votcopy</code> command has a new <code>version</code>
                           parameter to control output version,
                           and a new <code>nomagic</code> parameter to control whether
                           <code>VALUES</code>/<code>null</code> attributes are removed
                           where appropriate.
                        </li>
                        <li>Infinite floating point values are now correctly encoded
                           in VOTable output ("<code>+Inf</code>"/"<code>-Inf</code>",
                           not "<code>Infinity</code>"/"<code>-Infinity</code>" as in
                           previous versions).
                        </li>
                        <li><code>votlint</code> is now stricter about floating point
                           <code>TD</code> element contents.
                        </li>
                        <li>VOTable output no longer writes the <code>schemaLocation</code>
                           attribute by default.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Other enhancements:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Add new function <code>hypot</code> (=sqrt(x*x+y*y))
                           to the <code>Maths</code> class in expression language.
                        </li>
                        <li>Add new <code>split</code> functions for string splitting
                           to the <code>Strings</code> class in expression language.
                        </li>
                        <li>Add <code>-utype</code> flags for <code>addcol</code>,
                           <code>replacecol</code>, <code>colmeta</code> and
                           <code>setparam</code> filters,
                           and <code>utype</code> option for <code>meta</code> filter.
                        </li>
                        <li>Some changes to the <code>toString</code> function:
                           it now works on non-numeric values,
                           gives the right answer for <code>Long</code> integers
                           and character values,
                           and returns a blank value rather than the string "null" or "NaN"
                           for blank inputs.
                        </li>
                        <li>Sexagesimal to numeric angle conversion functions now permit the
                           seconds part of the sexagesimal string to be missing.
                        </li>
                        <li>Changes to the IPAC format definition are accommodated:
                           the "long"/"l" type, which is apparently now official,
                           no longer generates a warning, and headers may now use
                           minus signs instead of whitespace.
                        </li>
                        <li>Add <code>OBS</code> stage (ObsTAP validation)
                           to <code>taplint</code>.
                        </li>
                        <li>Add more checks to <code>CAP</code> stage of <code>taplint</code>.
                           Declared languages (including features) and output formats are
                           now checked.
                        </li>
                        <li>Tidy up error reporting a bit (fewer duplicate nested messages
                           reported).
                        </li>
                        <li>PNG graphics output no longer has transparent background.</li>
                        <li>Issue a warning for high values of <code>coneskymatch</code>
                           <code>parallel</code> parameter.
                        </li>
                        <li>Upgrade JSAMP library to version 1.3-3.</li>
                        <li>Upgrade Grégory Mantelet's ADQL library to version 1.1.</li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Bug fixes:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Fix serious and long-standing bug
                           (bad TZERO header, causes subsequent reads to fail)
                           for FITS output of boolean array columns.
                        </li>
                        <li>Fix small but genuine sky matching bug.
                           The effect was that near the poles matches near the specified
                           threshold could be missed.  The bug was in the PixTools library,
                           fixed at the 2012-07-28 release.
                        </li>
                        <li>Fix bug in <code>tmatchn</code> group mode which could result in
                           output rows with columns from only a single table,
                           i.e. not representing an inter-table match, 
                           even when <code>join*=default</code>.
                        </li>
                        <li>Fix bug which failed when attempting to read FITS files with
                           complex array columns (<code>TFORMn=rC/rM</code>).
                        </li>
                        <li>Fix failure when caching very large sequential tables.</li>
                        <li>Fix bug in <code>replacecol</code> and <code>replaceval</code>
                           filters which could cause truncation of strings in FITS
                           and possibly VOTable output when the new value was longer
                           than the previously declared maximum length.
                        </li>
                        <li>Fix <code>tcat</code>, <code>tcatn</code> so that in most cases
                           output column metadata is compatible with all input tables, not
                           just the first one in terms of nullability, array shape etc.
                        </li>
                        <li>Adjust SQL writer to avoid a type error for MySQL.</li>
                        <li>Fix bug in HMS sexagesimal formatting: minus sign was omitted from
                           negative angles.  Now the output is forced positive.
                        </li>
                        <li>Cope with 1-column CSV files.</li>
                        <li>Use the correct form "<code>rows</code>"/"<code>bytes</code>"
                           rather than "<code>row</code>"/"<code>byte</code>"
                           for TAP capability unit values.
                        </li>
                        <li>Fix error bar rendering bug which could result in diagonal lines
                           being offset near the edge of plots.
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 2.5-1 (1 July 2013)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>New functionality</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Add read-only support for
                           <a href="http://cdf.gsfc.nasa.gov/">CDF</a>
                           (NASA Common Data Format) files.
                        </li>
                        <li>Add Median Absolute Deviation calculation
                           (<code>MedAbsDev</code> and <code>ScMedAbsDev</code>)
                           options to <a href="stats.html"><code>stats</code></a> filter.
                        </li>
                        <li>Improved handling of HTTP basic authorization.
                           401s now generate a useful message about the
                           <code>star.basicauth.*</code> system properties if they
                           have not been set up.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Bug fixes and minor enhancements</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Fix CSV regression bug introduced at v2.5
                           - CSV files now work again with MSDOS-style line breaks.
                        </li>
                        <li>Fixed FITS output bug which could result in badly-formed
                           string-valued header cards (no closing quote).
                        </li>
                        <li>Source code is now managed by git and not subversion.
                           The format of the "Starjava revision" string reported by the
                           <code>-version</code> flag has changed accordingly.
                        </li>
                        <li>Output mode <code>meta</code> now copes better with array-valued
                           table parameters.
                        </li>
                        <li>Implemented fixes to reduce the chance of users inadvertently
                           overloading external Cone/SIA/SSA services with multicone-like
                           queries.
                           First, fix it so that abandoned queries are properly terminated,
                           rather than continuing to hit the server until completion or JVM
                           shutdown.
                           Second, implement a sensible default maximum value for the
                           <code>parallel</code> parameter of <code>skyconematch</code>
                           (though this may be adjusted with a system property).
                        </li>
                        <li>Quoting behaviour has changed when generating SQL to write to
                           RDBMS tables.  This ought to reduce problems related to mixed-case
                           identifiers.  However, it is possible that it could lead to 
                           unforseen new anomalies.
                        </li>
                        <li>More <code>toString</code> overloads - now works for byte and
                           boolean values too.
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 2.5-2 (7 March 2014)</strong></dt>
            <dd>
               
               <ul>
                  <li>Add some more colour maps.</li>
                  <li>Fix some broken and misdocumented non-table-output JyStilts
                     commands (<code>tcube</code>, <code>pixfoot</code>).
                  </li>
                  <li>Fix bug which prevented access to long integer array elements
                     from expression language.
                  </li>
                  <li>The Exact matcher now considers scalar numeric values equal if
                     they have the same numeric value; they are no longer required
                     to have the same type.
                  </li>
                  <li>Fixed a registry client bug which means that the
                     <code>regquery</code> command can now successfully talk to
                     the NVO/VAO/STSci registry.
                     That has been broken since mid-2010.
                  </li>
                  <li>Add new command <code>tloop</code> for generating single-column
                     tables from a numeric loop variable.
                  </li>
                  <li><code>taplint</code> now checks for the right ObsCore ID,
                     though still recognises the wrong one (got from TAPRegExt),
                     and warns if found.
                  </li>
                  <li>Fix TST input handler so TST files with fewer than 3 columns
                     can be read.
                  </li>
                  <li>Add <code>Nd_cuboid</code> matcher option to match commands.
                  </li>
               </ul>
               
            </dd>
            <dt><strong>Version 2.5-3 (4 July 2014)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>New and improved functionality:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Add new command
                           <a href="cdsskymatch.html"><code>cdsskymatch</code></a>.
                           In most cases (for querying tables that can be found in VizieR)
                           this can and should be used instead of
                           <code>coneskymatch</code> - it's <em>much</em> faster.
                        </li>
                        <li>Commands <code>coneskymatch</code>, <code>sqlskymatch</code>
                           and <code>pixfoot</code> will now guess RA/Dec columns
                           if relevant parameters are left blank.
                        </li>
                        <li>Added new graphics output format <code>png-transp</code>
                           to generate PNG files with transparent backgrounds.
                        </li>
                        <li>Upgraded Gregory Mantelet's ADQL library to version 1.2.
                           Better ADQL parsing.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Improvements and adjustments to
                        <a href="taplint.html"><code>taplint</code></a>:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Rework <code>taplint</code>
                           API to facilitate static acquisition of
                           report codes during programmatic use.
                           A few error codes have changed.
                        </li>
                        <li>Add new "duff query" test to <code>taplint</code>.
                        </li>
                        <li>Avoid <code>taplint</code> MDQ stage data type mismatch error
                           report for BOOLEAN/boolean declared/returned data.
                        </li>
                        <li><code>taplint</code> now takes steps to ensure that TAP_SCHEMA
                           column list query is not truncated.
                        </li>
                        <li><code>taplint</code> now flags absence of ObsCore table with
                           I[nfo] not F[ailure] status.
                        </li>
                        <li>Change the implementation of <code>taplint</code> stages which
                           perform validation against XSD schemas.
                           Schemas from external namespaces may now be imported and used.
                           The CPV stage, which was previously broken and disabled
                           by default, is now fixed and enabled by default.
                           Known/expected schemas are stored locally, and a warning is
                           reported if external ones are used.  Schema validation seems
                           remarkably complicated, so it's possible there are still errors
                           in this implementation - if you suspect so,
                           please report it.
                        </li>
                        <li>Add missing geometric reserved words to ADQL reserved word
                           list.  This fixes some problems with column names like
                           "DISTANCE" in taplint tests.
                        </li>
                        <li>Fixed some bugs related to TAP table uploads.
                           In particular these could cause incorrect table upload error
                           reports in <code>taplint</code>.
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 3.0 (3 October 2014)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>New plotting commands:</strong></dt>
                  <dd>A set of new plotting commands are provided which give
                     comprehensive access to all the new-style visualisation capabilities
                     available in TOPCAT v4.  These commands are
                     documented in <a href="plot2.html">Section 8</a>.
                     These commands, and the underlying visualisation facilities,
                     are considerably more capable than the, now deprecated,
                     old-style plot commands
                     <code>plot2d</code>, <code>plot3d</code> and <code>plothist</code>.
                     
                  </dd>
                  <dt><strong>Programmatic invocation:</strong></dt>
                  <dd>Programmatic invocation of STILTS tasks from third-party java code
                     is now officially sanctioned and documented in the new
                     <a href="taskApi.html">Section 11</a>.
                     To support this changes have been made to the parameter system 
                     (<code>Parameter</code> class now supports generics)
                     and there are some visible
                     changes to the user documentation as well
                     (parameters now report their data type,
                     and tasks report their classname).
                     Normal (e.g. command-line) usage should not undergo any changes,
                     but a fair bit of UI code has changed, so unexpected problems
                     are possible.
                     
                  </dd>
                  <dt><strong>Other items:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Add new output mode
                           <code><a href="mode-gui.html">gui</a></code>,
                           which displays the table data in a scrollable
                           window on the screen.
                        </li>
                        <li>Add new <code>-allowunused</code> flag to the stilts command.
                           If this is set, then unused parameter settings on the command line
                           just result in a warning, not failure of the command.
                        </li>
                        <li>Attempting to write FITS tables with &gt;999 columns now fails
                           with a more helpful error message.
                        </li>
                        <li>Improved Unicode handling in VOTables.
                           Fixed a serious bug in <code>votcopy</code>
                           that generated unreadable output to BINARY or BINARY2 serialization
                           if any non-empty column had datatype="unicodeChar".
                           Also improved behaviour when copying between tables with
                           unicodeChar columns; these are usually preserved now, rather
                           than being squashed to datatype char.
                           Some lurking Unicode-related issues remain.
                        </li>
                        <li>The TAP client now tolerates whitespace around
                           UWS status codes.
                        </li>
                        <li>taplint: downgrade unknown post-table QUERY_STATUS value message
                           from Error to Warning.
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 3.0-1 (13 November 2014)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>New functionality:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Add (experimental) read-only support for Gaia/DPAC GBIN format.</li>
                        <li>Add new task
                           <a href="tapskymatch.html"><code>tapskymatch</code></a>.
                        </li>
                        <li>Functions in class
                           <a href="uk.ac.starlink.ttools.func.Coverage.html">Coverage</a>
                           adjusted:
                           new function <code>nearMoc</code>, and MOC can be identified by
                           VizieR table IDs as well as by filename/URL.
                        </li>
                        <li>For <a href="repeat.html"><code>repeat</code></a> filter,
                           add <code>-row|-table</code>
                           flags to control sequence of output rows.
                        </li>
                        <li>For <a href="setparam.html"><code>setparam</code></a>
                           and <a href="repeat.html"><code>repeat</code></a> filters,
                           allow use of an algebraic expression for values,
                           not just a literal value.
                        </li>
                        <li>Add special values <code>$ncol</code> and <code>$nrow</code> to
                           the 
                           <a href="jel-paramref.html">expression language</a>
                           to refer to the column and row counts in a table.
                           The special variable <code>index</code> is also deprecated in favour
                           of <code>$index</code> or <code>$0</code>.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Bugfixes and minor improvements:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Add some more colour maps for aux/density shading.</li>
                        <li>Fix <code>stilts</code> invocation script to pick up classes from
                           <code>stilts.jar</code> in script directory in preference to
                           other places (e.g. topcat-full.jar).
                        </li>
                        <li>Fix <code>taplint</code> to permit application/xml
                           not just text/xml content-type where appropriate (UWS stage).
                        </li>
                        <li>Fix <code>taplint</code> so it doesn't warn (W-TMV-UNSC) about
                           unknown VOSITables schema.
                        </li>
                        <li>Fix <code>taplint</code> so that <code>unicodeChar</code>
                           matches CHAR/VARCHAR in the same way as <code>char</code>
                           for column type declaration purposes.
                        </li>
                        <li>Fix <code>taplint</code> so that capabilities document can have
                           TAPRegExt dataModel ivo-id elements with xs:anyURI rather than
                           vr:IdentifierURI (only a warning is issued in the latter case),
                           in anticipation of TAPRegExt-1.0 Erratum #1.
                        </li>
                        <li>Adjust <code>taplint</code> to handle adql:TIMESTAMP columns more
                           carefully on upload and retrieval.
                        </li>
                        <li>Update JSAMP to v1.3.5.</li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 3.0-2 (6 February 2015)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>Plotting enhancements:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Linear fitting of points is now available using the 
                           <a href="layer-linearfit.html">linearfit</a> layer type for
                           <code>plot2plane</code>.  Points may be weighted.
                        </li>
                        <li>You can add titles to plots using the new <code>title</code>
                           parameter.
                        </li>
                        <li>New plot layer type
                           <a href="layer-sizexy.html"><code>sizexy</code></a>
                           allows plotting (optionally autoscaled)
                           markers with horizontal and vertical extents
                           independently determined by input data.
                        </li>
                        <li>More flexibility when assigning colour maps, in 
                           <a href="shading-aux.html">aux</a> and
                           <a href="shading-density.html">density</a> shading modes, and
                           <a href="layer-spectrogram.html">spectrogram</a> layer.
                           New parameters <code>*func</code> allow assignment of
                           different data-&gt;ramp mapping functions
                           (sqrt and square as well as linear and logarithmic),
                           and new parameters <code>*quant</code> allow quantisation
                           of the colour map to discrete levels.
                        </li>
                        <li>Replace <code>maxsizeN</code> parameter with <code>autoscaleN</code>
                           for <a href="layer-size.html"><code>size</code></a> plot layer type.
                           You can now optionally turn off autoscaling and specify marker size
                           in pixels instead.
                        </li>
                        <li>Add <code>auxcrowd</code> parameter to plot2 tasks to influence
                           tick crowding on aux axis colour ramp.  Also adjust default to use
                           fewer ticks.
                        </li>
                        <li>Add some "dart" options (fixed-base open or filled triangles)
                           for plotting vectors (see <code>arrowN</code> parameter in
                           layers like
                           <a href="layer-xyvector.html"><code>xyvector</code></a>).
                        </li>
                        <li>Add some "triangle" options (variable-base open or filled triangles)
                           for plotting ellipses (see <code>ellipseN</code> parameter in layers
                           like <a href="layer-xyellipse.html"><code>xyellipse</code></a>).
                        </li>
                        <li>Histogram normalisation option adjusted
                           so that total area under bars,
                           rather than total height of bars, is fixed.
                        </li>
                        <li>The <code>PlotDisplay</code> class that forms the result of
                           plot2 commands can now have <code>PointSelectionListener</code>s
                           registered on it.  This lets you determine what point a user
                           has clicked on if you're using the plotting classes from
                           third party java code.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>FITS I/O:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Reworked part of the FITS table input implementation, 
                           in particular adjusting the way memory mapping is done to reduce
                           resource requirements on some platforms.
                           If you notice any difference, it should be reduced virtual and
                           perhaps resident memory usage, and some (~10%?) performance 
                           improvements, when reading large FITS/colfits files.
                           If you were previously having problems
                           with large memory allocations leading to
                           disk thrashing and system lockup when scanning files
                           larger than RAM (this didn't happen on all OSes),
                           these will hopefully have gone away.
                           However, please report anything that appears to be working worse
                           than before, or continued memory usage issues.
                        </li>
                        <li>Colfits files can now be accessed from streams,
                           not just uncompressed disk files
                           (though that's not necessarily a good idea).
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Bugfixes and workarounds:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Fixed a query bug (missing <code>REQUEST=queryData</code> parameter)
                           in the multi-SSA mode (<code>servicetype=ssa</code>) of
                           <code>coneskymatch</code>.
                           This long-standing bug would have stopped this command working
                           at all with well-behaved SSA services.
                        </li>
                        <li>Fixed error in fits-var output
                           (PCOUNT header card did not include block alignment gap).
                        </li>
                        <li>Graphics coordinates are now calculated in floating point 
                           rather than as integers.  This fixes problems that could 
                           cause scaled vectors, ellipses etc to be drawn with shapes
                           or orientations badly wrong due to rounding errors.
                           It also improves plotting of analytic functions, especially
                           to vector contexts (PDF/EPS).
                        </li>
                        <li>Fix some problems to do with zooming to very large/small
                           plot axis ranges.
                        </li>
                        <li>Hide error bars (etc) that would extend to negative values
                           on logarithmic axes; previously they were being drawn in anomalous
                           places.
                        </li>
                        <li>Fix NullPointerException bug when null value was supplied to
                           multi-word parameter (e.g. <code>tcube</code>).
                        </li>
                        <li>Fix Aux axis positioning for 3D plots so that the numeric labels 
                           don't get snipped off at top and bottom.
                        </li>
                        <li>Add a hack that allows LDAC FITS tables to be treated sensibly
                           in auto-format-detection mode.
                        </li>
                        <li>Make VOTable handling more robust against unknown (illegal)
                           datatypes.
                        </li>
                        <li>Add missing parameters <code>auxmax</code>, <code>auxmin</code>
                           to plotting task documentation.
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 3.0-3 (14 April 2015)</strong></dt>
            <dd>
               
               <ul>
                  <li>New System Command option for
                     <a href="location-syntax.html">input table syntax</a>;
                     you can now use "<code>&lt;syscmd</code>" or "<code>syscmd|</code>"
                     to supply input byte streams from Un*x pipelines.
                  </li>
                  <li>Add new Kernel Density Estimate plot layer types
                     <a href="layer-kde.html">kde</a>,
                     <a href="layer-knn.html">knn</a> and
                     <a href="layer-densogram.html">densogram</a>
                     for <code>plot2plane</code>.
                  </li>
                  <li>More histogram normalisation options provided.
                     Instead of just <code>true</code>/<code>false</code>,
                     the <code>normalisation</code>
                     parameter of the <a href="layer-histogram.html">histogram</a> layer
                     now has the options
                     <code>none</code>, <code>height</code>,
                     <code>area</code> and <code>maximum</code>.
                     This allows both the area normalisation introduced in v3.0-2,
                     and the height normalisation used in earlier versions
                     which it replaced.
                  </li>
                  <li>More histogram bar style options provided;
                     the <a href="layer-histogram.html">histogram</a> <code>barform</code>
                     parameter now provides the options
                     <code>semi_filled</code> (the new default) and <code>semi_steps</code>.
                     These give outlined partially transparent bars, which make it
                     much easier to see what's going on in multi-dataset histograms.
                     Note <code>semi_steps</code> does not currently export very nicely
                     to PDF/EPS.
                     Similar options are also available in the new KDE plots.
                  </li>
                  <li>Column data read in as unsigned bytes will now be written out as
                     unsigned bytes where the output format permits; 
                     previously they were forced to 16-bit signed integers.
                     This affects FITS, VOTable and CDF I/O handlers.
                  </li>
                  <li>Add <code>count_rows()</code> method to JyStilts 
                     <a href="jytable.html">table</a> objects, which for non-random tables
                     may be much more efficient than <code>len()</code>.
                  </li>
                  <li>Be less strict about recognising colfits files
                     (tolerate implicit TDIMn headers).
                  </li>
                  <li><code>taplint</code> is now aware of, and performs some checks
                     related to, schema-level table metadata declared by TAP services.
                  </li>
                  <li>Work round FITS read bug that could cause problems for VOTables using
                     inline FITS serialization, and possibly elsewhere.
                  </li>
                  <li>Fix bug that caused trouble when auto-ranging a plot
                     with a single sky position.
                  </li>
               </ul>
               
            </dd>
            <dt><strong>Version 3.0-4 (17 August 2015)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>Bugfixes (some significant):</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Fix a serious bug in processing of FITS bit vector
                           (<code>TFORMn='rX'</code>) columns.
                           Values read from these columns are presented as a
                           <code>boolean[]</code> array.  In all previous versions of STIL
                           the bits have appeared in that array in the wrong sequence
                           (LSB..MSB per byte rather than the other way round).
                           Apologies to anyone who may have got incorrect science results
                           from this error in the past, and thanks to Paul Price for helping
                           to diagnose it.
                        </li>
                        <li>Fix a less serious bug with <code>TFORMn='rX'</code> processing;
                           attempting to read a single-element bit vector column
                           (<code>TFORMn=1X</code> or <code>X</code>) previously
                           resulted in an error making the file unreadable.
                           Values read from such columns are now presented as
                           Boolean scalars.
                        </li>
                        <li>Fix a VOTable reading bug relating to bit vector data
                           (<code>datatype="bit"</code>) appearing in BINARY/BINARY2
                           serializations.  This one was more obvious, it would usually
                           generate an error when attempting to read the file.
                        </li>
                        <li>Fix serious bug in time conversion for CDF TIME_TT2000
                           data types.
                        </li>
                        <li>Fix a bug in <code>votcopy</code> that converted columns from
                           datatype <code>unsignedByte</code> to <code>short</code> when
                           transforming.  Since v3.0-3 this is no longer necessary.
                           In the case of converting to a binary serialization,
                           since v3.0-3 this was causing it to generate unreadable VOTable
                           output.
                        </li>
                        <li>Fix a bug in <code>votcopy</code> that failed to handle
                           columns with datatype <code>bit</code>.  In the case of
                           converting to a binary serialization, these were in all previous
                           versions generating unreadable VOTable output.
                           Now they convert them to columns with datatype
                           <code>boolean</code> (not perfect, but better).
                        </li>
                        <li>Fix <code>skyvector</code> bug:
                           <code>dlat</code> and <code>dlon</code>
                           values were being used the wrong way round.
                        </li>
                        <li>Upgrade JEL to v2.0.2.
                           Fixes problem with evaluating void-typed expressions,
                           and possibly some other obscure bugs.
                        </li>
                        <li>Some taplint bug fixes.</li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Behaviour changes:</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Changes to the way that TAP service table/column name reports are
                           interpreted (to conform to original intention of TAP standard).
                           Taplint now checks that table/column names from TAP_SCHEMA
                           and /tables
                           endpoint are regular-or-delimited-identifiers, but no longer
                           submits example queries using supplied column names wrapped in
                           additional quotes.
                        </li>
                        <li>Modify the heuristics that determine whether the first row of
                           a CSV file is a header.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Enhancements (mostly minor):</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Added some functions to the
                           <a href="uk.ac.starlink.ttools.func.Arrays.html">Arrays</a> class
                           that return array-valued results from array-valued parameters:
                           <code>add</code>, <code>subtract</code>,
                           <code>multiply</code>, <code>divide</code>,
                           <code>reciprocal</code>, <code>condition</code>.
                        </li>
                        <li>Improve error reporting in the face of non-VOTable 
                           TAP error responses.
                           In many cases this makes it much easier to see what's going wrong
                           with a TAP query.
                        </li>
                        <li>As a diagnostic tool, when making TAP queries,
                           a log message giving a roughly equivalent <code>curl(1)</code>
                           command is now issued at the CONFIG level
                           (visible using flags <code>-verbose -verbose</code>).
                        </li>
                        <li>New <code>taplint</code> parameter <code>maxtable</code>
                           limits the number of tables tested in the stage that
                           queries data from each individual table (<code>MDQ</code>).
                           May be useful for very large services.
                        </li>
                        <li>New <code>tapquery</code> parameter <code>upvotformat</code>
                           to determine what VOTable serialization variant is used to
                           transmit uploaded tables to the TAP server.
                           Previously uploads were always BINARY which ought to work,
                           but the parameter now defaults to TABLEDATA,
                           since some services (e.g. CADC)
                           currently fail with binary uploads.
                        </li>
                        <li>Minor improvement to version reporting
                           (reports java specification version,
                           no longer issues warning for absent revision string).
                        </li>
                        <li>Update JCDF library to v1.1
                           (minor changes to do with leap seconds).
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 3.0-5 (22 October 2015)</strong></dt>
            <dd>
               
               <ul>
                  <li>Fix error reporting bug when a non-VOTable response is received
                     from a TAP service.
                  </li>
                  <li>Upgrade to JCDF v1.2 - fixes a bug when reading large (multi-2Gb)
                     CDF files.
                  </li>
                  <li>Added source code for an example basic GUI plot application,
                     <code>uk.ac.starlink.ttools.example.BasicPlotGui</code>.
                  </li>
                  <li>The expression language has a new way of
                     <a href="jel-colref.html">referring to a column</a>;
                     if you use the form "<code>Object$</code><em>&lt;column-id&gt;</em>"
                     you get the value as an Object not a primitive.
                     This is a special-interest measure for user-defined
                     functions that need to see null numeric values.
                  </li>
                  <li>Adjust GBIN input handler: 
                     avoid descending into Class-typed members of gbin list objects, 
                     and add logging for object-&gt;column translations.
                  </li>
               </ul>
               
            </dd>
            <dt><strong>Version 3.0-6 (27 November 2015)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>Crossmatching bug fix</strong></dt>
                  <dd>Fix a long-standing crossmatch bug
                     relating to range restriction during pre-processing.
                     This could have caused missed associations (but not false positives)
                     near the edge of coverage regions when using per-row errors,
                     if the scale of the errors differed
                     (especially differed significantly) between the matched tables.
                     It affected <code>matcher</code> values of
                     <code>&lt;n&gt;-d_err</code>, <code>skyerr</code>,
                     <code>2d_ellipse</code> and <code>skyellipse</code> only.
                     Thanks to Grant Kennedy (IoA) for reporting this bug.
                     
                  </dd>
                  <dt><strong>Density plots</strong></dt>
                  <dd>Some more options for making weighted density plots have been added.
                     Since v3.0 the Density shading mode has let you see the density
                     of plotted points, but this lacked some features.
                     Three new ways to do density plots are added; these all give you
                     the option of weighting by an additional coordinate (like the Aux mode),
                     choosing the combination method (mean, median, sum, max, ...),
                     and displaying the quantitative value-colour mapping
                     on the shared colour ramp (previously aux axis) beside the plot.
                     The new density plots are:
                     
                     <ul>
                        <li><a href="shading-weighted.html">Weighted shading mode</a>,
                           using shaped marker kernels on the screen pixel grid,
                           available for all plot types
                        </li>
                        <li><a href="layer-skydensity.html">SkyDensity layer</a>,
                           using HEALPix bins on the celestial sphere, for the Sky plot
                        </li>
                        <li>Density layer
                           (<em>later obsoleted by <a href="layer-grid.html">Grid layer</a></em>),
                           using square N*N screen pixel bins, for the Plane plot
                        </li>
                     </ul>
                     The details are somewhat experimental and may
                     undergo some adjustments in future releases (feedback welcome).
                     
                  </dd>
                  <dt><strong>Colour maps</strong></dt>
                  <dd>There are various changes affecting selection and display of
                     colour maps used for density and aux axis shading:
                     
                     <ul>
                        <li>The default colour map for Aux mode, and other layers using
                           the shared colour map, is no longer Rainbow!  It's Inferno.
                           Rainbow colour maps are much hated by visualisation experts.
                           Of course you can still choose Rainbow if you like.
                        </li>
                        <li>Add some new colour maps: 
                           <em>Viridis</em>, <em>Inferno</em>, <em>Magma</em> and 
                           <em>Plasma</em> from
                           <a href="http://bids.github.io/colormap/">Matplotlib 1.5</a>,
                           the <em>SRON</em> rainbow variant developed by
                           <a href="https://personal.sron.nl/~pault/">Paul Tol</a>,
                           some diverging maps 
                           (<em>HotCold</em>, <em>RdBu</em>, <em>PiYG</em>, <em>BrBG</em>)
                           and a qualitative constant chroma/luminance map 
                           <em>HueCL</em>.
                        </li>
                        <li>The options for Density and Aux shading are now mostly the same
                           as each other except where there's good reason to differ.
                           Previously they were different in haphazard ways.
                        </li>
                        <li>An attempt is made to give the default form of each colour map
                           a sensible name, without leading minus signs.
                        </li>
                        <li>Fix it so that the whole range of each map is distinguishable
                           from white.  This is a good idea when you're plotting symbols
                           on a white background, which is common in stilts.
                           Perhaps there are cases it's not such a good idea;
                           if you think so, complain and I may change it back.
                        </li>
                        <li>Try to fix it so that all the colour maps go in the same
                           direction (light-&gt;dark) where applicable.
                        </li>
                        <li>Throw out a couple of particularly useless colour maps.</li>
                        <li>Colour map ramp display is now different for non-absolute maps;
                           their effect is shown on a selection of base colours,
                           not just for one base colour.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Minor items</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Try harder to identify epoch columns (suitable for time plot),
                           in particular look for VOTable <code>xtype</code> of JD or MJD,
                           and <code>units</code> of year.
                        </li>
                        <li>Add some functions to the
                           <a href="uk.ac.starlink.ttools.func.Tilings.html">Tilings</a> class
                           to do with solid angles
                           (<code>healpixSqdeg</code>,
                           <code>healpixSteradians</code>,
                           <code>steradiansToSqdeg</code>,
                           <code>sqdegToSteradians</code>,
                           <code>SQDEG</code>).
                        </li>
                        <li>Fix plot bug; titles were painted in white
                           for pixel output formats.
                        </li>
                        <li>Rationalise plot report logging.  Some more diagnostic information
                           about plots is now logged at the INFO level
                           (visible if topcat is run with the <code>-verbose</code> flag).
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 3.0-7 (10 June 2016)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>Expression Language</strong></dt>
                  <dd>The JEL library underlying the expression language parser
                     has been upgraded to v2.1.1 (thanks to Konstantin Metlov),
                     now supporting variable-length argument lists among other things.
                     This allows the following improvements:
                     
                     <ul>
                        <li>New functions that support any number of arguments are provided:
                           <code>array</code>, <code>intArray</code>, <code>stringArray</code>
                           in class <a href="uk.ac.starlink.ttools.func.Arrays.html">Arrays</a>;
                           <code>concat</code>, <code>join</code>
                           in class <a href="uk.ac.starlink.ttools.func.Strings.html">Strings</a>;
                           and
                           <code>sum</code>, <code>mean</code>, <code>variance</code>,
                           <code>stdev</code>, <code>min</code>, <code>max</code>,
                           <code>median</code>, <code>countTrue</code>
                           in new class
                           <a href="uk.ac.starlink.ttools.func.Lists.html">Lists</a>.
                        </li>
                        <li>Some old lists of similarly-named functions with fixed numbers
                           of arguments have been replaced by single functions that
                           take an arbitrary number of arguments
                           (e.g. <code>array(x1)</code>, <code>array(x1,x2)</code>, ...
                           <code>array(x1,x2,x3,x4,x5,x6,x7,x8)</code>
                           replaced by <code>array(values...)</code>).
                        </li>
                        <li>The 2-argument <code>min</code>/<code>max</code> functions in class
                           <code>Arithmetic</code> have been renamed
                           <code>minNaN</code>/<code>maxNaN</code> to avoid confusion,
                           but in most cases existing expressions involving min/max
                           will work as before.
                        </li>
                        <li>Some functions that used to require string arguments will now
                           auto-convert numeric types
                           (e.g. <code>concat(toString(RA),";",toString(DEC))</code>
                           can now be written <code>concat(RA,";",DEC)</code>).
                        </li>
                        <li>You can now implement
                           <a href="jelExtend.html">user-defined functions</a> with variable
                           numbers of arguments.
                        </li>
                        <li>Writing large (&gt;=2**31) literal integers used to fail with
                           an inscrutable error message.
                           Now the message tells you to append the
                           "<code>L</code>" character.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Time plots</strong></dt>
                  <dd>The <a href="plot2time.html"><code>plot2time</code></a> command
                     has been enhanced so that it can make <em>multi-zone</em> plots - 
                     multiple plots stacked vertically that share the same horizontal
                     (time) axis but have independent vertical axes.
                     The time plot itself and this multi-zone feature are currently
                     experimental; in future versions they may be improved or changed,
                     and the multi-zone feature may be extended to other plot types.
                     Some other changes and fixes have gone along with this:
                     
                     <ul>
                        <li>A few API changes have been made to support multi-zone plots,
                           including generalising the <code>NavigationListener</code>
                           interface and rearranging some
                           <code>PlotDisplay</code> and <code>AbstractPlot2Task</code>
                           constructor/factory method arguments.
                           For single-zone plots the changes are not very substantial.
                           This only affects you if you are using the STILTS classes
                           as a java plotting library.
                           If that applies to you and you have trouble upgrading,
                           I'm happy to provide assistance.
                        </li>
                        <li><code>plot2time</code> now supports shading modes
                           (<code>shadingN</code> and associated parameters).
                        </li>
                        <li>The <a href="layer-spectrogram.html">spectrogram</a> layer
                           now uses the (per-plot, or more precisely now per-zone)
                           Aux colour map rather than a layer-specific colour map.
                           This means that the colour ramp is displayed alongside the plot,
                           but also that some parameters have been renamed
                           (e.g. <code>auxmapZ</code> replaces <code>spectromapN</code>,
                           where <code>Z</code> is an optional zone suffix
                           and <code>N</code> is an optional layer suffix).
                        </li>
                        <li>The <code>function</code> layer type now works in the time plot,
                           rather than throwing an error.
                           However, it doesn't work very well, since the time coordinate
                           is in unix seconds rather than something more user-friendly.
                        </li>
                        <li>Fixed a serious bug in ISO-8601 axis labelling.
                           In some cases axis labels were being drawn at positions badly
                           different from the correct position.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Miscellaneous enhancements and changes</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>This and subsequent releases target <strong>Java SE 6</strong>,
                           so will no longer
                           run under the (now very ancient) Java 5 runtime.
                        </li>
                        <li>Provide more careful documentation of licensing arrangements.
                           The distributed LICENSE.txt file notes that the starjava code is
                           LGPL, and documents licenses for each third-party dependency.
                        </li>
                        <li>Add <a href="layer-fill.html">Fill</a> layer type for Plane and Time
                           plots.
                        </li>
                        <li><code>tapquery</code> and <code>tapresume</code> now use
                           blocking HTTP requests rather than repeated polls
                           to wait for asynchronous TAP job completion from
                           services that declare themselves UWS 1.1 compliant.
                        </li>
                        <li>Add new parameters
                           <code>executionduration</code> and <code>destruction</code> to
                           <a href="tapquery.html"><code>tapquery</code></a> command.
                           These let you request resource limit adjustments when submitting
                           an asynchronous TAP job.
                        </li>
                        <li>Improve sky plot border painting.</li>
                        <li>Clean up noisy Cubehelix colour map.</li>
                        <li>New function <code>countTrue</code> in class
                           <a href="uk.ac.starlink.ttools.func.Arrays.html">Arrays</a>.
                        </li>
                        <li>New stage <code>EXA</code> for <a href="taplint.html">taplint</a>
                           checks TAP <code>/examples</code> endpoint.
                           Note the details of the examples format are still under discussion,
                           (this version targets WD-DALI-1.1-20160415 &amp;
                           WD-TAP-1.1-20160428, somewhat informed by TAPNotes-2013-12-13),
                           so the details may change in future.
                        </li>
                        <li><code>taplint</code> now validates ObsCore 1.1 where declared
                           alongside ObsCore 1.0.
                           Currently uses PR-ObsCore-v1.1-20160330.
                        </li>
                        <li>The <a href="http://andromeda.star.bris.ac.uk/starjavadocs/uk/ac/starlink/ttools/taplint/package-summary.html">taplint API</a>
                           has changed slightly:
                           the class that used to be <code>Reporter</code>
                           is now called <code>TextOutputReporter</code>.
                           If you are using taplint programmatically you may need to make
                           small changes.  This results from some refactoring that makes
                           it easier to customise taplint output.
                        </li>
                        <li>Replaced <code>opaque</code> config option with
                           <code>transparency</code> for plane and sky density plots.
                        </li>
                        <li>Changed implementation of GIF exporter for plots,
                           from Acme to ImageIO.
                           Shouldn't be any noticable difference.
                           Acme encoding dependency removed.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Bug fixes</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Fix bug in cumulative histogram calculation.</li>
                        <li>Fix read failure for FITS files with non-blank TDIM for
                           zero-length columns.
                        </li>
                        <li>Fix bugs that led to timezone-dependent results when
                           reading ISO-8601 or decimal year time columns.
                        </li>
                        <li>Fix numeric field truncation bug in LaTeX table output.</li>
                        <li>Fix some parameter handling errors in <code>coneskymatch</code>.
                           
                        </li>
                        <li>Fix NullPointerException bug for disjoint regions in some cases in
                           <code>tmatchn</code>.
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 3.0-8 (13 September 2016)</strong></dt>
            <dd>
               
               <ul>
                  <li>New task <a href="tskymap.html">tskymap</a> lets you generate all-sky
                     density maps (e.g. HEALPix) from an input table.
                  </li>
                  <li>New plot layer type <a href="layer-healpix.html">healpix</a>
                     can plot all-sky maps from HEALPix map tables
                     (e.g. as generated by <code>tskymap</code>).
                  </li>
                  <li>Add some HEALPix-related functions to the 
                     <a href="uk.ac.starlink.ttools.func.Tilings.html">Tilings</a> class:
                     conversions from pixel index to sky position and
                     conversions between ring and nested schemes.
                  </li>
                  <li>Subrange-typed plot command parameters like
                     <a href="plot2plane-usage.html">plot2plane</a>'s <code>auxclip</code>
                     now have a default value of null.
                     This uses a default clip, which avoids very light colours.
                     Explicitly supplying a subrange value (e.g. "<code>0,1</code>")
                     can now use the whole range; previously the very light colours
                     were inaccessible.
                  </li>
                  <li>The GBIN input handler
                     can now pick up more metadata from the classpath.
                     For suitable tables, metadata included in datamodel classes 
                     if present can be interrogated to provide table
                     and column descriptions and UCDs.
                     There are still some deficiencies of this functionality
                     (no column order, utypes and units missing,
                     large file "temp.xml" written to current directory)
                     dependent on issues in the upstream Gaia libraries and ICD.
                  </li>
                  <li>Add parameters <code>tablesurl</code>, <code>examplesurl</code> etc
                     to task <a href="taplint.html"><code>taplint</code></a>,
                     so you can specify custom locations for different TAP endpoints
                     rather than have them fixed at their default locations
                     hanging off the base service URL.
                     Ditto for the tasks <code>tapquery</code> and <code>tapskymatch</code>,
                     though in these cases the extra parameters are
                     (since currently rather special interest) largely undocumented.
                  </li>
                  <li>Fix <code>taplint</code> behaviour in absence of a /tables endpoint
                     (404 now gives a Warning not an Error).
                  </li>
                  <li><code>taplint</code> ObsTAP validation updated to
                     PR-ObsCore-v1.1-20160709.
                  </li>
                  <li>Fix bug that caused read failures for large (&gt;0.5Gb) FITS files
                     outside of the current directory on 32-bit JVMs.
                     This was a regression bug since v3.0-2.
                  </li>
                  <li>Fix long-standing bug that failed to release file descriptors
                     when opening FITS tables (could cause an error if very many
                     FITS files were opened).
                  </li>
               </ul>
               
            </dd>
            <dt><strong>Version 3.0-9 (23 September 2016)</strong></dt>
            <dd>
               
               <ul>
                  <li>Fix aux ranging bug in some plot types
                     (SkyDensity, Healpix, Density, Weighted)
                     that used an aux data range too small to show colour variations
                     when <code>auxfunc=log</code>
                     and negative data values were present.
                  </li>
                  <li>Improved performance (better memory use, faster) of some plot types
                     (SkyDensity, Healpix, Density, Weighted).
                  </li>
                  <li>Fix JyStilts bug that could cause the same data to be used for
                     different tables specified in a single plot.
                  </li>
               </ul>
               
            </dd>
            <dt><strong>Version 3.1 (8 March 2017)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>Plotting improvements</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Improved documentation of plot
                           <a href="LayerType.html">layer types</a> and
                           <a href="ShapeMode.html">shading modes</a> in the user document -
                           each option now has an example graphic
                           and the text of the command that generates it.
                        </li>
                        <li>New layer type <a href="layer-grid.html">grid</a>,
                           to plot a 2-d weighted histogram.
                           This replaces the <code>density</code> layer,
                           which has been withdrawn
                           (<code>grid</code> can do all the same things and more,
                           except specify bin size in screen pixels).
                        </li>
                        <li>New plot layer type <a href="layer-quantile.html">quantile</a>,
                           which can (e.g.) plot median lines through noisy data.
                        </li>
                        <li>New plot layer type <a href="layer-gaussian.html">gaussian</a>,
                           for Gaussian fits to histograms.
                        </li>
                        <li>Histogram-like layer types are now available from the
                           <a href="plot2time.html">plot2time</a> command as well as
                           from <code>plot2plane</code>,
                           so you can now plot histograms with a temporal horizontal axis.
                        </li>
                        <li>New normalisation (scaling) option <code>unit</code> for
                           histogram, KDE, and KNN plots.
                        </li>
                        <li>New normalisation (scaling) options <code>per_day</code> etc
                           for histogram, KDE and KNN layers when used from the
                           <code>plot2time</code> command.
                        </li>
                        <li>Colour names recognised by the <code>plot2*</code> command
                           <code>*color</code> parameters
                           now include the (140)
                           <a href="https://www.w3c.org/TR/css3-color#svg-color">CSS-like</a> colours alongside
                           the dozen standard plotting colours.
                        </li>
                        <li>Plot commands <code>insets</code> parameter now lets you specify
                           margins round plots using any combination of
                           <code>&lt;top&gt;,&lt;left&gt;,&lt;bottom&gt;,&lt;right&gt;</code>,
                           rather than requiring all values or none.
                        </li>
                        <li>Add new parameter <code>auxwidth</code> to plot2 commands,
                           to control colour ramp lateral dimension in pixels.
                        </li>
                        <li>Modify <em>plan</em> caching arrangements for STILTS plots.
                           This results in much better interactive performance
                           (navigation etc) for some plot layer types plotted to the screen.
                           There are also some minor API changes to a few of the plot2
                           utility classes, which now provide more flexibility
                           for caching.
                        </li>
                        <li>Various tweaks to the details of how plots are positioned on
                           the screen or in output graphics files.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Miscellaneous enhancements</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Fixed the match score (distance measure) for
                           <a href="CombinedMatchEngine.html">combined matchers</a>.
                           Previously, the score was a linear sum of the unscaled distances
                           for the constituent matchers, which meant a <em>Best</em> match
                           was pretty meaningless.
                           Now, it adds scaled distances in quadrature,
                           so Best matching should give you a somewhat sensible result.
                        </li>
                        <li>The <code><a href="SkyMatchEngine-err.html">skyerr</a></code>
                           and <code><a href="ErrorCartesianMatchEngine.html">nd_err</a></code>
                           matchers now report output separations as scaled (dimensionless)
                           values rather than in physical units; this means the results are
                           more comparable, so <em>Best</em> matches will make more sense.
                        </li>
                        <li><a href="taplint.html">taplint</a>
                           can now optionally write its output in JSON
                           format (see <code>format</code> parameter).
                        </li>
                        <li>Update <code>taplint</code> OBS stage for
                           PR-ObsCore-v1.1-20160923.
                        </li>
                        <li>The <a href="uk.ac.starlink.ttools.func.Maths.html">Maths</a> function
                           <code>hypot</code> now takes an arbitrary number of arguments
                           (instead of exactly two).
                        </li>
                        <li>Add <code>blockmaxrec</code> parameter to
                           <a href="tapskymatch.html">tapskymatch</a>,
                           and improve warning text in case of result truncations.
                        </li>
                        <li>Improve <code>tapquery</code>/<code>tapresume</code> behaviour
                           when monitoring async jobs; if the service goes down,
                           the application will wait for it to come back rather than
                           bailing out.
                        </li>
                        <li>Options for MOC output format
                           (<code>mocfmt</code> parameter
                           in <a href="pixfoot.html">pixfoot</a> command) have changed;
                           option <code>ascii</code> is replaced by <code>json</code>.
                           The old ASCII format was slightly broken JSON in any case.
                        </li>
                        <li>MOC library upgraded to v4.6 (from v3.3).  Improved MOC output.</li>
                        <li>Update JCDF library to v1.2-2 (2017-01-01 leap second).</li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Bug fixes</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Fix KDE/KNN plotting bug that could get scaling badly wrong
                           for normalised cumulative plots.
                        </li>
                        <li>Fix some regression bugs relating to <code>plot2</code> command
                           <code>insets</code> parameter, present since v3.0-6.
                        </li>
                        <li>Remove spurious padding from EPS graphics output.</li>
                        <li>Fix small bug in <code>plot2plane</code>/<code>plot2time</code>
                           label painting; horizontal axis label was sometimes off the
                           bottom of the plot by a few pixels.
                        </li>
                        <li>Fix subpixel offset of colour ramp frame in PDF/PostScript graphics
                           output.
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 3.1-1 (29 September 2017)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>New functionality</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>New plot layer types
                           <a href="layer-xycorr.html">xycorr</a> and
                           <a href="layer-skycorr.html">skycorr</a> for error ellipses rotated
                           as specified by Gaia-style correlation values.
                        </li>
                        <li>New plot layer type <a href="layer-skygrid.html">skygrid</a>
                           can draw multiple sky system coordinate axis grids on sky plot.
                        </li>
                        <li>Colour map parameters
                           (<code>auxmap</code>, <code>densemapN</code> etc)
                           for the plotting commands
                           will now accept custom colour maps that interpolate between
                           a list of named colours,
                           e.g. "<code>HotPink-yellow-SkyBlue</code>".
                        </li>
                        <li>New position angle calculation functions
                           <a href="uk.ac.starlink.ttools.func.CoordsDegrees.html"><code>posAngRadians</code></a>
                           and
                           <a href="uk.ac.starlink.ttools.func.CoordsRadians.html"><code>posAngDegrees</code></a>
                           added to expression language.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Table I/O changes</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>It is now possible to write and re-read tables with &gt;999
                           columns to FITS or colfits format.  The new limit is 2^31 columns.
                           This uses a non-standard convention; software that is not aware
                           of the convention (e.g. CFITSIO or earlier STILTS versions)
                           will only be able to use the first 998 columns of tables written
                           in this way.
                        </li>
                        <li>For VOTable columns that reference <code>COOSYS</code> elements,
                           the relevant information is now accessible as
                           column auxiliary metadata
                           (<code>CoosysSystem</code>, <code>CoosysEpoch</code>,
                           <code>CoosysEquinox</code>)
                           e.g. using the <a href="meta.html"><code>meta</code></a> filter.
                        </li>
                        <li>Any columns referencing <code>COOSYS</code> elements
                           read from VOTable-based formats (VOTable or FITS-plus)
                           will now be written out to VOTable-based formats with
                           equivalent COOSYS references included.
                           Currently not table parameters though.
                        </li>
                        <li>The default version for output VOTables is now VOTable 1.3.
                           New output formats <code>votable-binary2-inline</code> and
                           <code>votable-binary2-href</code> are now offered alongside
                           the five previously available VOTable variants.
                        </li>
                        <li>Slight changes to the FITS-plus output handler VOTable formatting
                           in the primary HDU; now uses default output VOTable version
                           rather than VOTable 1.1.
                        </li>
                        <li>FITS keywords using the ESO
                           <a href="https://fits.gsfc.nasa.gov/registry/hierarch_keyword.html">HIERARCH</a>
                           convention can now be read as table parameters
                           rather than ignored when reading FITS tables.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Minor behaviour changes</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>The <code>charset</code> parameter of <code>votcopy</code>
                           now defaults to UTF-8 rather than the system default.
                        </li>
                        <li>Replace parameter <code>autoscale</code> with <code>unit</code> in
                           <a href="layer-skyvector.html"><code>skyvector</code></a> and
                           <a href="layer-skyellipse.html"><code>skyellipse</code></a>
                           plot layers.
                        </li>
                        <li>Change autoscaling defaults for plot layer types
                           <a href="layer-xyvector.html"><code>xyvector</code></a>,
                           <a href="layer-xyzvector.html"><code>xyzvector</code></a>,
                           <a href="layer-skyvector.html"><code>skyvector</code></a>,
                           <a href="layer-xyellipse.html"><code>xyellipse</code></a>,
                           <a href="layer-skyellipse.html"><code>skyellipse</code></a>;
                           autoscaling is now turned <em>off</em> by default.
                           Apologies for this change to behaviour,
                           but it's better for consistency with new layer types
                           <a href="layer-xycorr.html"><code>xycorr</code></a> and
                           <a href="layer-skycorr.html"><code>skycorr</code></a>,
                           and presents less danger of misinterpreted plots.
                        </li>
                        <li>Taplint: downgrade type mismatch error <code>E_QTYP</code>
                           to warning <code>W_QTYP</code> in view of TAP-1.0 Erratum #3.
                        </li>
                        <li>The <code>COOSYS</code> element is now passed without a deprecation
                           warning in VOTable 1.3 documents by
                           the <code>taplint</code> and <code>votlint</code> validators,
                           in view of VOTable-1.3 Erratum #1.
                           The warning is still issued for VOTable 1.2 documents,
                           but the text is toned down.
                        </li>
                        <li>Taplint no longer issues a warning about DataModel references
                           that do not match the <code>vr:IdentifierURI</code> type;
                           this follows TAPRegExt Erratum #1.
                        </li>
                        <li>Modify taplint Examples document @vocab attribute testing in the
                           light of DALI 1.1.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Bug fixes</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Update PixTools (HEALPix) library to 2017-09-06 version
                           (https://github.com/kuropat/eag-HEALPix,
                           <code>447a7be073876dba32</code>).
                           This fixes a bug in
                           <a href="uk.ac.starlink.ttools.func.Tilings.html"><code>healpixRingIndex</code></a> that could give
                           the wrong value for small values of longitude near zero
                           in the equatorial region.
                           It seems possible that this might have led to very infrequent
                           missed associations when crossmatching in these regions,
                           but tests appear to indicate that no such errors would
                           actually have resulted.
                        </li>
                        <li>Long fields (&gt;10240 characters) in output CSV files
                           are no longer truncated.
                        </li>
                        <li>Fix misfeature in
                           <a href="layer-skyvector.html">skyvector</a> and
                           <a href="layer-skyellipse.html">skyellipse</a> plot layers;
                           these now preserve orientation on the sky even when
                           <code>viewsys</code> differs from <code>datasys</code>.
                           Previously the
                           <code>dlat</code>/<code>dlon</code>/<code>posang</code>
                           parameters were always interpreted in
                           the view, rather than the data, sky coordinate system.
                        </li>
                        <li>Fix bug in plot title placement.</li>
                        <li>Fix filename generation error for plotting command
                           animation output (wrong number of digits if frame count
                           was an exact power of 10).
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
            <dt><strong>Version 3.1-2 (7 November 2017)</strong></dt>
            <dd>
               
               <dl>
                  <dt><strong>New expression language functions</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>New functions
                           <a href="uk.ac.starlink.ttools.func.Strings.html"><code>desigTo*</code></a>
                           for extracting positions from IAU-style object designations
                           (like <code>2MASS J04355524+1630331</code>) - use with care.
                        </li>
                        <li>New functions
                           <a href="uk.ac.starlink.ttools.func.CoordsDegrees.html"><code>polarDistanceDegrees</code></a> and
                           <a href="uk.ac.starlink.ttools.func.CoordsRadians.html"><code>polarDistanceRadians</code></a>;
                           these calculate the distance in 3d space between two
                           positions specified in spherical polar coordinates.
                        </li>
                        <li>New functions
                           <a href="uk.ac.starlink.ttools.func.Arithmetic.html"><code>phase</code></a>
                           to help with phase folding given a known period.
                           A new modulus function
                           <a href="uk.ac.starlink.ttools.func.Arithmetic.html"><code>mod</code></a>,
                           whose output is always positive
                           (unlike the <code>%</code> operator) is also added.
                        </li>
                     </ul>
                     
                  </dd>
                  <dt><strong>Bug fixes and workarounds</strong></dt>
                  <dd>
                     
                     <ul>
                        <li>Upgrade JEL to v2.1.2: now you can use functions in the expression
                           language that have the same name as table columns.
                        </li>
                        <li>Add fix to discard on read any VOTable/FITS-plus table parameters
                           with names "<code>uk.ac.starlink.topcat.plot2.TopcatLayer*</code>".
                           These useless items were added in potentially large numbers when
                           saving plotted tables from TOPCAT v4.5 (TOPCAT bug).
                           A null <code>tpipe</code> operation at this version will therefore
                           purge these items.
                        </li>
                        <li>Fix plot bug that sometimes caused error bars to come out
                           very small when exporting to a graphics file.
                           This was a regression bug (present in v3.1-1 but not v3.1).
                        </li>
                        <li>Fix another tiny error bar plotting bug too.</li>
                        <li>Small taplint update; required UCD for
                           <code>obs_publisher_did</code>/<code>publisher_id</code> changed
                           to match REC-ObsCore-1.1 (even though it's an illegal UCD1+).
                        </li>
                     </ul>
                     
                  </dd>
               </dl>
               
            </dd>
         </dl>
         
      </p>
      <hr>Next <a href="secC.1.html">Previous</a> <a href="secC.html">Up</a> <a href="index.html">Contents</a> <br>  <b>Up: </b><a href="secC.html">Release Notes</a><br>
       <b>Previous: </b><a href="secC.1.html">Acknowledgements</a><br>
      
      <hr><i>STILTS - Starlink Tables Infrastructure Library Tool Set<br>Starlink User Note256<br>STILTS web page:
         <a href="http://www.starlink.ac.uk/stilts/">http://www.starlink.ac.uk/stilts/</a><br>Author email:
         <a href="mailto:m.b.taylor@bristol.ac.uk">m.b.taylor@bristol.ac.uk</a><br>Mailing list:
         <a href="mailto:topcat-user@jiscmail.ac.uk">topcat-user@jiscmail.ac.uk</a><br></i></body>
</html>