release-notes.html.tmpl 140 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 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 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182
[%# The contents of this file are subject to the Mozilla Public
  # License Version 1.1 (the "License"); you may not use this file
  # except in compliance with the License. You may obtain a copy of
  # the License at http://www.mozilla.org/MPL/
  #
  # Software distributed under the License is distributed on an "AS
  # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
  # implied. See the License for the specific language governing
  # rights and limitations under the License.
  #
  # The Original Code is the Bugzilla Bug Tracking System.
  #
  # The Initial Developer of the Original Code is Everything Solved.
  # Portions created by Everything Solved are Copyright (C) 2006
  # Everything Solved. All Rights Reserved.
  #
  # Contributor(s): Max Kanat-Alexander <mkanat@bugzilla.org>
  #%]

[% PROCESS global/variables.none.tmpl %]
[% INCLUDE global/header.html.tmpl 
  title = "$terms.Bugzilla 3.6 Release Notes" 
  style_urls = ['skins/standard/page.css'] 
%]

<h2>Table of Contents</h2>

<ul class="bz_toc">
  <li><a href="#v36_introduction">Introduction</a></li>
  <li><a href="#v36_point">Updates in this 3.6.x Release</a></li>
  <li><a href="#v36_req">Minimum Requirements</a></li>
  <li><a href="#v36_feat">New Features and Improvements</a></li>
  <li><a href="#v36_issues">Outstanding Issues</a></li>
  <li><a href="#v36_upgrading">Notes On Upgrading From a Previous Version</a></li>
  <li><a href="#v36_code_changes">Code Changes Which May Affect 
    Customizations</a></li>
  <li><a href="#v36_previous">Release Notes for Previous Versions</a></li>
</ul>

<h2 id="v36_introduction">Introduction</h2>

<p>Welcome to [% terms.Bugzilla %] 3.6! The focus of the 3.6 release is
  on improving usability and "polishing up" all our features (by adding
  some pieces that were "missing" or always wanted), although we
  also have a few great new features for you, as well!</p>

<p>If you're upgrading, make sure to read <a href="#v36_upgrading">Notes
  On Upgrading From a Previous Version</a>. If you are upgrading from a release
  before 3.4, make sure to read the release notes for all the 
  <a href="#v36_previous">previous versions</a> in between your version
  and this one, <strong>particularly the Upgrading section of each
  version's release notes</strong>.</p>

<p>We would like to thank <a href="http://www.canonical.com/">Canonical
  Ltd.</a>, <a href="http://www.itasoftware.com/">ITA Software</a>,
  the <a href="http://www.ibm.com/linux/ltc/">IBM Linux Technology Center</a>,
  <a href="http://www.redhat.com/">Red Hat</a>, and 
  <a href="http://www.novell.com/">Novell</a> for funding the development
  of various features and improvements in this release of
  [%+ terms.Bugzilla %].</p>

<h2 id="v36_point">Updates in this 3.6.x Release</h2>

<h3>3.6.1</h3>

<p>This release fixes two security issues. See the
  <a href="http://www.bugzilla.org/security/3.2.6/">Security Advisory</a>
  for details.</p>

<p>In addition, the following important fixes/changes have been made in
  this release:</p>

<ul>
  <li>Using the "Change Columns" page would sometimes result in a
    plain-text page instead of HTML.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=376044">[% terms.Bug %] 376044</a>)
  </li>
  <li>Extensions that have only templates and no code are now working.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=562551">[% terms.Bug %] 562551</a>)
  </li>
  <li><kbd>install-module.pl</kbd> has been fixed so that it installs
    modules properly on both new and old versions of Perl.
     (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=560318">[% terms.Bug %] 560318</a>
     and <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=560330">[% terms.Bug %] 560330</a>)
  </li>
  <li>It is now possible to upgrade from 3.4 to 3.6 when using Oracle.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=561379">[% terms.Bug %] 561379</a>)
  </li>
  <li>Editing a field value's name (using the Field Values admin control
    panel) wasn't working if the value was set as the default for that
    field.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=561296">[% terms.Bug %] 561296</a>)
  </li>
  <li>If you had the <kbd>noresolveonopenblockers</kbd> parameter set,
    [%+ terms.bugs %] couldn't be edited at all if they were marked FIXED
    and had any open blockers. (The parameter is only supposed to prevent
    <em>changing</em> [% terms.bugs %] to FIXED, not modifying already-FIXED
    [%+ terms.bugs %].)
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=565314">[% terms.Bug %] 565314</a>)
  </li>
  <li>Some minor issues with Perl 5.12 were fixed (mostly warnings that Perl
    5.12 was throwing). [% terms.Bugzilla %] now supports Perl 5.12.</li>
</ul>

<h2 id="v36_req">Minimum Requirements</h2>

<p>Any requirements that are new since 3.4.5 will look like
  <span class="req_new">this</span>.</p>

<ul>
  <li><a href="#v36_req_perl">Perl</a></li>
  <li><a href="#v36_req_mysql">For MySQL Users</a></li>
  <li><a href="#v36_req_pg">For PostgreSQL Users</a></li>
  <li><a href="#v36_req_oracle">For Oracle Users</a></li>
  <li><a href="#v36_req_modules">Required Perl Modules</a></li>
  <li><a href="#v36_req_optional_mod">Optional Perl Modules</a></li>
</ul>


<h3 id="v36_req_perl">Perl</h3>

<p>Perl v5.8.1</p>

[% INCLUDE db_req db='mysql' %]

[% INCLUDE db_req db='pg' %]

[% INCLUDE db_req db='oracle' %]

<h3 id="v36_req_modules">Required Perl Modules</h3>

[% INCLUDE req_table reqs = REQUIRED_MODULES
                     new = [] updated = [] %]

<h3 id="v36_req_optional_mod">Optional Perl Modules</h3>

<p>The following perl modules, if installed, enable various
  features of [% terms.Bugzilla %]:</p>

[% INCLUDE req_table reqs = OPTIONAL_MODULES
                     new  = ['JSON-RPC', 'Test-Taint']
                     updated = ['Chart']
                     include_feature = 1 %]

<h2 id="v36_feat">New Features and Improvements</h2>

<ul>
  <li><a href="#v36_feat_usability">General Usability Improvements</a></li>
  <li><a href="#v36_feat_extensions">New Extensions System</a></li>  
  <li><a href="#v36_feat_qs">Improved Quicksearch</a></li>
  <li><a href="#v36_feat_browse">Simple "Browse" Interface</a></li>
  <li><a href="#v36_feat_suexec">SUExec Support</a></li>
  <li><a href="#v36_feat_mpwindows">Experimental mod_perl Support on Windows</a></li>
  <li><a href="#v36_email_attachments">Send Attachments by Email</a></li>
  <li><a href="#v36_feat_jsonrpc">JSON-RPC Interface</a></li>
  <li><a href="#v36_feat_migrate">Migration From Other [% terms.Bug %]-Trackers</a></li>
  <li><a href="#v36_feat_other">Other Enhancements and Changes</a></li>
</ul>

<h3 id="v36_feat_usability">General Usability Improvements</h3>

<p>A <a href="https://wiki.mozilla.org/Bugzilla:CMU_HCI_Research_2008">scientific
  usability study</a> was done on [% terms.Bugzilla %] by researchers
  from Carnegie-Mellon University. As a result of this study,
  <a href="https://bugzilla.mozilla.org/showdependencytree.cgi?id=490786&amp;hide_resolved=0">several
  usability issues</a> were prioritized to be fixed, based on specific data
  from the study.</p>

<p>As a result, you will see many small improvements in [% terms.Bugzilla %]'s
  usability, such as using Javascript to validate certain forms before
  they are submitted, standardizing the words that we use in the user interface,
  being clearer about what [% terms.Bugzilla %] needs from the user,
  and other changes, all of which are also listed individually in this New
  Features section.</p>

<p>Work continues on improving usability for the next release of
  [%+ terms.Bugzilla %], but the results of the research have already
  had an impact on this 3.6 release.</p>

<h3 id="v36_feat_extensions">New Extensions System</h3>

<p>[% terms.Bugzilla %] has a brand-new Extensions system. The system is
  consistent, fast, and
  <a href="[% docs_urlbase FILTER html %]api/Bugzilla/Extension.html">fully
  documented</a>. It makes it possible to easily extend [% terms.Bugzilla %]'s
  code and user interface to add new features or change existing features.
  There's even
  <a href="[% docs_urlbase FILTER html %]api/extensions/create.html">a
  script</a> that will create the basic layout of an extension for you, to
  help you get started. For more information about the new system, see the
  <a href="[% docs_urlbase FILTER html %]api/Bugzilla/Extension.html">Extensions
  documentation</a>.</p>

<p>If you had written any extensions using [% terms.Bugzilla %]'s previous
  extensions system, there is
  <a href="[% docs_urlbase FILTER html %]api/contrib/extension-convert.html">a
  script to help convert old extensions into the new format</a>.</p>

<h3 id="v36_feat_qs">Improved Quicksearch</h3>

<p>The "quicksearch" box that appears on the front page of
  [%+ terms.Bugzilla %] and in the header/footer of every page
  is now simplified and made more powerful. There is a
  <kbd>[?]</kbd> link next to the box that will take you to
  the simplified <a href="page.cgi?id=quicksearch.html">Quicksearch Help</a>,
  which describes every single feature of the system in a simple layout,
  including new features such as the ability to use partial field names
  when searching.</p>

<p>Quicksearch should also be much faster than it was before, particularly
  on large installations.</p>

<p>Note that in order to implement the new quicksearch, certain old
  and rarely-used features had to be removed:

<ul>
  <li><b>+</b> as a prefix to mean "search additional resolutions", and
    <b>+</b> as a prefix to mean "search just the summary". You can
    instead use <kbd>summary:</kbd> to explicitly search summaries.</li>
  <li>Searching the Severity field if you type something that matches
    the first few characters of a severity. You can explicitly search
    the Severity field if you want to find [% terms.bugs %] by severity.</li>
  <li>Searching the Priority field if you typed something that exactly
    matched the name of a priority. You can explicitly search the
    Priority field if you want to find [% terms.bugs %] by priority.</li>
  <li>Searching the Platform and OS fields if you typed in one of a
    certain hard-coded list of strings (like "pc", "windows", etc.).
    You can explicitly search these fields, instead, if you want to
    find [% terms.bugs %] with a specific Platform or OS set.</li>
</ul>

<h3 id="v36_feat_browse">Simple "Browse" Interface</h3>

<p>There is now a "Browse" link in the header of each [% terms.Bugzilla %]
  page that presents a very basic interface that allows users to simply
  browse through all open [% terms.bugs %] in particular components.</p>

<h3 id="v36_feat_suexec">SUExec Support</h3>

<p>[% terms.Bugzilla %] can now be run in Apache's "SUExec" mode,
  which is what control panel software like cPanel and Plesk use
  (so [% terms.Bugzilla %] should now be much easier to install
  on shared hosting). SUExec support shows up as an option
  in the <kbd>localconfig</kbd> file during installation.</p>

<h3 id="v36_feat_mpwindows">Experimental mod_perl Support on Windows</h3>

<p>There is now experimental support for running [% terms.Bugzilla %]
  under mod_perl on Windows, for a significant performance enhancement
  (in exchange for using more memory).</p>

<h3 id="v36_email_attachments">Send Attachments by Email</h3>

<p>The <a href="[% docs_urlbase FILTER html %]api/email_in.html">email_in</a>
  script now supports attaching multiple attachments to [% terms.abug %]
  by email, both when filing and when updating [% terms.abug %].</p>

<h3 id="v36_feat_jsonrpc">JSON-RPC Interface</h3>

<p>[% terms.Bugzilla %] now has support for the
  <a href="http://json-rpc.org/">JSON-RPC</a> WebServices protocol via
  <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService/Server/JSONRPC.html">jsonrpc.cgi</a>.
  The JSON-RPC interface is experimental in this release--if you want any
  fundamental changes in how it works,
  <a href="http://www.bugzilla.org/developers/reporting_bugs.html">let us
  know</a>, for the next release of [% terms.Bugzilla %].</p>

<h3 id="v36_feat_migrate">Migration From Other [% terms.Bug %]-Trackers</h3>

<p>[% terms.Bugzilla %] 3.6 comes with a new script,
  <a href="[% docs_urlbase FILTER html %]api/migrate.html">migrate.pl</a>,
  which allows migration from other [% terms.bug %]-tracking systems.
  Among the various features of the migration system are:</p>

<ul>
  <li>It is non-destructive--you can migrate into an existing
    [%+ terms.Bugzilla %] installation without destroying any data
    in the installation.</li>
  <li>It has a "dry-run" mode so you can test your migration
    before actually running it.</li>
  <li>It is relatively easy to write new migrators for new systems,
    if you know Perl. The basic migration framework does most of the work
    for you, you just have to provide it with the data from your
    [%+ terms.bug %]-tracker. See the
    <a href="[% docs_urlbase FILTER html %]api/Bugzilla/Migrate.html">Bugzilla::Migrate</a>
    documentation and see our current migrator,
    <kbd>Bugzilla/Migrate/GNATS.pm</kbd> for information on how to make your
    own migrator.</li>
</ul>

<p>The first migrator that has been implemented is for the GNATS
  [%+ terms.bug %]-tracking system. We'd love to see migrators for
  other systems! If you want to contribute a new migrator, see our
  <a href="http://wiki.mozilla.org/Bugzilla:Developers">development
  process</a> for details on how to get code into [% terms.Bugzilla %].</p>

<p>Thanks to <a href="http://lambdares.com/">Lambda Research</a> for
  funding the initial development of this feature.</p>

<h3 id="v36_feat_other">Other Enhancements and Changes</h3>

<h4>Enhancements for Users</h4>

<ul>
  <li><b>[% terms.Bug %] Filing:</b> When filing [% terms.abug %],
    [%+ terms.Bugzilla %] now visually indicates which fields are
    mandatory.</li>
  <li><b>[% terms.Bug %] Filing:</b> "Bookmarkable templates" now
    support the "alias" and "estimated hours" fields.</li>
  
  <li><b>[% terms.Bug %] Editing:</b> In previous versions of
    [%+ terms.Bugzilla %], if you added a private comment to [% terms.abug %],
    then <em>none</em> of the changes that you made at that time were
    sent to users who couldn't see the private comment. Now, for users
    who can't see private comments, public changes are sent, but the private
    comment is excluded from their email notification.</li>
  <li><b>[% terms.Bug %] Editing:</b> The controls for groups now
    appear to the right of the attachment and time-tracking tables,
    when editing [% terms.abug %].</li>
  <li><b>[% terms.Bug %] Editing:</b> The "Collapse All Comments"
    and "Expand All Comments" links now appear to the right of the
    comment list instead of above it.</li>
  <li><b>[% terms.Bug %] Editing:</b> The See Also field now supports
    URLs for Google Code Issues and the Debian B[% %]ug-Tracking System.</li>
  <li><b>[% terms.Bug %] Editing:</b> There have been significant performance
    improvements in <kbd>show_bug.cgi</kbd> (the script that displays the
    [% terms.bug %]-editing form), particularly for [% terms.bugs %] that
    have lots of comments or attachments.</li>

  <li><b>Attachments:</b> The "Details" page of an attachment
    now displays itself as uneditable if you can't edit the fields
    there.</li>
  <li><b>Attachments:</b> We now make sure that there is
    a Description specified for an attachment, using JavaScript, before
    the form is submitted.</li>
  <li><b>Attachments:</b> There is now a link back to the [% terms.bug %]
    at the bottom of the "Details" page for an attachment.</li>
  <li><b>Attachments:</b> When you click on an "attachment 12345" link
    in a comment, if the attachment is a patch, you will now see the
    formatted "Diff" view instead of the raw patch.</li>
  <li><b>Attachments</b>: For text attachments, we now let the browser 
    auto-detect the character encoding, instead of forcing the browser to
    always assume the attachment is in UTF-8.</li>
  
  <li><b>Search:</b> You can now display [% terms.bug %] flags as a column
    in search results.</li>
  <li><b>Search:</b> When viewing search results, you can see which columns are
    being sorted on, and which direction the sort is on, as indicated
    by arrows next to the column headers.</li>
  <li><b>Search:</b> You can now search the Deadline field using relative
    dates (like "1d", "2w", etc.).</li>
  <li><b>Search:</b> The iCalendar format of search results now includes
    a PRIORITY field.</li>
  <li><b>Search:</b> It is no longer an error to enter an invalid search
    order in a search URL--[% terms.Bugzilla %] will simply warn you that
    some of your order options are invalid.</li>
  <li><b>Search:</b> When there are no search results, some helpful
    links are displayed, offering actions you might want to take.</li>
  <li><b>Search:</b> For those who like to make their own
    <kbd>buglist.cgi</kbd> URLs (and for people working on customizations),
    <kbd>buglist.cgi</kbd> now accepts nearly every valid field in
    [%+ terms.Bugzilla %] as a direct URL parameter, like
    <kbd>&amp;field=value</kbd>.</li>
  
  <li><b>Requests:</b> When viewing the "My Requests" page, you can now
    see the lists as a normal search result by clicking a link at the
    bottom of each table.</li>
  <li><b>Requests:</b> When viewing the "My Requests" page, if you are
    using Classifications, the Product drop-down will be grouped by
    Classification.</li>

  <li><b>Inbound Email:</b> When filing [% terms.abug %] by email, if the
    product that you are filing the [% terms.bug %] into has some groups
    set as Default for you, the [% terms.bug %] will now be placed into those
    groups automatically.</li>
  <li><b>Inbound Email:</b> The field names that can be used when creating
    [%+ terms.bugs %] by email now exactly matches the set of valid parameters
    to the
    <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService/Bug.html#create">B[% %]ug.create
    WebService function</a>. You can still use most of the old field names
    that 3.4 and earlier used for inbound emails, though, for
    backwards-compatibility.</li>

  <li>If there are multiple languages available for your
    [%+ terms.Bugzilla %], you can now select what language you want
    [%+ terms.Bugzilla %] displayed in using links at the top of every
    page.</li>
  <li>When creating a new account, you will be automatically logged in
    after setting your password.</li>
  <li>There is no longer a maximum password length for accounts.</li>
  <li>In the Dusk skin, it's now easier to see links.</li>
  <li>In the Whining system, you can now choose to receive emails even
    if there are no [% terms.bugs %] that match your searches.</li>
  <li>The arrows in dependency graphs now point the other way, so that
    [%+ terms.bugs %] point at their dependencies.</li>
  
  <li><b>New Charts:</b> You can now convert an existing Saved Search
    into a data series for New Charts.</li>
  <li><b>New Charts:</b> There is now an interface that allows you to
    delete data series.</li>
  <li><b>New Charts:</b> When deleting a product, you now have the option
    to delete the data series that are associated with that product.</li>
</ul>

<h4>Enhancements for Administrators and Developers</h4>

<ul>
  <li>Depending on how your workflow is set up, it is now possible to
    have both UNCONFIRMED and REOPENED show up as status choices for
    a closed [% terms.bug %]. If you only want one or the other to
    show up, you should edit your status workflow appropriately
    (possibly by removing or disabling the REOPENED status).</li>
  <li>You can now "disable" field values so that they don't show
    up as choices on [% terms.abug %] unless they are already set as
    the value for that [% terms.bug %]. This doesn't work for the
    per-product field values (component, target_milestone, and version)
    yet, though.</li>
  <li>Users are now locked out of their accounts for 30 minutes after
    trying five bad passwords in a row during login. Every time a
    user is locked out like this, the user in the "maintainer" parameter
    will get an email.</li>
  <li>The minimum length allowed for a password is now 6 characters.</li>
  <li>The <kbd>UNCONFIRMED</kbd> status being enabled in a product
    is now unrelated to the voting parameters. Instead, there is a checkbox
    to enable the <kbd>UNCONFIRMED</kbd> status in a product.</li>
  <li>Information about duplicates is now stored in the database instead
    of being stored in the <kbd>data/</kbd> directory. On large installations
    this could save several hundred megabytes of disk space.</li>

  <li><b>Installation:</b> When installing [% terms.Bugzilla %], the
    "maintainer" parameter will be automatically set to the administrator
    that was created by <kbd>checksetup.pl</kbd>.</li>
  <li><b>Installation:</b> <kbd>checksetup.pl</kbd> now prints out
    certain errors in a special color so that you know that something
    needs to be done.</li>
  <li><b>Installation:</b> <kbd>checksetup.pl</kbd> is now <em>much</em>
    faster at upgrading installations, particularly older installations.
    Also, it's been made faster to run for the case where it's not
    doing an upgrade.</li>
  <li><b>Installation:</b> If you install [% terms.Bugzilla %] using the
    tarball, the <kbd>CGI.pm</kbd> module from CPAN is now included in
    the <kbd>lib/</kbd> dir. If you would rather use the CGI.pm from your
    global Perl installation, you can delete <kbd>CGI.pm</kbd> and the
    <kbd>CGI</kbd> directory from the <kbd>lib/</kbd> directory.</li>
  
  <li>When editing a group, you can now specify that members of a group
    are allowed to grant others membership in that group itself.</li>
  <li>The ability to compress BMP attachments to PNGs is now an Extension.
    To enable the feature, remove the file
    <kbd>extensions/BmpConvert/disabled</kbd> and then run checksetup.pl.</li>
  <li>The default list of values for the Priority field are now clear English
    words instead of P1, P2, etc.</li>
  <li>There is now a system in place so that all field values can be
    localized. See the <kbd>value_descs</kbd> variable in
    <kbd>template/en/default/global/field-descs.none.tmpl</kbd>.</li>
  <li><kbd>config.cgi</kbd> now returns an ETag header and understands
    the If-None-Match header in HTTP requests.</li>
  <li>The XML format of <kbd>show_bug.cgi</kbd> now returns more information:
    the numeric id of each comment, whether an attachment is a URL,
    the modification time of an attachment, the numeric id of a flag,
    and the numeric id of a flag's type.</li>
  
  <li><b>Parameters:</b> Parameters that aren't actually required are no longer
    in the "Required" section of the Parameters page. Instead, some are in the
    new "General" section, and some are in the new "Advanced" section.</li>
  <li><b>Parameters:</b> The old <kbd>ssl</kbd> parameter has been
    changed to <kbd>ssl_redirect</kbd>, and can only be turned "on" or "off".
    If "on", then all users will be forcibly redirected to SSL whenever
    they access [% terms.Bugzilla %]. When the parameter is off,
    no SSL-related redirects will occur (even if the user directly
    accesses [% terms.Bugzilla %] via SSL, they will <em>not</em> be
    redirected to a non-SSL page).</li>
  <li><b>Parameters:</b> In the Advanced parameters, there is a new parameter,
    <kbd>inbound_proxies</kbd>. If your [% terms.Bugzilla %] is behind a
    proxy, you should set this parameter to the IP address of that proxy.
    Then, [% terms.Bugzilla %] will "believe" any "X-Forwarded-For"
    header sent from that proxy, and correctly use the X-Forwarded-For
    as the end user's IP, instead of believing that all traffic is coming
    from the proxy.</li>
    
  <li><b>Removed Parameter:</b> The <kbd>loginnetmask</kbd> parameter has
    been removed. Since [% terms.Bugzilla %] sends secure cookies, it's no
    longer necessary to always restrict logins to a specific IP or block
    of addresses.</li>
  <li><b>Removed Parameter:</b> The <kbd>quicksearch_comment_cutoff</kbd>
    parameter is gone. Quicksearch now always searches comments; however, it
    uses a much faster algorithm to do it.</li>
  <li><b>Removed Parameter:</b> The <kbd>usermatchmode</kbd> parameter has
    been removed. User-matching is now <em>always</em> done.</li>
  <li><b>Removed Parameter:</b> The <kbd>useentrygroupdefault</kbd> parameter
    has been removed. [% terms.Bugzilla %] now always behaves as though
    that parameter were off.</li>
  <li>The <kbd>t/001compile.t</kbd> test should now always pass, no matter
    what configuration of optional modules you do or don't have installed.</li>
  <li>New script: <kbd>contrib/console.pl</kbd>, which allows you to have
    a "command line" into [% terms.Bugzilla %] by inputting Perl code
    or using a few custom commands.</li>
</ul>

<h4>WebService Changes</h4>

<ul>
  <li>The WebService now returns all dates and times in the UTC timezone.
    <kbd>B[% %]ugzilla.time</kbd> now acts as though the [% terms.Bugzilla %]
    server were in the UTC timezone, always. If you want to write clients
    that are compatible across all [% terms.Bugzilla %] versions,
    check the timezone from <kbd>B[% %]ugzilla.timezone</kbd> or
    <kbd>B[% %]ugzilla.time</kbd>, and always input times in that timezone
    and expect times to be returned in that format.</li>
  <li>You can now log in by passing <kbd>Bugzilla_login</kbd> and
    <kbd>Bugzilla_password</kbd> as arguments to any WebService function.
    See the
    <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService.html#LOGGING_IN">Bugzilla::WebService</a>
    documentation for details.</li>
  <li>New Method:
    <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService/Bug.html#attachments">B[% %]ug.attachments</a>
    which allows getting information about attachments.</li>
  <li>New Method:
    <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService/Bug.html#fields">B[% %]ug.fields</a>,
    which gets information about all the fields that [% terms.abug %] can have
    in [% terms.Bugzilla %], include custom fields and legal values for
    all fields. The <kbd>B[% %]ug.legal_values</kbd> method is now deprecated.</li>
  <li>In the <kbd>B[% %]ug.add_comment</kbd> method, the "private" parameter
    has been renamed to "is_private" (for consistency with other methods).
    You can still use "private", though, for backwards-compatibility.</li>
  <li>The WebService now has Perl's "taint mode" turned on. This means that
    it validates all data passed in before sending it to the database.
    Also, all parameter names are validated, and if you pass in a parameter
    whose name contains anything other than letters, numbers, or underscores,
    that parameter will be ignored. Mostly this just affects
    customizers--[% terms.Bugzilla %]'s WebService is not functionally
    affected by these changes.</li>
  <li>In previous versions of [% terms.Bugzilla %], error messages were
    sent word-wrapped to the client, from the WebService. Error messages
    are now sent as one unbroken line.</li>
</ul>

<h2 id="v36_issues">Outstanding Issues</h2>

<ul>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=423439">
    [%- terms.Bug %] 423439</a>: Tabs in comments will be converted
    to four spaces, due to a b<!-- -->ug in Perl as of Perl 5.8.8.</li>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=69621">
    [%- terms.Bug %] 69621</a>: If you rename or remove a keyword that is
    in use on [% terms.bugs %], you will need to rebuild the "keyword cache"
    by running <a href="sanitycheck.cgi">sanitycheck.cgi</a> and choosing 
    the option to rebuild the cache when it asks. Otherwise keywords may 
    not show up properly in search results.</li>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=89822">
    [%- terms.Bug %] 89822</a>: When changing multiple [% terms.bugs %] at 
    the same time, there is no "mid-air collision" protection.</li>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=276230">
    [%- terms.Bug %] 276230</a>: The support for restricting access to 
    particular Categories of New Charts is not complete. You should treat 
    the 'chartgroup' Param as the only access mechanism available.<br>
    However, charts migrated from Old Charts will be restricted to 
    the groups that are marked MANDATORY for the corresponding Product.
    There is currently no way to change this restriction, and the 
    groupings will not be updated if the group configuration
    for the Product changes.</li>
</ul>

<h2 id="v36_upgrading">Notes On Upgrading From a Previous Version</h2>

<p>When upgrading to 3.6, <kbd>checksetup.pl</kbd> will create foreign keys
  for many columns in the database. Before doing this, it will check the
  database for consistency. If there are an unresolvable consistency
  problems, it will tell you what table and column in the database contain
  the bad values, and which values are bad. If you don't know what else to do,
  you can always delete the database records which contain the bad values by
  logging in to your database and running the following command:</p>

<p><code>DELETE FROM <var>table</var> WHERE <var>column</var> IN 
  (<var>1, 2, 3, 4</var>)</code></p>

<p>Just replace "table" and "column" with the name of the table 
  and column that <kbd>checksetup.pl</kbd> mentions, and "1, 2, 3, 4"
  with the invalid values that <kbd>checksetup.pl</kbd> prints out.</p>

<p>Remember that you should always back up your database before doing
  an upgrade.</p>

<h2 id="v36_code_changes">Code Changes Which May Affect Customizations</h2>

<ul>
  <li>There is no longer a SendBugMail method in the templates, and bugmail
    is no longer sent by processing a template. Instead, it is sent
    by using <kbd>Bugzilla::BugMail::Send</kbd>.</li>
  <li>Comments are now represented as a
    <a href="[% docs_urlbase FILTER html %]api/Bugzilla/Comment.html">Bugzilla::Comment</a>
    object instead of just being hashes.</li>
  <li>In previous versions of [% terms.Bugzilla %], the template for displaying
    [%+ terms.abug %] required a lot of extra variables that are now global
    template variables instead.</li>
  <li>You can now check if optional modules are installed by using
    <kbd>Bugzilla-&gt;feature</kbd> in Perl code or
    <kbd>feature_enabled</kbd> in template code.</li>
  <li>All of the various template header information required to display
    the [% terms.bug %] form is now in one template,
    <kbd>template/en/default/bug/show-header.html.tmpl</kbd>.</li>
  <li>You should now use <kbd>display_value</kbd> instead of
    <kbd>get_status</kbd> or <kbd>get_resolution</kbd> in templates.
    <kbd>display_value</kbd> should be used anywhere that a
    &lt;select&gt;-type field has its values displayed.</li>
</ul>


<h1 id="v36_previous">[% terms.Bugzilla %] 3.4 Release Notes</h1>

<ul class="bz_toc">
  <li><a href="#v34_introduction">Introduction</a></li>
  <li><a href="#v34_point">Updates in this 3.4.x Release</a></li>
  <li><a href="#v34_req">Minimum Requirements</a></li>
  <li><a href="#v34_feat">New Features and Improvements</a></li>
  <li><a href="#v34_issues">Outstanding Issues</a></li>
  <li><a href="#v34_upgrading">Notes On Upgrading From a Previous Version</a></li>
  <li><a href="#v34_code_changes">Code Changes Which May Affect 
    Customizations</a></li>
  <li><a href="#v34_previous">Release Notes for Previous Versions</a></li>
</ul>

<h2 id="v34_introduction">Introduction</h2>

<p>This is [% terms.Bugzilla %] 3.4! [% terms.Bugzilla %] 3.4 brings a lot
  of great enhancements for [% terms.Bugzilla %] over previous versions,
  with various improvements to the user interface, lots of interesting new
  features, and many long-standing requests finally being addressed.</p>

<p>If you're upgrading, make sure to read <a href="#v34_upgrading">Notes
  On Upgrading From a Previous Version</a>. If you are upgrading from a release
  before 3.2, make sure to read the release notes for all the 
  <a href="#v34_previous">previous versions</a> in between your version
  and this one, <strong>particularly the Upgrading section of each
  version's release notes</strong>.</p>

<p>We would like to thank <a href="http://www.canonical.com/">Canonical
  Ltd.</a> for funding development of one new feature, and NASA for funding
  development of several new features through the
  <a href="http://www.sjsufoundation.org/">San Jose State University
  Foundation</a>.</p>

<h2 id="v34_point">Updates In This 3.4.x Release</h2>

<h3>3.4.6</h3>

<ul>
  <li>When doing a search that involves "not equals" or "does not contain the
    string" or similar "negative" search types, the search description that
    appears at the top of the resulting [% terms.bug %] list will indicate
    that the search was of that type.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=474738">[% terms.Bug %] 474738</a>)
  </li>
  <li>In Internet Explorer, users couldn't easily mark a RESOLVED DUPLICATE
    [%+ terms.bug %] as REOPENED, due to a JavaScript error.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=546719">[% terms.Bug %] 546719</a>)
  </li>
  <li>If you use a "bookmarkable template" to pre-fill forms on
    the [% terms.bug %]-filing page, and you have custom fields
    that are only supposed to appear (or only supposed to have certain
    values) based on the values of other fields, those custom fields will
    now work properly.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=538211">[% terms.Bug %] 538211</a>)
  </li>
  <li>If you have a custom field that's only supposed to appear when
    a [% terms.bug %]'s resolution is FIXED, it will now behave properly
    on the [% terms.bug %]-editing form when a user sets the [% terms.bug %]'s
    status to RESOLVED.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=520993">[% terms.Bug %] 520993</a>)
  </li>
  <li>If you are logged-out and using <kbd>request.cgi</kbd>, the Requester
    and Requestee fields no longer respect the <kbd>usermatching</kbd>
    parameter--they always require full usernames.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=533018">[% terms.Bug %] 533018</a>)
  </li>
  <li>If you tried to do a search with too many terms (resulting in a URL
    that was longer than about 7000 characters), Apache would return a 
    500 error instead of your search results.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=513989">[% terms.Bug %] 513989</a>)
  </li>
  <li>[% terms.Bugzilla %] would sometimes lose fields from your sort order
    when you added new fields to your sort order.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=470214">[% terms.Bug %] 470214</a>)
  </li>
  <li>The Atom format of search results would sometimes be missing the
    Reporter or Assignee field for some [% terms.bugs %].
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=537834">[% terms.Bug %] 537834</a>)
  </li>
</ul>

<h3>3.4.5</h3>

<p>This release contains fixes for multiple security issues. See the
  <a href="http://www.bugzilla.org/security/3.0.10/">Security Advisory</a>
  for details.</p>

<p>In addition, the following important fixes/changes have been made in
  this release:</p>

<ul>
  <li>Whining was failing if jobqueue.pl was enabled.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=530270">[% terms.Bug %] 530270</a>)
  </li>
  <li>The Assignee field was empty in Whine mails.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=511216">[% terms.Bug %] 511216</a>)
  </li>
  <li>Administrators can now successfully create user accounts using 
    editusers.cgi when using the "Env" authentication method.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=483987">[% terms.Bug %] 483987</a>)
  </li>
  <li>[% terms.Bug %]mail now uses the timezone of the recipient of the email,
    when displaying the time a comment was made, instead of the timezone of the
    person who made the change.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=534587">[% terms.Bug %] 534587</a>)
  </li>
  <li>"[% terms.bug %] 1234" in comments sometimes would not become a link if
    word-wrapping happened between "[% terms.bug %]" and the number.
   (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=514703">[% terms.Bug %] 514703</a>)
  </li>
  <li>Running checksetup.pl on Windows will no longer pop up an error box
    about OCI.dll.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=480968">[% terms.Bug %] 480968</a>)
  </li>
</ul>

<h3>3.4.4</h3>

<p>This release contains a fix for a security issue. See the
  <a href="http://www.bugzilla.org/security/3.4.3/">Security Advisory</a>
  for details.</p>

<p>Additionally, this release fixes a few minor [% terms.bugs %].</p>

<h3>3.4.3</h3>

<ul>
  <li>[% terms.Bugzilla %] installations running under mod_perl were leaking
    about 512K of RAM per page load.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=517793">[% terms.Bug %] 517793</a>)
  </li>
  <li>Attachments with Unicode characters in their names were being downloaded
    with mangled names. 
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=328628">[% terms.Bug %] 328628</a>)
  </li>
  <li>Creating custom fields with Unicode in their database column name
    is now no longer allowed, as it would break [% terms.Bugzilla %]. If you
    created such a custom field, you should delete it by first marking it 
    obsolete and then clicking "Delete" in the custom field list, using
    <a href="editfields.cgi">editfields.cgi</a>.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=525025">[% terms.Bug %] 525025</a>)
  </li>
  <li>Clicking "submit only my comment" on the "mid-air collisions" page
    was leading to a "Suspicious Action" warning.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=514378">[% terms.Bug %] 514378</a>)
  </li>
  <li>The XML format of [% terms.abug %] accidentally contained the
    word-wrapped content of comments instead of the unwrapped content.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=509152">[% terms.Bug %] 509152</a>)
  </li>
  <li>You can now do <kbd>./install-module.pl --shell</kbd> to get a CPAN
    shell using the configuration of 
    <a href="[% docs_urlbase FILTER html %]api/install-module.html">install-module.pl</a>,
    which allows you to do more advanced Perl module installation tasks.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=445875">[% terms.Bug %] 445875</a>)
  </li>
</ul>

<h3>3.4.2</h3>

<p>This release contains fixes for multiple security issues, one of which
  is highly critical. See the 
  <a href="http://www.bugzilla.org/security/3.0.8/">Security Advisory</a>
  for details.</p>

<p>In addition, the following important fixes/changes have been made in
  this release:</p>

<ul>
  <li>Upgrades from older releases were sometimes failing during UTF-8 
    conversion with a foreign key error. 
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=508181">[% terms.Bug %] 508181</a>)
  </li>
  <li>Sorting [% terms.bug %] lists on certain fields would result in an error.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=510944">[% terms.Bug %] 510944</a>)
  </li>
  <li>[% terms.Bug %] update emails had two or three blank lines at the top
    and between the various sections of the email. There is now only one
    blank line in each of those places, making these emails more compact.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=73330">[% terms.Bug %] 73330</a>)
  </li>
  <li>[% terms.Bug %] email notifications for new [% terms.bugs %] incorrectly
    had a line saying that the description was "Comment 0".
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=510798">[% terms.Bug %] 510798</a>)
  </li>
  <li>Running <kbd>./collectstats.pl --regenerate</kbd> is now much faster,
    on the order of 20x or 100x faster.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=286625">[% terms.Bug %] 286625</a>)
  </li>
  <li>For users of RHEL, CentOS, Fedora, etc. jobqueue.pl can now automatically
    be installed as a daemon by running <kbd>./jobqueue.pl install</kbd>
    as root. 
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=475403">[% terms.Bug %] 475403</a>)
  </li>
  <li>XML-RPC interface responses had an incorrect Content-Length header
    and would sometimes be truncated, if they contained certain UTF-8
    characters.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=486306">[% terms.Bug %] 486306</a>)
  </li>
  <li>Users who didn't have access to the time-tracking fields would get an
    empty [% terms.bug %] update email when the time-tracking fields were
    changed.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=509035">[% terms.Bug %] 509035</a>)
  </li>
  <li>In the New Charts, non-public series now no longer show up as selectable
    if you cannot access them.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=389396">[% terms.Bug %] 389396</a>)
  </li>
</ul>

<h3>3.4.1</h3>

<p>This release contains an important security fix. See the
  <a href="http://www.bugzilla.org/security/3.4/">Security Advisory</a>
  for details.</p>

<h2 id="v34_req">Minimum Requirements</h2>

<p>Any requirements that are new since 3.2.3 will look like
  <span class="req_new">this</span>.</p>

<ul>
  <li><a href="#v34_req_perl">Perl</a></li>
  <li><a href="#v34_req_mysql">For MySQL Users</a></li>
  <li><a href="#v34_req_pg">For PostgreSQL Users</a></li>
  <li><a href="#v34_req_oracle">For Oracle Users</a></li>
  <li><a href="#v34_req_modules">Required Perl Modules</a></li>
  <li><a href="#v34_req_optional_mod">Optional Perl Modules</a></li>
</ul>

<h3 id="v34_req_perl">Perl</h3>

<p>Perl v5.8.1</p>

<h3 id="v34_req_mysql">For MySQL Users</h3> 
 
<ul> 
  <li>MySQL v4.1.2</li> 
  <li><strong>perl module:</strong> DBD::mysql v4.00</li> 
</ul>

<h3 id="v34_req_pg">For PostgreSQL Users</h3> 
 
<ul> 
  <li>PostgreSQL v8.00.0000</li>
  <li><strong>perl module:</strong> DBD::Pg v1.45</li>
</ul>

<h3 id="v34_req_oracle">For Oracle Users</h3>
 
<ul> 
  <li>Oracle v10.02.0</li>
  <li><strong>perl module:</strong> DBD::Oracle v1.19</li>
</ul> 
 
<h3 id="v34_req_modules">Required Perl Modules</h3>

<table class="req_table" border="0" cellspacing="0" cellpadding="0"> 
  <tr> 
    <th>Module</th> <th>Version</th> 
  </tr> 
  <tr> 
    <td>CGI</td> 
    <td>3.21</td> 
  </tr> 
  <tr> 
    <td class="req_new">Digest::SHA</td> 
    <td class="req_new"> (Any)</td> 
  </tr> 
  <tr> 
    <td>Date::Format</td> 
    <td>2.21</td> 
  </tr> 
  <tr> 
    <td class="req_new">DateTime</td> 
    <td class="req_new">0.28</td> 
  </tr> 
  <tr> 
    <td class="req_new">DateTime::TimeZone</td> 
    <td class="req_new">0.71</td> 
  </tr> 
  <tr> 
    <td>DBI</td> 
    <td>1.41</td> 
  </tr> 
  <tr> 
    <td>Template</td> 
    <td class="req_new">2.22</td> 
  </tr>
  <tr>
    <td>Email::Send</td> 
    <td>2.00</td> 
  </tr> 
  <tr> 
    <td>Email::MIME</td> 
    <td>1.861</td> 
  </tr> 
  <tr> 
    <td>Email::MIME::Encodings</td> 
    <td>1.313</td> 
  </tr> 
  <tr> 
    <td>Email::MIME::Modifier</td> 
    <td>1.442</td> 
  </tr> 
  <tr> 
    <td class="req_new">URI</td> 
    <td class="req_new">(Any)</td> 
  </tr> 
</table> 
 
<h3 id="v34_req_optional_mod">Optional Perl Modules</h3> 
 
<p>The following perl modules, if installed, enable various
  features of [% terms.Bugzilla %]:</p>

<table class="req_table" border="0" cellspacing="0" cellpadding="0"> 
  <tr> 
    <th>Module</th>
    <th>Version</th> 
    <th>Enables Feature</th> 
  </tr> 
  <tr> 
    <td>LWP::UserAgent</td> 
    <td>(Any)</td> 
    <td>Automatic Update Notifications</td> 
  </tr> 
  <tr> 
    <td>Template::Plugin::GD::Image</td> 
    <td>(Any)</td> 
    <td>Graphical Reports</td> 
  </tr> 
  <tr> 
    <td>GD::Text</td> 
    <td>(Any)</td> 
    <td>Graphical Reports</td> 
  </tr> 
  <tr> 
    <td>GD::Graph</td> 
    <td>(Any)</td> 
    <td>Graphical Reports</td> 
  </tr> 
  <tr> 
    <td>GD</td> 
    <td>1.20</td> 
    <td>Graphical Reports, New Charts, Old Charts</td> 
  </tr> 
  <tr> 
    <td>Email::MIME::Attachment::Stripper</td> 
    <td>(Any)</td> 
    <td>Inbound Email</td> 
  </tr> 
  <tr> 
    <td>Email::Reply</td> 
    <td>(Any)</td> 
    <td>Inbound Email</td> 
  </tr> 
  <tr> 
    <td>Net::LDAP</td> 
    <td>(Any)</td> 
    <td>LDAP Authentication</td> 
  </tr> 
  <tr> 
    <td class="req_new">TheSchwartz</td> 
    <td class="req_new">(Any)</td> 
    <td>Mail Queueing</td> 
  </tr> 
  <tr> 
    <td class="req_new">Daemon::Generic</td> 
    <td class="req_new">(Any)</td> 
    <td>Mail Queueing</td> 
  </tr> 
  <tr> 
    <td>HTML::Parser</td> 
    <td>3.40</td> 
    <td>More HTML in Product/Group Descriptions</td> 
  </tr> 
  <tr> 
    <td>HTML::Scrubber</td> 
    <td>(Any)</td> 
    <td>More HTML in Product/Group Descriptions</td> 
  </tr> 
  <tr> 
    <td>XML::Twig</td> 
    <td>(Any)</td> 
    <td>Move [% terms.Bugs %] Between Installations</td> 
  </tr> 
  <tr> 
    <td>MIME::Parser</td> 
    <td>5.406</td> 
    <td>Move [% terms.Bugs %] Between Installations</td> 
  </tr> 
  <tr> 
    <td>Chart::Base</td> 
    <td>1.0</td> 
    <td>New Charts, Old Charts</td> 
  </tr> 
  <tr> 
    <td>Image::Magick</td> 
    <td>(Any)</td> 
    <td>Optionally Convert BMP Attachments to PNGs</td> 
  </tr> 
  <tr> 
    <td>PatchReader</td> 
    <td>0.9.4</td> 
    <td>Patch Viewer</td> 
  </tr> 
  <tr> 
    <td>Authen::Radius</td> 
    <td>(Any)</td> 
    <td>RADIUS Authentication</td> 
  </tr> 
  <tr> 
    <td>Authen::SASL</td> 
    <td>(Any)</td> 
    <td>SMTP Authentication</td> 
  </tr> 
  <tr> 
    <td>SOAP::Lite</td> 
    <td>0.710.06</td> 
    <td>XML-RPC Interface</td> 
  </tr> 
  <tr> 
    <td>mod_perl2</td> 
    <td>1.999022</td> 
    <td>mod_perl</td> 
  </tr> 
</table> 

<h2 id="v34_feat">New Features and Improvements</h2>

<ul>
  <li><a href="#v34_feat_enter">Simple [% terms.Bug %] Filing</a></li>
  <li><a href="#v34_feat_index">New Home Page</a></li>
  <li><a href="#v34_feat_spam">Email Addresses Hidden From Logged-Out 
    Users</a></li>
  <li><a href="#v34_feat_urls">Shorter Search URLs</a></li>
  <li><a href="#v34_feat_async">Asynchronous Email Sending</a></li>
  <li><a href="#v34_feat_tz">Dates and Times Displayed In User's Time
    Zone</a></li>
  <li><a href="#v34_feat_vis">Custom Fields That Only Appear When
    Another Field Has a Particular Value</a></li>
  <li><a href="#v34_feat_vals">Custom Fields Whose List of Values
    Change Depending on the Value of Another Field</a></li>
  <li><a href="#v34_feat_bugid">New Custom Field Type: 
    [%+ terms.Bug %] ID</a></li>
  <li><a href="#v34_feat_see">"See Also" Field</a></li>
  <li><a href="#v34_feat_cols">Re-order Columns in Search Results</a></li>
  <li><a href="#v34_feat_desc">Search Descriptions</a></li>
  <li><a href="#v34_feat_other">Other Enhancements and Changes</a></li>
</ul>

<h3 id="v34_feat_enter">Simple [% terms.Bug %] Filing</h3>

<p>When entering a new [% terms.bug %], the vast majority of fields are
  now hidden by default, which enormously simplifies the bug-filing form. 
  You can click "Show Advanced Fields" to show all the fields, if you want
  them. [%+ terms.Bugzilla %] remembers whether you last used the "Advanced"
  or "Simple" version of the [% terms.bug %]-entry form, and will display the
  same version to you again next time you file [% terms.abug %].</p>

<h3 id="v34_feat_index">New Home Page</h3>

<p>[% terms.Bugzilla %]'s front page has been redesigned to be better at
  guiding new users into the activities that they most commonly want to
  do. Further enhancements to the home page are coming in future versions
  of [% terms.Bugzilla %].</p>

<h3 id="v34_feat_spam">Email Addresses Hidden From Logged-Out Users</h3>

<p>To help prevent spam to [% terms.Bugzilla %] users, all email addresses
  stored in [% terms.Bugzilla %] are now displayed only if you are logged in.
  If you are logged out, only the part before the "@" of the email address is
  displayed. This includes [% terms.bug %] lists, viewing [% terms.bugs %], the
  XML format of [% terms.abug %], and any other place in the web interface that
  an email address could appear.</p>

<p>Email addresses are not filtered out of [% terms.bug %] comments.
  The WebService still returns full email addresses, even if you are logged
  out.</p>

<h3 id="v34_feat_urls">Shorter Search URLs</h3>

<p>When submitting a search, all the unused fields are now stripped from
  the URL, so search URLs are much more meaningful, and much shorter.</p>

<h3 id="v34_feat_async">Asynchronous Email Sending</h3>

<p>The largest performance problem in former versions of [% terms.Bugzilla %]
  was that when updating [% terms.bugs %], email would be sent immediately
  to every user who needed to be notified, and <kbd>process_bug.cgi</kbd>
  would wait for the emails to be sent before continuing.</p>

<p>Now [% terms.Bugzilla %] is capable of queueing emails to be sent
  while [% terms.abug %] is being updated, and sending them in the
  background. This requires the administrator to run a daemon
  that comes with [% terms.Bugzilla %], named
  <a href="[% docs_urlbase FILTER html %]api/jobqueue.html">jobqueue.pl</a>,
  and to enable the <a href="editparams.cgi?section=mta#use_mailer_queue">
  use_mailer_queue</a> parameter.</p>

<p>Using the background email-sending daemon instead of sending mail directly
  should result in a very large speed-up for updating [% terms.bugs %],
  particularly on larger installations.</p>

<h3 id="v34_feat_tz">Dates and Times Displayed In User's Time Zone</h3>

<p>Users can now select what time zone they are in and [% terms.Bugzilla %]
  will adjust displayed times to be correct for their time zone. However,
  times the user inputs are unfortunately still in [% terms.Bugzilla %]'s
  time zone.</p>

<h3 id="v34_feat_vis">Custom Fields That Only Appear When Another Field
    Has a Particular Value</h3>

<p>When creating a new custom field (or updating the definition of
  an existing custom field), you can now say that "this field only
  appears when field X has value Y". (In the future, you will be able
  to select multiple values for "Y", so a field will appear when any
  one of those values is selected.)</p>

<p>This feature only hides fields--it doesn't make their values go away.
  So [% terms.bugs %] will still show up in searches for that field's
  value, but the field won't appear in the user interface.</p>

<p>This is a good way of making Product-specific fields.</p>

<h3 id="v34_feat_vals">Custom Fields Whose List of Values Change
    Depending on the Value of Another Field</h3>

<p>When creating a drop-down or multiple-selection custom field, you can
  now specify that another field "controls the values" of this field.
  Then, when adding values to this field, you can say that a particular
  value only appears when the other field is set to a particular
  value.</p>

<p>Here's an example: Let's say that we create a field called "Colors",
  and we make the Product field "control the values" for Colors. Then we
  add Blue, Red, Black, and Yellow as legal values for the "Colors" field.
  Now we can say that "Blue" and "Red" only appear as valid choices in 
  Product A, "Yellow" only appears in Product B, but "Black" <em>always</em>
  appears.</p>

<p>One thing to note is that this feature only controls what values appear in
  the <em>user interface</em>. [% terms.Bugzilla %] itself will still accept
  any combination of values as valid, in the backend.</p>

<h3 id="v34_feat_bugid">New Custom Field Type: [% terms.Bug %] ID</h3>

<p>You can now create a custom field that holds a reference to a single
  valid [% terms.bug %] ID. In the future this will be enhanced to allow
  [%+ terms.bugs %] to refer to each other via this field.</p>

<h3 id="v34_feat_see">"See Also" Field</h3>

<p>We have added a new standard field called "See Also" to 
  [%+ terms.Bugzilla %]. In this field, you can put URLs to multiple 
  [%+ terms.bugs %] in any [% terms.Bugzilla %] installation, to indicate
  that those [% terms.bugs %] are related to this one. It also supports
  adding URLs to [% terms.bugs %] in 
  <a href="http://launchpad.net/">Launchpad</a>.</p>

<p>Right now, the field just validates the URLs and then displays them, but
  in the future, it will grab information from the other installation about
  the [% terms.bug %] and display it here, and possibly even update the
  other installation.</p>

<p>If your installation does not need this field, you can hide it by disabling
  the <a href="editparams.cgi?section=bugfields#use_see_also">use_see_also
  parameter</a>.</p>

<h3 id="v34_feat_cols">Re-order Columns in Search Results</h3>

<p>There is a new interface for choosing what columns appear in search
  results, which allows you to change the order in which columns appear
  from left to right when viewing the [% terms.bug %] list.</p>

<h3 id="v34_feat_desc">Search Descriptions</h3>

<p>When displaying search results, [% terms.Bugzilla %] will now show
  a brief description of what you searched for, at the top of the
  [%+ terms.bug %] list.</p>

<h3 id="v34_feat_other">Other Enhancements and Changes</h3>

<h4>Enhancements for Users</h4>

<ul>
  <li>You can now log in from every page, using the login form that appears
    in the header or footer when you click "Log In".</li>
  <li>When viewing [% terms.abug %], obsolete attachments are now
    hidden from the attachment list by default. You can show them
    by clicking "Show Obsolete" at the bottom of the attachment list.</li>
  <li>In the Email Preferences, you can now choose to get email when
    a new [% terms.bug %] report is filed and you have a particular 
    role on it.</li>
  <li>When resolving a mid-air collision, you can now choose to submit
    only your comment.</li>
  <li>You can now set the Blocks and Depends On field on the "Change
    Several [% terms.Bugs %] At Once" page.</li>
  <li>If your installation uses the "insidergroup" feature, you can now add
    private comments on the "Change Several [% terms.Bugs %] At Once" 
    page.</li>
  <li>When viewing a search result, you can now hover over any abbreviated
    field to see its full value.</li>
  <li>When logging out, users are now redirected to the main page of
    [%+ terms.Bugzilla %] instead of an empty page.</li>
  <li>When editing [% terms.abug %], text fields (except the comment box) now
    grow longer when you widen your browser window.</li>
  <li>When viewing [% terms.abug %], the Depends On and Blocks list will
    display [% terms.abug %]'s alias if it has one, instead of its id.
    Also, closed [% terms.bugs %] will be sorted to the end of the list.</li>

  <li>If you use the time-tracking features of [% terms.Bugzilla %], and
    you enable the time-tracking related columns in a search result,
    then you will see a summary of the time-tracking data at the
    bottom of the search result.</li>
  <li>For users of time-tracking, the <kbd>summarize_time.cgi</kbd> page
    now contains more data.</li>

  <li>When viewing an attachment's details page while you are logged-out,
    flags are no longer shown as editable.</li>
  <li>Cloning [% terms.abug %] will now retain the "Blocks" and "Depends On"
    fields from the [% terms.bug %] being cloned.</li>
  <li>[% terms.Bug %]mail for new [% terms.bugs %] will now indicate
    what security groups the [% terms.bug %] has been restricted to.</li>
  <li>You can now use any custom drop-down field as an axis for a tabular
    or graphical report.</li>
  <li>The <kbd>X-Bugzilla-Type</kbd> header in emails sent by 
    [%+ terms.Bugzilla %] is now "new" for [% terms.bug %]mail sent for
    newly-filed [% terms.bugs %], and "changed" for emails having to do
    with updated [% terms.bugs %].</li>
  <li>Mails sent by the "Whining" system now contain the header
    <kbd>X-Bugzilla-Type: whine</kbd>.</li>
  <li>[% terms.bug %]mail now contains a X-Bugzilla-URL header to uniquely
    identify which [% terms.Bugzilla %] installation the email came from.</li>
  <li>If you input an invalid regular expression anywhere in
    [%+ terms.Bugzilla %], it will now tell you explicitly instead of failing
    cryptically.</li>
  <li>The <kbd>duplicates.xul</kbd> page (which wasn't used by very many
    people) is now gone.</li>
</ul>

<h4>Enhancements for Administrators and Developers</h4>

<ul>
  <li>[% terms.Bugzilla %] now uses the SHA-256 algorithm (a variant of 
    SHA-2) to encrypt passwords in the database, instead of using Unix's
    "crypt" function. This allows passwords longer than eight characters
    to actually be effective. Each user's password will be converted to
    SHA-256 the first time they log in after you upgrade to 
    [%+ terms.Bugzilla %] 3.4 or later.</li>
  <li>If you are using database replication with [% terms.Bugzilla %],
    many more scripts now take advantage of the read-only slave (the 
    "shadowdb"). It may be safe to open up <kbd>show_bug.cgi</kbd>
    to search-engine indexing by editing your <kbd>robots.txt</kbd> file,
    now, if your [% terms.Bugzilla %] is on fast-enough hardware.</li>
  <li>The database now uses foreign keys to enforce the validity of
    relationships between tables. Not every single table has all its 
    foreign keys yet, but most do.</li>
  <li>Various parameters have been removed, in an effort to de-clutter
    the parameter interface and simplify [% terms.Bugzilla %]'s code.
    The parameters that were removed were: timezone, supportwatchers,
    maxpatchsize, commentonclearresolution, commentonreassignbycomponent,
    showallproducts. They have all been replaced with sensible default
    behaviors. (For example, user watching is now always enabled.)</li>
  <li>When adding <code>&amp;debug=1</code> to the end of a 
    <kbd>buglist.cgi</kbd> URL, [% terms.Bugzilla %] will now also do an
    EXPLAIN on the query, to help debug performance issues.</li>
  <li>When editing flag types in the administrative interface, you can now
    see how many flags of each type have been set.</li>
</ul>

<h4>WebService Changes</h4>

<ul>
  <li>Various functions have been added to the WebService:
    <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService/Bug.html#history">B[% %]ug.history</a>,
    <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService/Bug.html#search">B[% %]ug.search</a>,
    <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService/Bug.html#comments">B[% %]ug.comments</a>,
    <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService/Bug.html#update_see_also">B[% %]ug.update_see_also</a>,
    <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService/User.html#get">User.get</a>,
    and <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService/Bugzilla.html#time">B[% %]ugzilla.time</a>
    (<kbd>B[% %]ugzilla.timezone</kbd> is now deprecated).
  </li>
  <li>For network efficiency, you can now limit which fields are returned 
    from certain WebService functions, like <kbd>User.get</kbd>.</li>
  <li>There is now a "permissive" argument for the <kbd>B[% %]ug.get</kbd>
    WebService function, which causes it not to throw an error when you
    ask for [% terms.bugs %] you can't see.</li>

  <li>The <kbd>B[% %]ug.get</kbd> method now returns many more fields.</li>
  <li>The <kbd>B[% %]ug.add_comment</kbd> method now returns the ID of the comment
    that was just added.</li>
  <li>The <kbd>B[% %]ug.add_comment</kbd> method will now throw an error if you
    try to add a private comment but do not have the correct permissions.
    (In previous versions, it would just silently ignore the <kbd>private</kbd>
    argument if you didn't have the correct permissions.)</li>
  <li>Many WebService function parameters now take individual values in
    addition to arrays.</li>
  <li>The WebService now validates input types--it makes sure that dates
    are in the right format, that ints are actually ints, etc. It will throw
    an error if you send it invalid data. It also accepts empty ints, doubles,
    and dateTimes, and translates them to <kbd>undef</kbd>.</li>
</ul>

<h2 id="v34_issues">Outstanding Issues</h2>

<ul>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=423439">
    [%- terms.Bug %] 423439</a>: Tabs in comments will be converted
    to four spaces, due to a b<!-- -->ug in Perl as of Perl 5.8.8.</li>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=69621">
    [%- terms.Bug %] 69621</a>: If you rename or remove a keyword that is
    in use on [% terms.bugs %], you will need to rebuild the "keyword cache"
    by running <a href="sanitycheck.cgi">sanitycheck.cgi</a> and choosing 
    the option to rebuild the cache when it asks. Otherwise keywords may 
    not show up properly in search results.</li>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=89822">
    [%- terms.Bug %] 89822</a>: When changing multiple [% terms.bugs %] at 
    the same time, there is no "mid-air collision" protection.</li>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=276230">
    [%- terms.Bug %] 276230</a>: The support for restricting access to 
    particular Categories of New Charts is not complete. You should treat 
    the 'chartgroup' Param as the only access mechanism available.<br>
    However, charts migrated from Old Charts will be restricted to 
    the groups that are marked MANDATORY for the corresponding Product.
    There is currently no way to change this restriction, and the 
    groupings will not be updated if the group configuration
    for the Product changes.</li>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=370370">
    [%- terms.Bug %] 370370</a>: mod_perl support is currently not
    working on Windows machines.</li>
</ul>

<h2 id="v34_upgrading">Notes On Upgrading From a Previous Version</h2>

<p>When upgrading to 3.4, <kbd>checksetup.pl</kbd> will create foreign keys
  for many columns in the database. Before doing this, it will check the
  database for consistency. If there are an unresolvable consistency
  problems, it will tell you what table and column in the database contain
  the bad values, and which values are bad. If you don't know what else to do,
  you can always delete the database records which contain the bad values by
  logging in to your database and running the following command:</p>

<p><code>DELETE FROM <var>table</var> WHERE <var>column</var> IN 
  (<var>1, 2, 3, 4</var>)</code></p>

<p>Just replace "table" and "column" with the name of the table 
  and column that <kbd>checksetup.pl</kbd> mentions, and "1, 2, 3, 4"
  with the invalid values that <kbd>checksetup.pl</kbd> prints out.</p>

<p>Remember that you should always back up your database before doing
  an upgrade.</p>

<h2 id="v34_code_changes">Code Changes Which May Affect Customizations</h2>

<ul>
  <li><kbd>checksetup.pl</kbd> now re-writes the <kbd>localconfig</kbd>
    file every time it runs, keeping the current values set (if there
    are any), but moving any unexpected variables into a file called
    <kbd>localconfig.old</kbd>. If you want to continue having custom
    varibles in <kbd>localconfig</kbd>, you will have to add them to
    the <code>LOCALCONFIG_VARS</code> constant in 
    <kbd>Bugzilla::Install::Localconfig</kbd>.</li>
  <li><kbd>Bugzilla::Object-&gt;update()</kbd> now returns something different
    in list context than it does in scalar context.</li>
  <li><kbd>Bugzilla::Object-&gt;check()</kbd> now can take object
    ids in addition to names. Just pass in <code>{ id =&gt; $some_value
    }</code>.</li>
  <li>Instead of being defined in <kbd>buglist.cgi</kbd>, columns for
    search results are now defined in a subroutine called <code>COLUMNS</code>
    in <kbd>Bugzilla::Search</kbd>. The data now mostly comes from the
    <kbd>fielddefs</kbd> table in the database. Search.pm now takes a list
    of column names from fielddefs for its <kbd>fields</kbd> argument instead 
    of literal SQL columns.</li>
  <li><kbd>Bugzilla::Field-&gt;legal_values</kbd> now returns an array of
    <a href="[% docs_urlbase FILTER html %]api/Bugzilla/Field/Choice.html">Bugzilla::Field::Choice</a>
    objects instead of an array of strings. Bugzilla::Field::Choice will be used
    in more places, in the future.</li>
  <li>We now use <kbd>Bugzilla::Bug-&gt;check()</kbd> instead of 
    <kbd>ValidateBugId</kbd>.</li>
  <li>The <kbd>groups</kbd> and <kbd>bless_groups</kbd> methods in 
    <kbd>Bugzilla::User</kbd> now return an arrayref of 
    <kbd>Bugzilla::Group</kbd> objects instead of a hashref with
    group ids and group names.</li>
  <li>Standard [% terms.Bugzilla %] drop-down fields now have their type
    set to <kbd>FIELD_TYPE_SINGLE_SELECT</kbd> in the fielddefs table.</li>
  <li><kbd>Bugzilla-&gt;usage_mode</kbd> now defaults to 
    <kbd>USAGE_MODE_CMDLINE</kbd> if we are not running inside a web
    server.</li>
  <li>We no longer delete environment variables like <kbd>$ENV{PATH}</kbd>
    automatically unless we're actually running in taint mode.</li>
  <li>We are now using YUI 2.6.0.</li>
  <li>In <a href="config.cgi?ctype=rdf">the RDF format of config.cgi</a>,
    the "resource" attribute for flags now contains "flag.cgi" instead
    of "flags.cgi".</li>
</ul>







<h1 id="v34_previous">[% terms.Bugzilla %] 3.2 Release Notes</h1>

<h2>Table of Contents</h2>

<ul class="bz_toc">
  <li><a href="#v32_introduction">Introduction</a></li>
  <li><a href="#v32_point">Updates In This 3.2.x Release</a></li>
  <li><a href="#v32_security">Security Fixes In This 3.2.x Release</a></li>
  <li><a href="#v32_req">Minimum Requirements</a></li>
  <li><a href="#v32_feat">New Features and Improvements</a></li>
  <li><a href="#v32_issues">Outstanding Issues</a></li>
  <li><a href="#v32_upgrading">How to Upgrade From An Older Version</a></li>
  <li><a href="#v32_code_changes">Code Changes Which May Affect 
    Customizations</a></li>
  <li><a href="#v32_previous">Release Notes for Previous Versions</a></li>
</ul>

<h2 id="v32_introduction">Introduction</h2>

<p>Welcome to [% terms.Bugzilla %] 3.2! This is our first major feature
  release since [% terms.Bugzilla %] 3.0, and it brings a lot of great
  improvements and polish to the [% terms.Bugzilla %] experience.</p>

<p>If you're upgrading, make sure to read <a href="#v32_upgrading">How to
  Upgrade From An Older Version</a>. If you are upgrading from a release
  before 3.0, make sure to read the release notes for all the 
  <a href="#v32_previous">previous versions</a> in between your version
  and this one, <strong>particularly the "Notes For Upgraders" section of each
  version's release notes</strong>.</p>

<h2 id="v32_point">Updates in this 3.2.x Release</h2>

<p>This section describes what's changed in the most recent b<!-- -->ug-fix
  releases of [% terms.Bugzilla %] after 3.2. We only list the
  most important fixes in each release. If you want a detailed list of
  <em>everything</em> that's changed in each version, you should use our
  <a href="http://www.bugzilla.org/status/changes.html">Change Log 
  Page</a>.</p>

<h3>3.2.3</h3>

<ul>
  <li>[% terms.Bugzilla %] is now compatible with MySQL 5.1.x versions 5.1.31
    and greater.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=480001">[% terms.Bug %] 480001</a>)</li>
  <li>On Windows, [% terms.Bugzilla %] sometimes would send mangled emails 
    (that would often fail to send).
  (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=467920">[% terms.Bug %] 467920</a>)</li>
  <li><code>recode.pl</code> would sometimes crash when trying to convert
    databases from older versions of [% terms.Bugzilla %].
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=431201">[% terms.Bug %] 431201</a>)</li>
  <li>Running a saved search with Unicode characters in its name would
    cause [% terms.Bugzilla %] to crash.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=477513">[% terms.Bug %] 477513</a>)</li>
  <li>[% terms.Bugzilla %] clients like Mylyn can now update [% terms.bugs %]
    again (the [% terms.bug %] XML format now contains a "token" element that
    can be used when updating [% terms.abug %]).
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=476678">[% terms.Bug %] 476678</a>)</li>
  <li>For installations using the <code>shadowdb</code> parameter, 
    [%+ terms.Bugzilla %] was accidentally writing to the "tokens" table
    in the shadow database (instead of the master database) when using the
    "Change Several [% terms.Bugs %] at Once" page.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=476943">[% terms.Bug  %] 476943</a>)</li>
</ul>

<p>This release also contains a security fix. See the
  <a href="#v32_security">Security Fixes Section</a> for details.</p>

<h3>3.2.2</h3>

<p>This release fixes one security issue that is critical for installations
  running 3.2.1 under mod_perl. See the 
  <a href="http://www.bugzilla.org/security/3.0.7/">Security Advisory</a>
  for details.</p>

<h3>3.2.1</h3>

<ul>
  <li>Attachments, charts, and graphs would sometimes be garbled on Windows.
  (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=464992">[% terms.Bug %] 464992</a>)</li>

  <li>Saving changes to parameters would sometimes fail silently (particularly
    on Windows when the web server didn't have the right permissions to
    update the <code>params</code> file). [% terms.Bugzilla %] will now
    throw an error in this case, telling you what is wrong.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=347707">[% terms.Bug %] 347707</a>)</li>

  <li>If you were using the <code>usemenuforusers</code> parameter,
    and [% terms.abug %] was assigned to (or had a QA Contact of) a disabled
    user, that field would be reset to the first user in the list when
    updating [% terms.abug %].
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=465589">[% terms.Bug %] 465589</a>)</li>

  <li>If you were using the <code>PROJECT</code> environment variable
    to have multiple [% terms.Bugzilla %] installations using one codebase,
    project-specific templates were being ignored. 
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=467324">[% terms.Bug %] 467324</a>)</li>

  <li>Some versions of the SOAP::Lite Perl module had a b[% %]ug that caused
    [%+ terms.Bugzilla %]'s XML-RPC service to break. 
    <code>checksetup.pl</code> now checks for these bad versions and 
    will reject them.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=468009">[% terms.Bug %] 468009</a>)</li>

  <li>The font sizes in various places were too small, when using the
    Classic skin.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=469136">[% terms.Bug %] 469136</a>)</li>
</ul>

<h2 id="v32_security">Security Fixes In This 3.2.x Release</h2>

<h3>3.2.3</h3>

<p>This release fixes one security issue related to attachments. See the
  <a href="http://www.bugzilla.org/security/3.2.2/">Security Advisory</a>
  for details.</p>

<h3>3.2.2</h3>

<p>This release fixes one security issue that is critical for installations
  running 3.2.1 under mod_perl. See the 
  <a href="http://www.bugzilla.org/security/3.0.7/">Security Advisory</a> 
  for details.</p>

<h3>3.2.1</h3>

<p>This release contains several security fixes. One fix may break any
  automated scripts you have that are loading <kbd>process_bug.cgi</kbd>
  directly. We recommend that you read the entire 
  <a href="http://www.bugzilla.org/security/2.22.6/">Security Advisory</a>
  for this release.</p>

<h2 id="v32_req">Minimum Requirements</h2>

<p>Any requirements that are new since 3.0.5 will look like
  <span class="req_new">this</span>.</p>

<ul>
  <li><a href="#v32_req_perl">Perl</a></li>
  <li><a href="#v32_req_mysql">For MySQL Users</a></li>
  <li><a href="#v32_req_pg">For PostgreSQL Users</a></li>
  <li><a href="#v32_req_oracle">For Oracle Users</a></li>
  <li><a href="#v32_req_modules">Required Perl Modules</a></li>
  <li><a href="#v32_req_optional_mod">Optional Perl
    Modules</a></li>
</ul>

<h3 id="v32_req_perl">Perl</h3>

<p>Perl <span class="req_new">v<strong>5.8.1</strong></span></p>

<h3 id="v32_req_mysql">For MySQL Users</h3>

<ul>
  <li>MySQL v4.1.2</li>
    <li><strong>perl module:</strong>
      DBD::mysql <span class="req_new">v4.00</span></li>
</ul>

<h3 id="v32_req_pg">For PostgreSQL Users</h3>

<ul>
  <li>PostgreSQL v8.00.0000</li>
  <li><strong>perl module:</strong> DBD::Pg v1.45</li>
</ul>

<h3 id="v32_req_oracle">Email Addresses Hidden From Logged-Out Users
    For Oracle Users</h3>

<ul>
  <li>Oracle v10.02.0</li>
  <li><strong>perl module:</strong> DBD::Oracle v1.19</li>
</ul>

<h3 id="v32_req_modules">Required Perl Modules</h3>

<table class="req_table" border="0" cellpadding="0" cellspacing="0">
<tr> <th>Module</th>       <th>Version</th> </tr>
<tr> <td>CGI</td>          <td class="req_new">3.21 (on Perl 5.8.x) 
                             or 3.33 (on Perl 5.10.x)</td> </tr>
<tr> <td>Date::Format</td> <td>2.21</td> </tr>
<tr> <td>File::Spec</td>   <td>0.84</td> </tr>
<tr> <td>DBI</td>          <td>1.41</td> </tr>
<tr> <td>Template</td>     <td class="req_new">2.15</td> </tr>
<tr> <td>Email::Send</td>  <td>2.00</td> </tr>
<tr> <td>Email::MIME</td>  <td class="req_new">1.861</td> </tr>
<tr> 
  <td class="req_new">Email::MIME::Encodings</td> 
  <td class="req_new">1.313</td>
</tr>
<tr>
  <td>Email::MIME::Modifier</td> 
  <td class="req_new">1.442</td>
</tr>
</table>

<h3 id="v32_req_optional_mod">Optional Perl Modules</h3>

<p>The following perl modules, if installed, enable various
  features of [% terms.Bugzilla %]:</p>

<table class="req_table" border="0" cellpadding="0" cellspacing="0">
<tr> 
  <th>Module</th>
  <th>Version</th>
  <th>Enables Feature</th>
</tr>
<tr>
  <td>LWP::UserAgent</td>
  <td>(Any)</td>
  <td>Automatic Update Notifications</td>
</tr>
<tr>
  <td>Template::Plugin::GD::Image</td> 
  <td>(Any)</td> 
  <td>Graphical Reports</td>
</tr>
<tr>
  <td>GD::Text</td> 
  <td>(Any)</td> 
  <td>Graphical Reports</td>
</tr>
<tr>
  <td>GD::Graph</td> 
  <td>(Any)</td> 
  <td>Graphical Reports</td>
</tr>
<tr>
  <td>GD</td> 
  <td>1.20</td> 
  <td>Graphical Reports, New Charts, Old Charts</td>
</tr>
<tr>
  <td>Email::MIME::Attachment::Stripper</td> 
  <td>(Any)</td> 
  <td>Inbound Email</td>
</tr>
<tr>
  <td>Email::Reply</td> 
  <td>(Any)</td> 
  <td>Inbound Email</td>
</tr>
<tr>
  <td>Net::LDAP</td> 
  <td>(Any)</td> 
  <td>LDAP Authentication</td>
</tr>
<tr>
  <td>HTML::Parser</td> 
  <td>3.40</td> 
  <td>More HTML in Product/Group Descriptions</td>
</tr>
<tr>
  <td>HTML::Scrubber</td> 
  <td>(Any)</td> 
  <td>More HTML in Product/Group Descriptions</td>
</tr>
<tr>
  <td>XML::Twig</td> 
  <td>(Any)</td> 
  <td>Move [% terms.Bugs %] Between Installations</td>
</tr>
<tr>
  <td>MIME::Parser</td> 
  <td>5.406</td> 
  <td>Move [% terms.Bugs %] Between Installations</td>
</tr>
<tr>
  <td>Chart::Base</td> 
  <td>1.0</td> 
  <td>New Charts, Old Charts</td>
</tr>
<tr>
  <td>Image::Magick</td> 
  <td>(Any)</td> 
  <td>Optionally Convert BMP Attachments to PNGs</td>
</tr>
<tr>
  <td>PatchReader</td> 
  <td>0.9.4</td> 
  <td>Patch Viewer</td>
</tr>
<tr>
  <td class="req_new">Authen::Radius</td> 
  <td class="req_new">(Any)</td> 
  <td>RADIUS Authentication</td>
</tr>
<tr>
  <td class="req_new">Authen::SASL</td> 
  <td class="req_new">(Any)</td> 
  <td>SMTP Authentication</td>
</tr>
<tr>
  <td>SOAP::Lite</td> 
  <td>(Any)</td> 
  <td>XML-RPC Interface</td>
</tr>
<tr>
  <td>mod_perl2</td> 
  <td>1.999022</td> 
  <td>mod_perl</td>
</tr>
</table>

<h2 id="v32_feat">New Features and Improvements</h2>

<ul>
  <li><a href="#v32_feat_ui">Major UI Improvements</a></li>
  <li><a href="#v32_feat_skin">New Default Skin: Dusk</a></li>
  <li><a href="#v32_feat_status">Custom Status Workflow</a></li>
  <li><a href="#v32_feat_fields">New Custom Field Types</a></li>
  <li><a href="#v32_feat_install">Easier Installation</a></li>
  <li><a href="#v32_feat_oracle">Experimental Oracle Support</a></li>
  <li><a href="#v32_feat_utf8">Improved UTF-8 Support</a></li>
  <li><a href="#v32_feat_grcons">Group Icons</a></li>
  <li><a href="#v32_feat_other">Other Enhancements and Changes</a></li>
</ul>

<h3 id="v32_feat_ui">Major UI Improvements</h3>

<p>[% terms.Bugzilla %] 3.2 has had some UI assistance from the NASA
  Human-Computer Interaction department and the new 
  <a href="http://wiki.mozilla.org/Bugzilla:UE">[% terms.Bugzilla %]
  User Interface Team</a>.</p>

<p>In particular, you will notice a massively redesigned [% terms.bug %]
  editing form, in addition to our <a href="#v32_feat_skin">new skin</a>.</p>

<h3 id="v32_feat_skin">New Default Skin: Dusk</h3>

<p>[% terms.Bugzilla %] 3.2 now ships with a skin called "Dusk" that is
  a bit more colorful than old default "Classic" skin.</p>

<p>Upgrading installations will still default to the "Classic" 
  skin--administrators can change the default in the Default Preferences
  control panel. Users can also choose to use the old skin in their
  Preferences (or using the View :: Page Style menu in Firefox).</p>

<p>The changes that [% terms.Bugzilla %] required for Dusk made
  [%+ terms.Bugzilla %] much easier to skin. See the
  <a href="http://wiki.mozilla.org/Bugzilla:Addons#Skins">Addons page</a>
  for additional skins, or try making your own!</p>

<h3 id="v32_feat_status">Custom Status Workflow</h3>

<p>You can now customize the list of statuses in [% terms.Bugzilla %],
  and transitions between them.</p>

<p>You can also specify that a comment must be made on certain transitions.</p>

<h3 id="v32_feat_fields">New Custom Field Types</h3>

<p>[% terms.Bugzilla %] 3.2 has support for three new types of
  custom fields:</p>

<ul>
  <li>Large Text: Adds a multi-line textbox to your [% terms.bugs %].</li>
  <li>Multiple Selection Box: Adds a box that allows you to choose
    multiple items from a list.</li>
  <li>Date/Time: Displays a date and time, along with a JavaScript
    calendar popup to make picking a date easier.</li>
</ul>

<h3 id="v32_feat_install">Easier Installation</h3>

<p>[% terms.Bugzilla %] now comes with a script called 
  <kbd>install-module.pl</kbd> that can automatically download
  and install all of the required Perl modules for [% terms.Bugzilla %].
  It stores them in a directory inside your [% terms.Bugzilla %]
  installation, so you can use it even if you don't have administrator-level
  access to your machine, and without modifying your main Perl install.</p>

<p><kbd>checksetup.pl</kbd> will print out instructions for using
  <kbd>install-module.pl</kbd>, or you can read its
  <a href="[% docs_urlbase FILTER html %]api/install-module.html">documentation</a>.</p>

<h3 id="v32_feat_oracle">Experimental Oracle Support</h3>

<p>[% terms.Bugzilla %] 3.2 contains experimental support for using 
  Oracle as its database. Some features of [% terms.Bugzilla %] are known 
  to be broken on Oracle, but hopefully will be working by our next major
  release.</p>

<p>The [% terms.Bugzilla %] Project, as an open-source project, of course
  does not recommend the use of proprietary database solutions. However,
  if your organization requires that you use Oracle, this will allow
  you to use [% terms.Bugzilla %]!</p>

<p>The [% terms.Bugzilla %] Project thanks Oracle Corp. for their extensive
  development contributions to [% terms.Bugzilla %] which allowed this to 
  happen!</p>

<h3 id="v32_feat_utf8">Improved UTF-8 Support</h3>

<p>[% terms.Bugzilla %] 3.2 now has advanced UTF-8 support in its code,
  including correct handling for truncating and wrapping multi-byte
  languages. Major issues with multi-byte or unusual languages
  are now resolved, and [% terms.Bugzilla %] should now be usable
  by users in every country with little (or at least much less)
  customization.</p>

<h3 id="v32_feat_grcons">Group Icons</h3>

<p>Administrators can now specify that users who are in certain groups
  should have an icon appear next to their name whenever they comment.
  This is particularly useful for distinguishing developers from 
  [%+ terms.bug %] reporters.</p>

<h3 id="v32_feat_other">Other Enhancements and Changes</h3>

<p>These are either minor enhancements, or enhancements that have
  very short descriptions. Some of these are very useful, though!</p>

<h4>Enhancements For Users</h4>

<ul>
  <li><strong>[% terms.Bugs %]</strong>: You can now reassign
    [%+ terms.abug %] at the same time as you are changing its status.</li>
  <li><strong>[% terms.Bugs %]</strong>: When entering [% terms.abug %], 
    you will now see the description of a component when you select it.</li>
  <li><strong>[% terms.Bugs %]</strong>: The [% terms.bug %] view now 
    contains some <a href="http://microformats.org/about/">Microformats</a>,
    most notably for users' names and email addresses.</li>
  <li><strong>[% terms.Bugs %]</strong>: You can now remove a QA Contact
    from [% terms.abug %] simply by clearing the QA Contact field.</li>
  <li><strong>[% terms.Bugs %]</strong>: There is now a user preference 
    that will allow you to exclude the quoted text when replying 
    to comments.</li>
  <li><strong>[% terms.Bugs %]</strong>: You can now expand or collapse
    individual comments in the [% terms.bug %] view.</li>

  <li><strong>Attachments</strong>: There is now "mid-air collision" 
      protection when editing attachments.</li>
  <li><strong>Attachments</strong>: Patches in the Diff Viewer now show 
    line numbers (<a href="https://bugzilla.mozilla.org/attachment.cgi?id=327546">Example</a>).</li>
  <li><strong>Attachments</strong>: After creating or updating an attachment,
    you will be immediately shown the [% terms.bug %] that the attachment
    is on.</li>

  <li><strong>Search</strong>: You can now reverse the sort of 
    [%+ terms.abug %] list by clicking on a column header again.</li>
  <li><strong>Search</strong>: Atom feeds of [% terms.bug %] lists now
    contain more fields.</li>
  <li><strong>Search</strong>: QuickSearch now supports searching flags
    and groups. It also now includes the OS field in the list of fields
    it searches by default.</li>
  <li><strong>Search</strong>: "Help" text can now appear on query.cgi 
    for Internet Explorer and other non-Firefox browsers. (It always
    could appear for Firefox.)</li>

  <li>[% terms.Bugzilla %] now ships with an icon that will show
    up next to the URL in most browsers. If you want to replace it,
    it's in <kbd>images/favicon.ico</kbd>.</li>

  <li>You can now set the Deadline when using "Change Several 
    [%+ terms.Bugs %] At Once"</li>
  <li><strong>Saved Searches</strong> now save their column list, so if 
    you customize the list of columns and save your search, it will 
    always contain those columns.</li>
  <li><strong>Saved Searches</strong>: When you share a search, you can
    now see how many users have subscribed to it, on 
    <kbd>userprefs.cgi</kbd>.</li>
  <li><strong>Saved Searches</strong>: You can now see what group a 
    shared search was shared to, on the list of available shared searches
    in <kbd>userprefs.cgi</kbd>.</li>
  <li><strong>Flags</strong>: If your installation uses drop-down user 
    lists, the flag requestee box will now contain only users who are 
    actually allowed to take requests.</li>
  <li><strong>Flags</strong>: If somebody makes a request to you, and you
    change the requestee to somebody else, the requester is no longer set
    to you. In other words, you can "redirect" requests and maintain the
    original requester.</li>
  <li><strong>Flags</strong>: Emails about flags now will thread properly
    in email clients to be a part of [% terms.abug %]'s thread.</li>
  <li>When using <kbd>email_in.pl</kbd>, you can now add users to the CC
    list by just using <kbd>@cc</kbd> as the field name.</li>
  <li>Many pages (particularly administrative pages) now contain links to
    the relevant section of the [% terms.Bugzilla %] Guide, so you can read 
    the documentation for that page.</li>
  <li>Dependency Graphs should render more quickly, as they now (by default)
    only include the same [% terms.bugs %] that you'd see in the dependency
    tree.</li>
</ul>

<h4>Enhancements For Administrators</h4>

<ul>
  <li><strong>Admin UI</strong>: Instead of having the Administration 
    Control Panel links in the footer, there is now just one link called 
   "Administration" that takes you to a page that links to all the
    administrative controls for [% terms.Bugzilla %].</li>
  <li><strong>Admin UI</strong>: Administrative pages no longer display
    confirmation pages, instead they redirect you to some useful page 
    and display a message about what changed.</li>
  <li><strong>Admin UI</strong>: The interface for editing group 
     inheritance in <kbd>editgroups.cgi</kbd> is much clearer now.</li>
  <li><strong>Admin UI</strong>: When editing a user, you can now see 
    all the components where that user is the Default Assignee or Default
    QA Contact.</li>

  <li><strong>Email</strong>: For installations that use SMTP to send 
    mail (as opposed to Sendmail), [%+ terms.Bugzilla %] now supports
    SMTP Authentication, so that it can log in to your mail server 
    before sending messages.</li>
  <li><strong>Email</strong>: Using the "Test" mail delivery method now
     creates a valid mbox file to make testing easier.</li>

  <li><strong>Authentication</strong>: [% terms.Bugzilla %] now correctly 
    handles LDAP records which contain multiple email addresses. (The first
    email address in the list that is a valid [% terms.Bugzilla %] account 
    will be used, or if this is a new user, the first email address in 
    the list will be used.)</li>
  <li><strong>Authentication</strong>: [% terms.Bugzilla %] can now take 
    a list of LDAP servers to try in order until it gets a successful
    connection.</li>
  <li><strong>Authentication</strong>: [% terms.Bugzilla %] now supports 
    RADIUS authentication.</li>

  <li><strong>Security</strong>: The login cookie is now created as 
    "HTTPOnly" so that it can't be read by possibly malicious scripts. 
    Also, if SSL is enabled on your installation, the login cookie is
    now only sent over SSL connections.</li>
  <li><strong>Security</strong>: The <code>ssl</code> parameter now protects
    every page a logged-in user accesses, when set to "authenticated sessions."
    Also, SSL is now enforced appropriately in the WebServices interface when
    the parameter is set.</li>

  <li><strong>Database</strong>: [% terms.Bugzilla %] now uses transactions in 
    the database instead of table locks. This should generally improve
    performance with many concurrent users. It also means if there is
    an unexpected error in the middle of a page, all database changes made
    during that page will be rolled back.</li>
  <li><strong>Database</strong>: You no longer have to set 
    <code>max_packet_size</code> in MySQL to add large attachments. However,
    you may need to set it manually if you restore a mysqldump into your
    database.</li>

  <li>New WebService functions:
    <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService/Bug.html">B<!-- -->ug.add_comment</a>
    and <a href="[% docs_urlbase FILTER html %]api/Bugzilla/WebService/Bugzilla.html">Bugzilla.extensions</a>.</li>

  <li>You can now delete custom fields, but only if they have never been
    set on any [% terms.bug %].</li>
  <li>There is now a <kbd>--reset-password</kbd> argument to 
    <kbd>checksetup.pl</kbd> that allows you to reset a user's password
    from the command line.</li>
  <li>There is now a script called <kbd>sanitycheck.pl</kbd> that you can
    run from the command line. It works just like <kbd>sanitycheck.cgi</kbd>.
    By default, it only outputs anything if there's an error, so it's
    ideal for administrators who want to run it nightly in a cron job.</li>
  <li>The <kbd>strict_isolation</kbd> parameter now prevents you from setting
    users who cannot see [% terms.abug %] as a CC, Assignee, or QA
    Contact. Previously it only prevented you from adding users who
    could not <em>edit</em> the [% terms.bug %].</li>
  <li>Extensions can now add their own headers to the HTML &lt;head&gt;
    for things like custom CSS and so on.</li>
  <li><kbd>sanitycheck.cgi</kbd> has been templatized, meaning that the
    entire [% terms.Bugzilla %] UI is now contained in templates.</li>
  <li>When setting the <kbd>sslbase</kbd> parameter, you can now specify
    a port number in the URL.</li>
  <li>When importing [% terms.bugs %] using <kbd>importxml.pl</kbd>,
    attachments will have their actual creator set as their creator,
    instead of the person who exported the [% terms.bug %] from the other
    system.</li>
  <li>The voting system is off by default in new installs. This is to
    prepare for the fact that it will be moved into an extension at
    some point in the future.</li>
  <li>The <code>shutdownhtml</code> parameter now works even when 
    [%+ terms.Bugzilla %]'s database server is down.</li>
</ul>

<h3>Enhancements for Localizers (or Localized Installations)</h3>

<ul>
  <li>The documentation can now be localized--in other words, you can have
    documentation installed for multiple languages at once and
    [%+ terms.Bugzilla %] will link to the correct language in its internal
    documentation links.</li>
  <li>[% terms.Bugzilla %] no longer uses the <kbd>languages</kbd> parameter.
    Instead it reads the <kbd>template/</kbd> directory to see which
    languages are available.</li>
  <li>Some of the messages printed by <kbd>checksetup.pl</kbd> can now
    be localized. See <kbd>template/en/default/setup/strings.txt.pl</kbd>.
</ul>

<h2 id="v32_issues">Outstanding Issues</h2>

<ul>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=423439">
    [%- terms.Bug %] 423439</a>: Tabs in comments will be converted
    to four spaces, due to a b<!-- -->ug in Perl as of Perl 5.8.8.</li>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=69621">
    [%- terms.Bug %] 69621</a>: If you rename or remove a keyword that is
    in use on [% terms.bugs %], you will need to rebuild the "keyword cache"
    by running <a href="sanitycheck.cgi">sanitycheck.cgi</a> and choosing 
    the option to rebuild the cache when it asks. Otherwise keywords may 
    not show up properly in search results.</li>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=89822">
    [%- terms.Bug %] 89822</a>: When changing multiple [% terms.bugs %] at 
    the same time, there is no "mid-air collision" protection.</li>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=276230">
    [%- terms.Bug %] 276230</a>: The support for restricting access to 
    particular Categories of New Charts is not complete. You should treat 
    the 'chartgroup' Param as the only access mechanism available.<br>
    However, charts migrated from Old Charts will be restricted to 
    the groups that are marked MANDATORY for the corresponding Product.
    There is currently no way to change this restriction, and the 
    groupings will not be updated if the group configuration
    for the Product changes.</li>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=370370">
    [%- terms.Bug %] 370370</a>: mod_perl support is currently not
    working on Windows machines.</li>
</ul>

<h2 id="v32_upgrading">How to Upgrade From An Older Version</h2>

<h3 id="v32_upgrading_notes">Notes For Upgraders</h3>

<ul>
  <li>If you upgrade by CVS, the <kbd>extensions</kbd> and 
    <kbd>skins/contrib</kbd> directories are now in CVS instead of
    being created by <kbd>checksetup.pl</kbd> If you do a <kbd>cvs update</kbd>
    from 3.0, you will be told that your directories are "in the way" and
    you should delete (or move) them and then do <kbd>cvs update</kbd>
    again. Also, the <kbd>docs</kbd> directory has been restructured
    and after you <kbd>cvs update</kbd> you can delete the <kbd>docs/html</kbd>,
    <kbd>docs/pdf</kbd>, <kbd>docs/txt</kbd>, and <kbd>docs/xml</kbd>
    directories.</li>
  <li>If you are using MySQL, you should know that [% terms.Bugzilla %]
    now uses InnoDB for all tables. <kbd>checksetup.pl</kbd> will convert
    your tables automatically, but if you have InnoDB disabled,
    the upgrade will not be able to complete (and <kbd>checksetup.pl</kbd>
    will tell you so).</li>

  <li><strong>You should also read the 
    <a href="#v30_upgrading_notes">[% terms.Bugzilla %] 3.0 Notes For Upgraders
    section</a> of the 
    <a href="#v32_previous">previous release notes</a> if you are upgrading
    from a version before 3.0.</strong></li>
</ul>

<h3>Steps For Upgrading</h3>

<p>Once you have read the notes above, see the
  <a href="[% docs_urlbase FILTER html %]upgrade.html">Upgrading 
  documentation</a> for instructions on how to upgrade.</p>

<h2 id="v32_code_changes">Code Changes Which May Affect Customizations</h2>

<ul>
  <li><a href="#v32_code_hooks">More Hooks!</a></li>
  <li><a href="#v32_code_search">Search.pm Rearchitecture</a></li>
  <li><a href="#v32_code_lib">lib Directory</a></li>
  <li><a href="#v32_code_other">Other Changes</a></li>
</ul>

<h3 id="v32_code_hooks">More Hooks!</h3>

<p>There are more code hooks in 3.2 than there were in 3.0. See the
  documentation of <a href="[% docs_urlbase FILTER html %]api/Bugzilla/Hook.html">Bugzilla::Hook</a>
  for more details.</p>

<h3 id="v32_code_search">Search.pm Rearchitecture</h3>

<p><kbd>Bugzilla/Search.pm</kbd> has been heavily modified, to be much
  easier to read and use. It contains mostly the same code as it did in
  3.0, but it has been moved around and reorganized significantly.</p>

<h3 id="v32_code_lib">lib Directory</h3>

<p>As part of implementing <a href="#v32_feat_install">install-module.pl</a>,
  [%+ terms.Bugzilla %] was given a local <kbd>lib</kbd> directory which
  it searches for modules, in addition to the standard system path.</p>

<p>This means that all [% terms.Bugzilla %] scripts now start with
  <code>use lib qw(. lib);</code> as one of the first lines.</p>

<h3 id="v32_code_other">Other Changes</h3>

<ul>
  <li>You should now be using <code>get_status('NEW')</code> instead of
    <code>status_descs.NEW</code> in templates.</li>
  <li>The <code>[&#37;# version = 1.0 &#37;]</code> comment at the top of every
    template file has been removed.</li>
</ul>

<h1 id="v32_previous">[% terms.Bugzilla %] 3.0.x Release Notes</h1>

<h2>Table of Contents</h2>

<ul class="bz_toc">
  <li><a href="#v30_introduction">Introduction</a></li>
  <li><a href="#v30_point">Updates In This 3.0.x Release</a></li>
  <li><a href="#v30_req">Minimum Requirements</a></li>
  <li><a href="#v30_feat">New Features and Improvements</a></li>
  <li><a href="#v30_issues">Outstanding Issues</a></li>
  <li><a href="#v30_security">Security Fixes In This Release</a></li>
  <li><a href="#v30_upgrading">How to Upgrade From An Older Version</a></li>
  <li><a href="#v30_code_changes">Code Changes Which May Affect 
    Customizations</a></li>
  <li><a href="#v30_previous">Release Notes for Previous Versions</a></li>
</ul>

<h2 id="v30_introduction">Introduction</h2>

<p>Welcome to [% terms.Bugzilla %] 3.0! It's been over eight years since
  we released [% terms.Bugzilla %] 2.0, and everything has changed since
  then. Even just since our previous release, [% terms.Bugzilla %] 2.22,
  we've added a <em>lot</em> of new features. So enjoy the release, we're
  happy to bring it to you.</p>

<p>If you're upgrading, make sure to read <a href="#v30_upgrading">How to
  Upgrade From An Older Version</a>. If you are upgrading from a release
  before 2.22, make sure to read the release notes for all the 
  <a href="#v30_previous">previous versions</a> in between your version 
  and this one.</p>

<h2 id="v30_point">Updates in this 3.0.x Release</h2>

<p>This section describes what's changed in the most recent b<!-- -->ug-fix
  releases of [% terms.Bugzilla %] after 3.0. We only list the
  most important fixes in each release. If you want a detailed list of
  <em>everything</em> that's changed in each version, you should use our
  <a href="http://www.bugzilla.org/status/changes.html">Change Log Page</a>.</p>

<h3>3.0.6</h3>

<ul>
  <li>Before 3.0.6, unexpected fatal WebService errors would result in
    a <code>faultCode</code> that was a string instead of a number.
   (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=446327">[% terms.Bug %] 446327</a>)</li>
  <li>If you created a product or component with the same name as one you
    previously deleted, it would fail with an error about the series table.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=247936">[% terms.Bug %] 247936</a>)</li>
</ul>

<p>See also the <a href="#v30_security">Security Advisory</a> section for
  information about a security issue fixed in this release.</p>

<h3>3.0.5</h3>

<ul>
  <li>If you don't have permission to set a flag, it will now appear
    unchangeable in the UI.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=433851">[% terms.Bug %] 433851</a>)</li>
  <li>If you were running mod_perl, [% terms.Bugzilla %] was not correctly
    closing its connections to the database since 3.0.3, and so sometimes
    the DB would run out of connections.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=441592">[% terms.Bug %] 441592</a>)</li>
  <li>The installation script is now clear about exactly which 
    <code>Email::</code> modules are required in Perl, thus avoiding the
    problem where emails show up with a body like 
    <samp>SCALAR(0xBF126795)</samp>.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=441541">[% terms.Bug %] 441541</a>)</li>
  <li><a href="[% docs_urlbase FILTER html %]api/email_in.html">email_in.pl</a>
    is no longer case-sensitive for values of <kbd>@product</kbd>.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=365697">[% terms.Bug %] 365697</a>)</li>
</ul>

<p>See also the <a href="#v30_security">Security Advisory</a> section for
  information about security issues fixed in this release.</p>

<h3>3.0.4</h3>

<ul>
  <li>[% terms.Bugzilla %] administrators were not being correctly notified
    about new releases.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=414726">[% terms.Bug %] 414726</a>)</li>

  <li>There could be extra whitespace in email subject lines.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=411544">[% terms.Bug %] 411544</a>)</li>

  <li>The priority, severity, OS, and platform fields were always required by
    the <kbd>B<!-- -->ug.create</kbd> WebService function, even if they had
    defaults specified.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=384009">[% terms.Bug %] 384009</a>)</li>

  <li>Better threading of [% terms.bug %]mail in some email clients.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=376453">[% terms.Bug %] 376453</a>)</li>

  <li>There were many fixes to the Inbound Email Interface 
    (<kbd>email_in.pl</kbd>).
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=92274">[% terms.Bug %] 92274</a>,
     <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=377025">[% terms.Bug %] 377025</a>,
     <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=412943">[% terms.Bug %] 412943</a>,
     <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=413672">[% terms.Bug %] 413672</a>, and
     <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=431721">[% terms.Bug %] 431721</a>)</li>

  <li>checksetup.pl now handles UTF-8 conversion more reliably during upgrades.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=374951">[% terms.Bug %] 374951</a>)</li>

  <li>Comments written in CJK languages are now correctly word-wrapped.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=388723">[% terms.Bug %] 388723</a>)</li>

  <li>All emails will now be sent in the correct language, when the user
    has chosen a language for emails.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=405946">[% terms.Bug %] 405946</a>)

  <li>On Windows, temporary files created when uploading attachments are now
    correctly deleted when the upload is complete.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=414002">[% terms.Bug %] 414002</a>)</li>

  <li><kbd>checksetup.pl</kbd> now prints correct installation instructions
    for Windows users using Perl 5.10.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=414430">[% terms.Bug %] 414430</a>)
</ul>

<p>See also the <a href="#v30_security">Security Advisory</a> section for
  information about security issues fixed in this release.</p>

<h3>3.0.3</h3>

<ul>
  <li>mod_perl no longer compiles [% terms.Bugzilla %]'s code for each Apache
    process individually. It now compiles code only once and shares it among
    each Apache process. This greatly improves performance and highly 
    decreases the memory footprint.
   (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=398241">[% terms.Bug %] 398241</a>)</li>

  <li>You can now search for '---' (without quotes) in versions and milestones.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=362436">[% terms.Bug %] 362436</a>)</li>

  <li>[% terms.Bugzilla %] should no longer break lines unnecessarily in 
    email subjects. This was causing trouble with some email clients.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=374424">[% terms.Bug %] 374424</a>)</li>

  <li>If you had selected "I'm added to or removed from this capacity" option
    for the "CC" role in your email preferences, you wouldn't get mail when
    more than one person was added to the CC list at once.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=394796">[% terms.Bug %] 394796</a>)</li>

  <li>Deleting a user account no longer deletes whines from another user who
    has the deleted account as addressee. The schedule is simply removed, 
    but the whine itself is left intact.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=395924">[% terms.Bug %] 395924</a>)</li>

  <li><kbd>contrib/merge-users.pl</kbd> now correctly merges all required
    fields when merging two user accounts.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=400160">[% terms.Bug %] 400160</a>)</li>

  <li>[% terms.Bugzilla %] no longer requires Apache::DBI to run under 
    mod_perl. It caused troubles such as lost connections with the DB and
    didn't give any important performance gain.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=408766">[% terms.Bug %] 408766</a>)</li>
</ul>

<h3>3.0.2</h3>

<ul>
  <li>[% terms.Bugzilla %] should now work on Perl 5.9.5 (and thus the
    upcoming Perl 5.10.0).
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=390442">[% terms.Bug %] 390442</a>)</li>
</ul>

<p>See also the <a href="#v30_security">Security Advisory</a> section for
  information about an important security issue fixed in this release.</p>

<h3>3.0.1</h3>

<ul>
  <li>For users of Firefox 2, the <code>show_bug.cgi</code> user interface
    should no longer "collapse" after you modify [% terms.abug %].
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=370739">[% terms.Bug %] 370739</a>)</li>
  <li>If you can bless a group, and you share a saved search with that
    group, it will no longer automatically appear in all of that group's
    footers unless you specifically request that it automatically appear
    in their footers.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=365890">[% terms.Bug %] 365890</a>)</li>
  <li>There is now a parameter to allow users to perform searches without
    any search terms. (In other words, to search for just a Product
    and Status on the Simple Search page.) The parameter is called
    <code>specific_search_allow_empty_words</code>.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=385910">[% terms.Bug %] 385910</a>)</li>
  <li>If you attach a file that has a MIME-type of <code>text/x-patch</code>
    or <code>text/x-diff</code>, it will automatically be treated as a 
    patch by [% terms.Bugzilla %].
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=365756">[% terms.Bug %] 365756</a>)</li>
  <li>Dependency Graphs now work correctly on all mod_perl installations.
    There should now be no remaining signficant problems with running
    [%+ terms.Bugzilla %] under mod_perl.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=370398">[% terms.Bug %] 370398</a>)</li>
  <li>If moving [% terms.abug %] between products would remove groups
    from the [% terms.bug %], you are now warned.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=303183">[% terms.Bug %] 303183</a>)</li>
  <li>On IIS, whenever [% terms.Bugzilla %] threw a warning, it would
    actually appear on the web page. Now warnings are suppressed,
    unless you have a file in the <code>data</code> directory called
    <code>errorlog</code>, in which case warnings will be printed there.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=390148">[% terms.Bug %] 390148</a>)</li>
  <li>If you used <kbd>email_in.pl</kbd> to edit [% terms.abug %] that was
    protected by groups, all of the groups would be cleared.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=385453">[% terms.Bug %] 385453</a>)</li>
  <li>PostgreSQL users: New Charts were failing to collect data over time.
    They will now start collecting data correctly.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=257351">[% terms.Bug %] 257351</a>)</li>
  <li>Some flag mails didn't specify who the requestee was. 
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=379787">[% terms.Bug %] 379787</a>)</li>
  <li>Instead of throwing real errors, <kbd>collectstats.pl</kbd> would
    just say that it couldn't find <code>ThrowUserError</code>.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=380709">[% terms.Bug %] 380709</a>)</li>
  <li>Logging into [% terms.Bugzilla %] from the home page works again
    with IIS5. 
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=364008">[% terms.Bug %] 364008</a>)</li>
  <li>If you were using SMTP for sending email, sometimes emails would
    be missing the <code>Date</code> header.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=304999">[% terms.Bug %] 304999</a>).</li>
  <li>In the XML-RPC WebService, <code>B<!-- -->ug.legal_values</code> now
    correctly returns values for custom fields if you request values 
    for custom fields.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=381737">[% terms.Bug %] 381737</a>)</li>
  <li>The "[% terms.Bug %]-Writing Guidelines" page has been shortened
    and re-written.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=378590">[% terms.Bug %] 378590</a>)</li>
  <li>If your <code>urlbase</code> parameter included a port number,
    like <code>www.domain.com:8080</code>, SMTP might have failed.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=384501">[% terms.Bug %] 384501</a>)</li>
  <li>For SMTP users, there is a new parameter, <code>smtp_debug</code>.
    Turning on this parameter will log the full information about
    every SMTP session to your web server's error log, to help with
    debugging issues with SMTP.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=384497">[% terms.Bug %] 384497</a>)</li>
  <li>If you are a "global watcher" (you get all mails from every 
    [%+ terms.bug %]), you can now see that in your Email Preferences.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=365302">[% terms.Bug %] 365302</a>)</li>
  <li>The Status and Resolution of [% terms.bugs %] are now correctly
    localized in CSV search results.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=389517">[% terms.Bug %] 389517</a>)</li>
  <li>The "Subject" line of an email was being mangled if it contained
    non-Latin characters.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=387860">[% terms.Bug %] 387860</a>)</li>
  <li>Editing the "languages" parameter using <kbd>editparams.cgi</kbd> would
    sometimes fail, causing [% terms.Bugzilla %] to throw an error.
    (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=335354">[% terms.Bug %] 335354</a>)</li>
</ul>

<h2 id="v30_req">Minimum Requirements</h2>

<p>Any requirements that are new since 2.22 will look like
  <span class="req_new">this</span>.</p>

<ul>
  <li><a href="#v30_req_perl">Perl</a></li>
  <li><a href="#v30_req_mysql">For MySQL Users</a></li>
  <li><a href="#v30_req_pg">For PostgreSQL Users</a></li>
  <li><a href="#v30_req_modules">Required Perl Modules</a></li>
  <li><a href="#v30_req_optional_mod">Optional Perl
    Modules</a></li>
</ul>


<h3 id="v30_req_perl">Perl</h3>

<ul>
  <li>Perl <span class="req_new">v<strong>5.8.0</strong></span> (non-Windows 
    platforms)</li>
  <li>Perl v<strong>5.8.1</strong> (Windows platforms)</li>
</ul>

<h3 id="v30_req_mysql">For MySQL Users</h3>

<ul>
  <li>MySQL <span class="req_new">v4.1.2</span></li>
  <li><strong>perl module:</strong> DBD::mysql v2.9003</li>
</ul>

<h3 id="v30_req_pg">For PostgreSQL Users</h3>

<ul>
  <li>PostgreSQL v8.00.0000</li>
  <li><strong>perl module:</strong> DBD::Pg v1.45</li>
</ul>

<h3 id="v30_req_modules">Required Perl Modules</h3>

<table class="req_table" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <th>Module</th> <th>Version</th>
  </tr>
    <tr><td>CGI</td> <td>2.93</td>
  </tr>
  <tr>
    <td>Date::Format</td> <td>2.21</td>
  </tr>
  <tr>
    <td>DBI</td> 
    <td class="req_new">1.41</td>
  </tr>
  <tr>
    <td>File::Spec</td> <td>0.84</td>
  </tr>
  <tr>
    <td>Template</td> <td>2.12</td>
  </tr>
  <tr>
    <td class="req_new">Email::Send</td> 
    <td class="req_new">2.00</td>
  </tr>
  <tr>
    <td>Email::MIME</td> 
    <td>1.861</td>
  </tr>
  <tr>
    <td class="req_new">Email::MIME::Modifier</td> 
    <td class="req_new">1.442</td>
  </tr>
</table>

<h3 id="v30_req_optional_mod">Optional Perl Modules</h3>

<p>The following perl modules, if installed, enable various
  features of [% terms.Bugzilla %]:</p>

<table class="req_table" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <th>Module</th> <th>Version</th>
    <th>Enables Feature</th>
  </tr>
   <tr>
     <td class="req_new">LWP::UserAgent</td> 
     <td class="req_new">(Any)</td> 
     <td>Automatic Update Notifications</td>
  </tr>
  <tr>
    <td>Template::Plugin::GD::Image</td> 
    <td>(Any)</td> 
    <td>Graphical Reports</td>
  </tr>
  <tr>
    <td>GD::Graph</td> 
    <td>(Any)</td> 
    <td>Graphical Reports</td>
  </tr>
  <tr>
    <td>GD::Text</td> 
    <td>(Any)</td> 
    <td>Graphical Reports</td>
  </tr>
  <tr>
    <td>GD</td> 
    <td>1.20</td> 
    <td>Graphical Reports, New Charts, Old Charts</td>
  </tr>
  <tr>
    <td class="req_new">Email::MIME::Attachment::Stripper</td> 
    <td class="req_new">(Any)</td> 
    <td>Inbound Email</td>
  </tr>
  <tr>
    <td class="req_new">Email::Reply</td> 
    <td class="req_new">(Any)</td> 
    <td>Inbound Email</td>
  </tr>
  <tr>
    <td>Net::LDAP</td> 
    <td>(Any)</td> 
    <td>LDAP Authentication</td>
  </tr>
  <tr>
    <td>HTML::Parser</td> 
    <td>3.40</td> 
    <td>More HTML in Product/Group Descriptions</td>
  </tr>
  <tr>
    <td>HTML::Scrubber</td> 
    <td>(Any)</td> 
    <td>More HTML in Product/Group Descriptions</td>
  </tr>
  <tr>
    <td>XML::Twig</td> 
    <td>(Any)</td> 
    <td>Move [% terms.Bugs %] Between Installations</td>
  </tr>
  <tr>
    <td>MIME::Parser</td> 
    <td>5.406</td> 
    <td>Move [% terms.Bugs %] Between Installations</td>
  </tr>
  <tr>
    <td>Chart::Base</td> 
    <td>1.0</td> 
    <td>New Charts, Old Charts</td>
  </tr>
  <tr>
    <td>Image::Magick</td> 
    <td>(Any)</td> 
    <td>Optionally Convert BMP Attachments to PNGs</td>
  </tr>
  <tr>
    <td>PatchReader</td> 
    <td>0.9.4</td> 
    <td>Patch Viewer</td>
  </tr>
  <tr>
    <td class="req_new">SOAP::Lite</td> 
    <td class="req_new">(Any)</td> 
    <td>XML-RPC Interface</td>
  </tr>
  <tr>
    <td class="req_new">mod_perl2</td> 
    <td class="req_new">1.999022</td> 
    <td>mod_perl</td>
  </tr>
  <tr>
    <td> CGI</td> 
    <td>3.11</td> 
    <td>mod_perl</td>
  </tr>
</table>

<h2 id="v30_feat">New Features and Improvements</h2>

<ul>
  <li><a href="#v30_feat_cf">Custom Fields</a></li>
  <li><a href="#v30_feat_mp">mod_perl Support</a></li>
  <li><a href="#v30_feat_sq">Shared Saved Searches</a></li>
  <li>
    <a href="#v30_feat_afn">Attachments and Flags on New [% terms.Bugs %]</a>
  </li>
  <li><a href="#v30_feat_cr">Custom Resolutions</a></li>
  <li><a href="#v30_feat_ppp">Per-Product Permissions</a></li>
  <li><a href="#v30_feat_ui">User Interface Improvements</a></li>
  <li><a href="#v30_feat_xml">XML-RPC Interface</a></li>
  <li><a href="#v30_feat_skin">Skins</a></li>
  <li><a href="#v30_feat_sbu">Unchangeable Fields Appear 
    Unchangeable</a></li>
  <li><a href="#v30_feat_et">All Emails in Templates</a></li>
  <li><a href="#v30_feat_df">No More Double-Filed [% terms.Bugs %]</a></li>
  <li><a href="#v30_feat_cc">Default CC List for Components</a></li>
  <li><a href="#v30_feat_emi">File/Modify [% terms.Bugs %] By Email</a></li>
  <li><a href="#v30_feat_gw">Users Who Get All [% terms.Bug %] 
    Notifications</a></li>
  <li><a href="#v30_feat_utf8">Improved UTF-8 Support</a></li>
  <li><a href="#v30_feat_upda">Automatic Update Notification</a></li>
  <li><a href="#v30_feat_welc">Welcome Page for New Installs</a></li>
  <li><a href="#v30_feat_other">Other Enhancements and Changes</a></li>
</ul>

<h3 id="v30_feat_cf">Custom Fields</h3>

<p>[% terms.Bugzilla %] now includes very basic support for custom fields.</p>

<p>Users in the <kbd>admin</kbd> group can add plain-text or drop-down
  custom fields. You can edit the values available for drop-down fields
  using the &quot;Field Values&quot; control panel.</p>

<p>Don't add too many custom fields! It can make [% terms.Bugzilla %]
  very difficult to use. Try your best to get along with the default
  fields, and then if you find that you can't live without custom fields
  after a few weeks of using [% terms.Bugzilla %], only then should you
  start your custom fields.</p>

<h3 id="v30_feat_mp">mod_perl Support</h3>

<p>[% terms.Bugzilla %] 3.0 supports mod_perl, which allows for extremely
  enhanced page-load performance. mod_perl trades memory usage for performance,
  allowing near-instantaneous page loads, but using much more memory.</p>

<p>If you want to enable mod_perl for your [% terms.Bugzilla %], we recommend
  a minimum of 1.5GB of RAM, and for a site with heavy traffic, 4GB to 8GB.</p>

<p>If performance isn't that critical on your installation, you don't
  have the memory, or you are running some other web server than
  Apache, [% terms.Bugzilla %] still runs perfectly as a normal CGI
  application, as well.</p>

<h3 id="v30_feat_sq">Shared Saved Searches</h3>

<p>Users can now choose to &quot;share&quot; their saved searches
  with a certain group. That group will then be able to 
  &quot;subscribe&quot; to those searches, and have them appear
  in their footer.</p>

<p>If the sharer can &quot;bless&quot; the group he's sharing to,
  (that is, if he can add users to that group), it's considered
  that he's a manager of that group, and his queries show up
  automatically in that group's footer (although they can
  unsubscribe from any particular search, if they want.)</p>

<p>In order to allow a user to share their queries, they also
  have to be a member of the group specified in the 
  <code>querysharegroup</code> parameter.</p>

<p>Users can control their shared and subscribed queries from
  the &quot;Preferences&quot; screen.</p>

<h3 id="v30_feat_afn">Attachments and Flags on New [% terms.Bugs %]</h3>

<p>You can now add an attachment while you are filing a new 
  [%+ terms.bug %].</p>

<p>You can also set flags on the [% terms.bug %] and on attachments, while
  filing a new [% terms.bug %].</p>

<h3 id="v30_feat_cr">Custom Resolutions</h3>

<p>You can now customize the list of resolutions available
  in [% terms.Bugzilla %], including renaming the default resolutions.</p>

<p>The resolutions <code>FIXED</code>, <code>DUPLICATE</code>
  and <code>MOVED</code> have a special meaning to [% terms.Bugzilla %],
  though, and cannot be renamed or deleted.</p>

<h3 id="v30_feat_ppp">Per-Product Permissions</h3>

<p>You can now grant users <kbd>editbugs</kbd> and <kbd>canconfirm</kbd>
  for only certain products. You can also grant users <kbd>editcomponents</kbd>
  on a product, which means they will be able to edit that product
  including adding/removing components and other product-specific
  controls.</p>

<h3 id="v30_feat_ui">User Interface Improvements</h3>

<p>There has been some work on the user interface for [% terms.Bugzilla %] 3.0,
  including:</p>

<ul>
  <li>There is now navigation and a search box a the <em>top</em> of
    each page, in addition to the bar at the bottom of the page.</li>
  <li>A re-designed &quot;Format for Printing&quot; page for 
    [%+ terms.bugs %].</li>
  <li>The layout of <kbd>show_bug.cgi</kbd> (the [% terms.bug %] editing 
    page) has been changed, and the attachment table has been redesigned.</li>
</ul>

<h3 id="v30_feat_xml">XML-RPC Interface</h3>

<p>[% terms.Bugzilla %] now has a Web Services interface using the XML-RPC
  protocol. It can be accessed by external applications by going
  to the <kbd>xmlrpc.cgi</kbd> on your installation.</p>

<p>Documentation can be found in the 
  <a href="[% docs_urlbase FILTER html %]api/">[% terms.Bugzilla %] 
  API Docs</a>, in the various <kbd>Bugzilla::WebService</kbd> modules.</p>

<h3 id="v30_feat_skin">Skins</h3>

<p>[% terms.Bugzilla %] can have multiple &quot;skins&quot; installed,
  and users can pick between them. To write a skin, you just have to
  write several CSS files. See the <a href="[% docs_urlbase FILTER html %]cust-skins.html">Custom
  Skins Documentation</a> for more details.</p>

<p>We currently don't have any alternate skins shipping with
  [%+ terms.Bugzilla %]. If you write an alternate skin, please
  let us know!</p>

<h3 id="v30_feat_sbu">Unchangeable Fields Appear Unchangeable</h3>

<p>As long as you are logged in, when viewing [% terms.abug %], if you 
  cannot change a field, it will not look like you can change it. That 
  is, the value will just appear as plain text.</p>

<h3 id="v30_feat_et">All Emails in Templates</h3>

<p>All outbound emails are now controlled by the templating system.
  What used to be the <code>passwordmail</code>, <code>whinemail</code>,
  <code>newchangedmail</code> and <code>voteremovedmail</code>
  parameters are now all templates in the <kbd>template/</kbd> directory.</p>

<p>This means that it's now much easier to customize your outbound
  emails, and it's also possible for localizers to have more
  localized emails as part of their language packs, if they want.</p>

<p>We also added a <code>mailfrom</code> parameter to let you set
  who shows up in the <code>From</code> field on all emails that
  [%+ terms.Bugzilla %] sends.</p>

<h3 id="v30_feat_df">No More Double-Filed [% terms.Bugs %]</h3>

<p>Users of [% terms.Bugzilla %] will sometimes accidentally submit 
  [%+ terms.abug %] twice, either by going back in their web browser, 
  or just by refreshing a page. In the past, this could file the same 
  [%+ terms.bug %] twice (or even three times) in a row, irritating 
  developers and confusing users.</p>

<p>Now, if you try to submit [% terms.abug %] twice from the same screen 
  (by going back or by refreshing the page), [% terms.Bugzilla %] will warn 
  you about what you're doing, before it actually submits the duplicate
  [%+ terms.bug %].</p>

<h3 id="v30_feat_cc">Default CC List for Components</h3>

<p>You can specify a list of users who will <em>always</em> be added to
  the CC list of new [% terms.bugs %] in a component.</p>

<h3 id="v30_feat_emi">File/Modify [% terms.Bugs %] By Email</h3>

<p>You can now file or modify [% terms.bugs %] via email. Previous versions
  of [% terms.Bugzilla %] included this feature only as an
  unsupported add-on, but it is now an official interface to
  [%+ terms.Bugzilla %].</p>

<p>For more details see the <a href="[% docs_urlbase FILTER html %]api/email_in.html">documentation
  for email_in.pl</a>.</p>

<h3 id="v30_feat_gw">Users Who Get All [% terms.Bug %] Notifications</h3>

<p>There is now a parameter called <kbd>globalwatchers</kbd>. This
  is a comma-separated list of [% terms.Bugzilla %] users who will
  get all [% terms.bug %] notifications generated by [% terms.Bugzilla %].</p>

<p>Group controls still apply, though, so users who can't see [% terms.abug %]
  still won't get notifications about that [% terms.bug %].</p>

<h3 id="v30_feat_utf8">Improved UTF-8 Support</h3>

<p>[% terms.Bugzilla %] users running MySQL should now have excellent
  UTF-8 support if they turn on the <kbd>utf8</kbd> parameter. (New
  installs have this parameter on by default.) [% terms.Bugzilla %]
  now correctly supports searching and sorting in non-English languages,
  including multi-bytes languages such as Chinese.</p>

<h3 id="v30_feat_upda">Automatic Update Notification</h3>

<p>If you belong to the <kbd>admin</kbd> group, you will be notified
  when you log in if there is a new release of [% terms.Bugzilla %]
  available to download.</p>

<p>You can control these notifications by changing the 
  <kbd>upgrade_notification</kbd> parameter.</p>

<p>If your [% terms.Bugzilla %] installation is on a machine that needs to go
  through a proxy to access the web, you may also have to set the
  <kbd>proxy_url</kbd> parameter.</p>

<h3 id="v30_feat_welc">Welcome Page for New Installs</h3>

<p>When you log in for the first time on a brand-new [% terms.Bugzilla %]
  installation, you will be presented with a page that describes
  where you should go from here, and what parameters you should set.</p>

<h3 id="v30_feat_qs">QuickSearch Plugin for IE7 and Firefox 2</h3>

<p>Firefox 2 users and Internet Explorer 7 users will be presented
  with the option to add [% terms.Bugzilla %] to their search bar.
  This uses the 
  <a href="page.cgi?id=quicksearch.html">QuickSearch syntax</a>.</p>

<h3 id="v30_feat_other">Other Enhancements and Changes</h3>

<p>These are either minor enhancements, or enhancements that have
  very short descriptions. Some of these are very useful, though!</p>

<h4>Enhancements That Affect [% terms.Bugzilla %] Users</h4>

<ul>
  <li>In comments, quoted text (lines that start with <kbd>&gt;</kbd>)
    will be a different color from normal text.</li>
  <li>There is now a user preference that will add you to the CC list
    of any [% terms.bug %] you modify. Note that it's <strong>on</strong> 
    by default.</li>
  <li>[% terms.Bugs %] can now be filed with an initial state of 
    <kbd>ASSIGNED</kbd>, if you are in the <kbd>editbugs</kbd> group.</li>
  <li>By default, comment fields will zoom large when you are typing in them,
    and become small when you move out of them. You can disable this
    in your user preferences.</li>
  <li>You can hide obsolete attachments on [% terms.abug %] by clicking
    &quot;Hide Obsolete&quot; at the bottom of the attachment table.</li>
  <li>If [% terms.abug %] has flags set, and you move it to a different 
    product that has flags with the same name, the flags will be 
    preserved.</li>
  <li>You now can't request a flag to be set by somebody who can't set it
    ([% terms.Bugzilla %] will throw an error if you try).</li>
  <li>Many new headers have been added to outbound [% terms.Bugzilla %]
    [%+ terms.bug %] emails: <code>X-Bugzilla-Status</code>,
    <code>X-Bugzilla-Priority</code>, <code>X-Bugzilla-Assigned-To</code>,
    <code>X-Bugzilla-Target-Milestone</code>, and 
    <code>X-Bugzilla-Changed-Fields</code>, <code>X-Bugzilla-Who</code>.
    You can look at an email to get an idea of what they contain.</li>
  <li>In addition to the old <code>X-Bugzilla-Reason</code> email header
    which tells you why you got an email, if you got an email because
    you were watching somebody, there is now an 
    <code>X-Bugzilla-Watch-Reason</code> header that tells you who you
    were watching and what role they had.</li>
  <li>If you hover your mouse over a full URL (like 
    <code>http://bugs.mycompany.com/show_bug.cgi?id=1212</code>) that 
    links to [% terms.abug %], you will see the title of the 
    [%+ terms.bug %]. Of course, this only works for [% terms.bugs %] in your
    [%+ terms.Bugzilla %] installation.</li>
  <li>If your installation has user watching enabled, you will now see
    the users that you can remove from your watch-list as a multi-select
    box, much like the current CC list. (Previously it was just a text
    box.)</li>
  <li>When a user creates their own account in [% terms.Bugzilla %], the 
    account is now not actually created until they verify their email
    address by clicking on a link that is emailed to them.</li>
  <li>You can change [% terms.abug %]'s resolution without reopening it.</li>
  <li>When you view the dependency tree on [% terms.abug %], resolved 
    [%+ terms.bugs %] will be hidden by default. (In previous versions,
    resolved [% terms.bugs %] were shown by default.)</li>
  <li>When viewing [% terms.bug %] activity, fields that hold [% terms.bug %] 
    numbers (such as &quot;Blocks&quot;) will have the [% terms.bug %] numbers
    displayed as links to those [% terms.bugs %].</li>
  <li>When viewing the &quot;Keywords&quot; field in [% terms.abug %] list,
    it will be sorted alphabetically, so you can sanely sort a list on
    that field.</li>
  <li>In most places, the Version field is now sorted using a version-sort
    (so 1.10 is greater than 1.2) instead of an alphabetical sort.</li>
  <li>Options for flags will only appear if you can set them. So, for
    example, if you can't grant <kbd>+</kbd> on a flag, that option
    won't appear for you.</li>
  <li>You can limit the product-related output of <kbd>config.cgi</kbd>
    by specifying a <kbd>product=</kbd> URL argument, containing the name
    of a product. You can specify the argument more than once for multiple
    products.</li>
  <li>You can now search the boolean charts on whether or not a comment
    is private.</li>
</ul>

<h4>Enhancements For Administrators</h4>

<ul>
  <li>Administrators can now delete attachments, making them disappear
    entirely from [% terms.Bugzilla %].</li>
  <li><kbd>sanitycheck.cgi</kbd> can now only be accessed by users
    in the <kbd>editcomponents</kbd> group.</li>
  <li>The &quot;Field Values&quot; control panel can now only be accessed
    by users in the <kbd>admin</kbd> group. (Previously it was accessible
    to anybody in the <kbd>editcomponents</kbd> group.)</li>
  <li>There is a new parameter <kbd>announcehtml</kbd>, that will allow
    you to enter some HTML that will be displayed at the top of every
    page, as an announcement.</li>
  <li>The <kbd>loginnetmask</kbd> parameter now defaults to 0 for new
    installations, meaning that as long as somebody has the right
    login cookie, they can log in from any IP address. This makes
    life a lot easier for dial-up users or other users whose IP
    changes a lot. This could be done because the login cookie is now
    very random, and thus secure.</li>
  <li>Classifications now have sortkeys, so they can be sorted in an
    order that isn't alphabetical.</li>
  <li>Authentication now supports LDAP over SSL (LDAPS) or TLS (using
    the STARTLS command) in addition to plain LDAP.</li>
  <li>LDAP users can have their LDAP username be their email address,
    instead of having the LDAP <kbd>mail</kbd> attribute be their
    email address. You may wish to set the <kbd>emailsuffix</kbd>
    parameter if you do this.</li>
  <li>Administrators can now see what has changed in a user account,
    when using the &quot;Users&quot; control panel.</li>
  <li><code>REMIND</code> and <code>LATER</code> are no longer part
    of the default list of resolutions. Upgrading installations will
    not be affected--they will still have these resolutions.</li>
  <li><kbd>editbugs</kbd> is now the default for the <kbd>timetrackinggroup</kbd>
    parameter, meaning that time-tracking will be on by default in a new
    installation.</li>
</ul>

<h2 id="v30_issues">Outstanding Issues</h2>

<ul>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=69621">
    [%- terms.Bug %] 69621</a>: If you rename or remove a keyword that is
    in use on [% terms.bugs %], you will need to rebuild the "keyword cache"
    by running <a href="sanitycheck.cgi">sanitycheck.cgi</a> and choosing 
    the option to rebuild the cache when it asks. Otherwise keywords may 
    not show up properly in search results.</li>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=99215">
    [%- terms.Bug %] 99215</a>: Flags are not protected by "mid-air 
    collision" detection. Nor are any attachment changes.</li>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=89822">
    [%- terms.Bug %] 89822</a>: When changing multiple [% terms.bugs %] at 
    the same time, there is no "mid-air collision" protection.</li>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=276230">
    [%- terms.Bug %] 276230</a>: The support for restricting access to 
    particular Categories of New Charts is not complete. You should treat 
    the 'chartgroup' Param as the only access mechanism available.<br>
    However, charts migrated from Old Charts will be restricted to 
    the groups that are marked MANDATORY for the corresponding Product.
    There is currently no way to change this restriction, and the 
    groupings will not be updated if the group configuration
    for the Product changes.</li>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=370370">
    [%- terms.Bug %] 370370</a>: mod_perl support is currently not
    working on Windows machines.</li>
  <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=361149">
    [%- terms.Bug %] 361149</a>: If you are using Perl 5.8.0, you may
    get a lot of warnings in your Apache error_log about "deprecated
    pseudo-hashes." These are harmless--they are a b[%# fool test %]ug in 
    Perl 5.8.0. Perl 5.8.1 and later do not have this problem.</li>
  <li>[% terms.Bugzilla %] 3.0rc1 allowed custom field column names in 
    the database to be mixed-case. [% terms.Bugzilla %] 3.0 only allows
    lowercase column names. It will fix any column names that you have
    made mixed-case, but if you have custom fields that previously were
    mixed-case in any Saved Search, you will have to re-create that Saved
    Search yourself.</li>
</ul>

<h2 id="v30_security">Security Updates in This Release</h2>

<h3>3.0.6</h3>

<p>[% terms.Bugzilla %] contains a minor security fix. For details, see the
  <a href="http://www.bugzilla.org/security/2.20.6/">Security Advisory</a>.</p>

<h3>3.0.5</h3>

<p>[% terms.Bugzilla %] contains one security fix for 
  <a href="[% docs_urlbase FILTER html %]api/importxml.html">importxml.pl</a>.
  For details, see the 
  <a href="http://www.bugzilla.org/security/2.22.4/">Security Advisory</a>.</p>

<h3>3.0.4</h3>

<p>[% terms.Bugzilla %] 3.0.4 contains three security fixes.
  For details, see the
  <a href="http://www.bugzilla.org/security/2.20.5/">Security Advisory</a>.</p>

<h3>3.0.3</h3>

<p>No security fixes in this release.</p>

<h3>3.0.2</h3>

<p>[% terms.Bugzilla %] 3.0.1 had an important security fix that is
  critical for public installations with "requirelogin" turned on.
  For details, see the
  <a href="http://www.bugzilla.org/security/3.0.1/">Security Advisory</a></p>

<h3>3.0.1</h3>

<p>[% terms.Bugzilla %] 3.0 had three security issues that have been
  fixed in this release: one minor information leak, one hole only
  exploitable by an admin or using <code>email_in.pl</code>, and one in an
  uncommonly-used template. For details, see the 
  <a href="http://www.bugzilla.org/security/2.20.4/">Security Advisory</a>.</p>

<h2 id="v30_upgrading">How to Upgrade From An Older Version</h2>

<h3 id="v30_upgrading_notes">Notes For Upgraders</h3>

<ul>
  <li>If you upgrade by CVS, there are several .cvsignore files
    that are now in CVS instead of being locally created by 
    <kbd>checksetup.pl</kbd>. This means that you will have to
    delete those files when CVS tells you there's a conflict, and
    then run <kbd>cvs update</kbd> again.</li>
  <li>In this version of [% terms.Bugzilla %], the Summary field
    is now limited to 255 characters. When you upgrade, any Summary
    longer than that will be truncated, and the old summary will be
    preserved in a comment.</li>
  <li>If you have the <kbd>utf8</kbd> parameter turned on, at some
    point you will have to convert your database. <kbd>checksetup.pl</kbd>
    will tell you when this is, and it will give you certain instructions
    at that time, that you have to follow before you can complete
    the upgrade. Don't do the conversion yourself manually--follow
    the instructions of checksetup.pl.</li>
  <li>If you ever ran 2.23.3, 2.23.4, or 3.0rc1, you will have to run
    <kbd>./collectstats.pl --regenerate</kbd> at the command line, because
    the data for your Old Charts is corrupted. This can take several days,
    so you may only want to run it if you use Old Charts.</li>
  <li>You should also read the Outstanding Issues sections of
    <a href="#v30_previous">older release notes</a> if you are upgrading
    from a version lower than 2.22.</li>
</ul>

<h3>Steps For Upgrading</h3>

<p>Once you have read the notes above, see the 
  <a href="[% docs_urlbase FILTER html %]upgrade.html">Upgrading 
  documentation</a> for instructions on how to upgrade.</p>

<h2 id="v30_code_changes">Code Changes Which May Affect Customizations</h2>

<ul>
  <li><a href="#v30_code_loc"><strong>Packagers:</strong> Location
    Variables Have Moved</a></li>
  <li><a href="#v30_code_hooks">Hooks!</a></li>
  <li><a href="#v30_code_api">API Documentation</a></li>
  <li><a href="#v30_code_globals">Elimination of globals.pl</a></li>
  <li><a href="#v30_code_scope">Cleaned Up Variable Scoping Issues</a></li>
  <li><a href="#v30_code_sql">No More SendSQL</a></li>
  <li><a href="#v30_code_auth">Auth Re-write</a></li>
  <li><a href="#v30_code_obj">Bugzilla::Object</a></li>
  <li><a href="#v30_code_req">Bugzilla-&gt;request_cache</a></li>
  <li><a href="#v30_code_other">Other Changes</a></li>
</ul>

<h3 id="v30_code_loc"><strong>Packagers:</strong> Location Variables
    Have Moved</h3>

<p>In previous versions of [% terms.Bugzilla %], <kbd>Bugzilla::Config</kbd>
  held all the paths for different things, such as the path to localconfig
  and the path to the <kbd>data/</kbd> directory.</p>

<p>Now, all of this data is stored in a subroutine,
  <kbd>Bugzilla::Constants::bz_locations</kbd>.</p>

<p>Also, note that for mod_perl, <kbd>bz_locations</kbd> must return
  <em>absolute</em> (not relative) paths. There is already code in that
  subroutine to help you with this.</p>

<h3 id="v30_code_hooks">Hooks!</h3>

<p>[% terms.Bugzilla %] now supports a code hook mechanism. See the 
  documentation for 
  <a href="[% docs_urlbase FILTER html %]api/Bugzilla/Hook.html">Bugzilla::Hook</a>
  for more details.</p>

<p>This gives [% terms.Bugzilla %] very advanced plugin support. You can
  hook templates, hook code, add new parameters, and use the XML-RPC
  interface. So we'd like to see some [% terms.Bugzilla %] plugins
  written! Let us know on the <a href="http://bugzilla.org/cgi-bin/mj_wwwusr?func=lists-long-full&amp;extra=developers">developers&#64;bugzilla.org</a>
  mailing list if you write a plugin.</p>

<p>If you need more hooks, please 
  <a href="http://www.bugzilla.org/developers/reporting_bugs.html">File a b<!-- -->ug</a>!</p>

<h3 id="v30_code_api">API Documentation</h3>

<p>[% terms.Bugzilla %] now ships with all of its perldoc built
  as HTML. Go ahead and read the
  <a href="[% docs_urlbase FILTER html %]api/">API Documentation</a>
  for all of the [% terms.Bugzilla %] modules now! Even scripts like
  <kbd>checksetup.pl</kbd> have HTML documentation.</p>

<h3 id="v30_code_globals">Elimination of globals.pl</h3>

<p>The old file <kbd>globals.pl</kbd> has been eliminated.
  Its code is now in various modules. Each function went to the module
  that was appropriate for it.</p>

<p>Usually we filed [% terms.abug %] in 
  <a href="https://bugzilla.mozilla.org">bugzilla.mozilla.org</a> for
  each function we moved. You can search there for the old name of
  the function, and that should get you the information about what
  it's called now and where it lives.</p>

<h3 id="v30_code_scope">Cleaned Up Variable Scoping Issues</h3>

<p>In normal perl, you can have code like this:</p>
<pre>my $var = 0;
sub y { $var++ }</pre>

<p>However, under mod_perl that doesn't work. So variables are no
  longer &quot;shared&quot; with subroutines--instead all variables
  that a subroutine needs must be declared inside the subroutine itself.</p>

<h3 id="v30_code_sql">No More SendSQL</h3>

<p>The old <kbd>SendSQL</kbd> function and all of its companions are
  <strong>gone</strong>. Instead, we now use DBI for all database
  interaction.</p>

<p>For more information about how to use 
  <a href="http://search.cpan.org/perldoc?DBI">DBI</a> with 
  [%+ terms.Bugzilla %], see the 
  <a href="http://www.bugzilla.org/docs/developer.html#sql-sendreceive">Developer's
  Guide Section About DBI</a></p>

<h3 id="v30_code_auth">Auth Re-write</h3>

<p>The <kbd>Bugzilla::Auth</kbd> family of modules have been completely
  re-written. For details on how the new structure of authentication,
  read the 
  <a href="[% docs_urlbase FILTER html %]api/Bugzilla/Auth.html">Bugzilla::Auth
  API docs</a>.</p>

<p>It should be very easy to write new authentication plugins, now.</p>

<h3 id="v30_code_obj">Bugzilla::Object</h3>

<p>There is a new base class for most of our objects, 
  <a href="[% docs_urlbase FILTER html %]api/Bugzilla/Object.html">Bugzilla::Object</a>.
  It makes it really easy to create new objects based on things that are 
  in the database.</p>

<h3 id="v30_code_req">Bugzilla-&gt;request-cache</h3>

<p><kbd>Bugzilla.pm</kbd> used to cache things like the database
  connection in package-global variables (like <kbd>$_dbh</kbd>).
  That doesn't work in mod_perl, so instead now there's a hash
  that can be accessed through <code>Bugzilla-&gt;request_cache</code>
  to store things for the rest of the current page request.</p>

<p>You shouldn't access <code>Bugzilla-&gt;request_cache</code> directly,
  but you should use it inside of <kbd>Bugzilla.pm</kbd> if you modify
  that. The only time you should be accessing it directly is if you need
  to reset one of the caches. Hash keys are always named after the function
  that they cache, so to reset the template object, you'd do:
  <code>delete Bugzilla-&gt;request_cache-&gt;{template};</code>.</p>

<h3 id="v30_code_other">Other Changes</h3>

<ul>
  <li><code>checksetup.pl</code> has been completely re-written, and most
    of its code moved into modules in the <kbd>Bugzilla::Install</kbd>
    namespace. See the
    <a href="[% docs_urlbase FILTER html %]api/checksetup.html">checksetup
    documentation</a> and <a href="https://bugzilla.mozilla.org/showdependencytree.cgi?id=277502&amp;hide_resolved=0">[% terms.Bugzilla %]
   [%+ terms.bug %] 277502</a> for details.</li>
  <li>Instead of <kbd>UserInGroup()</kbd>, all of [% terms.Bugzilla %] now 
    uses <kbd>Bugzilla-&gt;user-&gt;in_group</kbd></li>
  <li>mod_perl doesn't like dependency loops in modules, so we now have
    a test for that detects dependency loops in modules when you run
   <kbd>runtests.pl</kbd>.</li>
  <li><kbd>globals.pl</kbd> used to modify the environment variables,
    like <kbd>PATH</kbd>. That now happens in <kbd>Bugzilla.pm</kbd>.</li>
  <li>Templates can now link to the documentation more easily.
    See the <kbd>global/code-error.html.tmpl</kbd> and
    <kbd>global/user-error.html.tmpl</kbd> templates for examples.
    (Search for &quot;docslinks.&quot;)</li>
  <li>Parameters are accessed through <kbd>Bugzilla-&gt;params</kbd>
    instead of using the <kbd>Param()</kbd> function, now.</li>
  <li>The variables from the <kbd>localconfig</kbd> file are accessed
    through the <code>Bugzilla-&gt;localconfig</code> hash instead of through
    <kbd>Bugzilla::Config</kbd>.</li>
  <li><kbd>Bugzilla::BugMail::MessageToMTA()</kbd> has moved into its
    own module, along with other mail-handling code, called
    <kbd>Bugzilla::Mailer</kbd></li>
  <li>The <kbd>CheckCanChangeField()</kbd> subroutine in 
    <kbd>process_bug.cgi</kbd> has been moved to <kbd>Bugzilla::Bug</kbd>,
    and is now a method of [% terms.abug %] object.</li>
  <li>The code that used to be in the <kbd>global/banner.html.tmpl</kbd>
    template is now in <kbd>global/header.html.tmpl</kbd>. The banner
    still exists, but the file is empty.</li>
</ul>

<h2 id="v30_previous">Release Notes For Previous Versions</h2>

<p>Release notes for versions of [% terms.Bugzilla %] for versions
  prior to 3.0 are only available in text format: 
  <a href="[% docs_urlbase FILTER remove('html/$') FILTER html %]rel_notes.txt">Release Notes for [% terms.Bugzilla %] 2.22
  and Earlier</a>.</p>

[% INCLUDE global/footer.html.tmpl %]

[% BLOCK db_req %]
  [% SET m = DB_MODULE.$db %]
  <h3 id="v36_req_[% db FILTER html %]">For [% m.name FILTER html %] Users</h3>

  <ul>
    <li>[% m.name FILTER html %]
       [%+ '<span class="req_new">' IF db_new %]v[% m.db_version FILTER html %]
       [% '</span>' IF db_new %]
       </li>
    <li><strong>perl module:</strong>
      [%+ m.dbd.module FILTER html %] 
      [% '<span class="req_new">' IF dbd_new %]v[% m.dbd.version FILTER html %]
      [% '</span>' IF dbd_new %]</li>
  </ul>
[% END %]


[% BLOCK req_table %]
  <table class="req_table" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <th>Module</th> <th>Version</th>
      [% IF include_feature %]
        <th>Enables Feature</th>
      [% END %]
    </tr>
    [% FOREACH req = reqs %]
      <tr>
        <td [% ' class="req_new"' IF new.contains(req.package) %]>
          [%- req.module FILTER html %]</td> 
        <td [% ' class="req_new"' IF updated.contains(req.package) 
                                     OR new.contains(req.package) %]>
          [%- IF req.version == 0 %]
            (Any)
          [% ELSE %]
            [%- req.version FILTER html %]
          [% END %]
        </td>
        [% IF include_feature %] 
          <td>[% req.feature.join(', ') FILTER html %]</td>
        [% END %]
      </tr>
    [% END %]
</table>
[% END %]