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 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777
|
7.21 2017-01-21
- Added extract_usage function to Mojo::Util.
- Improve getopt function in Mojo::Util to use @ARGV by default.
7.20 2017-01-18
- Fixed a bug in Mojo::File where the make_path method would die even if no
error occurred.
- Fixed warnings in Mojo::IOLoop::TLS.
7.19 2017-01-14
- Added module Mojo::IOLoop::TLS.
- Added can_nnr and can_socks methods to Mojo::IOLoop::Client.
7.18 2017-01-11
- Fixed support for relative %INC paths in Mojo::Home.
- Fixed a bug in Mojo::URL where invalid fragment strings could be generated.
7.17 2017-01-11
- Fixed Windows bugs in Mojo::File. (kmx)
7.16 2017-01-10
- Fixed Windows bugs in Mojo::File. (kmx)
7.15 2017-01-09
- Deprecated Mojo::ByteStream::slurp and Mojo::Util::slurp in favor of
Mojo::File::slurp.
- Deprecated Mojo::ByteStream::spurt and Mojo::Util::spurt in favor of
Mojo::File::spurt.
- Deprecated Mojo::Util::files in favor of Mojo::File::list_tree.
- Deprecated Mojo::Home::lib_dir, Mojo::Home::parse, Mojo::Home::parts in
favor of new features inherited from the Mojo::File base class.
- Added module Mojo::File.
- Improved Mojo::Home to be a subclass of Mojo::File.
- Improved mojo_lib_dir and rel_file methods in Mojo::Home to return
Mojo::Home objects.
- Improved rel_file methods in Mojolicious::Command to return Mojo::File
objects.
- Improved every_param and param methods in Mojolicious::Validator::Validation
to use the current topic.
7.14 2017-01-04
- Deprecated Mojo::Home::list_files in favor of Mojo::Util::files.
- Deprecated Mojo::Home::rel_dir in favor of Mojo::Home::rel_file.
- Deprecated Mojolicious::Command::rel_dir in favor of
Mojolicious::Command::rel_file.
- Fixed a bug in Mojo::IOLoop::Subprocess where the pipe used for IPC could
disappear because of a timeout.
7.13 2016-12-23
- Deprecated Mojo::Message::Response::is_status_class in favor of new is_*
methods.
- Added result method to Mojo::Transaction.
- Added is_client_error, is_error, is_info, is_redirect, is_server_error and
is_success methods to Mojo::Message::Response.
- Fixed bug where Morbo could not handle broken symlinks. (Grinnz)
7.12 2016-12-18
- Added button_to and csrf_button_to helpers to
Mojolicious::Plugin::TagHelpers.
- Removed experimental status from Mojo::IOLoop::Subprocess.
- Removed experimental status from subprocess method in Mojo::IOLoop.
7.11 2016-11-30
- Added EXPERIMENTAL close_idle_connections method to Mojo::Server::Daemon.
- Improved one_tick method in Mojo::IOLoop to protect from recursion, similar
to the start method.
- Improved log attribute in Mojolicious to make it easier to override default
settings. (jberger)
- Fixed bug in Mojo::Server::Prefork where workers would accept keep-alive
requests after a graceful shutdown had already been initiated.
- Fixed bugs in Mojo::Util and Mojo::Asset::File where incomplete writes would
not be recognized as errors. (bobkare, sri)
7.10 2016-11-01
- Added getopt function to Mojo::Util.
7.09 2016-10-22
- Added every_header method to Mojo::Headers.
- Fixed redirect bug in Mojo::UserAgent::Transactor.
- Fixed a few proxy bugs in Mojo::UserAgent.
7.08 2016-09-23
- Added -i and -o options to get command.
- Updated jQuery to version 3.1.1.
- Improved accuracy of finished_ok test in Test::Mojo.
- Fixed state transition bug in Mojo::Transaction::HTTP that caused message
bodies to be included in responses to HEAD requests.
7.07 2016-09-20
- Fixed bug in Mojo::UserAgent::Transactor where 303 redirects would not be
followed correctly with GET requests. (jberger)
7.06 2016-09-17
- Fixed bug where Mojolicious::Renderer would wrap text in layouts.
- Fixed a few test description encoding bugs in Test::Mojo.
7.05 2016-08-29
- Fixed bug in Mojo::IOLoop::Subprocess where EV would steal the subprocess
exit status.
7.04 2016-08-28
- Added EXPERIMENTAL support for performing computationally expensive
operations in subprocesses, without blocking the event loop. (jberger, sri)
- Added EXPERIMENTAL module Mojo::IOLoop::Subprocess. (jberger, sri)
- Added EXPERIMENTAL subprocess method to Mojo::IOLoop. (jberger, sri)
- Improved many methods in Mojolicious::Controller to die more gracefully if
the connection has already been closed.
- Fixed bug where Mojo::UserAgent would try to follow redirects for CONNECT
requests.
7.03 2016-08-17
- Fixed packaging errors.
7.02 2016-08-17
- Fixed bugs in Mojo::Loader and Mojo::Util where the DATA handle would be
mentioned in error messages. (jberger, kiwiroy, sri)
7.01 2016-08-01
- Improved support for systemd.
- Fixed a bug in Mojo::Server::Prefork where PID files would not contain a
newline character.
7.0 2016-07-19
- Code name "Doughnut", this is a major release.
- Removed Mojolicious::Plugin::Charset.
- Removed authority method from Mojo::URL.
- Removed squish method from Mojo::ByteStream.
- Removed squish function from Mojo::Util.
- Removed support for smart whitespace trimming from all_text and text methods
in Mojo::DOM.
- Updated jQuery to version 3.1.0.
- Improved Mojo::URL not to include the userinfo part when generating URLs, as
recommended by the URL Living Standard.
- Improved Mojolicious::Plugin::Config to no longer log which files have been
loaded.
- Fixed trailing slash bug in Mojo::URL.
- Fixed a few whitespace bugs in Mojo::DOM.
- Fixed attribute selector bug in Mojo::DOM::CSS. (Akron)
- Fixed a bug causing headers with zero length values to be ignored by the get
command. (jberger)
6.66 2016-06-16
- Fixed support for CONNECT requests without keep alive connections in
Mojo::UserAgent. (anparker, sri)
6.65 2016-06-14
- Added password and username methods to Mojo::URL.
- Updated jQuery to version 3.0.0.
- Fixed "0" value bug in Mojo::UserAgent::CookieJar. (jamadam)
6.64 2016-06-09
- Updated HTML5 entities in Mojo::Util.
- Improved Mojo::IOLoop to fall back to Mojo::Reactor::Poll if Perl has been
compiled with fork emulation.
6.63 2016-06-03
- Removed deprecated check method from Mojo::Server::Morbo.
- Removed deprecated build, compile and interpret methods from Mojo::Template.
- Removed deprecated multi_accept methods from Mojo::IOLoop,
Mojo::IOLoop::Server and Mojo::Server::Daemon.
- Updated jQuery to version 2.2.4.
- Improved generator commands not to overwrite existing files.
6.62 2016-05-14
- Removed deprecated is_debug, is_error, is_info and is_warn methods from
Mojo::Log.
- Improved support for Ubuntu on Windows.
6.61 2016-04-30
- Improved Mojo::Server::Daemon to no longer log when a connection has been
closed prematurely.
- Fixed bug in Mojo::Content where the drain event would not always be emitted
for dynamically generated content with a Content-Length header.
6.60 2016-04-25
- Fixed bug in Mojo::IOLoop where stopping gracefully would sometimes result
in connections getting closed too early. (anparker, sri)
6.59 2016-04-22
- Removed deprecated xss_escape function from Mojo::Util.
- Improved HTML Living Standard compliance of Mojo::DOM::HTML.
- Improved Mojo::Server::Daemon to log when a connection has been closed
prematurely.
- Improved Mojo::Server::Prefork to log when the manager process has been
stopped.
- Fixed a few tests to keep up with breaking changes in IO::Socket::SSL.
- Fixed a few timing bugs in tests.
6.58 2016-04-09
- Removed deprecated build_frame and parse_frame methods from
Mojo::Transaction::WebSocket.
- Added fork policy to Mojolicious::Guides::Contributing.
- Improved Mojo::JSON to generate canonical JSON objects.
- Fixed bug in Mojo::Loader where classes with exceptions could not be loaded
twice. (kiwiroy, sri)
6.57 2016-03-23
- Fixed a few validation bugs in Mojolicious::Validator::Validation.
(Mikey, sri)
- Fixed copyright notice.
6.56 2016-03-16
- Added hidden option to list_files method in Mojo::Home. (batman, sri)
- Added hidden option to files function in Mojo::Util. (batman, sri)
- Fixed bug where Morbo would not ignore hidden files. (batman, sri)
- Fixed bug where Morbo would ignore the --verbose option.
- Fixed keep-alive bug in Mojo::UserAgent. (jberger)
6.55 2016-03-08
- Deprecated Mojo::Server::Morbo::check in favor of
Mojo::Server::Morbo::modified_files. (leejo, nugged)
- Added modified_files method to Mojo::Server::Morbo. (leejo, nugged)
- Improved renderer performance slightly.
- Fixed a bug where Morbo would restart more than once if multiple files
changed at the same time. (leejo, nugged)
6.54 2016-03-06
- Deprecated Mojo::Template::build and Mojo::Template::compile.
- Deprecated Mojo::Template::interpret in favor of Mojo::Template::process.
- Added support for named variables to Mojo::Template.
- Added vars attribute to Mojo::Template.
- Added process method to Mojo::Template.
- Improved Mojo::Template performance slightly.
6.53 2016-03-03
- Removed multi_accept setting from Hypnotoad.
- Removed -M options from daemon and prefork commands.
- Deprecated Mojo::IOLoop::multi_accept.
- Deprecated Mojo::IOLoop::Server::multi_accept.
- Deprecated Mojo::Server::Daemon::multi_accept.
- Added single_accept option to Mojo::IOLoop::Server::listen.
- Added single_accept parameter to Mojo::Server::Daemon::listen.
- Increased default max_requests from 25 to 100 in Mojo::Server::Daemon.
- Increased default accepts from 1000 to 10000 in Mojo::Server::Prefork.
- Improved performance of many Mojo::Util functions slightly.
- Fixed default value bug in val method of Mojo::DOM.
6.52 2016-03-02
- Added is_accepting method to Mojo::IOLoop::Server.
- Added -M option to daemon command.
- Improved responsiveness of stop_gracefully method in Mojo::IOLoop.
- Fixed bug in Mojo::IOLoop where too many connections could be accepted.
- Fixed a few concurrency bugs in Mojo::IOLoop.
6.51 2016-02-29
- Fixed bug in Mojolicious::Plugin::EPLRenderer where empty templates from the
DATA section would be ignored.
- Fixed a few "0" value bugs in Mojolicious::Renderer.
6.50 2016-02-27
- Added throw method to Mojo::Exception.
6.49 2016-02-26
- Removed throw method from Mojo::Exception.
- Added inspect method to Mojo::Exception.
- Improved check_box and radio_button helpers with support for "on" default
values.
- Improved val method in Mojo::DOM with support for "on" default values.
- Fixed url_for bug where routes with custom names would not match in the same
order as routes with automatically generated names.
- Fixed bug in Mojo::Template where not all exceptions were verbose.
- Fixed Windows bug in "util.t".
6.48 2016-02-24
- Added files function to Mojo::Util.
- Updated jQuery to version 2.2.1.
- Improved url_for performance significantly.
- Fixed bug where the results of the list_files method in Mojo::Home would
include directories.
- Fixed a few small CGI bugs.
6.47 2016-02-19
- Deprecated Mojo::Log::is_debug, Mojo::Log::is_error, Mojo::Log::is_info and
Mojo::Log::is_warn in favor of Mojo::Log::is_level.
- Added is_level method to Mojo::Log.
- Fixed datetime_field helper to use the correct type attribute value.
6.46 2016-02-13
- Improved Mojo::Headers performance. (batman)
- Fixed small proxy bug in Mojo::UserAgent::Transactor.
6.45 2016-02-09
- Deprecated Mojo::Util::xss_escape in favor of Mojo::Util::xml_escape.
- Improved Mojo::Template performance slightly.
6.44 2016-02-04
- Removed deprecated format_regex attribute from Mojolicious::Routes::Pattern.
- Improved get command not to use the user agent of the application.
- Improved Mojo::JSON performance slightly.
6.43 2016-02-01
- Removed client_close and server_close methods from Mojo::Transaction.
- Added closed method to Mojo::Transaction.
- Added parse_message method to Mojo::Transaction::WebSocket.
- Improved a few examples to avoid timing attacks.
- Fixed timing bug in Mojo::Server::Daemon.
6.42 2016-01-24
- Fixed use of deprecated Perl feature in Mojo::JSON.
- Fixed validation filter bugs in Mojolicious::Validator::Validation.
6.41 2016-01-20
- Added support for validation filters.
- Added filters attribute to Mojolicious::Validator.
- Added add_filter method to Mojolicious::Validator.
- Added filter arguments to optional and required methods in
Mojolicious::Validator::Validation.
- Fixed MOJO_WEBSOCKET_DEBUG environment variable. (jberger)
6.40 2016-01-13
- Removed client_challenge, client_handshake, server_handshake and server_open
methods from Mojo::Transaction::WebSocket. (batman, sri)
- Removed is_writing method from Mojo::Transaction.
- Removed upgrade event from Mojo::Transaction::HTTP.
- Deprecated Mojo::Transaction::WebSocket::build_frame and
Mojo::Transaction::WebSocket::parse_frame in favor of
Mojo::WebSocket::build_frame and Mojo::WebSocket::parse_frame. (batman)
- Replaced deprecated proxy method in Mojo::Message::Request with an
attribute.
- Added SNI support to all built-in web servers. (bpmedley, sri)
- Added module Mojo::WebSocket. (batman)
- Added established attribute to Mojo::Transaction::WebSocket.
- Added completed method to Mojo::Transaction.
- Updated jQuery to version 2.2.0.
- Improved performance of Mojo::Server::Daemon and Mojo::UserAgent slightly.
- Improved mtime attribute in Mojo::Asset::Memory to default to the value of
$^T.
- Improved app generator command to generate more portable scripts.
- Fixed a few timing bugs.
- Fixed url_for to handle fragments correctly.
6.39 2016-01-03
- Updated links to Mojolicious website.
- Fixed small html_unescape bug in Mojo::Util.
- Fixed handling of invalid max age in Mojo::UserAgent::CookieJar.
6.38 2015-12-19
- Updated prettify.js to version 8-Dec-2015.
- Improved form generation in Mojo::UserAgent::Transactor to use UTF-8 as the
default charset.
6.37 2015-12-14
- Added protocol and with_protocols methods to Mojo::Transaction::WebSocket.
- Fixed a few reference encoding bugs in Mojo::JSON.
- Fixed a few form generation bugs in Mojo::UserAgent::Transactor.
6.36 2015-12-08
- Improved Mojo::JSON performance slightly. (haarg)
- Improved inactivity_timeout helper to return the current controller object.
6.35 2015-12-04
- Removed deprecated collecting method from Mojo::UserAgent::CookieJar.
- Fixed warnings in Mojo::Cookie::Response.
6.34 2015-12-01
- Improved Hypnotoad to report problems that have occured during the creation
of listen sockets.
- Fixed bug in Mojo::DOM where the wrap method would attempt to wrap an
HTML/XML fragment around the content of root nodes.
- Fixed bug in Mojo::DOM where the wrap_content method would attempt to wrap
an HTML/XML fragment around nodes that do not have children.
- Fixed a few small formatting bugs in Mojolicious::Plugin::PODRenderer.
6.33 2015-11-22
- Updated IO::Socket::IP requirement to 0.37 for certain bug fixes.
- Improved renderer not to require a return value from handlers.
- Improved helper method in Mojolicious to replace already existing helpers
silently.
6.32 2015-11-18
- Deprecated Mojolicious::Routes::Pattern::format_regex.
- Added support for new HTTP status code.
- Improved router performance.
- Improved Mojo::DOM::CSS performance slightly. (jamadam)
- Fixed a few case-sensitivity and An+B notation bugs in Mojo::DOM::CSS.
(jamadam)
6.31 2015-11-13
- Improved documentation browser CSS.
- Fixed handling of invalid URLs in Mojo::UserAgent::CookieJar.
- Fixed a few small selector bugs in Mojo::DOM::CSS.
- Fixed a few small formatting bugs in Mojolicious::Plugin::PODRenderer.
6.30 2015-11-11
- Fixed bug in Mojolicious::Renderer where layouts could not be used with
template inheritance. (nic, sri)
6.29 2015-11-03
- Fixed a few bugs in built-in templates. (Zoffix, sri)
6.28 2015-11-02
- Improved build_app method in Mojo::Server to work more like the load_app
method.
- Fixed multi-line attribute bug in Mojo::DOM::HTML. (jamadam)
6.27 2015-10-29
- Updated HTML5 entities in Mojo::Util.
- Improved Mojo::Server::Prefork to log if the process id file could not be
created.
6.26 2015-10-28
- Renamed built-in templates with more descriptive names.
- Added warmup methods to Mojolicious::Renderer and Mojolicious::Static.
6.25 2015-10-21
- Deprecated Mojo::Message::Request::proxy with boolean and string arguments
in favor of Mojo::Message::Request::via_proxy.
- Moved all bundled files into "resources" directories.
- Added via_proxy attribute to Mojo::Message::Request.
- Improved Mojo::DOM::CSS to support selectors with leading and trailing
whitespace.
- Improved rendering of built-in templates to show actual template names in
log messages.
- Fixed punycode bug in Mojo::URL.
- Fixed "0" value bug in Mojo::JSON::Pointer.
6.24 2015-10-13
- Improved session security by not storing secrets in the stash and making
CSRF tokens much harder to guess.
- Improved commands to show all options that can affect their behavior.
- Fixed bug in Mojo::JSON::Pointer that prevented JSON Pointers with trailing
slash from working correctly. (dolmen)
- Fixed support for domains with trailing dot in Mojo::URL.
6.23 2015-10-06
- Improved documentation browser CSS.
- Fixed bug in Mojo::Transaction::WebSocket where an unsupported protocol
could be selected automatically.
- Fixed input record separator bug in Mojo::Util. (Zoffix, sri)
- Fixed small redirect bug in Mojo::UserAgent::Transactor.
6.22 2015-09-26
- Improved Mojo::JSON by reusing JSON::PP boolean constants.
- Improved uniq method in Mojo::Collection to accept a callback. (CandyAngel)
- Improved first and grep methods in Mojo::Collection to be able to call
methods.
- Improved support for empty attributes in Mojo::DOM::HTML.
6.21 2015-09-23
- Added val method to Mojo::DOM.
6.20 2015-09-15
- Deprecated Mojo::UserAgent::CookieJar::collecting in favor of
Mojo::UserAgent::CookieJar::ignore.
- Improved support for epoll/kqueue in Mojo::IOLoop::Client.
6.19 2015-09-12
- Added code of conduct to Mojolicious::Guides::Contributing.
- Added ignore attribute to Mojo::UserAgent::CookieJar.
- Added tls_version option to Mojo::IOLoop::Server::listen.
- Added version parameter to Mojo::Server::Daemon::listen.
6.18 2015-09-02
- Improved portability of slurp function in Mojo::Util.
- Fixed handling of parameters with multiple values in
Mojolicious::Plugin::TagHelpers.
- Fixed Makefile.PL to be compliant with version 2 of the CPAN distribution
metadata specification. (Grinnz)
6.17 2015-08-21
- Improved slurp method in Mojo::Asset::File to only use one file descriptor.
6.16 2015-08-19
- Improved check_box, radio_button and select_field tag helpers to handle the
attributes "checked" and "selected" correctly.
- Improved performance of slurp function in Mojo::Util slightly.
6.15 2015-08-13
- Removed deprecated build_body and build_headers methods from Mojo::Content.
- Improved Mojo::Transaction::HTTP performance slightly.
- Fixed warnings in Mojo::DOM.
6.14 2015-07-12
- Improved app generator command not to create a log directory.
6.13 2015-07-08
- Added support for validating file uploads.
- Added upload check to Mojolicious::Validator.
- Improved error messages for broken applications in Mojo::Server. (mst)
- Improved subscribers method in Mojo::EventEmitter to allow subscribers to be
modified more easily.
6.12 2015-06-18
- Welcome to the Mojolicious core team Dan Book.
- Added TO_JSON method to Mojo::Collection. (wttw)
- Added find_packages function to Mojo::Loader.
- Fixed bug in Mojo::Message where multipart content would get downgraded
unnecessarily.
6.11 2015-05-16
- Deprecated Mojo::Content::build_body and Mojo::Content::build_headers.
- Added headers_contain method to Mojo::Content.
- Updated jQuery to version 2.1.4.
- Fixed indentation of ASCII art in documentation browser. (jberger)
- Fixed bug where inline was not considered a reserved stash value.
6.10 2015-04-26
- Removed support for user/group switching, because it never worked
correctly, which means that this security feature has become an attack
vector itself. If you depend on this functionality, you can now use the
CPAN module Mojolicious::Plugin::SetUserGroup instead.
- Removed group and user attributes from Mojo::Server.
- Removed setuidgid method from Mojo::Server.
- Removed group and user settings from Hypnotoad.
- Removed -g/--group and -u/--user options from daemon and prefork commands.
- Added next_tick method to Mojo::Reactor::Poll.
- Improved next_tick callbacks to run in the same order in which they were
registered.
6.09 2015-04-25
- Improved HTML Living Standard compliance of Mojo::Parameters. (riche, sri)
- Fixed bug in Mojolicious::Types where the json MIME type did not specify a
charset. (kaktus)
6.08 2015-04-09
- Added is_established and server_open methods to
Mojo::Transaction::WebSocket.
- Improved finish and send methods in Mojolicious::Controller to
automatically establish the WebSocket connection if necessary.
- Improved pod_to_html helper in Mojolicious::Plugin::PODRenderer to unindent
verbatim blocks. (OlegG)
6.07 2015-04-07
- Fixed Windows bug in "daemon.t".
6.06 2015-04-06
- Added element_count_is method to Test::Mojo. (Zoffix)
- Added "chat.pl" to example scripts.
- Improved Mojo::DOM::CSS to handle attribute selectors with single quotes
correctly.
6.05 2015-03-24
- Fixed circular require bug in Mojo::Base and Mojo::Util.
6.04 2015-03-23
- Improved Mojo::Reactor::EV and Mojo::Reactor::Poll to fail more
consistently.
- Improved Mojo::Base performance slightly.
- Fixed a few bugs in Mojo::DOM::CSS that required class, id and attribute
selectors, as well as pseudo-classes, to be in a specific order.
6.03 2015-03-16
- Added support for overriding the HTTP request method with the _method query
parameter.
- Added suggested_method method to Mojolicious::Routes::Route.
- Improved portability of some tests.
6.02 2015-03-09
- Added daemon attribute to Mojo::Server::Morbo.
- Improved portability of Mojo::Server::Morbo.
- Fixed empty template handling in Mojo::Template.
6.01 2015-03-03
- Added content_with helper to Mojolicious::Plugin::DefaultHelpers.
- Relaxed request-line handling in Mojo::Message::Request.
- Fixed code name in version command and built-in templates.
6.0 2015-02-26
- Code name "Clinking Beer Mugs", this is a major release.
- Removed name listing support from param method in Mojolicious::Controller.
- Removed name listing support from param method in Mojo::Parameters.
- Removed name listing support from error and param methods in
Mojolicious::Validator::Validation.
- Removed multi-name support from cookie, param and signed_cookie methods in
Mojolicious::Controller.
- Removed multi-name support from param method in
Mojolicious::Validator::Validation.
- Removed multi-name support from param method in Mojo::Parameters.
- Removed multi-name support from cookie and upload methods in Mojo::Message.
- Removed custom socket support from Mojo::UserAgent.
- Removed is_fatal, is_level and log methods from Mojo::Log.
- Removed auto_render method from Mojolicious::Routes.
- Removed deprecated object-oriented Mojo::Loader API.
- Removed deprecated accept_interval, lock and unlock attributes from
Mojo::IOLoop.
- Removed deprecated accept_interval, lock_file and lock_timeout attributes
from Mojo::Server::Prefork.
- Removed deprecated bridge method from Mojolicious::Routes::Route.
- Removed deprecated is_readable method from Mojo::Reactor.
- Removed deprecated siblings method from Mojo::DOM.
- Removed deprecated render_exception and render_not_found methods from
Mojolicious::Controller.
- Removed deprecated keep_alive_requests setting from Hypnotoad.
- Changed return values of all and find methods in
Mojo::UserAgent::CookieJar.
- Renamed template attribute in Mojo::Template to unparsed.
- Renamed extracting attribute in Mojo::UserAgent::CookieJar to collecting.
- Renamed types attribute in Mojolicious::Types to mapping.
- Renamed current attribute in Mojolicious::Routes::Match to position.
- Renamed pattern attribute in Mojolicious::Routes::Pattern to unparsed.
- Renamed all_contents, contents, following_siblings, match, next_sibling,
node, preceding_siblings, previous_sibling and type methods in Mojo::DOM to
descendant_nodes, child_nodes, following_nodes, matches, next_node, type,
preceding_nodes, previous_node and tag.
- Renamed match methods in Mojo::DOM and Mojo::DOM::CSS to matches.
- Renamed extract and inject methods in Mojo::UserAgent::CookieJar to collect
and prepare.
- Renamed inject method in Mojo::UserAgent::Proxy to prepare.
- Renamed params method in Mojo::Parameters to pairs.
- Renamed match method in Mojolicious::Routes::Match to find.
- Renamed -A option of prefork command to -a.
- Added names method to Mojo::Parameters.
- Added failed and passed methods to Mojolicious::Validator::Validation.
- Added -I and -M options to prefork command.
- Fixed Mojo::Template support for parentheses in expressions. (jberger, sri)
5.82 2015-02-22
- Deprecated Mojo::Reactor::is_readable.
- Deprecated keep_alive_requests setting in Hypnotoad in favor of requests.
- Improved Morbo to restart slightly faster.
- Fixed bug in daemon and prefork commands where --inactivity-timeout option
was called --inactivity.
5.81 2015-02-20
- Deprecated object-oriented Mojo::Loader API.
- Added data_section, file_is_binary, load_class and find_modules functions
to Mojo::Loader.
- Improved design of built-in templates.
- Fixed test command to not let Test::Harness enable global warnings by
default. (OlegG)
5.80 2015-02-18
- Deprecated Mojo::IOLoop::accept_interval, Mojo::IOLoop::lock and
Mojo::IOLoop::unlock.
- Deprecated Mojo::Server::Prefork::accept_interval,
Mojo::Server::Prefork::lock_file and Mojo::Server::Prefork::lock_timeout.
- Removed -a/--accept-interval, --lock-file and -L/--lock-timeout options
from prefork command.
- Removed accept_interval, lock_file and lock_timeout settings from
Hypnotoad.
- Added stop_gracefully method to Mojo::IOLoop.
- Added finish event to Mojo::IOLoop.
- Reduced CPU usage of Mojo::IOLoop and Mojo::Server::Prefork significantly.
- Improved app generator command to use current best practices.
- Fixed bug where semicolons at the end of a cookie were not parsed
correctly. (dmw397)
- Fixed bug in Mojo::IOLoop where connection limits were not properly
enforced.
- Fixed url_for to handle paths without trailing slash correctly in embedded
applications.
5.79 2015-02-13
- Fixed bug in Mojo::Reactor::Poll that caused excessive idle CPU usage.
5.78 2015-02-12
- Replaced expires method in Mojo::Cookie::Response with an attribute.
- Added split_cookie_header function to Mojo::Util.
- Updated IO::Socket::SSL requirement to 1.94.
- Relaxed RFC 822/1123 and RFC 850/1036 handling in Mojo::Date.
- Improved Mojo::Reactor::Poll performance significantly.
- Improved text method in Mojo::Message to use default_charset as well.
- Improved design of built-in templates.
- Fixed bug in Mojo::DOM that made parsing a requirement.
- Fixed warnings in Mojo::URL.
5.77 2015-02-03
- Added content_security_policy method to Mojo::Headers.
- Fixed canonicalize in Mojo::Path to not remove parts with more than three
dots.
5.76 2015-02-02
- Emergency release for a critical security issue that can expose files on
Windows systems, everybody should update!
- Increased default max_message_size from 10MB to 16MB in Mojo::Message.
- Reduced default max_line_size from 10KB to 8KB in Mojo::Headers and
Mojo::Message.
- Improved Hypnotoad load balancing by calling srand() after starting a new
worker in Mojo::Server::Prefork.
- Improved design of built-in templates.
- Fixed bug in Mojo::IOLoop where the accept limit was applied too broadly.
- Fixed bug in Mojo::Server::Prefork where the TTOU signal would not always
stop a worker.
- Fixed bug in Mojo::DOM::CSS where combinators needed to be surrounded by
whitespace.
5.75 2015-01-26
- Added healthy method to Mojo::Server::Prefork.
- Improved all built-in web servers to die if group or user assignment
failed.
- Improved Hypnotoad to wait for new workers to be ready before stopping the
old ones during hot deployment.
- Improved commands and log messages to use less punctuation.
- Fixed bug in Mojo::IOLoop where the callback passed to next_tick would
receive the wrong invocant.
- Fixed race condition and memory leak in Mojo::Server::Prefork.
5.74 2015-01-25
- Improved parser errors to be more consistent with connection errors in
Mojo::Message::Request and Mojo::Message::Response.
- Fixed "0" value bug in Mojo::Parameters.
- Fixed bug where placeholder default values would not always have
precedence.
- Fixed proxy detection in get command.
5.73 2015-01-24
- Deprecated Mojolicious::Routes::Route::bridge in favor of
Mojolicious::Routes::Route::under.
- Deprecated Mojolicious::Controller::render_exception in favor of
reply->exception helper.
- Deprecated Mojolicious::Controller::render_not_found in favor of
reply->not_found helper.
- Removed deprecated object-oriented Mojo::JSON API.
- Removed deprecated stringification support from Mojo::Collection.
- Removed deprecated support for data arguments from Mojo::JSON::Pointer.
- Removed deprecated AUTOLOAD and pluck methods from Mojo::Collection.
- Removed deprecated AUTOLOAD and val methods from Mojo::DOM.
- Moved tutorial from Mojolicious::Lite to Mojolicious::Guides::Tutorial.
- Added term_escape method to Mojo::ByteStream.
- Added term_escape function to Mojo::Util.
- Improved get command to use the user agent of the application.
- Improved diagnostics information for MOJO_DAEMON_DEBUG,
MOJO_USERAGENT_DEBUG and MOJO_WEBSOCKET_DEBUG environment variables.
- Fixed tag helpers to generate correct HTML5. (batman, sri)
- Fixed JSON Pointer escaping bug.
- Fixed portability bug in monkey_patch tests.
5.72 2015-01-11
- Added EXPERIMENTAL support for case-insensitive attribute selectors like
[foo="bar" i] to Mojo::DOM::CSS.
- Added max_lines attribute to Mojo::Headers.
- Improved Mojo::Reactor::EV to update the current time before starting a
timer.
- Improved error messages for start-line and header limits.
- Fixed bug in Mojo::Headers where max_line_size was not checked correctly.
- Fixed whitespace bug in Mojo::DOM::CSS.
5.71 2015-01-01
- Updated Net::DNS::Native requirement to 0.15 for some important bug fixes.
- Updated jQuery to version 2.1.3.
- Improved Mojo::URL performance.
- Fixed fragment and userinfo normalization bugs in Mojo::URL.
- Fixed query charset bug in Mojo::URL.
- Fixed a few merge bugs in Mojo::Parameters.
5.70 2014-12-18
- Improved Mojo::Template performance.
- Fixed error handling bugs in Mojo::IOLoop::Stream.
- Fixed a few limit bugs in Mojo::Message.
- Fixed Windows bug in Mojo::IOLoop::Client. (OlegG)
5.69 2014-12-13
- Deprecated Mojo::DOM::siblings.
- Added following, following_siblings, preceding and preceding_siblings
methods to Mojo::DOM.
- Added port method to Mojo::IOLoop::Server.
- Removed deprecated emit_safe method from Mojo::EventEmitter.
- Removed deprecated render_static method from Mojolicious::Controller.
- Removed deprecated has_conditions method from Mojolicious::Routes::Route.
- Updated Net::DNS::Native requirement to 0.14 for some important bug fixes.
- Improved Mojo::DOM::HTML performance slightly.
- Fixed parent combinator bug in Mojo::DOM::CSS.
- Fixed whitespace bug in Mojo::DOM::HTML.
- Fixed Mojo::UserAgent::Transactor to handle query parameters more like
most common browsers.
5.68 2014-12-02
- Improved Mojo::DOM::CSS performance significantly.
- Fixed deprecation warnings in get command.
- Fixed bug in Mojolicious::Controller where sending a WebSocket message
would cause multiple resume events.
5.67 2014-11-27
- Improved overall performance by deserializing sessions only on demand.
- Fixed bug where embedded applications would deserialize sessions twice.
5.66 2014-11-26
- Improved many WebSocket tests in Test::Mojo to be able to fail gracefully.
- Fixed bug in Mojo::DOM::CSS where the :empty pseudo-class would not ignore
comments and processing instructions.
5.65 2014-11-24
- Improved installable scripts to use #!perl. (jberger)
- Improved Mojo::JSON security by escaping the "/" character.
- Improved Mojolicious::Commands to reset the global Getopt::Long
configuration more safely.
- Fixed bug in Mojo::DOM::CSS where selected results would also include the
current root element.
5.64 2014-11-22
- Fixed bug in Mojolicious::Commands where the global Getopt::Long
configuration would be changed after a command had already been loaded.
5.63 2014-11-21
- Improved portability of some tests.
- Fixed a few multipart form handling bugs.
5.62 2014-11-18
- Fixed bug in Mojolicious::Routes::Pattern where optional placeholders in
nested routes would sometimes not work correctly.
- Fixed bug where "handler" was not an allowed name for controller methods.
5.61 2014-11-14
- Moved entities.txt into the DATA section of Mojo::Util to avoid
gratuitously breaking module bundlers.
5.60 2014-11-11
- Added to_array method to Mojo::Collection.
- Added xss_escape function to Mojo::Util.
- Updated Net::DNS::Native requirement to 0.12 for some important bug fixes.
5.59 2014-11-07
- Added support for non-blocking name resolution with Net::DNS::Native.
5.58 2014-11-06
- Improved error handling in Mojo::IOLoop::Client.
5.57 2014-11-02
- Deprecated stringification support in Mojo::Collection in favor of
Mojo::Collection::join.
- Deprecated Mojo::Collection::pluck in favor of Mojo::Collection::map.
- Deprecated Mojo::DOM::val.
- Improved map method in Mojo::Collection to be able to call methods.
- Improved tap method in Mojo::Base to be able to call methods.
5.56 2014-10-29
- Deprecated Mojo::Collection::AUTOLOAD in favor of Mojo::Collection::pluck.
- Deprecated Mojo::DOM::AUTOLOAD in favor of Mojo::DOM::children.
5.55 2014-10-28
- Deprecated support for data arguments in Mojo::JSON::Pointer.
- Added access_control_allow_origin, content_language, content_location and
strict_transport_security methods to Mojo::Headers.
5.54 2014-10-23
- Deprecated object-oriented Mojo::JSON API.
- Added auto_decompress attribute to Mojo::Content.
- Improved Mojo::Content to parse content more defensively.
- Fixed chunked transfer encoding bug in Mojo::Content.
- Fixed bug where Mojo::UserAgent would try to follow redirects for
protocols other than HTTP and HTTPS.
5.53 2014-10-20
- Fixed bug in Mojo::Server where secondary groups were not reassigned
correctly. (ksm, sri)
5.52 2014-10-18
- Fixed read-only file system compatibility of Mojo::Asset::File.
5.51 2014-10-17
- Fixed bug in Mojolicious::Validator::Validation where every_param would
sometimes return an array reference containing an undef value.
- Fixed Mojo::ByteStream and Mojo::Collection to always return true in
boolean context.
5.50 2014-10-15
- Improved Mojo::DOM::HTML performance slightly.
- Fixed description list parsing bug in Mojo::DOM::HTML. (Trelane)
5.49 2014-10-10
- Improved form content generator to allow custom content types.
- Improved Mojo::Server to load applications consistently for all servers.
(tianon, sri)
- Fixed Mojolicious::Static to hide files without extensions in DATA
sections.
- Fixed inflate command to ignore files without extensions.
- Fixed bug in Mojolicious::Routes::Route where formats could be rendered
twice for embedded applications.
5.48 2014-10-07
- Emergency release for a serious security issue that can result in
parameter injection attacks, everybody should update!
Breaking change: Methods that previously worked differently in scalar than
in list context now always assume scalar context, and new methods have
been added to cover the list context functionality.
- Added every_cookie and every_upload methods to Mojo::Message.
- Added every_param method to Mojo::Message::Request.
- Added every_param method to Mojo::Parameters.
- Added every_cookie, every_param and every_signed_cookie methods to
Mojolicious::Controller.
- Added every_param method to Mojolicious::Validator::Validation.
- Added from_json and to_json functions to Mojo::JSON.
- Improved pluck method in Mojo::Collection to be able to extract values from
hash references.
5.47 2014-09-28
- Improved url_for performance.
5.46 2014-09-26
- PAUSE lost the previous release.
5.45 2014-09-26
- Deprecated Mojolicious::Routes::Route::has_conditions.
- Added extracting attribute to Mojo::UserAgent::CookieJar.
- Improved performance of next, next_sibling, previous and previous_sibling
methods in Mojo::DOM significantly.
- Improved Mojo::Cache to allow caching to be disabled. (mvgrimes, sri)
- Fixed url_for bug where deeply nested WebSocket routes would not work
correctly.
5.44 2014-09-23
- Fixed bug in Mojolicious::Renderer that prevented proxy objects from being
reused.
5.43 2014-09-22
- Updated Makefile.PL for version 2 of the CPAN distribution metadata
specification.
- Improved get command to not depend on Content-Type headers for
differentiating between JSON and HTML/XML.
5.42 2014-09-17
- Fixed url_for bug where an unnecessary slash could be rendered before
formats.
5.41 2014-09-13
- Deprecated Mojolicious::Controller::render_static in favor of
reply->static helper.
- Added mtime attribute to Mojo::Asset::Memory.
- Added mtime method to Mojo::Asset and Mojo::Asset::File.
- Added reply->asset and reply->static helpers to
Mojolicious::Plugin::DefaultHelpers.
- Fixed bug in Mojo::UserAgent where connections would sometimes not get
closed correctly.
5.40 2014-09-12
- Deprecated Mojo::EventEmitter::emit_safe.
- Added reply->exception and reply->not_found helpers to
Mojolicious::Plugin::DefaultHelpers.
- Improved all events to handle exceptions the same.
5.39 2014-09-07
- Improved decamelize performance.
- Fixed bug in Mojo::Template where newline characters could get lost.
5.38 2014-09-05
- Improved routes command to use new terminology for flags.
- Fixed bug in Mojo::Util where tablify could not handle empty columns.
5.37 2014-09-03
- Improved Mojo::Template performance slightly.
- Fixed .ep template bug where the stash value "c" could no longer be used.
5.36 2014-09-02
- Improved Mojo::Template performance.
5.35 2014-08-30
- Improved monkey_patch to be able to name generated functions.
5.34 2014-08-29
- Added original_remote_address attribute to Mojo::Transaction.
- Fixed bug where Mojolicious::Commands would change @ARGV when loaded.
5.33 2014-08-24
- Improved Mojo::Date to be able to handle higher precision times.
- Improved Mojo::ByteStream performance.
5.32 2014-08-21
- Added to_datetime method to Mojo::Date.
- Improved Mojo::Date to support RFC 3339.
5.31 2014-08-19
- Improved Mojolicious::Static to allow custom content types.
- Improved url_for performance.
5.30 2014-08-17
- Improved Mojolicious::Static to only handle GET and HEAD requests.
- Improved Mojo::URL performance.
- Improved url_for performance slightly.
- Fixed bug where DATA sections sometimes got corrupted after forking, which
caused applications to fail randomly.
- Fixed Mojo::IOLoop::Client to use a timeout for every connection.
5.29 2014-08-16
- Added helpers method to Mojolicious::Controller.
- Improved performance of .ep templates slightly.
- Fixed "0" value bug in Mojolicious::Plugin::EPRenderer.
5.28 2014-08-13
- Improved performance of nested helpers and helpers in templates
significantly.
- Improved Mojo::JSON to generate smaller JSON by not escaping the "/"
character.
5.27 2014-08-11
- Added support for nested helpers.
- Added get_helper method to Mojolicious::Renderer.
- Added n function to ojo.
- Fixed bug in Mojolicious::Routes::Match where placeholder values got merged
too early.
5.26 2014-08-09
- Improved WebSocket performance.
- Fixed proxy exception handling bug in Mojo::UserAgent.
- Fixed bug where Mojo::Transaction::WebSocket would build incorrect frames
if the FIN bit was not set.
5.25 2014-08-07
- Added reduce method to Mojo::Collection. (sri, batman)
- Added if_none_match method to Mojo::Headers.
- Added is_fresh method to Mojolicious::Static.
- Added is_fresh helper to Mojolicious::Plugin::DefaultHelpers.
- Improved Mojolicious to use MyApp::Controller namespace by default and
encourage its use in the documentation.
- Improved sort method in Mojo::Collection to use $a and $b. (batman)
- Improved Mojolicious::Static to support ETag and If-None-Match headers.
- Improved documentation browser CSS.
- Fixed escaping bugs in Mojo::DOM::CSS.
5.24 2014-08-02
- Improved url_escape performance slightly.
- Fixed memory leak in Mojo::IOLoop::Client.
- Fixed bug where ojo would sometimes die silently.
5.23 2014-07-31
- Improved router performance.
- Improved routes command to show format regular expression separately.
- Fixed partial route bug in Mojolicious::Routes::Match.
- Fixed format detection bug in Mojolicious::Routes::Pattern.
5.22 2014-07-30
- Added SOCKS5 support to Mojo::UserAgent.
- Added socks_address, socks_pass, socks_port and socks_user options to
Mojo::IOLoop::Client::connect.
- Improved documentation browser CSS.
5.21 2014-07-27
- Improved handling of Pod::Simple::XHTML 3.09 dependency.
- Improved documentation browser CSS.
5.20 2014-07-27
- Fixed a few bugs in Mojolicious::Plugin::PODRenderer by switching from
Pod::Simple::HTML to Pod::Simple::XHTML.
- Fixed Perl 5.18.x compatibility.
5.19 2014-07-26
- Improved support for Unicode anchors in Mojolicious::Plugin::PODRenderer.
- Fixed is_readable scalability problems in Mojo::Reactor.
5.18 2014-07-25
- Improved is_readable performance in Mojo::Reactor.
5.17 2014-07-24
- Welcome to the Mojolicious core team Jan Henning Thorsen.
- Added val method to Mojo::DOM. (batman, sri)
- Improved Mojo::Collection performance.
- Fixed support for Unicode anchors in Mojolicious::Plugin::PODRenderer.
5.16 2014-07-21
- Improved Mojo::Asset::File to allow appending data to existing files.
(iakuf, sri)
5.15 2014-07-17
- Improved Mojo::DOM::HTML performance slightly.
- Fixed small selector bug in get command.
5.14 2014-07-14
- Improved all_text performance in Mojo::DOM.
- Improved Mojo::DOM::CSS, Mojo::DOM::HTML and Mojo::JSON performance with
regular expression optimizations.
- Fixed deep recursion warnings in Mojo::DOM and Mojo::DOM::HTML. (jberger)
5.13 2014-07-13
- Added json_like, json_message_like, json_message_unlike and json_unlike
methods to Test::Mojo.
- Improved HTML5.1 compliance of Mojo::DOM::HTML.
- Fixed bug where Mojo::UserAgent would keep too many connections alive.
- Fixed Mojo::Reactor::Poll bug where watchers were active after they have
been removed. (jberger)
5.12 2014-07-04
- Fixed a few multipart form handling bugs.
- Fixed AUTOLOAD bug in Mojo::Collection where it would behave differently
than calling pluck directly.
5.11 2014-07-02
- Moved reverse_proxy attribute from Mojo::Server::Daemon to Mojo::Server.
- Added delay and inactivity_timeout helpers to
Mojolicious::Plugin::DefaultHelpers.
- Improved error method in Mojolicious::Validator::Validation to return
field names when called without arguments.
- Fixed "0" value bug in Mojo::UserAgent::Transactor.
5.10 2014-06-28
- Added cleanup attribute to Mojo::Server::Prefork.
- Improved Mojo::Server::Prefork to keep sending heartbeat messages when
stopping gracefully.
- Fixed small bug where Mojo::Server::Daemon was too eager to reconfigure
Mojo::IOLoop.
- Fixed small bug where Hypnotoad would clean up process id and lock files
too early.
5.09 2014-06-24
- Improved .ep templates to make the current controller available as $c.
5.08 2014-06-17
- Added reset method to Mojo::IOLoop.
- Added reset method to Mojo::Reactor.
- Added reset method to Mojo::Reactor::Poll.
5.07 2014-06-13
- Fixed RFC 7230 compliance bugs in Mojo::Headers.
5.06 2014-06-11
- Added deserialize and serialize attributes to Mojolicious::Sessions.
- Improved redirect_to to behave more like url_for.
- Fixed bug in Mojo::UserAgent where HTTP/1.0 connections were sometimes kept
alive.
5.05 2014-06-08
- Fixed parsing of header fields with single character names in
Mojo::Headers. (crab)
5.04 2014-06-03
- Added expect_close attribute to Mojo::Content.
- Improved support for broken responses to CONNECT requests.
5.03 2014-06-02
- Fixed bug where Mojo::DOM::HTML could not handle certain broken tags.
5.02 2014-05-31
- Added multi-name support to cookie and signed_cookie methods in
Mojolicious::Controller.
- Added multi-name support to cookie and upload methods in Mojo::Message.
- Improved Mojolicious::Command::generate::plugin to use better directory
names.
- Fixed bug where Mojo::DOM::HTML could not handle tags with lots of
attributes.
5.01 2014-05-30
- Fixed continuation line handling in Mojo::Headers.
5.0 2014-05-29
- Code name "Tiger Face", this is a major release.
- Changed heuristics for number detection in Mojo::JSON to better line up
with user expectations.
- Changed lock and unlock callbacks in Mojo::IOLoop to not receive an
invocant.
- Changed return value of path_for method in Mojolicious::Routes::Match.
- Changed return value and arguments of error method in Mojo::Message.
- Removed deprecated support for X-Forwarded-HTTPS.
- Removed return values from wait method in Mojo::IOLoop::Delay.
- Removed list context support from header method in Mojo::Headers.
- Removed generate_port method from Mojo::IOLoop.
- Replaced reserved stash value partial with render_to_string method.
- Replaced format method in Mojo::Log with an attribute.
- Replaced check_file method in Mojo::Server::Morbo with check method.
- Added with_compression method to Mojo::Transaction::WebSocket.
- Added catch method to Mojo::EventEmitter.
- Added append method to Mojo::Log.
- Updated jQuery to version 2.1.1.
- Improved Mojo::IOLoop::Delay to automatically check if the event loop is
already running.
- Improved Mojo::Parameters to consistently accept arrays.
- Improved Mojo::Collection to perform actual boolean checks. (marcus)
- Fixed Mojo::DOM::HTML to handle slashes in unquoted attribute values
correctly.
- Fixed Mojo::IOLoop::Server to work correctly with newer versions of
IO::Socket::SSL. (noxxi)
- Fixed rendering bug where rewritten arguments could not be localized.
- Fixed verification bug in Mojo::IOLoop::Server.
- Fixed path generation bug in Mojolicious::Routes::Match.
- Fixed warnings in Mojo::IOLoop::Delay.
4.99 2014-05-12
- Added support for performing blocking and non-blocking requests at the same
time with Mojo::UserAgent.
- Added nb_url method to Mojo::UserAgent::Server.
- Improved Mojo::IOLoop::Server and Mojo::Server::Daemon to be able to listen
on random ports.
4.98 2014-05-09
- Removed deprecated get_line function from Mojo::Util.
- Removed deprecated content_xml, replace_content, text_before, text_after
and to_xml methods from Mojo::DOM.
- Improved accept performance in Mojo::IOLoop::Server.
4.97 2014-04-30
- Deprecated support for X-Forwarded-HTTPS in favor of X-Forwarded-Proto.
- Added multi-name support to param method in Mojo::Parameters.
4.96 2014-04-28
- Improved Mojo::IOLoop to use Mojo::IOLoop::Delay more consistently.
4.95 2014-04-27
- Improved Mojo::IOLoop::Delay with circular reference protection.
- Improved Mojo::IOLoop::Delay to allow argument splicing.
- Improved Mojo::IOLoop::Server to reuse cipher list from IO::Socket::SSL.
- Fixed memory leak in Mojo::UserAgent::Server.
4.94 2014-04-20
- Added reverse_proxy attribute to Mojo::Server::Daemon.
- Added reverse_proxy attribute to Mojo::Message::Request.
- Added prefork and upgrade_timeout attributes to Mojo::Server::Hypnotoad.
- Added configure method to Mojo::Server::Hypnotoad.
- Relaxed name handling in Mojo::Headers a little.
- Fixed small bug in online tests.
4.93 2014-04-13
- Fixed bug where Mojolicious::Static would not use the correct default MIME
type.
4.92 2014-04-08
- Removed deprecated use of hash references for optgroup generation with
select_field helper.
- Improved dumper helper to escape unprintable characters.
- Fixed small handler detection bug in Mojolicious::Renderer.
4.91 2014-03-29
- Added daemonize method to Mojo::Server.
- Added ensure_pid_file method to Mojo::Server::Prefork.
- Removed deprecated secret method from Mojolicious.
- Improved performance of Mojolicious::Plugin::EPRenderer and
Mojolicious::Plugin::EPLRenderer.
- Improved Mojo::Reactor::Poll portability with POLLPRI support.
4.90 2014-03-16
- Removed deprecated to_rel method from Mojo::URL.
- Updated IO::Socket::SSL requirement to 1.84 due to breaking changes in
IO::Socket::SSL.
- Improved documentation browser with more accessible links and readable
inline code.
- Fixed textarea and title parsing bugs in Mojo::DOM::HTML.
4.89 2014-03-13
- Added support for template variants.
- Improved built-in templates with unobtrusive menu bar.
- Fixed bug in Mojo::DOM::HTML where non-self-closing elements were not
handled correctly.
- Fixed bug in Mojo::DOM::HTML where <image> was not treated as an alias for
<img>.
4.88 2014-03-09
- Added build_controller method to Mojolicious.
- Added match method to Mojolicious::Routes.
- Improved Mojo::Server::Daemon to handle setuid/setgid errors more
gracefully.
- Improved Mojo::Server::Prefork to handle lock file errors more gracefully.
- Improved exception page to show better context information for templates.
- Fixed comment on last line bug in Mojo::Template.
4.87 2014-03-04
- Improved Mojo::ByteStream to allow more method chaining.
- Fixed RFC 7159 support in Mojo::JSON.
- Fixed RFC 7159 compliance bugs in Mojo::Transaction::WebSocket and
Test::Mojo.
- Fixed Unicode bugs in Test::Mojo.
4.86 2014-03-03
- Improved Mojo::IOLoop::Delay to allow more method chaining.
- Improved WebSocket and long poll performance.
4.85 2014-02-26
- Added next_tick methods to Mojo::IOLoop and Mojo::Reactor.
- Added host_port and path_query methods to Mojo::URL.
- Added is_handshake method to Mojo::Message::Request.
- Improved Mojo::Reactor::EV responsiveness.
- Fixed IDNA support for CONNECT requests.
- Fixed "0" value bug in Mojo::Message::Request.
4.84 2014-02-22
- Added remaining attribute to Mojo::IOLoop::Delay.
- Added data and pass methods to Mojo::IOLoop::Delay.
- Improved Mojo::Exception context detection to better line up with user
expectations.
4.83 2014-02-19
- Improved Mojo::JSON to handle encoding errors more gracefully.
- Fixed line numbers in Mojo::JSON error messages.
4.82 2014-02-19
- Added decode_json and encode_json functions to Mojo::JSON.
- Added data attribute to Mojo::JSON::Pointer.
- Fixed bug in "user_agent_online.t".
- Fixed small decoding bug in Mojo::JSON.
4.81 2014-02-15
- Added direct array access for child nodes to Mojo::DOM.
- Improved Mojolicious::Routes::Pattern to normalize more route variations.
- Improved routes command to show which routes are using certain features
with flags.
4.80 2014-02-13
- Merged Mojo::DOM::Node into Mojo::DOM.
- Added next_sibling and previous_sibling methods to Mojo::DOM.
- Added last method to Mojo::Collection.
- Improved many methods in Mojo::DOM to work with all node types.
- Improved Mojo::DOM::HTML to handle slashes between attributes more
gracefully.
- Fixed list parsing bug in Mojo::DOM::HTML.
4.79 2014-02-11
- Improved not found page to show request information and the exact path used
for route matching.
4.78 2014-02-08
- Deprecated Mojo::Util::get_line.
- Fixed ";" handling in Mojo::Parameters to be compliant with the HTML Living
Standard.
- Fixed case-sensitivity bug in Mojolicious::Types.
4.77 2014-02-06
- Deprecated Mojo::DOM::text_after and Mojo::DOM::text_before in favor of
Mojo::DOM::contents.
- Deprecated Mojo::DOM::content_xml and Mojo::DOM::replace_content in favor
of Mojo::DOM::content.
- Deprecated Mojo::DOM::to_xml in favor of Mojo::DOM::to_string.
- Added wrap_content method to Mojo::DOM.
- Added tablify function to Mojo::Util.
- Improved wrap method in Mojo::DOM to allow wrapping of the root node.
4.76 2014-02-04
- Added wrap method to Mojo::DOM.
- Updated IO::Socket::IP requirement to 0.20 for certain bug fixes.
- Improved Mojo::DOM::HTML to generate better HTML.
4.75 2014-02-02
- Fixed and re-added support for permessage-deflate WebSocket compression.
(Mikey, sri)
4.74 2014-02-02
- Added all_contents method to Mojo::DOM.
- Removed support for permessage-deflate WebSocket compression, since there
have been too many problems with Chrome.
4.73 2014-02-01
- Improved xml_escape performance significantly.
- Improved html_unescape and url_unescape performance.
- Fixed Mojo::UserAgent::Transactor to handle redirects more like most common
browsers.
4.72 2014-01-29
- Added accepts, template_for and template_handler methods to
Mojolicious::Renderer.
- Added accepts helper to Mojolicious::Plugin::DefaultHelpers.
- Added before_render hook.
- Fixed bug in Mojo::Transaction::WebSocket that prevented decompression
errors from being handled gracefully.
4.71 2014-01-28
- Fixed a few compression bugs in Mojo::Transaction::WebSocket and
Mojo::Content.
4.70 2014-01-26
- Added extract_usage method to Mojolicious::Command.
- Added unindent method to Mojo::ByteStream.
- Added unindent function to Mojo::Util.
- Updated jQuery to version 2.1.
- Improved all built-in commands to show usage information in their SYNOPSIS
sections.
- Improved tag helpers to make data attributes more convenient. (ravengerUA)
%= tag 'div', data => {my_id => 1, Name => 'test'} => 'some content'
is equivalent to
%= tag 'div', data-my-id => 1, data-name => 'test' => 'some content'
- Fixed indentation of code in documentation browser.
4.69 2014-01-24
- Improved router to allow format detection for bridges.
4.68 2014-01-22
- Added module Mojo::DOM::Node.
- Added contents and node methods to Mojo::DOM.
- Removed deprecated http_proxy, https_proxy, name and no_proxy attributes
from Mojo::UserAgent.
- Removed deprecated app, app_url, detect_proxy and need_proxy methods from
Mojo::UserAgent.
- Improved router to allow placeholders anywhere in a pattern to become
optional.
"get '/foo/:bar/baz' => {bar => 'bar'};" now matches "/foo/baz"
"get '/foo(:bar)baz' => {bar => 'bar'};" now matches "/foobaz"
- Improved request_ok method in Test::Mojo to handle WebSocket handshakes.
- Improved Mojo::IOLoop::Server to use address and port for descriptor
inheritance.
- Improved list of available commands to be alphabetical. (jberger)
- Fixed select_field helper to be nondestructive.
- Fixed XML semantics bug in Mojo::DOM::HTML.
4.67 2014-01-11
- Added history and max_history_size attributes to Mojo::Log.
- Improved exception and not found pages with log messages.
- Improved exception page with more information.
- Improved not found page with a more generic message.
- Improved inline templates to use their checksum as name.
4.66 2014-01-04
- Added success attribute to Test::Mojo.
- Improved Mojo::DOM::CSS and Mojo::DOM::HTML performance.
- Fixed XML detection bug in Mojo::DOM.
- Fixed escaping bugs in Mojo::DOM::CSS.
4.65 2014-01-02
- Deprecated use of hash references for optgroup generation with select_field
helper in favor of Mojo::Collection objects.
- Added b and c helpers to Mojolicious::Plugin::DefaultHelpers.
- Fixed reference handling bug in Mojo::Collection.
4.64 2014-01-01
- Fixed helper export bug in Mojolicious::Plugin::EPRenderer.
4.63 2013-12-19
- Deprecated Mojolicious::secret in favor of Mojolicious::secrets.
- Added support for rotating secrets.
- Added secrets method to Mojolicious.
4.62 2013-12-17
- Deprecated Mojo::URL::to_rel.
4.61 2013-12-16
- Added select_one method to Mojo::DOM::CSS.
- Improved performance of Mojo::DOM::at significantly.
4.60 2013-12-11
- Improved Mojolicious::Validator::Validation to allow custom validation
errors.
4.59 2013-12-04
- Added CSRF protection support.
- Added support for permessage-deflate WebSocket compression.
- Added csrf_protect method to Mojolicious::Validator::Validation.
- Added build_message method to Mojo::Transaction::WebSocket.
- Added csrf_token attribute to Mojolicious::Validator::Validation.
- Added compressed and context_takeover attributes to
Mojo::Transaction::WebSocket.
- Added csrf_token helper to Mojolicious::Plugin::DefaultHelpers.
- Added csrf_field helper to Mojolicious::Plugin::TagHelpers.
- Removed deprecated mode specific methods in application class.
- Relicensed all artwork to CC-SA version 4.0.
4.58 2013-11-19
- Improved IIS and WebSphere compatibility of Mojo::Message::Request.
- Improved Mojo::Collection to allow join without arguments.
- Improved Mojo::DOM::HTML performance.
- Fixed recursion bug in Mojo::Reactor::EV where timers could run more than
once.
- Fixed a few "0" value bugs in Mojo::DOM::HTML.
4.57 2013-11-11
- Improved compatibility with IO::Socket::SSL 1.957.
- Fixed error event bug in Mojo::IOLoop::Delay.
4.56 2013-11-09
- Fixed backspace escaping bug in Mojo::JSON. (ig3)
4.55 2013-11-07
- Fixed Windows bug in "daemon.t".
4.54 2013-11-07
- Added parts attribute to Mojo::Home.
- Fixed keep alive connection timeout bug in Mojo::UserAgent.
- Fixed support for links within a page in Mojolicious::Plugin::PODRenderer.
- Fixed home detection bug in Mojo.
4.53 2013-10-30
- Fixed a few unsubscribe and error event bugs in Mojo::EventEmitter.
4.52 2013-10-29
- Improved Mojo::EventEmitter to allow unhandled error events to be fatal.
(powerman, sri)
4.51 2013-10-28
- Added tag_with_error helper to Mojolicious::Plugin::TagHelpers.
- Improved .ep template performance significantly, the number of helpers no
longer has any effect. (jberger, sri)
- Improved form_for performance.
- Improved built-in templates with documentation search.
- Fixed template inheritance bug in include helper.
- Fixed a few multipart form handling bugs.
4.50 2013-10-22
- Deprecated Mojo::UserAgent::app in favor of Mojo::UserAgent::Server::app.
- Deprecated Mojo::UserAgent::app_url in favor of
Mojo::UserAgent::Server::url.
- Deprecated Mojo::UserAgent::detect_proxy in favor of
Mojo::UserAgent::Proxy::detect.
- Deprecated Mojo::UserAgent::http_proxy in favor of
Mojo::UserAgent::Proxy::http.
- Deprecated Mojo::UserAgent::https_proxy in favor of
Mojo::UserAgent::Proxy::https.
- Deprecated Mojo::UserAgent::no_proxy in favor of
Mojo::UserAgent::Proxy::not.
- Deprecated Mojo::UserAgent::need_proxy in favor of
Mojo::UserAgent::Proxy::is_needed.
- Deprecated Mojo::UserAgent::name in favor of
Mojo::UserAgent::Transactor::name.
- Added modules Mojo::UserAgent::Proxy and Mojo::UserAgent::Server.
- Added proxy and server attributes to Mojo::UserAgent.
- Removed deprecated attrs method from Mojo::DOM.
- Improved Mojo::Message to allow max_message_size check to be disabled.
- Fixed small assignment bug in content helper.
4.49 2013-10-17
- Added tls_ciphers option to Mojo::IOLoop::Server::listen.
- Added ciphers parameter to Mojo::Server::Daemon::listen.
- Removed experimental status from Mojolicioua::Validator.
- Removed experimental status from Mojolicioua::Validator::Validation.
- Removed experimental status from validation method in
Mojolicious::Controller.
- Removed experimental status from validator attribute in Mojolicious.
- Removed experimental status from validation helper in
Mojolicious::Plugin::DefaultHelpers.
- Fixed parameter bug in Mojolicious::Validator::Validation.
4.48 2013-10-16
- Fixed support for Net::SSLeay 1.55.
4.47 2013-10-15
- Added dumper function to Mojo::Util.
- Improved compatibility with IO::Socket::SSL 1.955.
- Improved IIS compatibility of Mojo::Server::CGI.
4.46 2013-10-11
- Changed default name for generated applications from MyMojoliciousApp to
MyApp.
- Improved performance of route matching in Mojolicious::Routes::Pattern.
- Improved HTML Living Standard compliance of Mojo::DOM::HTML.
4.45 2013-10-06
- Changed return values of validation checks in Mojolicious::Validator.
- Fixed unquoted attribute selector bug in Mojo::DOM::CSS.
4.44 2013-10-04
- Removed experimental status from label_for helper.
- Renamed regex check in Mojolicious::Validator to like.
4.43 2013-10-02
- Removed generators for dynamic error messages from Mojolicious::Validator.
4.42 2013-09-30
- Added EXPERIMENTAL form validation support.
- Added EXPERIMENTAL modules Mojolicious::Validator and
Mojolicious::Validator::Validation.
- Added EXPERIMENTAL validation method to Mojolicious::Controller.
- Added EXPERIMENTAL validator attribute to Mojolicious.
- Added EXPERIMENTAL label_for and validation helpers to
Mojolicious::Plugin::DefaultHelpers.
4.41 2013-09-22
- Improved documentation browser to be a little more RESTful.
- Fixed flatten to work with older versions of Perl. (jamadam)
4.40 2013-09-21
- Added text method to Mojo::Message.
- Added siblings method to Mojo::DOM.
- Added flatten method to Mojo::Collection.
- Improved documentation browser with source links.
- Fixed smart whitespace trimming bug in Mojo::DOM.
- Fixed table parsing bug in Mojo::DOM::HTML.
- Fixed bug in Mojolicious::Types where the txt MIME type did not specify a
charset.
4.39 2013-09-17
- Improved HTML5.1 compliance of Mojo::DOM::HTML.
4.38 2013-09-16
- Added is_binary method to Mojo::Loader.
- Fixed support for binary files in inflate command.
- Fixed stylesheet helper not to enforce a media attribute.
4.37 2013-09-13
- Improved design of built-in templates.
4.36 2013-09-12
- Added match method to Mojo::DOM.
- Added match method to Mojo::DOM::CSS.
- Improved ancestors and children methods in Mojo::DOM to support all CSS
selectors.
- Improved syntax highlighting in documentation browser.
- Improved compatibility with different object systems.
4.35 2013-09-10
- Added origin attribute to Mojo::Cookie::Response.
- Fixed RFC 6265 compliance bugs in Mojo::Cookie::Request,
Mojo::Cookie::Response and Mojo::UserAgent::CookieJar.
4.34 2013-09-08
- Fixed portability bug in SO_REUSEPORT tests.
4.33 2013-09-07
- Fixed portability bug in Mojo::IOLoop::Delay.
4.32 2013-09-06
- Added error event to Mojo::IOLoop::Delay.
4.31 2013-09-04
- Deprecated mode specific methods in application class.
sub production_mode {...}
becomes (in the startup method)
if ($app->mode eq 'production') {...}
4.30 2013-09-01
- Fixed memory leak in Mojolicious::Routes.
4.29 2013-08-31
- Fixed automatic rendering to work after non-blocking operations have been
performed in bridges.
4.28 2013-08-29
- Added support for non-blocking operations in bridges to
Mojolicious::Routes.
- Added continue method to Mojolicious::Controller.
- Added continue method to Mojolicious::Routes.
- Added current attribute to Mojolicious::Routes::Match.
- Fixed automatic rendering bug in Mojolicious::Routes.
4.27 2013-08-26
- Added acceptors attribute to Mojo::Server::Daemon.
- Added handle method to Mojo::IOLoop::Server.
- Added -V option to eval command.
- Added reuse option to Mojo::IOLoop::Server::listen.
- Added reuse parameter to Mojo::Server::Daemon::listen.
- Fixed console message bug in Mojo::Server::Daemon.
- Fixed SNI bug in online tests.
4.26 2013-08-18
- Fixed support for Netscape cookies in Mojo::Cookie::Response.
- Fixed element method bug in Mojo::Collection.
4.25 2013-08-17
- Added support for calling element methods to Mojo::Collection.
- Added compact method to Mojo::Collection.
4.24 2013-08-08
- Added ancestors method to Mojo::DOM.
- Fixed bug where Mojo::IOLoop::Stream timeout was not always available.
4.23 2013-08-01
- Added redirects method to Mojo::Transaction::HTTP.
4.22 2013-07-30
- Improved Mojo::Server to use FindBin more defensively.
- Fixed empty attribute bug in Mojo::DOM::CSS.
- Fixed partial route handling in routes command.
4.21 2013-07-29
- Added strip method to Mojo::DOM.
- Fixed return values of remove and replace methods in Mojo::DOM.
4.20 2013-07-28
- Deprecated Mojo::DOM::attrs in favor of Mojo::DOM::attr.
- Improved Mojo::UserAgent connection management to be fork-safe.
4.19 2013-07-21
- Improved invalid tag handling in Mojo::DOM::HTML.
4.18 2013-07-08
- Added --mode option to Morbo.
- Fixed bug in Mojo::UserAgent where not all 2xx responses would be accepted
for CONNECT requests.
4.17 2013-07-04
- Updated jQuery to version 2.0.3.
- Improved Mojo::IOLoop::Server to use Perfect Forward Secrecy for TLS.
- Fixed Mojo::Transaction::WebSocket to generate RFC 6455 compliant
Sec-WebSocket-Key headers. (josh)
- Fixed bug where not all uppercase methods were hidden from the router.
4.16 2013-06-19
- Improved Perl 5.10.x and 5.12.x compatibility. (trinitum)
4.15 2013-06-18
- Added around_action hook.
- Improved ojo to make the current controller object available to actions as
$_. (jberger, sri)
- Fixed a few error reporting bugs in Mojo::IOLoop::Client and
Mojo::IOLoop::Server.
- Fixed small emit_chain bug in Mojolicious::Plugins.
4.14 2013-06-10
- Improved url_for performance slightly.
- Fixed bug where match attribute and render_later method were not hidden
from the router.
4.13 2013-06-09
- Replaced ua method in Mojolicious::Controller with a helper.
- Fixed url_for support for absolute URLs without scheme or authority.
(bduggan, sri)
4.12 2013-06-07
- Improved Mojo::Message::Request to allow a few more ASCII characters in
URLs.
4.11 2013-06-03
- Added allow and append methods to Mojo::Headers.
- Added split_header function to Mojo::Util.
- Fixed cookie quoting bugs.
- Fixed a few small boundary and charset detection bugs in Mojo::Content.
- Fixed a few small filename detection bugs in Mojo::Message.
- Fixed small quality detection bug in Mojolicious::Types.
4.10 2013-06-01
- Added link and vary methods to Mojo::Headers.
4.09 2013-05-31
- Updated jQuery to version 2.0.2.
- Increased default max_message_size from 5MB to 10MB in Mojo::Message.
4.08 2013-05-30
- Improved Mojo::Message::Request to allow curly brackets in URLs.
- Improved HMAC-SHA1 performance in Mojo::Util.
4.07 2013-05-26
- Updated jQuery to version 2.0.1.
- Fixed format handling in routes command.
4.06 2013-05-25
- Fixed Windows bug in "log.t".
4.05 2013-05-24
- Fixed encoding bug in Mojo::Log.
4.04 2013-05-23
- Added WebSocket subprotocol support to Mojo::UserAgent::Transactor.
4.03 2013-05-21
- Fixed redirect support in get command.
4.02 2013-05-20
- Fixed extends, layout and title helpers not to generate unnecessary log
messages.
4.01 2013-05-19
- Fixed small drain event bug in Mojo::IOLoop::Stream. (ChinaXing)
4.0 2013-05-15
- Code name "Top Hat", this is a major release.
- Added simple JSON serialization and deserialization support to
Mojo::Transaction::WebSocket.
- Added json event to Mojo::Transaction::WebSocket.
- Added render_maybe method to Mojolicious::Controller.
- Added again methods to Mojo::Reactor, Mojo::Reactor::Poll and
Mojo::Reactor::EV.
- Added is_empty method to Mojo::Transaction::HTTP.
- Added close_gracefully method to Mojo::IOLoop::Stream.
- Changed Mojolicious default secret to the application moniker to make it
slightly more secure.
- Changed types in Mojolicious::Types to consistently use arrays.
- Changed heuristics for number detection in Mojo::JSON to better line up
with user expectations.
- Changed render and render_static methods in Mojolicious::Controller to call
render_not_found if no response could be generated.
- Removed callback support from body method in Mojo::Message.
- Removed Mojolicious::Plugin::PoweredBy and
Mojolicious::Plugin::RequestTimer.
- Removed pair_separator attribute from Mojolicious::Parameters.
- Removed data attribute from Mojo::URL.
- Removed captures attribute from Mojolicious::Routes::Match.
- Removed charset attribute from Mojo::DOM::HTML.
- Removed charset method from Mojo::DOM.
- Removed render_data, render_json, render_partial and render_text methods
from Mojolicious::Controller.
- Removed json_content_is method from Test::Mojo.
- Removed has_leftovers method from Mojo::Content.
- Removed is_chunked, is_dynamic, is_multipart, has_leftovers, leftovers,
write and write_chunk methods from Mojo::Message.
- Removed hmac_md5_sum method from Mojo::ByteStream.
- Removed hmac_md5_sum function from Mojo::Util.
- Removed memorize helper.
- Removed deprecated end method from Mojo::IOLoop::Delay.
- Removed deprecated build_form_tx, build_json_tx, post_form and post_json
methods from Mojo::UserAgent.
- Removed deprecated form and json methods from Mojo::UserAgent::Transactor.
- Removed deprecated post_form_ok and post_json_ok methods from Test::Mojo.
- Removed deprecated f and n functions from ojo.
- Removed deprecated after_static_dispatch hook.
- Renamed shape_match method in Mojolicious::Routes::Pattern to
match_partial.
- Reduced idle CPU usage of Mojo::IOLoop.
- Increased default lock_timeout from 0.5 to 1 second in
Mojo::Server::Prefork and Mojo::Server::Hypnotoad.
- Improved Mojo::IOLoop performance significantly and reduced CPU usage when
managing more than 10k concurrent connections.
- Improved Mojolicious to be able to detect the current operating mode from
the PLACK_ENV environment variable.
- Improved Mojolicious to not trap exceptions if the default exception
handling has been deactivated.
- Improved json_is and json_message_is methods in Test::Mojo by making the
JSON Pointer optional. (jberger)
- Improved renderer performance.
- Improved Mojo::DOM::HTML performance.
- Improved Mojo::Reactor::Poll performance.
- Improved html_unescape performance in Mojo::Util.
- Improved Mojolicious::Plugin::EPLRenderer to cache templates more
efficiently.
- Fixed Perl 5.17.11+ compatibility.
- Fixed Mojo::JSON to encode "inf" and "nan" values as strings. (chansen)
- Fixed a few authority and rendering bugs in Mojo::URL.
- Fixed layout bugs in Mojolicious::Renderer.
- Fixed support for HEAD request method in Mojo::Server::CGI and
Mojo::Server::PSGI.
- Fixed small line directive bug in Mojo::Template.
- Fixed small limit bug in Mojo::Message.
3.97 2013-04-25
- Added data attribute to Mojo::URL.
- Improved compatibility with IO::Socket::SSL 1.87.
- Improved Test::Mojo diagnostics messages.
- Fixed a few small timing bugs in WebSocket tests.
3.96 2013-04-22
- Updated jQuery to version 2.0.
- Updated prettify.js to version 4-Mar-2013.
- Improved Mojo::URL to be able to contain scheme data for unknown schemes.
- Improved form content generator for GET and HEAD requests. (jberger)
- Improved default descriptions in Test::Mojo.
- Fixed host normalization bug in Mojo::URL.
- Fixed small html_unescape bug in Mojo::Util.
- Fixed small encoding bug in routes command.
- Fixed a few small clone bugs.
- Fixed a few small redirect and proxy connect bugs in
Mojo::UserAgent::Transactor.
- Fixed a few small method handling bugs in Mojo::Transaction::HTTP.
3.95 2013-04-12
- Added finished_ok method to Test::Mojo.
- Removed deprecated slurp_rel_file method from Mojo::Home.
- Removed deprecated html_escape function from Mojo::Util.
- Improved Mojo::Transaction::WebSocket with support for status codes and
reasons.
- Fixed message size limit bug in Mojo::Transaction::WebSocket.
- Fixed a few small timing bugs in Mojo::Server::Daemon.
- Fixed small description bug in Test::Mojo.
3.94 2013-04-08
- Added is_hidden method to Mojolicious::Routes.
- Removed deprecated start method from Mojolicious::Commands.
- Fixed small selector bug in get command.
- Fixed small anchor bug in Mojolicious::Plugin::PODRenderer.
3.93 2013-04-05
- Deprecated Mojo::IOLoop::Delay::end in favor of generated callbacks.
- Improved Mojo::IOLoop::Delay to be able to generate callbacks that can
capture all arguments.
- Improved prefork command to allow -a and -L values below 1 second.
- Fixed multiple timing bugs in Mojo::IOLoop::Delay.
3.92 2013-04-03
- Added monotonic clock support to make Mojolicious more resilient to time
jumps.
- Added steady_time function to Mojo::Util.
- Removed deprecated namespace method from Mojolicious::Routes.
- Removed deprecated base_tag helper.
- Improved WebSocket send method to stringify objects. (jberger)
- Improved version command to show required versions of optional
dependencies.
- Fixed RFC 6901 compliance of Mojo::JSON::Pointer. (jberger, sri)
- Fixed a few small Unicode bugs in get command.
3.91 2013-03-17
- Improved bad charset handling in Mojo::DOM::HTML.
- Fixed HTTPS proxy support for blocking requests in Mojo::UserAgent.
- Fixed support for RFC 2817 in Mojo::Message::Request.
- Fixed whitespace bug in Mojo::DOM::HTML.
- Fixed proxy detection bug in get command.
3.90 2013-03-14
- Added direct array access for parsed parameters to Mojo::Parameters.
- Added direct array access for path parts to Mojo::Path.
- Improved dumper helper to sort hash keys.
- Fixed bug in Mojo::Headers that prevented multi-line headers from being
parsed correctly.
- Fixed multi-line header support in hash representation of Mojo::Headers.
- Fixed cloning bug in Mojo::Headers.
3.89 2013-03-04
- Fixed installable scripts to not "use lib", which sadly breaks updated
dual-life modules. (jberger, sri)
- Fixed bug preventing delayed normalization for reused Mojo::Path objects.
- Fixed path matching bug in Mojo::Path.
3.88 2013-03-03
- Improved Mojo::Path to delay normalization as long as possible.
- Improved Mojo::Path performance.
- Fixed small domain detection bug in Mojo::UserAgent::CookieJar.
3.87 2013-02-23
- Added deprecated function to Mojo::Util. (marcus)
- Removed deprecated render_content helper.
3.86 2013-02-22
- Welcome to the Mojolicious core team Joel Berger.
- Improved portability of Mojo::Asset::File tests.
- Fixed path generation bug in Mojolicious::Routes::Pattern. (jberger)
- Fixed small domain detection bug in Mojo::UserAgent::CookieJar.
(dione, sri)
- Fixed comment lines in Mojo::Template to cover the whole line.
3.85 2013-02-13
- Deprecated Mojo::UserAgent::build_form_tx in favor of
Mojo::UserAgent::build_tx.
- Deprecated Mojo::UserAgent::build_json_tx in favor of
Mojo::UserAgent::build_tx.
- Deprecated Mojo::UserAgent::post_form in favor of Mojo::UserAgent::post.
- Deprecated Mojo::UserAgent::post_json in favor of Mojo::UserAgent::post.
- Deprecated Mojo::UserAgent::Transactor::form in favor of
Mojo::UserAgent::Transactor::tx.
- Deprecated Mojo::UserAgent::Transactor::json in favor of
Mojo::UserAgent::Transactor::tx.
- Deprecated Test::Mojo::post_form_ok in favor of Test::Mojo::post_ok.
- Deprecated Test::Mojo::post_json_ok in favor of Test::Mojo::post_ok.
- Deprecated ojo::f in favor of ojo::p.
- Deprecated ojo::n in favor of ojo::p.
- Added support for pluggable content generators to
Mojo::UserAgent::Transactor. (judofyr, sri)
- Added generators attribute to Mojo::UserAgent::Transactor.
- Added add_generator method to Mojo::UserAgent::Transactor.
- Updated jQuery to version 1.9.1.
- Fixed memory leak in development not found page.
- Fixed custom temporary directory bug in Mojo::Asset::File.
3.84 2013-01-30
- Deprecated after_static_dispatch hook in favor of before_routes.
- Added after_static hook.
- Fixed small file descriptor leak in Mojo::UserAgent.
3.83 2013-01-27
- Moved bundled static files to mojo directory.
- Fixed small Getopt::Long configuration bug in Mojolicious::Commands.
3.82 2013-01-18
- Fixed Windows bugs in tests. (kmx, sri)
3.81 2013-01-17
- Added modules Mojo::Server::Prefork and Mojolicious::Command::prefork.
- Added lookup method to Mojolicious::Routes.
- Updated jQuery to version 1.9.
- Improved url_for performance significantly.
- Improved Mojo::Server::Hypnotoad to be a small wrapper around
Mojo::Server::Prefork.
- Fixed small memory leak in Hypnotoad that only shows when Perl is compiled
with -DPERL_USE_SAFE_PUTENV. (lewoberst)
3.80 2013-01-15
- Deprecated testing WebSocket messages without calling
Test::Mojo::message_ok.
- Deprecated Mojo::Util::html_escape in favor of Mojo::Util::xml_escape.
- Deprecated Mojo::ByteStream::html_escape in favor of
Mojo::ByteStream::xml_escape.
- Deprecated Mojo::Home::slurp_rel_file in favor of Mojo::Util::slurp.
- Added message attribute to Test::Mojo.
- Added json_message_has, json_message_hasnt and message_ok methods to
Test::Mojo.
- Fixed support for multi-character entities in Mojo::Util.
3.79 2013-01-13
- Fixed small domain detection bug in Mojo::UserAgent::CookieJar.
3.78 2013-01-13
- Added to_dir method to Mojo::Path.
- Fixed domain and path detection bugs in Mojo::UserAgent::CookieJar.
- Fixed IDNA support in Mojo::UserAgent::CookieJar.
3.77 2013-01-12
- Added support for advanced binary WebSocket message tests to Test::Mojo.
- Added binary and text events to Mojo::Transaction::WebSocket.
- Added json_message_is method to Test::Mojo.
- Added j function to Mojo::JSON.
- Updated a few example scripts.
- Fixed aliasing bug in Mojo::EventEmitter.
- Fixed WebSocket cookie bug in Mojo::UserAgent.
- Fixed small upgrade bugs in Mojo::UserAgent::Transactor.
3.76 2013-01-10
- Added support for multiple uploads sharing the same name to
Mojo::UserAgent::Transactor.
- Improved performance and memory usage of Mojo::EventEmitter.
- Fixed support for multiple uploads in Mojolicious::Controller.
3.75 2013-01-08
- Added to_route method to Mojo::Path.
- Improved router performance slightly.
3.74 2013-01-07
- Fixed bug where Mojolicious::Lite applications in modules would generate
the wrong moniker.
3.73 2013-01-06
- Deprecated Mojolicious::Commands::start in favor of
Mojolicious::Commands::start_app.
- Added moniker attribute to Mojolicious.
- Added after_render hook.
- Improved name detection in Mojolicious::Plugin::Config.
3.72 2013-01-05
- Deprecated base_tag helper.
3.71 2013-01-02
- Modernized ".travis.yml".
- Improved Mojo::EventEmitter to warn about unhandled error events.
- Improved Mojo::UserAgent to warn more often about failed events.
- Improved monkey_patch to patch multiple functions at once. (jberger)
- Fixed small memory leak in Mojo::DOM.
3.70 2012-12-23
- Added accept_interval setting to Hypnotoad.
- Reduced idle CPU usage of Mojo::Reactor::Poll.
- Improved Mojo::Server to die more gracefully if an application class could
not be found.
3.69 2012-12-20
- Deprecated Mojolicious::Routes::namespace in favor of
Mojolicious::Routes::namespaces.
- Added color_field helper to Mojolicious::Plugin::TagHelpers.
- Added date_field helper to Mojolicious::Plugin::TagHelpers.
- Added datetime_field helper to Mojolicious::Plugin::TagHelpers.
- Added email_field helper to Mojolicious::Plugin::TagHelpers.
- Added month_field helper to Mojolicious::Plugin::TagHelpers.
- Added number_field helper to Mojolicious::Plugin::TagHelpers.
- Added range_field helper to Mojolicious::Plugin::TagHelpers.
- Added search_field helper to Mojolicious::Plugin::TagHelpers.
- Added tel_field helper to Mojolicious::Plugin::TagHelpers.
- Added time_field helper to Mojolicious::Plugin::TagHelpers.
- Added url_field helper to Mojolicious::Plugin::TagHelpers.
- Added week_field helper to Mojolicious::Plugin::TagHelpers.
- Improved Mojo::Base to use utf8.
3.68 2012-12-16
- Added monkey_patch function to Mojo::Util.
- Added ".travis.yml".
- Modernized ".gitignore".
- Updated jQuery to version 1.8.3.
- Converted README to markdown.
- Fixed small export bug in Mojolicious::Lite. (jberger)
3.67 2012-12-15
- Added support for MIME type prioritization to Mojolicious::Types.
- Improved respond_to to prioritize multiple MIME types if the
X-Requested-With header is set to the value "XMLHttpRequest".
3.66 2012-12-14
- Added request_ok method to Test::Mojo.
- Fixed multipart boundary detection bug in Mojo::Content.
- Fixed format regex generation bug in Mojolicious::Routes::Pattern.
3.65 2012-12-09
- Added upgrade method to Mojo::UserAgent::Transactor.
- Added is_range method to Mojo::Asset.
- Fixed parameter replacement bug in Mojo::Parameters. (alexbyk, sri)
- Fixed small paragraph bug in Mojo::DOM::HTML.
3.64 2012-12-01
- Fixed bug where Mojo::UserAgent::Transactor would escape
Content-Disposition values.
3.63 2012-11-28
- Added support for smooth restarting to Morbo.
- Added acceptor method to Mojo::IOLoop.
- Added stop method to Mojo::Server::Daemon.
- Improved memory usage of chunked transfer encoding parser in Mojo::Content.
3.62 2012-11-26
- Improved compatibility with IO::Socket::SSL 1.79.
- Improved encode/decode performance in Mojo::Util by using a cache.
- Fixed clone bugs in Mojo::URL.
3.61 2012-11-25
- Added protocol method to Mojo::URL.
- Added charset attribute to Mojo::Path.
- Improved support for relative redirects in Mojo::UserAgent::Transactor.
- Fixed clone bugs in Mojo::Parameters and Mojo::URL.
- Fixed case-sensitivity bugs in Mojo::UserAgent::Transactor.
3.60 2012-11-22
- Added unexpected event to Mojo::Transaction::HTTP.
- Fixed Mojo::UserAgent to ignore unexpected 1xx responses.
3.59 2012-11-20
- Fixed memory leak in Mojo::Message::Request.
- Fixed keep-alive bug in Mojo::Server::Daemon.
3.58 2012-11-19
- Fixed state bugs in Mojo::Content::MultiPart.
- Fixed Mojo::UserAgent to remove codes from parser errors.
3.57 2012-11-12
- Deprecated Mojo::Exception::raw_message.
- Improved error message accuracy in Mojo::Template by using line directives.
- Improved performance of contains method in Mojo::Asset::File by 100%.
- Fixed range bug in Mojo::Asset::Memory.
3.56 2012-11-09
- Improved performance of contains method in Mojo::Asset::File significantly.
- Fixed offset bug in Mojo::Asset::File.
3.55 2012-11-08
- Added gzip compression support to Mojo::UserAgent.
- Added is_compressed method to Mojo::Content.
- Fixed bug that prevented around_dispatch hooks from working correctly in
embedded applications.
- Fixed small bug where "chunked" would not always be the default transfer
encoding.
3.54 2012-11-01
- Added next and previous methods to Mojo::DOM.
3.53 2012-10-31
- Replaced Mojolicious::Guides::CodingGuidelines with
Mojolicious::Guides::Contributing.
3.52 2012-10-26
- Added boolean shortcut support to Mojo::JSON.
- Added escape attribute to Mojo::Template. (jberger)
- Added max_buffer_size attribute to Mojo::Content.
- Added is_limit_exceeded method to Mojo::Content.
3.51 2012-10-23
- Fixed multiple small context bugs.
3.50 2012-10-20
- Improved option handling of all commands.
3.49 2012-10-19
- Fixed % escaping bug in Mojo::Parameters. (dmw397)
3.48 2012-10-16
- Improved Mojo::Content performance slightly.
- Fixed memory leak in Mojo::Headers.
3.47 2012-10-13
- Added all method to Mojo::UserAgent::CookieJar.
- Fixed WebSocket bug in Mojo::Content.
3.46 2012-10-11
- Improved router and renderer to allow CamelCase controllers.
3.45 2012-10-10
- Added multi_accept attribute to Mojo::IOLoop.
- Added multi_accept attribute to Mojo::IOLoop::Server.
- Added multi_accept setting to Hypnotoad.
- Relaxed comment handling in Mojo::DOM::HTML a little. (jberger)
- Improved accept performance of all built-in web servers significantly.
- Improved responsiveness of documentation browser.
- Improved documentation browser CSS. (tempire)
3.44 2012-09-29
- Improved html_escape to favor lowercase entities. (judofyr)
- Improved javascript and stylesheet helpers to not generate type
attributes.
3.43 2012-09-22
- Updated jQuery to version 1.8.2.
- Improved Hypnotoad to clean up old PID files containing a 0.
(coffeemonster)
3.42 2012-09-16
- Improved Hypnotoad to clean up old PID files.
3.41 2012-09-13
- Improved Mojo::EventEmitter to warn about failed error events.
- Improved resilience of Mojo::IOLoop exception handling.
- Fixed small CGI bug.
3.40 2012-09-11
- Fixed Perl 5.10.1 compatibility.
- Fixed FindBin support in Mojolicious applications.
- Fixed a few multipart bugs.
3.39 2012-09-10
- Improved Mojo::URL and Mojo::Parameters performance.
- Fixed support for query parameters in Mojolicious::Plugin::Charset.
3.38 2012-09-07
- Added xor_encode method to Mojo::ByteStream.
- Added xor_encode function to Mojo::Util.
- Fixed small xor_encode bug. (dod, crab)
3.37 2012-09-04
- Added finish method to Mojo::Message.
- Updated jQuery to version 1.8.1.
- Fixed Mojo::Transaction to propagate connection close to Mojo::Message.
- Fixed small state bug in Mojo::Transaction.
3.36 2012-08-30
- Fixed small multipart bug.
3.35 2012-08-28
- Deprecated Mojolicious::Controller::render_content in favor of content
helper.
- Improved Mojolicious::Plugin::Config to accept mode specific configuration
files without a normal configuration file. (alexbyk, sri)
3.34 2012-08-24
- Improved documentation.
3.33 2012-08-23
- Improved Mojo::DOM::HTML to handle bad charsets more gracefully.
3.32 2012-08-20
- Added event sequentialization support to delay method in Mojo::IOLoop.
(judofyr, marcus, sri)
- Added support for expiration session value to Mojolicious::Sessions.
- Added steps method to Mojo::IOLoop::Delay. (judofyr, marcus, sri)
- Added tap method to Mojo::Base.
- Added squish method to Mojo::ByteStream.
- Added squish function to Mojo::Util.
- Fixed json_has method in Test::Mojo.
- Fixed bug in Mojo::Log that prevented some message events from being
emitted.
- Fixed get command to allow ":" character in header values.
- Fixed small class_to_file bug.
- Fixed a few small namespace handling bugs.
3.31 2012-08-15
- Added accept_charset, accept_encoding, content_encoding, origin and
sec_websocket_extensions methods to Mojo::Headers.
3.30 2012-08-14
- Added te method to Mojo::Headers.
- Fixed small content encoding bug in Mojo::Message.
3.29 2012-08-13
- Fixed small timing bugs in WebSocket and TLS tests.
3.28 2012-08-10
- Added skip_body attribute to Mojo::Content.
- Added is_empty method to Mojo::Message::Response.
- Updated jQuery to version 1.8.
- Improved Mojo::Base to assign names to generated subroutines.
- Improved message parser performance slightly.
- Fixed 1xx, 204 and 304 response support.
3.27 2012-08-09
- Improved tests.
3.26 2012-08-09
- Improved tests.
3.25 2012-08-08
- Fixed cleanup bugs in Mojo::Server::Daemon and Mojo::UserAgent.
3.24 2012-08-08
- Improved tests.
3.23 2012-08-07
- Added appcache MIME type.
3.22 2012-08-06
- Added mp4, ogg, ogv and webm MIME types.
- Removed x- prefix from js and woff MIME types.
- Fixed gz and xml MIME types.
3.21 2012-08-05
- Fixed Perl 5.17.3+ compatibility.
- Fixed small AUTOLOAD bug in Mojolicious::Lite.
3.20 2012-08-04
- Added extract_start_line methods to Mojo::Message, Mojo::Message::Request
and Mojo::Message::Response.
- Added get_start_line_chunk methods to Mojo::Message::Request and
Mojo::Message::Request.
- Improved end method in Mojo::IOLoop::Delay to return the number of
remaining events.
3.19 2012-08-03
- Fixed dynamic content generation bug in Mojo::Message.
- Fixed bug that prevented multiple anchors with the same name in
Mojolicious::Plugin::PODRenderer.
3.18 2012-08-02
- Fixed chunked transfer encoding bug in Mojo::Content.
3.17 2012-08-01
- Fixed bug in after_static_dispatch hook that prevented custom responses.
- Fixed bug that prevented conditions from generating responses.
3.16 2012-07-31
- Fixed small memory leak in Mojolicious::Plugin::TagHelpers.
3.15 2012-07-28
- Improved Mojo::Base to load IO::Handle.
3.14 2012-07-27
- Improved documentation.
3.13 2012-07-24
- Added multi-name support to param method in Mojolicious::Controller.
- Added remove method to Mojo::DOM.
- Improved RFC 3986 compliance of Mojo::Parameters.
- Improved Mojolicious::Plugin::Config log messages. (jberger)
- Fixed selector bug in dom method of Mojo::Message.
- Fixed small charset bug in get command.
3.12 2012-07-20
- Deprecated Mojo::Home::app_class.
- Deprecated Mojo::IOLoop::client_class.
- Deprecated Mojo::IOLoop::server_class.
- Deprecated Mojo::IOLoop::stream_class.
- Deprecated Mojo::Message::dom_class.
- Deprecated Mojo::Message::json_class.
- Added json method to Mojo::UserAgent::Transactor.
- Added build_json_tx and post_json methods to Mojo::UserAgent.
- Added post_json_ok method to Test::Mojo.
- Added n function to ojo.
- Improved text_field helper to always set the type attribute. (marty, sri)
- Fixed file and content type detection bugs in Mojolicious::Static.
(marty, sri)
3.11 2012-07-19
- Added or method to Test::Mojo. (moritz, sri)
- Added file and serve_asset methods to Mojolicious::Static.
- Improved default descriptions for many methods in Test::Mojo.
- Improved Mojo::Cache performance. (nic)
- Fixed a few small encoding bugs in Test::Mojo.
3.10 2012-07-17
- Fixed small bug in Mojo::Asset::File.
3.09 2012-07-16
- Added spurt function to Mojo::Util.
- Added spurt method to Mojo::ByteStream.
3.08 2012-07-14
- Fixed small Mojo::Template bug.
3.07 2012-07-13
- Improved template error messages for generator commands and configuration
files.
- Fixed small bug in Mojolicious::Plugin::EPRenderer that prevented code to
be added to templates.
- Fixed small bug in Mojolicious::Plugin::JSONConfig that prevented code to
be added to configuration files.
3.06 2012-07-11
- Added tls_verify option to Mojo::IOLoop::Server::listen. (scottw)
- Added verify parameter to Mojo::Server::Daemon::listen. (scottw)
- Fixed small bug in Mojo::UserAgent that prevented port reuse.
3.05 2012-07-08
- Reduced default graceful_timeout from 30 to 20 seconds in
Mojo::Server::Hypnotoad.
- Fixed small initialization bug in Mojo::IOLoop::Stream.
3.04 2012-07-07
- Improved Mojo::IOLoop performance by reducing stream timeout precision
from 0.025 to 0.5 seconds.
3.03 2012-07-06
- Improved load balancing between Hypnotoad worker processes.
- Improved Hypnotoad log messages.
- Fixed default format handling bug in render_exception and render_not_found.
- Fixed small namespace detection bug in Mojo::DOM.
- Fixed small session reset bug in Test::Mojo.
3.02 2012-07-03
- Added pluck and uniq methods to Mojo::Collection.
- Added regular expression support to first and grep methods in
Mojo::Collection.
- Fixed JSON Pointer escaping.
- Fixed small text and attribute extraction bugs in Mojo::DOM.
- Fixed small inconsistency between routes and static dispatchers.
3.01 2012-07-01
- Improved CSS of built-in templates.
3.0 2012-06-25
- Code name "Rainbow", this is a major release.
- Removed Mojolicious::Plugin::I18N so it can be maintained as a separate
distribution.
- Removed app_class attribute from Mojo::Server.
- Removed qp_decode and qp_encode methods from Mojo::ByteStream.
- Removed qp_decode and qp_encode functions from Mojo::Util.
- Removed render_to_file and render_file_to_file methods from Mojo::Template.
- Renamed Mojo::CookieJar to Mojo::UserAgent::CookieJar.
- Renamed Mojo::Command to Mojolicious::Command.
- Renamed format, reqs, symbol_start and symbols attributes in
Mojolicious::Routes::Pattern to format_regex, constraints,
placeholder_start and placeholders.
- Merged get_all_data and get_data methods from Mojo::Command into data
method in Mojo::Loader.
- Moved class_to_file and class_to_path methods from Mojo::Command to
Mojo::Util.
- Updated IO::Socket::SSL requirement to 1.75 for IO::Socket::IP support.
- Switched back from IO::Socket::INET6 to IO::Socket::IP for IPv6 support.
- Switched from HMAC-MD5 to HMAC-SHA1 for signed cookies.
- Added slurp function to Mojo::Util.
- Added slurp method to Mojo::ByteStream.
- Added j and r functions to ojo. (sharifulin, sri)
- Added accept_interval attribute to Mojo::IOLoop.
- Added support for new HTTP status code.
- Modernized ".perltidyrc".
- Improved Mojo::IOLoop::Server to prioritize RC4 cipher, which mitigates the
BEAST attack. (Danny Thomas)
- Improved not found page to highlight custom route names.
- Improved to method in Mojolicious::Routes::Route to give easier access to
default parameters.
- Improved message parser performance slightly.
- Fixed bug that prevented sessions from working in embedded applications.
- Fixed JSON Pointer escaping.
- Fixed small JSON Pointer bug in get command. (avkhozov)
- Fixed small application initialization bug in Mojo::Server.
2.98 2012-05-30
- Switched from IO::Socket::IP to IO::Socket::INET6 for IPv6 support.
- Improved IPv6 exception handling in Mojo::IOLoop::Client.
- Fixed array appending bug in Mojo::Parameters.
2.97 2012-05-28
- Added workaround to make IO::Socket::SSL work with IO::Socket::IP.
- Removed Bonjour support.
- Fixed bug that prevented Test::Mojo from working with normal Mojolicious
applications that use Mojolicious::Plugin::Config.
- Fixed a few small Unicode bugs in documentation.
2.96 2012-05-21
- Added merge method to Mojo::Path.
- Fixed small memory leak in Mojolicious.
- Fixed small bug that prevented already prepared IO::Socket::SSL handles to
be used by Mojo::UserAgent.
- Fixed small Mojo::URL and Mojo::Path stringification bugs.
2.95 2012-05-10
- Fixed bug that caused inactivity timeouts to be logged too often.
2.94 2012-05-09
- Added support for 308 redirects to Mojo::UserAgent.
- Added support for new HTTP status codes.
- Improved exception handling of all scripts.
- Improved built-in web servers to log inactivity timeouts as debug messages
instead of errors.
- Fixed html_escape to always use entities with semicolon. (OlegG, crab)
- Fixed typo in 414 status message.
- Fixed small cookie formatting bug.
- Fixed small bug in cookie parser.
- Fixed small backlog bug in Mojo::Server::Daemon.
2.93 2012-05-05
- Added remove method to Mojolicious::Routes::Route.
- Improved 32-bit Perl support of Mojo::Transaction::WebSocket.
(mikemagowan, sri)
- Improved exception handling of application and configuration file loaders.
- Improved exception handling of Mojolicious::Plugin::I18N.
- Improved renderer log messages.
- Fixed bug that prevented helper names from starting with "end". (Akron)
- Fixed bug that prevented helper names from ending with "begin".
- Fixed empty frame handling in Mojo::Transaction::WebSocket.
- Fixed small rendering bug in Mojolicious::Plugin::PODRenderer.
- Fixed small code generation bug in Mojolicious::Plugin::I18N.
- Fixed small escaping bug in Mojo::URL.
2.92 2012-04-30
- Added commands attribute to Mojolicious.
- Fixed attribute namespace selector bugs in Mojo::DOM::CSS.
2.91 2012-04-26
- Added cookies method to Mojo::Message.
- Updated HTML5 entities in Mojo::Util.
2.90 2012-04-25
- Fixed small JavaScript bug in Mojolicious::Plugin::PODRenderer.
2.89 2012-04-24
- Made logo on built-in templates smaller.
- Improved CSS of built-in templates.
2.88 2012-04-24
- Improved documentation.
2.87 2012-04-23
- Improved html_escape performance and added pattern support.
- Fixed small escaping bug.
2.86 2012-04-23
- Added support for TO_JSON method to Mojo::JSON.
- Updated HTML5 entities in Mojo::Util.
- Increased default heartbeat_timeout from 10 to 20 seconds in
Mojo::Server::Hypnotoad.
- Improved Mojo::Template exception handling.
- Improved ojo exception handling.
- Fixed a few HTML5 unescaping bugs.
2.85 2012-04-19
- Modernized ".perltidyrc".
- Fixed bug in "user_agent.t".
2.84 2012-04-19
- Fixed flash.
2.83 2012-04-18
- Added hostname verification support to Mojo::IOLoop::Client and
Mojo::UserAgent.
- Added SNI support to Mojo::IOLoop::Client and Mojo::UserAgent.
- Fixed bug that prevented conditions to work in embedded applications.
- Fixed bug that changed default values in embedded applications.
- Fixed small bug in cpanify command.
2.82 2012-04-16
- Deprecated relaxed placeholders "/(.foo)" in favor of "/#foo".
- Deprecated Mojolicious::Routes::Route::waypoint.
- Deprecated Mojolicious::Routes::Route::block.
- Improved Mojolicious::Routes::Pattern to render formats.
- Improved regex formatting in routes command.
2.81 2012-04-15
- Improved router to allow disabled format detection to be inheritable by
nested routes.
- Improved error handling in Mojolicious::Plugin::JSONConfig.
- Improved match method in Mojolicious::Routes::Pattern to support format
detection.
- Improved router log messages.
- Improved all debug messages.
- Fixed format detection bugs in Mojolicious::Routes::Pattern.
- Fixed format handling in routes command.
2.80 2012-04-10
- Added support for alternative MIME types to Mojolicious::Types.
- Added endpoint method to Mojo::UserAgent::Transactor.
- Fixed HTTPS proxy keep-alive bug in Mojo::UserAgent.
2.79 2012-04-10
- Improved makefile and plugin generators to always use the latest
Mojolicious version.
- Fixed HTTPS proxy support in Mojo::UserAgent.
- Fixed multiple Mojo::UserAgent::Transactor bugs.
2.78 2012-04-09
- Improved Mojolicious::Routes to allow redispatching controllers.
- Improved Mojolicious::Routes logging.
2.77 2012-04-09
- Improved Mojo::Transaction::WebSocket to allow custom message parsers.
- Improved help command to be less strict.
- Fixed bug that prevented -h and --help options from working for generator
commands.
- Fixed small bug that prevented non-string secrets in Mojolicious.
2.76 2012-04-05
- Improved documentation.
2.75 2012-04-05
- Fixed small bug in params method of Mojo::Parameters.
2.74 2012-04-04
- Fixed multiple small bugs in form method of Mojo::UserAgent::Transactor.
2.73 2012-04-03
- Fixed multiple progress event bugs in Mojo::Message.
2.72 2012-04-03
- Added kept_alive method to Mojo::Transaction::WebSocket.
2.71 2012-04-03
- Improved Hypnotoad error handling.
- Improved version command to detect proxy servers automatically.
- Fixed small argument bug in to_hash method of Mojo::Headers.
2.70 2012-03-30
- Improved speed of version command by switching to the MetaCPAN API.
- Improved all bundled TLS test certificates to expire at the same time.
- Fixed handler detection precedence bug in Mojolicious::Renderer.
- Fixed ability to disable inactivity timeout in Hypnotoad.
- Fixed ability to disable accepts limit in Hypnotoad.
- Fixed small bug in get_all_data method of Mojo::Command.
- Fixed small bug in inflate command. (memowe)
2.69 2012-03-26
- Removed X-Forwarded-Host support since it is redundant for well
configured reverse proxies.
- Changed number of redirects ojo and the get command will follow to 10.
- Improved ojo to detect proxy servers automatically.
- Improved Mojo::DOM::CSS performance.
- Improved Mojo::Reactor tests to be less strict.
- Fixed a bug where paths and classes in Mojolicious::Static and
Mojolicious::Renderer would have the wrong precedence.
- Fixed small bug where Hypnotoad would ignore the MOJO_REVERSE_PROXY
environment variable.
2.68 2012-03-24
- Fixed generate command.
2.67 2012-03-24
- Added start_app method to Mojo::Command.
- Fixed small bugs in Mojo::Command and Mojolicious::Commands.
2.66 2012-03-23
- Reformatted "Changes".
- Improved Mojo::Reactor::Poll performance.
- Fixed one_tick semantics to be equal in Mojo::Reactor::Poll and
Mojo::Reactor::EV.
2.65 2012-03-22
- Deprecated Mojo::IOLoop::drop in favor of Mojo::IOLoop::remove.
- Renamed Mojo::Reactor::drop to Mojo::Reactor::remove.
- Added module Mojo::Reactor::Poll.
- Added one_tick methods to Mojo::Reactor and Mojo::Reactor::EV.
- Removed experimental status from Mojo::IOLoop::Client.
- Removed experimental status from Mojo::IOLoop::Server.
- Removed experimental status from Mojo::IOLoop::Stream.
- Removed experimental status from Mojo::Reactor.
- Removed experimental status from Mojo::Reactor::EV.
- Removed experimental status from client_class, max_accepts, reactor,
server_class and stream_class attributes in Mojo::IOLoop.
- Removed experimental status from client server and stream methods in
Mojo::IOLoop.
- Updated jQuery to version 1.7.2.
2.64 2012-03-21
- Deprecated Mojolicious::Routes::controller_base_class in favor of
Mojolicious::Routes::base_classes.
- Removed handle argument from io watchers in Mojo::Reactor.
2.63 2012-03-20
- Renamed Mojo::IOWatcher to Mojo::Reactor.
- Added module Mojolicious::Routes::Route.
- Added find and root methods to Mojolicious::Routes::Route.
- Improved form_for helper to automatically add method="POST" attributes when
necessary.
- Improved memory usage of Mojolicious::Routes.
- Improved Mojolicious::Renderer performance.
- Fixed bug that slowed down Mojolicious::Renderer.
- Fixed small newline capture bug in Mojolicious::Routes::Match.
2.62 2012-03-17
- Deprecated Mojolicious::Renderer::default_template_class in favor of
Mojolicious::Renderer::classes.
- Deprecated Mojolicious::Static::default_static_class in favor of
Mojolicious::Static::classes.
- Added options function to Mojolicious::Lite.
- Added options method to Mojolicious::Routes.
- Added options method to Mojo::UserAgent.
- Added options_ok method to Test::Mojo.
- Added o function to ojo.
- Removed experimental status from Mojo::Cache.
- Removed experimental status from Mojo::DOM::CSS.
- Removed experimental status from Mojo::DOM::HTML.
- Removed experimental status from Mojo::Server::Morbo.
- Removed experimental status from Mojo::Transaction::WebSocket.
- Removed experimental status from Mojo::UserAgent::Transactor.
- Removed experimental status from Mojolicious::Command::cpanify.
- Removed experimental status from upgrade event in Mojo::Transaction::HTTP.
- Removed experimental status from t helper in
Mojolicious::Plugin::TagHelpers.
- Removed experimental status from current_route and url_with helpers in
Mojolicious::Plugin::DefaultHelpers.
- Removed experimental status from websocket function in Mojolicious::Lite.
- Removed experimental status from cache attribute in Mojolicious::Renderer.
- Removed experimental status from format attribute in
Mojolicious::Routes::Pattern.
- Removed experimental status from ca and local_address, request_timeout and
transactor attributes in Mojo::UserAgent.
- Removed experimental status from cache attribute in Mojolicious::Routes.
- Removed experimental status from send method in Mojolicious::Controller.
- Removed experimental status from finish_ok, message_is, message_isnt,
message_like, message_unlike, send_ok and websocket_ok methods in
Test::Mojo.
- Removed experimental status from detect method in Mojolicious::Types.
- Removed experimental status from app_url, build_websocket_tx and
websocket methods in Mojo::UserAgent.
- Removed experimental status from emit_safe method in Mojo::EventEmitter.
- Removed experimental status from to_psgi_app method in Mojo::Server::PSGI.
- Removed experimental status from clone method in Mojo::Message::Request.
- Removed experimental status from has_conditions, has_custom_name,
has_websocket, is_websocket and websocket methods in Mojolicious::Routes.
- Removed experimental status from clone, is_limit_exceeded and max_line_size
methods in Mojo::Headers.
- Removed experimental status from text_after, text_before and xml methods,
as well as trim arguments in Mojo::DOM.
- Removed experimental status from boundary, charset, clone, is_dynamic,
progress and max_leftover_size methods in Mojo::Content.
- Removed experimental status from clone method in Mojo::Content::MultiPart.
- Removed experimental status from clone method in Mojo::Content::Single.
- Removed experimental status from is_dynamic, is_limit_exceeded and
max_line_size methods in Mojo::Message.
- Improved Mojo::IOWatcher exception handling a little.
- Improved Mojolicious::Routes logging.
- Fixed port generation bug. (xaka)
- Fixed IPv6 listen value bug in Mojo::Server::Daemon.
2.61 2012-03-14
- Merged Mojolicious exception handling into the around_dispatch hook, this
will allow a whole new category of exception handling plugins.
2.60 2012-03-13
- Added EXPERIMENTAL current_route helper to
Mojolicious::Plugin::DefaultHelpers.
- Made text_area helper a little smarter. (sshaw, sri)
- Improved inactivity timeout logging for WebSockets.
- Fixed escaping bug in select_field and text_area helpers.
- Fixed Windows bug in "asset.t".
2.59 2012-03-09
- Removed duplicate 2.58 directory.
2.58 2012-03-09
- Added support for MOJO_LISTEN environment variable.
- Removed listen attribute from Mojo::Server::Morbo.
- Improved event loop compatibility of Mojo::Server::PSGI.
- Fixed Mojo::URL object handling bug in url_for.
- Fixed bug in Hypnotoad that prevented disabling of reverse proxy support
between zero downtime software upgrades.
- Fixed small caching bug in Morbo file watcher.
- Fixed Windows bug in "asset.t".
2.57 2012-03-03
- Replaced protection from excessively large form values in Mojo::Message
with documentation.
2.56 2012-03-01
- Deprecated custom HTTPS listen values in favor of URLs for all built-in
web servers.
https://*:3000:/x/server.crt:/y/server.key:/z/ca.crt
becomes
https://*:3000?cert=/x/server.crt&key=/y/server.key&ca=/z/ca.crt
- Removed experimental status from patch function in Mojolicious::Lite.
- Removed experimental status from patch method in Mojolicious::Routes.
- Removed experimental status from patch method in Mojo::UserAgent.
- Removed experimental status from patch_ok method in Test::Mojo.
- Removed experimental status from t function in ojo.
- Fixed small inconsistency between Mojo::IOWatcher and Mojo::IOWatcher::EV
where Mojo::IOWatcher wouldn't stop automatically when not watching for
events anymore.
- Fixed Mojo::IOLoop to clean up after itself.
2.55 2012-02-28
- Combined WebSocket timeout with normal inactivity timeout.
2.54 2012-02-27
- Deprecated class and method stash values in favor of controller and action.
- Added EXPERIMENTAL patch function to Mojolicious::Lite.
- Added EXPERIMENTAL patch method to Mojolicious::Routes.
- Added EXPERIMENTAL patch method to Mojo::UserAgent.
- Added EXPERIMENTAL patch_ok method to Test::Mojo.
- Added EXPERIMENTAL t function to ojo.
- Added support for MOJO_CONNECT_TIMEOUT, MOJO_INACTIVITY_TIMEOUT,
MOJO_REQUEST_TIMEOUT and MOJO_WEBSOCKET_TIMEOUT environment variables.
- Split up Mojolicious::Guides::Cheatsheet into more reference documentation.
- Increased default connect timeout from 3 to 10 seconds in Mojo::UserAgent
and Mojo::IOLoop::Client.
- Improved resilience of Mojo::IOLoop::Stream.
- Improved test command to colorize by default.
- Fixed small rendering bug in Mojolicious::Plugin::PODRenderer.
2.53 2012-02-25
- Improved Hypnotoad with many info level log messages.
- Improved resilience of Mojo::IOLoop::Stream.
- Fixed Hypnotoad upgrade timeout bug.
2.52 2012-02-24
- Removed experimental status from config method in Mojo.
- Renamed send_message method in Mojolicious::Controller to send.
- Renamed send_message_ok method in Test::mojo to send_ok.
- Renamed to_psgi method in Mojo::Server::PSGI to to_psgi_app.
- Combined send_message and send_frame methods in
Mojo::Transaction::WebSocket to send.
- Improved emit_chain method in Mojolicious::Plugins to allow reforwarding.
(jamadam)
- Fixed bug that prevented Mojo::IOLoop from dying when started twice.
- Fixed a cookie jar path parsing bug. (marcus)
- Fixed multiple value bug in param method of Mojolicious::Controller.
2.51 2012-02-19
- Added EXPERIMENTAL to_psgi method to Mojo::Server::PSGI.
- Removed experimental status from around_dispatch hook.
- Removed experimental status from emit_chain method in Mojolicious::Plugins.
- Removed experimental status from drain event in Mojo::Content.
- Improved portability of scripts.
- Fixed bug that can prevent foreign event loops from being able to control
Mojo::IOLoop.
2.50 2012-02-18
- Added EXPERIMENTAL is_running methods to Mojo::IOWatcher and
Mojo::IOWatcher::EV.
- Added file upload support to param method in Mojolicious::Controller.
- Removed gitignore command.
- Improved Mojo::IOLoop to be controllable from foreign event loops.
- Improved protection from excessively large form values in Mojo::Message.
- Improved resilience of Mojo::IOLoop::Client.
- Fixed Mojo::Template expressions and escaped expressions to consistently
enforce scalar context.
- Fixed small bugs in makefile command. (tempire, marcus, sri)
2.49 2012-02-13
- Deprecated Mojolicious::Renderer::root in favor of
Mojolicious::Renderer::paths. (memowe, sri)
- Deprecated Mojolicious::Static::root in favor of
Mojolicious::Static::paths. (memowe, sri)
- Added support for multiple "templates" and "public" directories to
Mojolicious. (memowe, sri)
- Improved version command to be more responsive. (crab)
- Improved resilience of Mojo::IOLoop::Client.
- Fixed parent combinator bug in Mojo::DOM::CSS. (sharifulin, sri)
2.48 2012-02-09
- Fixed Hypnotoad HTTPS bug.
- Fixed small URL escaping bug in Mojo::UserAgent::Transactor.
- Fixed small MIME::Base64 and MIME::QuotedPrint related bugs in Mojo::Util.
(sestegra, sri)
2.47 2012-02-06
- Deprecated Hypnotoad configuration files in favor of more powerful
application configuration files.
- Deprecated Mojo::Server::Daemon::prepare_ioloop in favor of
Mojo::Server::Daemon::start.
- Deprecated Mojo::Headers::x_forwarded_for.
- Added EXPERIMENTAL config method to Mojo.
- Added EXPERIMENTAL ca attribute to Mojo::UserAgent.
- Added EXPERIMENTAL drain event to Mojo::Content.
- Added EXPERIMENTAL drain event to Mojo::Transaction::WebSocket.
- Added EXPERIMENTAL support for RSV1-3 flags to
Mojo::Transaction::WebSocket.
- Added EXPERIMENTAL tls_ca option to Mojo::IOLoop::Client::connect.
- Added lock_timeout setting to Hypnotoad.
- Removed experimental status from JSON Pointer support.
- Removed Cygwin exception from Hypnotoad.
- Replaced drop_handle and drop_timer methods in Mojo::IOWatcher with drop
method.
- Renamed change and watch methods in Mojo::IOWatcher to watch and io.
- Renamed resume and pause methods in Mojo::IOLoop::Server to start and stop.
- Renamed resume and pause methods in Mojo::IOLoop::Stream to start and stop.
- Added pdf MIME type. (bfaist)
- Improved CSS of some built-in templates.
- Fixed bug that prevented newer dual-life modules to be loaded.
- Fixed small bug in Mojo::IOLoop::Stream that caused close events to fail
sometimes.
- Fixed small relative URL detection bug in get command.
2.46 2012-01-25
- Added EXPERIMENTAL request_timeout attribute to Mojo::UserAgent.
- Added EXPERIMENTAL text_after and text_before methods to Mojo::DOM.
- Improved all uses of syswrite to be more defensive. (bduggan, sri)
- Fixed small parser bug in Mojo::Message::Response.
- Fixed small partial rendering bug.
- Fixed small HTML5 parser bug in Mojo::DOM::HTML. (dougwilson)
2.45 2012-01-18
- Removed T-Shirt link.
- Fixed small caching bug in Mojolicious::Plugin::EPRenderer.
- Fixed typo in exception template.
2.44 2012-01-18
- Added new not found page for development mode.
- Added EXPERIMENTAL url_with helper to Mojolicious::Plugin::DefaultHelpers.
(diegok, marcus, judofyr, sri)
- Added EXPERIMENTAL support for removing query parameters while merging to
query method of Mojo::URL. (marcus, judofyr, sri)
- Removed experimental status from Mojo::IOLoop::Delay.
- Removed defer method from Mojo::IOLoop.
- Improved exception page for development mode.
- Improved syntax highlighting in documentation browser slightly.
- Fixed Mojo::Command::app to be an attribute and not a method.
- Fixed Mojo::ByteStream, Mojo::Collection and Mojo::DOM to not be subclasses
of Mojo::Base.
2.43 2012-01-08
- Improved most commands with shortcut options.
- Improved get command to automatically enable verbose mode for HEAD
requests. (simotrone)
2.42 2012-01-02
- Deprecated Test::Mojo::max_redirects.
- Removed exprimental status from respond_to method in
Mojolicious::Controller.
- Removed experimental status from error event in Mojo::UserAgent.
- Removed experimental status from connect_timeout attribute in
Mojo::UserAgent.
- Removed experimental status from connection event in Mojo::Transaction.
- Removed experimental status from upgrade event in Mojo::Asset::Memory.
- Removed experimental status from auto_upgrade and max_memory_size
attributes in Mojo::Asset::Memory.
- Removed experimental status from part event in Mojo::Content::MultiPart.
- Removed experimental status from upgrade event in Mojo::Content::Single.
- Removed experimental status from auto_upgrade attribute in
Mojo::Content::Single.
- Removed experimental status from body event in Mojo::Content.
- Removed experimental status from mojo_lib_dir and slurp_rel_file methods in
Mojo::Home.
- Removed experimental status from message event in Mojo::Log.
- Removed experimental status from contains method in Mojo::Path.
- Removed test_server method from Test::Mojo.
- Renamed test_server method in Mojo::UserAgent to app_url.
- Improved RFC 6265 compliance of generated request headers.
- Fixed bug that prevented sessions without expiration.
2.41 2011-12-28
- Deprecated Mojo::Cookie::version.
- Deprecated Mojo::Cookie::Response::comment and
Mojo::Cookie::Response::port.
- Removed experimental status from group feature of Mojolicious::Lite.
- Removed experimental status from Mojo::Collection.
- Removed experimental status from Mojolicious::Plugin::Mount.
- Removed experimental status from dnt and etag methods in Mojo::Headers.
- Improved session expiration by allowing it to be disabled. (nwatkiss, sri)
- Improved session cookies to always enable the HttpOnly flag.
(nwatkiss, sri)
- Improved RFC 6265 compliance of cookie implementation.
2.40 2011-12-24
- Added EXPERIMENTAL JSON Pointer support. (crab)
- Improved inactivity timeouts by allowing them to be disabled.
- Improved class detection of inflate command.
- Fixed small bug in Mojo::IOLoop::Server that prevented TLS tests from
running parallel. (nwatkiss)
- Fixed repository to not favor specific editors.
2.39 2011-12-22
- Deprecated all keep_alive_timeout attributes and parameters in favor of
inactivity_timeout.
- Added EXPERIMENTAL error event to Mojo::UserAgent.
- Added EXPERIMENTAL local_address attribute to Mojo::UserAgent.
- Added EXPERIMENTAL local_address option to Mojo::IOLoop::Client::connect.
- Added EXPERIMENTAL close method to Mojo::IOLoop::Stream.
- Added "hello.pl" and "fast.pl" to example scripts.
- Removed log attribute from Mojo::UserAgent.
- Removed MOJO_STATIC_CLASS and MOJO_TEMPLATE_CLASS environment variables.
- Improved tests for many environment variables.
- Fixed Morbo to ignore hidden directories.
- Fixed small argument bug in client method of Mojo::IOLoop.
- Fixed small memory leak in Mojo::IOLoop::Stream.
- Fixed multiple small error reporting bugs in Mojo::UserAgent.
- Fixed online tests to not be affected by geographical location. (marcus)
2.38 2011-12-17
- Changed Mojo::IOLoop::client arguments from ($loop, $stream, $err) to
($loop, $err, $stream).
- Improved resilience of Mojo::IOLoop::Stream.
- Fixed memory leaks caused by named capture groups bug in Perl. (plu, sri)
- Fixed small cleanup bug in Mojo::Asset::File.
- Fixed small multipart bug in Mojo::Message. (augensalat)
- Fixed missing status method in Mojo::Headers. (crab)
- Fixed small Mojo::IOLoop::Stream timeout bug.
2.37 2011-12-10
- Welcome to the Mojolicious core team Marcus Ramberg, Glen Hinkle and
Abhijit Menon-Sen.
- Removed cleanup_interval attribute from Mojo::IOLoop.
- Deprecated Mojo::IOLoop::timeout in favor of Mojo::IOLoop::Stream::timeout.
- Added EXPERIMENTAL timeout event to Mojo::IOLoop::Stream.
- Added EXPERIMENTAL timeout attribute to Mojo::IOLoop::Stream.
- Changed default keep-alive timeout of Mojo::UserAgent from 15 to 20
seconds.
- Fixed inline template double encoding bug.
2.36 2011-12-05
- Changed default heartbeat timeout of Hypnotoad from 5 to 10 seconds.
- Fixed default keep-alive timeout of Hypnotoad.
2.35 2011-12-01
- Added EXPERIMENTAL etag method to Mojo::Headers.
- Fixed one-byte payload bug in Mojo::Transaction::WebSocket. (tinx)
- Fixed body event in Mojo::Content to work more reliably in CGI
environments.
- Fixed small portability issue in loader test.
2.34 2011-11-28
- Added "websocket.pl" to example scripts.
- Fixed small bugs in example scripts.
2.33 2011-11-28
- Improved Mojo::EventEmitter performance slightly.
- Fixed a few small inline template issues.
- Fixed small WebSocket handshake bug.
2.32 2011-11-24
- Added EXPERIMENTAL error event to Mojo::IOWatcher.
- Updated jQuery to version 1.7.1.
- Improved Mojo::IOLoop performance by changing the default cleanup interval
from 0 to 0.025 seconds.
2.31 2011-11-21
- Improved stack traces by making them a lot simpler.
2.30 2011-11-20
- Deprecated Mojo::IOLoop::on_lock in favor of Mojo::IOLoop::lock.
- Deprecated Mojo::IOLoop::on_unlock in favor of Mojo::IOLoop::unlock.
2.29 2011-11-19
- Deprecated Mojolicious::on_process in favor of around_dispatch hook.
- Added EXPERIMENTAL emit_chain method to Mojolicious::Plugins. (Akron, sri)
- Added EXPERIMENTAL around_dispatch hook.
- Fixed small bug in boundary and charset methods of Mojo::Content.
2.28 2011-11-18
- Fixed small IPv6 portabilty issue in Mojo::IOLoop::Client.
2.27 2011-11-16
- Deprecated Mojo::IOLoop::connect in favor of Mojo::IOLoop::client.
- Deprecated Mojo::IOLoop::listen in favor of Mojo::IOLoop::server.
- Deprecated Mojo::IOLoop::connection_timeout in favor of
Mojo::IOLoop::timeout.
- Deprecated Mojo::IOLoop::write in favor of Mojo::IOLoop::Stream::write.
- Deprecated Mojo::IOLoop::connect_timeout in favor of timeout argument.
- Deprecated on_* methods in Mojo::IOLoop.
- Removed Mojo::IOLoop::Resolver.
- Added EXPERIMENTAL connect_timeout attribute to Mojo::UserAgent.
- Added EXPERIMENTAL is_readable method to Mojo::IOLoop::Stream.
- Added EXPERIMENTAL charset method to Mojo::Content.
- Added EXPERIMENTAL write event to Mojo::IOLoop::Stream.
- Added EXPERIMENTAL connection event to Mojo::Transaction.
- Improved CSS of some built-in templates.
- Fixed many small memory leaks.
- Fixed multiple drain callback bugs.
- Fixed small attribute selector bug in Mojo::DOM::CSS. (tladesignz)
2.26 2011-11-10
- Added EXPERIMENTAL upgrade event to Mojo::Asset::Memory.
- Added EXPERIMENTAL upgrade event to Mojo::Transaction::HTTP.
- Added EXPERIMENTAL auto_upgrade attribute to Mojo::Asset::Memory.
- Improved Mojo::Content::Single and Mojo::Content::MultiPart parsers to
reuse events.
- Fixed small route caching bug.
2.25 2011-11-08
- Removed canonicalize method from Mojo::URL.
- Fixed URL without scheme handling in Mojo::URL.
- Fixed a few small bugs in Mojo::URL.
2.24 2011-11-05
- Added EXPERIMENTAL canonicalize method to Mojo::URL.
- Fixed small path canonicalization bug in Mojo::URL.
- Fixed small trailing slash bug in Mojo::Path.
2.23 2011-11-04
- Changed semantics of get_line function in Mojo::Util.
- Removed experimental status from Mojo::Util.
- Updated jQuery to version 1.7.
- Improved empty path element handling in Mojo::URL.
- Fixed empty path element bug in Mojo::Path.
2.22 2011-11-03
- Added EXPERIMENTAL --verbose option to routes command.
- Fixed a few attribute without value selector bugs in Mojo::DOM::CSS.
- Fixed template inheritance bug in Mojolicious::Renderer.
2.21 2011-11-02
- Removed profile helper.
- Removed CSS4 selector subject support from Mojo::DOM::CSS until we actually
know the exact semantics.
- Improved Mojo::ByteStream to generate most Mojo::Util-based methods
automatically.
- Fixed route pattern bug.
- Fixed bug in "user_agent.t".
2.20 2011-11-01
- Changed semantics of almost all functions in Mojo::Util.
2.19 2011-10-31
- Deprecated Mojolicious::Plugins::add_hook in favor of
Mojolicious::Plugins::on.
- Deprecated Mojolicious::Plugins::run_hook in favor of
Mojolicious::Plugins::emit_hook.
- Deprecated Mojolicious::Plugins::run_hook_reverse in favor of
Mojolicious::Plugins::emit_hook_reverse.
2.18 2011-10-30
- Fixed small rendering bug.
2.17 2011-10-30
- Fixed bug in "user_agent.t".
2.16 2011-10-30
- Removed experimental status from Mojo::EventEmitter.
- Merged unsubscribe and unsubscribe_all methods in Mojo::EventEmitter.
2.15 2011-10-29
- Deprecated Mojolicious::Controller::on_finish in favor of
Mojolicious::Controller::on.
- Removed Mojolicious::Controller::on_message, you can now use
Mojolicious::Controller::on instead.
$c->on(message => sub {...});
- Added EXPERIMENTAL message event to Mojo::Log.
2.14 2011-10-29
- Deprecated Mojo::DOM::new with arguments.
- Renamed Mojo::IOLoop::Trigger to Mojo::IOLoop::Delay.
- Renamed watch method in Mojo::IOWatcher to change.
- Renamed io method in Mojo::IOWatcher to watch.
- Renamed cancel method in Mojo::IOWatcher to drop_timer.
- Renamed remove method in Mojo::IOWatcher to drop_handle.
- Added EXPERIMENTAL --verbose option to test command.
2.13 2011-10-28
- Removed experimental status from many classes, methods, attributes and
functions.
- Removed before_render hook.
- Removed Mojolicious::Plugin::CallbackCondition.
2.12 2011-10-27
- Added EXPERIMENTAL cleanup_interval attribute to Mojo::IOLoop.
- Added EXPERIMENTAL max_leftover_size attribute to Mojo::Content.
- Replaced handle method in Mojo::IOLoop with stream method.
- Replaced writing and not_writing methods in Mojo::IOWatcher with watch
method.
- Replaced is_finished method in Mojo::IOLoop::Stream with is_writing
method.
- Replaced add method in Mojo::IOWatcher with io method.
- Reduced memory usage of Mojo::Headers significantly.
- Fixed finish event timing in Mojo::Server::Daemon.
2.11 2011-10-26
- Improved Mojo::IOLoop::Stream to only emit close events once.
2.10 2011-10-25
- Added EXPERIMENTAL send_frame method to Mojo::Transaction::WebSocket.
- Added EXPERIMENTAL frame event to Mojo::Transaction::WebSocket.
- Changed syntax for binary messages in Mojo::Transaction::WebSocket.
[$bytes] becomes [binary => $bytes]
2.09 2011-10-23
- Fixed small environment cleanup bug in Mojo::IOLoop::Server.
2.08 2011-10-23
- Fixed a few more small test bugs.
2.07 2011-10-23
- Fixed a few small test bugs.
2.06 2011-10-23
- Improved documentation.
2.05 2011-10-22
- Added EXPERIMENTAL max_memory_size attribute to Mojo::Asset::Memory.
- Added EXPERIMENTAL is_file methods to Mojo::Asset and Mojo::Asset::File.
- Improved start_tls method in Mojo::IOLoop by allowing it to accept more
options.
- Improved MOJO_MAX_MEMORY_SIZE handling by moving it from
Mojo::Content::Single to Mojo::Asset::Memory.
- Fixed HTTPS proxy bug in Mojo::UserAgent.
2.04 2011-10-21
- Fixed small HTTP response parser bug.
- Fixed Windows portability issue in "upload_lite_app.t".
2.03 2011-10-20
- Deprecated all is_done methods in favor of is_finished.
- Renamed done event in Mojo::IOLoop::Trigger to finish.
- Added EXPERIMENTAL support for new HTTP status codes from
draft-nottingham-http-new-status.
- Fixed small bug in "upload_lite_app.t".
2.02 2011-10-20
- Merged request and upgrade events in Mojo::Transaction::HTTP.
- Improved Mojolicious::Controller attribute default values.
2.01 2011-10-19
- Added EXPERIMENTAL upgrade event to Mojo::Content::Single.
- Added EXPERIMENTAL part event to Mojo::Content::MultiPart.
- Fixed arguments of upgrade event in Mojo::Transaction::HTTP.
- Fixed small WebSocket upgrade bug in Mojo::Server::Daemon.
2.0 2011-10-17
- Code name "Leaf Fluttering In Wind", this is a major release.
- Increased Perl version requirement to 5.10.1.
- Renamed Mojo::IOLoop::EventEmitter to Mojo::EventEmitter.
- Replaced one_tick method in Mojo::IOWatcher with start and stop methods.
- Added EXPERIMENTAL contains method to Mojo::Path.
- Added EXPERIMENTAL auto_upgrade attribute to Mojo::Content::Single.
- Added EXPERIMENTAL boundary method to Mojo::Content.
- Added EXPERIMENTAL slice method to Mojo::Collection.
- Added EXPERIMENTAL build and parse methods to Mojo::IOLoop::Resolver.
- Updated WebSocket implementation to ietf-17.
- Improved many modules to use events instead of callbacks.
- Improved message parser performance slightly.
- Improved Mojo::IOLoop to die if started twice.
- Improved setuidgid in Mojo::Server::Daemon.
- Improved Mojo::IOWatcher backend detection.
- Improved Mojo::IOLoop::Stream to handle unexpected connection close more
gracefully.
- Fixed many portability issues.
- Fixed on_finish callback to work consistently with all servers.
- Fixed on_finish callback to work consistently with the user agent.
- Fixed big memory and file descriptor leak in the TLS code of
Mojo::IOLoop::Server.
- Fixed small memory leak in Mojolicious.
- Fixed small memory leak in Mojo::DOM.
- Fixed small memory leak in Mojo::Message.
- Fixed small boundary bug in Mojo::Content::MultiPart.
- Fixed small formatting bug in Mojo::Headers.
- Fixed small proxy message generation bug.
- Fixed small detection bug in Mojolicious::Types.
1.99 2011-09-29
- Deprecated direct hash access to the flash in Mojolicious::Controller.
- Added EXPERIMENTAL group function to Mojolicious::Lite.
- Added EXPERIMENTAL build_frame and parse_frame methods to
Mojo::Transaction::WebSocket.
- Added EXPERIMENTAL accepts attribute to Mojo::IOLoop::Server.
- Added EXPERIMENTAL profile helper.
- Added EXPERIMENTAL binary support to Mojo::Transaction::WebSocket.
- Updated WebSocket implementation to ietf-16.
- Changed default upgrade timeout of Hypnotoad from 30 to 60 seconds.
- Improved accept performance of all built-in web servers by up to 1000% with
the EV backend.
- Improved connection_timeout method in Mojo::IOLoop by allowing it to be
called as a class method.
- Improved CSS of some built-in templates.
- Improved resilience of HTTP parser.
- Fixed CSS of built-in exception template.
- Fixed close event bug in Mojo::IOLoop.
- Fixed small redirect_to bug. (judofyr, sri)
- Fixed small attribute selector bug in Mojo::DOM::CSS.
- Fixed small Unicode bug in Mojolicious::Plugin::EPRenderer.
- Fixed a few small route bugs.
- Fixed Perl 5.8.7 compatibility.
1.98 2011-09-14
- Removed Mojo::Server::FastCGI so it can be maintained as a separate
distribution.
- Added EXPERIMENTAL mojo_lib_dir and slurp_rel_file methods to Mojo::Home.
- Improved host condition to work in more environments.
- Improved CSS of all built-in templates.
- Improved test command to run tests in alphabetical order. (viliampucik)
- Improved non-blocking resolver by allowing it to be disabled.
- Improved DATA templates by removing a whitespace requirement.
- Fixed small name generation bug in Mojolicious::Plugin::Config.
- Fixed small bug in cookie jar.
- Fixed small plugin loader bug.
- Fixed Hypnotoad to clean up lock files.
- Fixed small bug that caused exceptions to be logged twice.
1.97 2011-09-03
- Improved Unicode handling to be more correct and less forgiving.
1.96 2011-09-02
- Updated jQuery to version 1.6.3.
- Fixed Mojo::IOLoop to ignore SIGPIPE.
1.95 2011-09-01
- Improved cookie generation slightly. (cosimo, sri)
- Fixed Mojo::IOLoop to not ignore SIGPIPE.
1.94 2011-08-27
- Fixed lite_app and plugin generators.
1.93 2011-08-27
- Added EXPERIMENTAL support for escaped tags to Mojo::Template.
- Improved Morbo to ignore dotfiles.
- Fixed trimming bug in Mojo::Template.
- Fixed a few small bugs in Mojo::Template.
- Fixed small version detection bug in Mojo::Cookie.
1.92 2011-08-26
- Fixed quoting bug in Mojo::Cookie.
1.91 2011-08-25
- Added EXPERIMENTAL support for cloning Mojo::Message::Request objects.
- Improved redirect support in Mojo::UserAgent to be closer to commonly used
browsers.
1.90 2011-08-24
- Improved respond_to to automatically render an empty 204 response for
unknown formats.
- Improved render_exception and render_not_found to use the current format if
available. (alnewkirk)
1.89 2011-08-23
- Improved Mojo::Home portability. (omega)
1.88 2011-08-23
- Added EXPERIMENTAL split method to Mojo::ByteStream.
- Fixed small bug in Mojo::JSON.
1.87 2011-08-23
- Added EXPERIMENTAL app method to Mojo::Command.
- Added EXPERIMENTAL t helper to Mojolicious::Plugin::TagHelpers.
- Made tag helper a little smarter.
- Made camelize a little smarter.
- Fixed small route rendering bug.
1.86 2011-08-21
- Deprecated CamelCase command modules and lowercased all the built-in ones.
- Added EXPERIMENTAL support for testing WebSockets with Test::Mojo.
- Added GET/POST parameter support to respond_to.
- Made class_to_file slightly smarter.
1.85 2011-08-20
- Fixed a url_for bug where captures would be ignored.
1.84 2011-08-19
- Added EXPERIMENTAL first, reverse, shuffle and sort methods to
Mojo::Collection.
- Fixed small test portablity bug.
1.83 2011-08-19
- Renamed filter method in Mojo::Collection to grep.
1.82 2011-08-19
- Added EXPERIMENTAL filter method to Mojo::Collection.
- Removed while and until methods from Mojo::Collection.
1.81 2011-08-19
- Renamed Mojo::DOM::Collection to Mojo::Collection and added a few new
methods.
- Made Mojolicious::Plugins loader quite a bit smarter.
- Improved Test::Mojo diagnostics.
1.80 2011-08-17
- Deprecated Mojolicious::Plugin::EpRenderer in favor of
Mojolicious::Plugin::EPRenderer.
- Deprecated Mojolicious::Plugin::EplRenderer in favor of
Mojolicious::Plugin::EPLRenderer.
- Deprecated Mojolicious::Plugin::I18n in favor of Mojolicious::Plugin::I18N.
- Deprecated Mojolicious::Plugin::JsonConfig in favor of
Mojolicious::Plugin::JSONConfig.
- Deprecated Mojolicious::Plugin::PodRenderer in favor of
Mojolicious::Plugin::PODRenderer.
1.79 2011-08-17
- Added support for uppercase relative plugin names. (lammel)
1.78 2011-08-16
- Added EXPERIMENTAL modules Mojolicious::Command::Cpanify and
Mojolicious::Command::Generate::Plugin. (sri, yko, tempire)
- Fixed "websocket_lite_app.t" to require Perl 5.10+.
- Fixed small empty cookie bug.
- Fixed small command bug.
1.77 2011-08-14
- Deprecated Mojo::Path::append in favor of using Mojo::Path::parts directly.
- Improved handling of preformatted text in Mojo::DOM.
- Improved Mojo::DOM to allow smart whitespace trimming to be disabled.
(Akron)
- Fixed small Unicode bug in get command.
1.76 2011-08-12
- Fixed small Mojo::URL escaping bug.
1.75 2011-08-12
- Added secure_compare function to Mojo::Util as a precaution against timing
attacks in the future. (judofyr)
- Added EXPERIMENTAL CSS4 selector subject support to Mojo::DOM::CSS.
1.74 2011-08-09
- Added EXPERIMENTAL --verbose option to Morbo.
1.73 2011-08-09
- Added EXPERIMENTAL -strict flag to Mojo::Base.
- Added EXPERIMENTAL respond_to method to Mojolicious::Controller.
- Added EXPERIMENTAL detect method to Mojolicious::Types.
- Added accept method to Mojo::Headers.
- Made Mojo::UserAgent slightly more efficient.
- Improved get command to autoflush STDOUT.
1.72 2011-08-05
- Changed default keep-alive timeout in Mojo::Server::Daemon from 5 to 15
seconds.
- Fixed small alternative placeholder value bug in routes.
- Fixed small bug in Mojo::IOWatcher.
- Fixed small bug in Mojo::IOLoop::Client.
1.71 2011-08-05
- Improved Mojo::IOWatcher to use higher resolution timers.
1.70 2011-08-04
- Added EXPERIMENTAL defer method to Mojo::IOLoop.
- Added extended callback support to Mojo::IOLoop::Trigger.
- Fixed a few small bugs in Mojo::URL. (sshaw)
1.69 2011-08-03
- Added EXPERIMENTAL module Mojo::IOLoop::Trigger.
- Modernized Mojo::HelloWorld.
- Improved HTML healing capabilities of Mojo::DOM::HTML.
- Improved HTML rendering in Mojo::DOM::HTML.
- Improved 64-bit support in Mojo::Transaction::WebSocket.
- Fixed memory leak in Mojo::IOLoop::Client.
- Fixed memory leak in Mojolicious.
- Fixed small bug in Mojo::IOLoop::Server.
1.68 2011-07-29
- Moved is_ipv4 and is_ipv6 methods from Mojo::URL to Mojo::IOLoop::Resolver.
1.67 2011-07-27
- Fixed version command.
- Fixed small Mojo::DOM bug. (Akron)
1.66 2011-07-27
- Added EXPERIMENTAL detect method to Mojo::IOWatcher.
- Improved Mojo::IOLoop::Resolver efficiency.
1.65 2011-07-25
- Added EXPERIMENTAL modules Mojo::IOLoop::Client,
Mojo::IOLoop::EventEmitter, Mojo::IOLoop::Server and
Mojo::IOLoop::Stream, which contain extracted functionality from
Mojo::IOLoop.
- Added EXPERIMENTAL module Mojo::IOWatcher::EV. (xantus)
- Removed modules Mojo::IOWatcher::Epoll and Mojo::IOWatcher::KQueue, since
Mojo::IOWatcher::EV is a much better alternative.
- Renamed Mojo::Resolver to Mojo::IOLoop::Resolver.
- Improved Mojolicious::Routes to automatically disable the routing cache if
conditions are used.
- Improved route constraint alternatives.
- Improved documentation browser CSS. (judofyr)
- Fixed small bug in get command.
1.64 2011-07-10
- Added EXPERIMENTAL module Mojo::DOM::HTML.
1.63 2011-07-10
- Added EXPERIMENTAL modules Mojo::DOM::CSS and Mojo::DOM::Collection.
- Renamed Mojo::Transactor to Mojo::UserAgent::Transactor.
1.62 2011-07-10
- Merged Mojo::HTML into Mojo::DOM again.
1.61 2011-07-09
- Added module Mojo::HTML, which contains extracted functionality from
Mojo::DOM.
1.60 2011-07-08
- Added xsl MIME type. (shiftycow)
- Fixed Windows portability issue.
1.59 2011-07-08
- Added peer method to Mojo::Transactor.
- Deprecated Test::Mojo->new(app => 'MyApp') in favor of
Test::Mojo->new('MyApp').
- Made $t->app always return the application instance in tests.
1.58 2011-07-07
- Fixed fork bug in Mojo::IOLoop.
- Fixed small Hypnotoad issues.
1.57 2011-07-07
- Added --stop option to Hypnotoad.
- Made hot deployment with Hypnotoad even easier.
1.56 2011-07-04
- Fixed small memory leaks in Hypnotoad and Mojo::IOLoop.
1.55 2011-07-04
- Fixed some portability issues in tests.
1.54 2011-07-03
- Fixed small Windows issue.
1.53 2011-07-02
- Added EXPERIMENTAL format method to Mojo::Log and simplified the default
log file format.
- Improved include helper argument localization. (miyagawa)
1.52 2011-07-01
- Fixed small static file in DATA section bug.
1.51 2011-07-01
- Renamed build_url method in Test::Mojo to test_server.
- Improved test_server method in Mojo::UserAgent.
- Fixed small timing issue in "morbo.t".
1.50 2011-07-01
- Removed idle event from Mojo::IOLoop.
- Updated jQuery to version 1.6.2.
- Fixed small routes bug that prevented some false values from disabling
format detection.
1.49 2011-06-30
- Added EXPERIMENTAL modules Mojo::IOWatcher and Mojo::Resolver, which
contain extracted functionality from Mojo::IOLoop.
- Added EXPERIMENTAL module Mojo::Transactor, which contains extracted
functionality from Mojo::UserAgent.
- Added EXPERIMENTAL support for simple alternative placeholder values to
routes.
- Improved Morbo restarter to also check for changed file size in addition to
mtime.
- Fixed many small routes bugs.
- Fixed small reparse bug in Mojo::Parameters. (dmw397)
- Fixed url_for to incorporate trailing slash for current route.
- Fixed a few small error reporting bugs around Mojo::UserAgent.
- Fixed portability issue in "command.t".
1.48 2011-06-24
- Added debug log message for missing action to router.
- Improved Mojo::Command tests.
- Fixed support for multiple checkboxes with same name in
Mojolicious::Plugin::TagHelper. (sri, kimoto)
- Fixed portability issue in "lite_app.t". (marcus)
1.47 2011-06-22
- Added EXPERIMENTAL callback condition plugin.
- Added EXPERIMENTAL host condition to Mojolicious::Plugin::HeaderCondition.
- Added host support to Mojolicious::Plugin::Mount. (sri, alnewkirk)
- Removed Mojolicious::Plugin::AgentCondition and added its functionality to
Mojolicious::Plugin::HeaderCondition.
- Improved overall performance slightly.
- Fixed render_static return value.
- Fixed dispatcher return values.
1.46 2011-06-21
- Improved Morbo to only attempt restarting applications after a file change
has been detected.
- Improved overall performance by about 3% with many small optimizations.
- Improved query string support in Mojo::Parameters.
- Fixed Windows restart issues in Morbo. (lammel)
- Fixed missing plugin error message.
1.45 2011-06-20
- Fixed an exception with layout rendering bug.
- Fixed small Mojo::Parameters bug.
1.44 2011-06-18
- Added EXPERIMENTAL self-restarting Morbo development web server and
removed old "--reload" support since there have been too many negative side
effects. This also improves overall performance by about 5-10% and reduces
memory usage by about 10%.
- Added EXPERIMENTAL application mount plugin.
- Added EXPERIMENTAL --help support for all commands.
- Updated prettify.js to version 1-Jun-2011.
- Updated WebSocket diagnostics test in Mojo::HelloWorld for latest Firefox
Aurora.
- Improved inline template and static file performance.
- Improved whitespace trimming in Mojo::DOM. (sri, DaTa)
- Fixed Morbo file discovery bug. (crab)
- Fixed a few application embedding bugs.
- Fixed link generation bug in Mojolicious::Plugin::PodRenderer.
- Fixed small embedding bug in Mojolicious::Plugin::RequestTimer.
1.43 2011-06-13
- Improved after_dispatch hook by allowing it to change session data.
- Fixed a bug in Mojo::Template that caused template blocks to be auto
escaped.
1.42 2011-06-09
- Added EXPERIMENTAL support for unquoted wildcard placeholders in
Mojolicious::Routes::Pattern.
- Added EXPERIMENTAL status code support to rendred method in
Mojolicious::Controller.
- Updated WebSocket implementation to ietf-08.
- Fixed a bug that prevented Mojo::Base subclasses from using the "-base"
flag.
- Fixed a few small default status code bugs.
- Fixed route suggestion bug in "not_found.development.html.ep".
1.41 2011-06-03
- Fixed param list bug in Mojolicious::Controller.
- Fixed overload bug in Mojo::DOM. (yko)
1.4 2011-06-02
- Code name "Smiling Face With Sunglasses", this is a major release.
- Deprecated Mojo::DOM add_after method in favor of the append method.
- Deprecated Mojo::DOM add_before method in favor of the prepend method.
- Deprecated all methods containing the word "inner" in favor of ones
containing the word "content".
- Added EXPERIMENTAL direct hash access for attributes and child element
accessor support to Mojo::DOM.
- Added EXPERIMENTAL support for collections to children method and element
accessors in Mojo::DOM.
- Added EXPERIMENTAL to_xml method to Mojo::DOM collections.
- Added EXPERIMENTAL eval command.
- Added EXPERIMENTAL load_app method to Mojo::Server.
- Added append_content and prepend_content methods to Mojo::DOM.
- Added HTTP method support to routes command. (trone)
- Improved long poll support.
- Improved compatibility with Feersum PSGI web servers. (audreyt)
- Switched from Storable to JSON serialization for Mojolicious sessions to
increase efficiency.
- Reduced memory usage of Hypnotoad workers by at least 1MB (each).
- Fixed a small Mojo::Loader bug.
- Fixed small Windows line ending problem in Mojo::Command. (Akron)
- Fixed a UTF-8 bug in Mojo::Exception. (jamadam)
- Fixed "Can't locate object method x via package y" error messages.
- Fixed woff MIME type.
1.34 2011-05-22
- Fixed nested selector bug in Mojo::DOM.
- Fixed small Mojo::DOM HTML5 bug.
1.33 2011-05-20
- Added EXPERIMENTAL helper function to Mojolicious::Lite.
- Updated jQuery to version 1.6.1.
- Improved Mojo::JSON string escaping to make JSONP easier.
- Improved reloader slightly.
- Moved all bundled templates to "lib/Mojolicious/templates".
- Fixed reserved GET/POST param handling in Mojolicious::Controller.
- Fixed small XML semantics bug in Mojo::DOM.
- Fixed all blocking server bindings to default to a 404 status code.
1.32 2011-05-11
- Added EXPERIMENTAL name support for template exceptions.
- Updated IO::Socket::SSL requirement to 1.43 due to bugs in older versions.
Note that the version requirement will keep getting updated until we
encounter a version that is not broken most of the time.
- Improved reloading slightly by allowing it to clean up the main
namespace.
- Fixed enabling of Perl 5.10 features in Mojo::Base and Mojolicious::Lite.
(garu, sri)
- Fixed render_later to prevent delayed rendering warning.
1.31 2011-05-08
- Reverted deprecation of Perl 5.8.x support, by popular demand.
- Added FAQ entry to clarify the Perl 5.8.x situation.
- Fixed case-sensitivity of Mojo::DOM in XML mode.
- Fixed pseudo-class case handling in Mojo::DOM. (Akron)
1.3 2011-05-05
- Code name "Tropical Drink", this is a major release.
- Deprecated Perl 5.8.x support.
- Deprecated Mojolicious::Renderer get_inline_template method in favor of the
get_data_template method.
- Added EXPERIMENTAL before_render hook.
- Added EXPERIMENTAL hook function to Mojolicious::Lite.
- Added workaround for uWSGI bug. (miyagawa)
- Improved Mojo::Template and Mojolicious::Routes exception handling.
- Improved debug log messages for template rendering.
- Updated Mojo::Base and Mojolicious::Lite to enable Perl 5.10 features if
available.
- Updated jQuery to version 1.6.
- Fixed PSGI read error handling.
- Fixed 64-bit WebSocket message bug.
- Fixed small Windows bug.
1.22 2011-05-02
- Added opposite tests to Test::Mojo.
- Deprecated Mojo::IOLoop on_tick method in favor of the recurring method.
(sbertrang)
- Deprecated Mojo::IOLoop on_hup method in favor of the on_close method.
- Deprecated on_build_tx methods in favor of on_transaction methods.
- Deprecated on_handler methods in favor of on_request methods.
- Updated WebSocket implementation to ietf-07.
- Renamed on_idle method in Mojo::IOLoop to idle.
- Reduced memory requirements of cached templates by up to 50%.
- Fixed controller specific render_exception and render_not_found methods.
- Fixed Mojo::JSON string size limit. (henryykt)
- Fixed Windows bug in Mojo::Asset::File. (kimoto)
- Fixed small memory leak.
- Fixed small stack localization bug.
- Fixed small tag helper escaping bug. (cheese)
1.21 2011-04-20
- Improved temporary file handling to avoid a very unlikely race condition.
(crab)
- Fixed "multipart/form-data" generation bug in Mojo::UserAgent.
(sugar, sharifulin, sri)
1.20 2011-04-20
- Improved size limit handling.
1.19 2011-04-20
- Fixed size limits in message parser.
1.18 2011-04-19
- Added support for X-Forwarded-HTTPS and X-Forwarded-Host headers.
- Added argument localization to the include helper. (crab, moritz, sri)
- Fixed test case.
1.17 2011-04-18
- Deprecated Mojolicious process method in favor of the on_process attribute.
- Added Failraptor.
- Added support for MOJO_CERT_FILE and MOJO_KEY_FILE environment variables.
- Added EXPERIMENTAL xml attribute to Mojo::DOM.
- Added EXPERIMENTAL build_url method to Test::Mojo.
- Added EXPERIMENTAL dnt (Do Not Track) method to Mojo::Headers.
- Added WOFF MIME type. (reezer)
- Updated WebSocket implementation to ietf-06. (sri, crab)
- Updated jQuery to version 1.5.2.
- Improved HTML healing capabilities of Mojo::DOM.
- Improved Mojo::DOM to ignore useless end tags.
- Improved Mojo::DOM inline DTD support. (Akron)
- Improved Mojo::DOM text extraction.
- Improved Mojolicious::Plugin::I18n default lexicon handling. (yko)
- Improved a Mojo::IOLoop workaround.
- Moved all bundled static files to "lib/Mojolicious/public".
- Made Test::Mojo a little more user-friendly.
- Fixed small CGI/FastCGI header generation bug.
- Fixed readonly handle support in Mojo::IOLoop.
- Fixed a Mojo::IOLoop resolver bug. (Charlie Brady)
- Fixed small Mojo::Asset::File bug. (crab)
- Fixed small Mojo::DOM selector bug. (tempire)
- Fixed small Mojo::DOM namespace detection bug. (Akron)
- Fixed small route pattern escaping bug.
- Fixed small reload bug.
- Fixed small documentation browser bug. (kberov)
- Fixed cookbook recipe. (moritz)
1.16 2011-04-15
- Emergency release for a critical security issue that can expose files on
your system, everybody should update! (perlninja, sri)
1.15 2011-03-18
- Changed default log level in "production" mode from "error" to "info".
- Improved lookup method in Mojo::IOLoop.
- Fixed small Mojo::Util bug.
- Fixed a serious Mojo::DOM bug. (moritz)
1.14 2011-03-17
- Added support for multiple DNS servers to Mojo::IOLoop.
- Added config helper to Mojolicious::Plugin::Config.
- Changed resolv.conf parser in Mojo::IOLoop to use the first nameserver.
- Changed lookup method in Mojo::IOLoop to pick records randomly.
- Fixed small optional tag bugs in Mojo::DOM.
- Fixed JavaScript/CSS bug in Mojo::DOM.
- Fixed Windows home directory detection bug. (Akron)
- Fixed a few warnings.
1.13 2011-03-14
- Deprecated Mojo::Client in favor of the much sleeker Mojo::UserAgent.
- Made the most common Mojo::IOLoop methods easier to access for the
singleton instance.
1.12 2011-03-10
- Relicensed all artwork to CC-SA, so the whole distribution can be
considered "open" again.
- Deprecated MOJO_JSON_CONFIG environment variable in favor of MOJO_CONFIG.
(crab)
- Added EXPERIMENTAL support for IPv6.
- Added more Perl-ish configuration plugin.
- Added drain callback support for WebSockets.
- Added line numbers to Mojo::JSON error messages. (marcus)
- Removed experimental status from Hypnotoad and
Mojolicious::Plugin::TagHelpers.
- Removed experimental status from many attributes and methods all over
Mojolicious.
- Improved attribute support of the select_field tag helper. (yko)
- Improved text_field tag helper.
- Improved tag helper attribute escaping.
- Improved attrs method in Mojo::DOM.
- Updated jQuery to version 1.5.1.
- Fixed XSS issue in link_to helper.
- Fixed route unescaping bug.
- Fixed small Mojo::DOM bug. (yko)
- Fixed small documentation bug.
1.11 2011-02-18
- Deprecated Mojo::Client async method in favor of the managed attribute.
- Added TTL support to resolve in Mojo::IOLoop. (und3f)
- Relaxed charset handling in and around Mojo::DOM a bit.
- Fixed Mojo::Client async mode.
- Fixed session cookie encoding bug.
- Fixed small route bug.
- Fixed small Hypnotoad bug. (bduggan)
1.1 2011-02-14
- Code name "Smiling Cat Face With Heart-Shaped Eyes", this is a major
release.
- Deprecated wildcard route names in favor of automatically generated
default names for all routes.
- Removed native IIS support since it has become unmaintainable.
- Added EXPERIMENTAL much prettier attribute generator to Mojo::Base.
- Added EXPERIMENTAL on_start attribute to Mojo::Client.
- Added EXPERIMENTAL support for route shortcuts.
- Added EXPERIMENTAL support for NO_PROXY. (l0b0)
- Added EXPERIMENTAL user_agent attribute to Mojo::Client.
- Added EXPERIMENTAL support for mode specific not found and exception
templates.
- Added EXPERIMENTAL support for route caching.
- Added EXPERIMENTAL support for CSS3 selectors to the get command.
- Added image helper to Mojolicious::Plugin::TagHelpers.
- Added support for secure session cookies. (crab)
- Improved HTML5 compatibility of Mojo::DOM.
- Replaced Mojo::JSON parser with a much faster and stricter implementation.
(chansen)
- Improved Mojo::JSON string encoding. (chansen)
- Updated to jQuery to version 1.5.
- Removed experimental status from Mojo::DOM and ojo.
- Removed experimental status from many attributes and methods all over
Mojolicious.
- Renamed after and before in Mojo::DOM to add_after and add_before.
- Improved documentation browser slightly.
- Improved CSS3 support in Mojo::DOM.
- Changed Mojolicious::Plugin::EplRenderer to not render 404 errors for
missing templates.
- Changed exception template to use pre instead of h1 tags for error
messages. (vaneska)
- Made Simpsons and Futurama quotes easier to distinguish from normal
comments.
- Made routes reusable outside of Mojolicious. (forwardever)
- Fixed a few home detection bugs.
- Fixed a complicated application embedding bug.
- Fixed a Apache mod_rewrite compatibility bug in Mojo::Message::Request.
(dekimsey)
- Fixed a small bug in the relaxed HTTP parser.
- Fixed a small bug in Mojolicious::Command::Get.
- Fixed a small bug in Mojolicious::Plugin::JsonConfig.
- Fixed support for broken redirects.
- Fixed --reload delay problem.
- Fixed shagadelic function of Mojolicious::Lite.
- Fixed optgroup support in select_field helper.
- Fixed tests that can't run on Windows.
- Fixed delayed rendering bug. (yko)
- Fixed nested route bug.
- Fixed a small multipart parser bug.
- Fixed small any route bug.
- Fixed small empty route bug.
- Fixed URL merging in Mojo::URL.
- Fixed version detection in Mojolicious::Command::Version.
- Fixed Mojo::Client cloning.
1.01 2011-01-06
- Relicensed some of the images to make sure Mojolicious can be shipped with
commercial products.
- Updated IO::Socket::SSL requirement to 1.37 due to bugs in older versions.
- Added EXPERIMENTAL TLS certificate authentication support. (tempire)
- Added EXPERIMENTAL title helper.
- Added EXPERIMENTAL render_later method to Mojolicious::Controller.
- Improved test. (Charlie Brady)
- Improved charset handling in Mojolicious slightly.
- Updated application generators with base tags.
- Fixed relative path handling in Mojo::URL.
- Fixed punycode bug. (kits)
- Fixed a bug where the static dispatcher would eat the flash.
1.0 2010-12-26
- Code name "Snowflake", this is a major release.
|