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
|
Type-Tiny
=========
Created: 2013-03-23
Home page: <https://typetiny.toby.ink/>
Home page: <https://metacpan.org/release/Type-Tiny>
Bug tracker: <https://github.com/tobyink/p5-type-tiny/issues>
Maintainer: Toby Inkster (TOBYINK) <tobyink@cpan.org>
2.002001 2023-01-20
[ Bug Fixes ]
- Bugfix for Type::Tie+Storable issue affecting 32-bit builds of Perl.
2.002000 2023-01-01 Happy Fibonacci Day! 1/1/23
[ Bug Fixes ]
- When Foo is a parameterized StrMatch type, ensure is_Foo always returns
a single boolean value, even in list context.
Diab Jerius++
[ Documentation ]
- Update NEWS.
- Update copyright dates to 2023.
[ Packaging ]
- Repackage as stable.
2.001_002 2022-12-03
[ Test Suite ]
- Test `t/20-modules/Type-Tiny-Enum/exporter_lexical.t` will now run on
older versions of Perl, provided Lexical::Sub is installed.
[ Packaging ]
- Depend on Exporter::Tiny 1.006000 which offers lexical export support
for older versions of Perl, provided Lexical::Sub is installed.
[ Other ]
- If Type::Params signatures receive multiple unrecognized named
arguments, the error message now lists them using
Type::Utils::english_list() instead of just joining them with commas.
This means that the error message will include 'and' before the last
unrecognized named argument. If Type::Tiny::AvoidCallbacks is set to
true while the signature is compiled, the old behaviour will be
retained.
- Type::Params no longer attempts to figure out the maximum number of
expected arguments to functions which take key-value pairs. This allows
`yourfunc(y=>1,y=>2)` to behave more intuitively, with the function just
seeing the second value for `y`, instead of it throwing an exception
complaining about too many arguments.
2.001_001 2022-10-19
[ Documentation ]
- Typo fix in Type::Tiny::Manual::UsingWithMoo.
[ Other ]
- Type::Library will better detect if two types result in functions with
the same name.
- Type::Tiny::XS will now provide XS implementations of some parameterized
ArrayLike/HashLike types.
- When importing `use Type::Library -util`, Type::Library will now pass
some relevant import options to Type::Utils.
2.001_000 2022-09-29
[ Bug Fixes ]
- Avoid uninitialized warnings when creating a union between an Enum type
and a non-Enum type.
Diab Jerius++
[ Documentation ]
- Clearer documentation of Types::TypeTiny::to_TypeTiny.
[ Test Suite ]
- No longer report Type::Tie version at start of test suite, as Type::Tie
is now bundled.
[ Other ]
- Added: Type::Library now has an undocumented, but tested and hopefully
stable `_remove_type` method.
- Added: Type::Tiny now has a `definition_context` attribute/method
indicating the file and line number where a type constraint was first
defined.
- The list of packages Type::Tiny considers to be 'internal' has been
moved from Error::TypeTiny to Type::Tiny.
- Type::Tiny will now mark particular parts of its guts as readonly.
Currently this is mainly used to prevent people pushing to and popping
from type constraints which overload `@{}`.
2.000001 2022-09-29
[ Bug Fixes ]
- Avoid uninitialized warnings when creating a union between an Enum type
and a non-Enum type.
Diab Jerius++
[ Documentation ]
- Clearer documentation of Types::TypeTiny::to_TypeTiny.
[ Test Suite ]
- No longer report Type::Tie version at start of test suite, as Type::Tie
is now bundled.
2.000000 2022-09-23
[ Test Suite ]
- Minor fix for Class::Plain-related tests.
[ Packaging ]
- Repackage Type-Tiny 1.999_013 as a stable release.
1.999_013 2022-09-23 Type::Tiny 2.0 Preview N
[ Documentation ]
- Document usage with Class::Plain.
- Fix pod typo in manual.
Florian Schlichting++
- Improvements to Type::Params documentation.
[ Test Suite ]
- Test usage with Class::Plain.
[ Other ]
- Type::Params signature_for will respect inheritance when looking for
methods to wrap, when the `method` option is true.
1.999_012 2022-09-21 Type::Tiny 2.0 Preview M
[ Documentation ]
- Document in Type::Tie that Type::Tie is implicitly loaded when you tie a
variable to a Type::Tiny type constraint. (It was already documented in
the manual.)
- Document the Type::Tie::BASE `type` method.
- Removed stub pod from a bunch of internal modules. They're internal, so
nobody should be expecting pod.
[ Test Suite ]
- Bundle a (renamed) copy of Type::Nano in the test suite for some tests
combining Type::Nano and Type::Tiny type constraints, and converting
Type::Nano to Type::Tiny.
- Improved test cases for Type::Tie with an aim at 100% coverage.
[ Packaging ]
- Add Class::XSAccessor to Type::Tiny's recommendations.
[ Other ]
- Adding a type constraint to a type library will now also add it to the
library's type registry. (Even though this registry is unlikely to be
used.)
- Rewrite much of Type::Tie to no longer use inside-out objects and avoid
a dependency on Hash::Util::FieldHash or alternative implementations of
fieldhashes.
- Type::Parser's internal packages now have version numbers.
- Type::Tie now supports variables being cloned with Clone::clone(). It
already supported Storable::dclone().
- Type::Tie will now try to load Class::XSAccessor::Array for a speed-up.
- Using Type::Utils to declare a named type will now automatically add the
type to the caller's type registry.
1.999_011 2022-09-20 Type::Tiny 2.0 Preview L
- Added: Bundle Type::Tie which was previously in a separate distribution
on the CPAN.
1.999_010 2022-09-18 Type::Tiny 2.0 Preview K
[ Test Suite ]
- More tests.
[ Other ]
- Eval::TypeTiny::CodeAccumulator now supports $coderef->compile(alias =>
1).
- If the `ws parameter is set to true in parameterized DelimitedStr type
constraints, leading and trailing whitespace will now be permitted.
- Non-parameterized DelimitedStr now has a coercion from ArrayRef[Str].
- The ${^TYPE_PARAMS_MULTISIG} magic global variable is now called
${^_TYPE_PARAMS_MULTISIG}. The old name will still be supported for at
least six months after the next stable release.
1.999_009 2022-09-16 Type::Tiny 2.0 Preview J
[ Test Suite ]
- Another test for `-base`.
[ Other ]
- Added: Types::Common::String now has a DelimitedStr type.
- Improve cache key generation for parameterized types.
- Minor improvements to the default name generator, used to generate the
display_name for parameterized type constraints.
1.999_008 2022-09-14 Type::Tiny 2.0 Preview I
[ Bug Fixes ]
- More sensible error message trying to import a type constraint using
-declare outside a type library.
Diab Jerius++
[ Other ]
- Added: Type::Tiny now has an exportables_by_tag method.
- Added: Type::Tiny::_DeclaredType is now a separate module. (It was
previously defined inline in Type/Library.pm.)
- Eval::TypeTiny::type_to_coderef() can now handle being passed undef as a
type constraint and will create a Type::Tiny::_DeclaredType object to
wrap instead.
- If a type library has been made immutable, you can no longer add new
types and coercions to it.
- Type::Params `signature_for` will now delay most of the signature
compilation until the function is called for the first time, like
`wrap_subs`/`wrap_methods` used to do. It still does enough up-front to
detect some common errors in signatures.
- Various Type::Library cleanups.
1.999_007 2022-09-13 Type::Tiny 2.0 Preview H
[ Documentation ]
- Fix pod formatting issue in Type::Params.
[ Test Suite ]
- Improved test cases; now 100% coverage on coveralls.io.
[ Other ]
- Minor refactoring, mostly to make things more easily testable.
1.999_006 2022-09-12 Type::Tiny 2.0 Preview G
[ BACK COMPAT ]
- If none of a multisig's alternative sigs match the parameter list
${^TYPE_PARAMS_MULTISIG} will be explicitly set to undef, instead of
being left as-is.
- The Eval::TypeTiny::HAS_LEXICAL_VARS constant no longer exists. It was
deprecated in Type-Tiny-1.004000 (2018-07-27).
[ Other ]
- Get the `multiple` option working with the `signature_for` function from
Type::Params.
- Improved test cases and miscellaneous small bugfixes for slurpy
parameters in Type::Params.
1.999_005 2022-09-11 Type::Tiny 2.0 Preview F
[ Bug Fixes ]
- What was supposed to be a warning for slurpy+default in Type::Params was
throwing an exception. Corrected to be a warning.
[ Documentation ]
- Minor improvements to Type::Params documentation.
[ Other ]
- The functionality provided by Type::Params::multisig() is now provided
in the Type::Params v2 API. (And is slightly more functional!)
1.999_004 2022-09-09 Type::Tiny 2.0 Preview E
[ Documentation ]
- Minor documentation clarifications around new constructor methods for
Type::Tiny subclasses.
[ Test Suite ]
- Add versions of tests for the new Type::Params v2 API which don't rely
on Perl 5.20 features.
- More tests for Type::Tiny::{Class,Duck,Enum,Role} exporting.
[ Packaging ]
- Require Exporter::Tiny 1.004001.
[ Other ]
- Type::Tiny::{Class,Duck,Enum,Role} subclass Exporter::Tiny instead of
handling exports manually.
1.999_003 2022-09-09 Type::Tiny 2.0 Preview D
[ Bug Fixes ]
- Setting a default for a slurpy parameter in Type::Params now warns and
ignores the default instead of failing to compile because of a syntax
error.
Zhtwn++
[ Other ]
- Added: Move two helper subs out of Type::Library and into
Eval::TypeTiny, clean them up, and document them as part of the API
(set_subname and type_to_coderef).
- Added: Type::Tiny now has an `exportables` method which provides a list
of functions that the type can export. Type libraries now defer to this
when deciding what they can export.
- Added: Type::Tiny::Class is now an exporter.
- Added: Type::Tiny::Duck is now an exporter.
- Added: Type::Tiny::Enum has an is_word_safe method which indicates
whether all values in the enumeration are 'words' (i.e. contain only
word characters).
- Added: Type::Tiny::Enum is now an exporter.
- Added: Type::Tiny::Role is now an exporter.
- Added: Word-safe enumerations export constants for each value.
Branislav ZahradnĂk++
- Major simplifications of Type::Library internals.
- The NICE_PROTOTYPES constant has been moved from Type::Library to
Eval::TypeTiny, though a copy of it is still available in Type::Library
for backwards compatibility.
- The intersection of two Type::Tiny::Enum objects is now a
Type::Tiny::Enum instead of a Type::Tiny::Intersection.
Branislav ZahradnĂk++
- The union of two Type::Tiny::Enum objects is now a Type::Tiny::Enum
instead of a Type::Tiny::Union.
- Type::Params will call default coderefs as a method for signatures where
method => 1.
1.999_002 2022-09-07 Type::Tiny 2.0 Preview C
[ Bug Fixes ]
- Types::Common was not correctly handling the -sigs export tag.
[ Documentation ]
- Fix up some heading levels in the pod for Type::Params.
- Update NEWS.
[ Test Suite ]
- Better tests for `strictness` option in Type::Params.
- Improved tests for slurpy handling in Type::Params.
- The internal module Type::Params::Signature now has some tests of its
own.
[ Other ]
- Minor bugfixes and improvements to slurpy handling in Type::Params.
- The type_default method will accept parameters, and sort-of curry them.
1.999_001 2022-09-05 Type::Tiny 2.0 Preview B
[ Documentation ]
- Fix misspelling of 'GitHub' in documentation.
- Further revisions of Type::Manual.
- Update the SYNOPSIS for Types::Standard and Type::Tiny.
[ Test Suite ]
- Tests for the `type_default` of all builtin types.
[ Other ]
- Changes to the `type_default` for a few parameterized types.
- Types::Common now also extends Types::TypeTiny.
1.999_000 2022-09-04 Type::Tiny 2.0 Preview A
[ Documentation ]
- Updated Type::Tiny::Manual to cover new features.
[ Other ]
- %Error::TypeTiny::CarpInternal is now an alias for %Carp::CarpInternal.
- Added: Type::Tiny `type_default` method.
- Added: Type::Tiny overloads `/`.
- Added: Types::Common module.
- The Type::Params API has had a major overhaul, introducing `signature`
and `signature_for` functions. The `compile`, `compile_named`,
`compile_named_oo`, `validate`, `validate_named`, `wrap_subs`, and
`wrap_methods` functions are now considered the legacy API. There are no
plans to drop support for the legacy API in the foreseeable future.
- Updated: Dropping support for Perl 5.6.1 (which was released in April
2001), 5.6.2 (November 2003), and Perl 5.8.0 (July 2002). Type::Tiny now
requires at least Perl 5.8.1.
- Updated: Require Exporter::Tiny 1.004000+. (Previously required
Exporter::Tiny 1.000000.)
1.016010 2022-08-31
[ Bug Fixes ]
- Fix an uninitialized warning when calling compile_named_oo outside a
sub.
Diab Jerius++
[ Documentation ]
- List which versions of Perl Type::Tiny requires in
Type::Tiny::Manual::Policies.
1.016009 2022-08-27
[ Bug Fixes ]
- Parameterizable type constraints have a name generator, which is a
coderef that generates the names of their parameterized child type
constraints. The default name generator now strips ASCII control
characters (such as null, tab, and new line) from names it generates.
sbuggles++
1.016008 2022-08-14
- Added: Type::Params now has a `goto_next` option, which if set to a
coderef will generate a signature which on success, instead of returning
@_, passes @_ to the coderef. If `goto_next` is set to true, the
signature instead expects to be passed such a coderef as its first
argument.
- Eval::TypeTiny::CodeAccumulator now better handles placeholders.
- Type::Params `wrap_subs` and `wrap_methods` internally use `goto_next`.
1.016007 2022-08-04
- Added: Type::Params now has a `strictness` option, which if set to false
(or certain strings of Perl code that evaluate to false) will skip type
checks apart from when needed for coercions, skip parameter count
checks, and skip checks for unknown named parameters. You generally
don't want to set it to false or indeed set it at all.
1.016006 2022-07-25
[ Documentation ]
- Added a new page to the manual: Type::Tiny::Manual::UsingWithMite.
[ Other ]
- Type::Tiny now overloads 0+ to return a unique number per type
constraint.
1.016005 2022-07-23
[ Bug Fixes ]
- Minor bugfix in Type::Tiny::cmp where in some cases it was returning '0'
instead of '0E0'; unlikely to affect anything.
[ Other ]
- Updated: Updated Type::Params benchmarking scripts.
- When Type::Registry/Type::Parser has to create a class or role type
constraint, use Types::Standard InstanceOf/ConsumerOf instead of
creating new anonymous Type::Tiny::Class/Type::Tiny::Role constraints.
1.016004 2022-07-22
- Added: Type::Params now allows named parameters to have aliases.
1.016003 2022-07-22
- Catalyst was relying on the internals of the old slurpy function. Next
release of Catalyst should fix that, but this version of Types::Standard
introduces a workaround for the issue without going back to implementing
Slurpy the old way. (The Catalyst test suite passes at least!)
- In most places that accept a Slurpy, happily accept a child of a child
of a child of Slurpy.
- Rename Type::Params::Coderef to Eval::TypeTiny::CodeAccumulator as it's
not really Type::Params-specific. Add test cases for it and make it part
of the public API.
- Use Eval::TypeTiny::CodeAccumulator in compile_match_on_type.
- When Type::Tiny's is_subtype_of, etc methods are called passing a string
as a parameter, pay attention to calling package's type registry.
1.016002 2022-07-19
[ BACK COMPAT ]
- The slurpy(Foo) function from Types::Standard has been replaced by a new
Slurpy parameterized type, so you can use Slurpy[Foo] instead. A
slurpy() function is still provided for backwards compatibility, but if
you were relying on the internal detail that this used to return an
unblessed hashref, this release might break that assumption.
1.016001 2022-07-18
- Allow Type::Utils::extends to extend Type::Library::Compiler libraries.
- Allow the add_types method of Type::Registry to consume
Type::Library::Compiler libraries.
- Improved coercion of Type::Library::Compiler's type constraints to
Type::Tiny.
1.016000 2022-07-16
- Add a clone option to parameters in Type::Params to clone them with
Storable::dclone(). This is mostly a test of how much easier improving
Type::Params is since it was refactored.
1.015_003 2022-07-16
- The simple case of compile() with no parameters was broken by
refactoring. It should now work.
1.015_002 2022-07-16
- Defaults for Type::Params parameters can now be a reference to a string
of Perl code (like Mite).
1.015_001 2022-07-16
- Type::Params::Signature now avoids using the word `return` in its
generated source code, as MooX::Press was using that as a talisman. Also
avoid using the `return` keyword to return the final results of the
signature check, as falling through performs better on older Perls, plus
it enables MooX::Press to convert the coderef into a do{} block.
1.015_000 2022-07-16
[ BACK COMPAT ]
- Type::Params is now smarter at calculating the expected $#_ for
functions which take named parameters, so it can 'fail early' more often
when there are extra parameters or missing required parameters. This
means you may get errors indicating the wrong number of parameters when
you were previously getting errors indicating particular unrecognized or
missing required parameters. This may break test suites which were
looking for particular error messages.
[ Other ]
- Major refactoring of Type::Params, splitting out signature compilation
into separate backend OO-modules which Type::Params now acts as a
frontend for. Compiling signature checks is probably now a little
slower, but once they're compiled Type::Params is still the fastest Perl
implementation of typed parameter checks. This refactor should make the
code easier to work with, add new features to, and tweak the performance
of.
1.014000 2022-06-27
[ Documentation ]
- Update copyright dates to 2022.
- Various minor documentation improvements.
[ Test Suite ]
- Eliminate some warnings and other noise from the test suite.
- Rename some directories in the test suite to better reflect their
contents.
[ Packaging ]
- Repackaged as stable version.
[ Other ]
- Added: $Type::Tiny::SafePackage variable.
- Added: Error::TypeTiny now has a `throw_cb` method which acts like
`throw` but takes an initial callback parameter.
jsf116++
- Added: Type::Params `compile`, `compile_named`, and `compile_named_oo`
functions now support an `on_die` callback.
jsf116++
- Eliminate warnings while generating deep explanations for type
constraint check fails under some circumstances. (Mostly affects
StrMatch when Regexp::Util isn't installed.)
James Wright++
1.013_001 2022-06-23
[ Documentation ]
- Various minor documentation improvements.
[ Other ]
- Added: $Type::Tiny::SafePackage variable.
1.013_000 2022-06-09
[ Documentation ]
- Update copyright dates to 2022.
- Various minor documentation improvements.
[ Test Suite ]
- Eliminate some warnings and other noise from the test suite.
- Rename some directories in the test suite to better reflect their
contents.
[ Other ]
- Added: Error::TypeTiny now has a `throw_cb` method which acts like
`throw` but takes an initial callback parameter.
jsf116++
- Added: Type::Params `compile`, `compile_named`, and `compile_named_oo`
functions now support an `on_die` callback.
jsf116++
- Eliminate warnings while generating deep explanations for type
constraint check fails under some circumstances. (Mostly affects
StrMatch when Regexp::Util isn't installed.)
James Wright++
1.012005 2022-06-07
[ Bug Fixes ]
- Ensure coderefs returned by overload::Method are called with three
parameters, as passing two parameters can break subs imlpemented in XS.
Hugo van der Sanden++
- Fix explanation message for NumRange/IntRange
- Prevent stringification of Error::TypeTiny from clobbering $@.
bokutin++
[ Documentation ]
- Fix typos in documentation for wrap_methods from Type::Params.
1.012004 2021-07-29
[ Documentation ]
- Fixed typo in Types::Standard documentation where StrMatch regexp
parameter didn't use qr// properly.
Lucas Tiago de Moraes++
1.012003 2021-05-09
[ Documentation ]
- Fixed typo in Type::Tiny::Enum where the `closest_match` method was
documented as being called `closet_match`.
[ Other ]
- Type::Parser now supports negative hexadecimal integers.
1.012002 2021-05-02
[ Bug Fixes ]
- Fix precendence error in generated code for Tuples.
Philippe Bruhat++
<https://github.com/tobyink/p5-type-tiny/pull/64>
[ Documentation ]
- Fixed typo in pod for Type::Tiny::Enum
Windymelt++
<https://github.com/tobyink/p5-type-tiny/pull/70>
[ Test Suite ]
- Fix testcase for Tuples with slurpy HashRef to pass a literal hashref
(which should fail) instead of an arrayref (which should also fail, but
less subtly).
Philippe Bruhat++
<https://github.com/tobyink/p5-type-tiny/pull/64>
- Type::Tiny is no longer routinely tested on Perl versions older than
5.8.1.
<https://github.com/tobyink/p5-type-tiny/actions>
[ Other ]
- Type::Parser now supports hexadecimal integers.
<https://github.com/tobyink/p5-type-tiny/issues/71>
1.012001 2021-01-10
[ Test Suite ]
- Extra test cases to improve coverage. (100% on Coveralls; 90% on
Codecov.)
- Hide warnings in Kavorka integration tests.
[ Packaging ]
- Move issue tracker from RT to Github Issues.
- Stop hiding Type::Parser::Token, Type::Parser::TokenStream, and
Type::Parser::AstBuilder from the CPAN indexer.
[ Other ]
- Much code tidying using perltidy and manually.
- When generic validation objects (blessed objects with a `check` method)
are converted to native Type::Tiny type constraints, no longer require
them to provide a `get_message` method. This allows Type::Tiny to adopt
Data::Constraint type constraints.
1.012000 2020-10-28
[ Documentation ]
- Update NEWS file.
1.011_011 2020-10-16
[ Test Suite ]
- Bugs in old versions of Return::Type prevent integration tests from
passing on Perl 5.8.x; those tests now require Return::Type 0.007 or
above.
- More tests for Type::Coercion::FromMoose.
[ Packaging ]
- If the EXTENDED_TESTING environment variable is true, Perl 5.8.9 or
above is being used, and either Type::Tiny's version contains '_' or
testing is running on Travis CI, then Makefile.PL will add extra testing
dependencies.
[ Other ]
- Remove unnecessary BEGIN block in Eval::TypeTiny.
1.011_010 2020-10-16
- Simple useful coercions from Str for Type::Tiny::Enum (and
Types::Standard::Enum).
1.011_009 2020-10-09
[ Documentation ]
- Add _ForeignTypeConstraint to AllTypes.pod.
[ Test Suite ]
- Add tests for _ForeignTypeConstraint.
- Improve test coverage by adding tests for various esoteric parts of the
distribution and edge cases.
[ Other ]
- More efficient use of Type::Tiny::XS by Types::TypeTiny.
- Refactoring of Types::TypeTiny.
- Where various parts of Type::Tiny internally use type constraints to
check values, prefer is_* and assert_* functions over method calls.
1.011_008 2020-10-07
[ Documentation ]
- Some minor tidyups and updates to Type::Tiny::Manual.
[ Test Suite ]
- Better tests for the placeholder type constraints created by
Type::Library -declare flag.
- Test integration with Type::Nano as an example of a generic
non-Type::Tiny type constraint class.
- Test that $type->() works with subclasses that override the
assert_return method.
- Write tests for some internal undocumented methods.
[ Other ]
- Added: Type::Utils::assert() function.
1.011_007 2020-10-06
[ Bug Fixes ]
- ArgsObject inlining was closing over a coderef in a way that didn't work
on archaic versions of Perl. Resolve by calling the coderef outside the
closure.
1.011_006 2020-10-02
[ Documentation ]
- Include JSONCapable type example.
[ Test Suite ]
- Improved test coverage for Type::Library.
- Improved test coverage for Type::Params.
- Improved test coverage for Type::Registry.
- Improved test coverage for Type::Tiny::Union.
- Improved tests for Type::Utils::is().
- Various tests for garbage collection using Devel::Refcount.
[ Other ]
- Added: Type::Params now exports an ArgsObject type constraint.
- Test::TypeTiny's should_pass and should_fail exercise type constraints
in even more ways in EXTENDED_TESTING mode.
1.011_005 2020-09-30
- Added: Type::Library import now supports -extends and -utils flags.
- Type::Library -base import flag now marks the caller package as loaded
in %INC.
1.011_004 2020-09-30
[ Bug Fixes ]
- Make predeclared type constraints work better for Zydeco.
[ Documentation ]
- Document that ArrayLike and HashLike are now parameterizable.
[ Test Suite ]
- Make test suite work better with App::Yath.
1.011_003 2020-09-25
[ Bug Fixes ]
- Old versions of Data::Dumper would sometimes die when dumping certain
overloaded objects. Type::Tiny::_dd() now catches this in an eval {}.
- Types::Standard would sometimes complain about very old versions of
Scalar::Util.
[ Other ]
- ArrayLike and HashLike are now parameterizable, though the
implementation for the parameterized version is in pure Perl, not XS.
- Type::Tiny::Enum better caches regexps.
- Updated: ArrayLike, HashLike, CodeLike, and StringLike type constraints
can use XS if Type::Tiny::XS 0.022 is installed.
1.011_002 2020-09-22
- Added: Type::Utils now exports an `is` function but it needs to be
requested explicitly.
1.011_001 2020-09-21
[ Documentation ]
- Update the NEWS file.
[ Other ]
- Added: Add new list processing functions to Type::Tiny.
1.011_000 2020-09-15
[ Documentation ]
- Describe deficiencies of is_* functions for parameterized types.
Fixes RT#132918.
<https://rt.cpan.org/Public/Bug/Display.html?id=132918>
[ Other ]
- Type::Tiny::Enum now generates faster regexps to validate enums. (Code
stolen from Regexp::Trie.)
1.010006 2020-09-04
[ Bug Fixes ]
- Eliminate recusion warnings when Type::Parser needs to parse complex
types.
Fixes RT#121957.
Diab Jerius++
<https://rt.cpan.org/Ticket/Display.html?id=121957>
[ Other ]
- Better handling of coercions for pre-declared types in Type::Library.
The type objects created before the type was properly defined will now
lazily attempt to find coercions from the properly defined type once it
becomes available.
1.010005 2020-08-26
- Improvements to $AvoidCallbacks support for
Type::Tiny::{Class,Role,Duck,Enum,Union,Intersection}, and LaxNum, Ref,
RegexpRef, FileHandle, Object, Overload, and Tied types from
Types::Standard.
1.010004 2020-08-18
[ Bug Fixes ]
- Fix XSifying Enum[] where the strings contain certain non-word
characters.
Andrew Ruder++
<https://github.com/tobyink/p5-type-tiny-xs/pull/12>
<https://github.com/tobyink/p5-type-tiny/pull/59>
- Type::Params compile_named using both the head and named_to_list options
would cause compilation error.
Fixes RT#132419.
Hauke D++
Sandor Patocs++
<https://rt.cpan.org/Public/Bug/Display.html?id=132419>
- Workaround RT#121957 by avoiding attempting to XSify Enum type
constraints with more than 50 possible strings.
Fixes RT#121957.
Diab Jerius++
<https://rt.cpan.org/Ticket/Display.html?id=121957>
[ Documentation ]
- Link to HTTPS version of Type::Tiny web page.
1.010003 2020-08-08 The Crazy 88
[ Bug Fixes ]
- ClassName type constraint should treat empty @ISA as if no @ISA were
defined, like Type::Tiny::XS.
Fixes RT#132583.
Szymon Nieznański++
<https://rt.cpan.org/Public/Bug/Display.html?id=132583>
- Fix for Type::Tiny->can called as a class method.
Meredith Howard++
<https://github.com/tobyink/p5-type-tiny/pull/57>
- Fix predeclared types in Type::Library.
Meredith Howard++
<https://github.com/tobyink/p5-type-tiny/pull/58>
[ Documentation ]
- Document some edge cases for Types::Standard Int.
<https://rt.cpan.org/Ticket/Display.html?id=132754>
1.010002 2020-05-01 Mayday
[ Bug Fixes ]
- Better bareword handling on Perl < 5.14.
Fixes RT#132455.
Graham Knop++
Karen Etheridge++
<https://rt.cpan.org/Public/Bug/Display.html?id=132455>
- If Scalar::Util was below 1.18, the LaxNum type from Types::Standard
would accept blobs as being numbers. This is now fixed.
Fixes RT#132426.
Graham Knop++
<https://rt.cpan.org/Public/Bug/Display.html?id=132426>
1.010001 2020-03-16
[ Documentation ]
- MooX::Pression mentions in documentation now refer to Zydeco.
[ Test Suite ]
- Test suite passes in cperl, albeit with warnings.
1.010000 2020-02-19
[ Documentation ]
- Correct documentation of slurpy with compile_named.
Fixes RT#131720.
<https://rt.cpan.org/Public/Bug/Display.html?id=131720>
[ Packaging ]
- Package as stable.
1.009_003 2020-02-11
[ Bug Fixes ]
- Fix importing multiple type libraries into a type registry at once.
Fixes RT#131744.
<https://rt.cpan.org/Public/Bug/Display.html?id=131744>
[ Documentation ]
- Fix typo in documentation of `my_methods`.
Philippe Bruhat++
1.009_002 2020-02-11
[ Documentation ]
- Mention MooX::Pression.
[ Other ]
- Added: Type::Params now supports `head` and `tail` options for
`compile`, `compile_named`, and `compile_named_oo`.
- Parameterized `Ref` type constraint in Types::Standard now checks its
parameter is a known Perl ref type.
- Type::Params on Perl older than 5.10 now uses its own B::perlstring
implementation to quote strings instead of using B::cstring.
1.009_001 2020-02-06
[ Test Suite ]
- More tests for recursively defined type constraints.
[ Other ]
- Added: Type::Tiny::Enum now has an `as_regexp` method.
- In some edge cases, the regexps used by Type::Tiny::Enum will now be
slightly faster.
1.009_000 2020-02-04
- Subclasses of Moose::Meta::TypeConstraint are now converted to the
appropriate subclasses of Type::Tiny by Types::TypeTiny::to_TypeTiny,
instead of always being converted to the base class. This improves
inlining amongst other things.
- When types are declared by Type::Library's -declare import parameter,
the temporary subs installed can now generate placeholder type
constraints which allow the types to be used in recursive type
definitions.
1.008005 2020-01-30
[ Test Suite ]
- Remove some Perl 5.012+ syntax from test suite.
1.008004 2020-01-29
[ Bug Fixes ]
- When possible, inject `package Type::Tiny` in generated inline code that
has an appropriate lexical scope to insert it into. This will (mostly)
avoid inline code mistakenly using overridden versions of CORE::
functions.
- to_TypeTiny will now cowardly refuse to inline Moose types if they have
anything in their inline environment.
1.008003 2020-01-13
[ Documentation ]
- Update copyright dates to 2020.
[ Packaging ]
- Makefile.PL will now bail out on cperl if AUTOMATED_TESTING environment
variable is set to true.
[ Other ]
- Added: Type::Registry can now have a parent registry.
1.008002 2020-01-11
[ Bug Fixes ]
- Fix bareword errors if certain Type::Tiny subclasses were loaded prior
to Type::Tiny.
Fixes RT#131401.
<https://rt.cpan.org/Public/Bug/Display.html?id=131401>
[ Documentation ]
- Fix typos.
Hauke D++
[ Other ]
- Type::Tiny didn't accept string constraints for parameterizable type
constraints; this was not a documented restriction and didn't seem to
serve any purpose, so the restriction has been lifted.
<https://rt.cpan.org/Ticket/Display.html?id=131238>
1.008001 2019-12-28
- Types::TypeTiny honours $Type::Tiny::AvoidCallbacks.
- Types::TypeTiny now better mocks Type::Library, offering is_* and
assert_* functions for export.
- Use improved inline_assert when building the coderef for &{$type}
overloading.
1.008000 2019-12-11
[ Packaging ]
- Repackage as stable.
1.007_015 2019-12-10
[ Documentation ]
- Minor formatting changes.
- No longer suggest that Type::Tiny::Manual needs rewriting in
Contributing.pod.
1.007_014 2019-12-10
[ Documentation ]
- Mostly formatting changes.
1.007_013 2019-12-10
[ Documentation ]
- Add links to homepage in pod.
[ Packaging ]
- Rebuild with newer RDF::DOAP.
1.007_012 2019-12-10
[ Bug Fixes ]
- Fix tr/// stuff on $Type::Tiny::VERSION.
[ Documentation ]
- Minor tweaks to Type::Tiny::Manual.
[ Packaging ]
- Metadata updates.
[ Other ]
- Updated: Type::Tiny will stop trying to use very old versions of
Type::Tiny::XS. (It already recommended newer versions in META.json.)
1.007_011 2019-12-09
[ Documentation ]
- Make the Moo parts of the manual use less Moo-specific syntax, so it is
more applicable to Moose and Mouse.
- Rewrite Type::Tiny::Manual::Coercions.
1.007_010 2019-12-08
[ Bug Fixes ]
- Avoid undef warnings from Type::Tiny::_failed_check when the type has
become undefined before the error message can be generated.
[ Test Suite ]
- Minor improvements to the test suite.
1.007_009 2019-12-06
[ Documentation ]
- Document some undocumented files in the test suite.
[ Other ]
- Obscure changes to Error::TypeTiny::Assertion.
- Type::Tiny's inline_assert method has been overhauled.
1.007_008 2019-12-05
[ Documentation ]
- Expand per-type tests of bundled type libraries.
- More work on the Type::Tiny manual.
1.007_007 2019-12-03
[ Documentation ]
- Expand per-type tests of bundled type libraries.
- More work on the Type::Tiny manual.
1.007_006 2019-12-02
[ Documentation ]
- Expand per-type tests of bundled type libraries.
1.007_005 2019-12-01
[ Bug Fixes ]
- Fixes for inlining Tuples which have a combination of Optional and
slurpy slots.
[ Documentation ]
- Expand per-type tests of bundled type libraries.
[ Other ]
- Improvements to deep coercions for Tuples.
1.007_004 2019-11-30
[ Bug Fixes ]
- Fixes for some edge cases in the overidden `can` method on old Perl
5.8.x versions for types with the secret `is_object` parameter set to
true. (There were problems in 5.8.1 but 5.8.9 was okay; not sure the
exact version where the delta was that affected it. Either way, fixed
now.)
[ Documentation ]
- Expand per-type tests of bundled type libraries.
[ Test Suite ]
- Clean up some warnings and stuff from test output.
[ Other ]
- Improvements to $AvoidCallbacks support for Types::Standard::Maybe.
1.007_003 2019-11-27
[ Documentation ]
- Expand per-type tests of bundled type libraries.
- More work on the Type::Tiny manual.
jplindstrom++
1.007_002 2019-11-26
[ Documentation ]
- Expand per-type tests of bundled type libraries.
- Fix various documentation typos.
- Improve Type::Params SYNOPSIS.
- Improve Type::Tiny SYNOPSIS.
- More work on the Type::Tiny manual.
- Move CONTRIBUTING.pod into the manual.
- Types::Standard now has a SYNOPSIS.
[ Other ]
- (~Types::Standard::Any)->name is now 'None'
- Control over whether types are allowed to make callbacks in inlined code
is now via a package variable instead of an environment variable and can
be toggled at runtime.
1.007_001 2019-11-23
[ Bug Fixes ]
- ClassName/RoleName no longer accepts a glob.
- Fix the 'my variable $base masks earlier declaration' warning caused by
IntRange/NumRange.
- The `Tied` type no longer assumes that any reference which isn't a HASH
or ARRAY must be a SCALAR.
[ Documentation ]
- Add a huge amount of tests for the built-in type constraints, intended
as documentation as well as tests.
- Complete rewrite of the Type::Tiny manual.
[ Other ]
- Added: The `extends` function is now able to extend Specio::Exporter
libraries.
- Added: Type::Params now has `wrap_subs` and `wrap_methods` functions.
- Returning a list of strings from an inlining coderef is now officially
supported and no longer experimental.
- Type::Tiny::XS integration is now officially supported and no longer
experimental.
1.007_000 2019-11-17
[ Bug Fixes ]
- Strip underscores in version numbers for dev releases.
Fixes RT#125839.
<https://rt.cpan.org/Public/Bug/Display.html?id=125839>
- Type::Params will now keep a reference to all type constraints passed to
it; this may use more memory in some cases, but will improve exceptions
thrown.
Fixes RT#121763.
<https://rt.cpan.org/Public/Bug/Display.html?id=121763>
- Type::Tiny better mimics the Moose::Meta::TypeConstraint::Parameterized
API, adding `parameterized_from` and `has_parameterized_from` methods.
Fixes RT#114915.
<https://rt.cpan.org/Public/Bug/Display.html?id=114915>
- Type::Tiny::Enum will now avoid triggering a Type::Tiny::XS bug
involving hyphens in strings.
Fixes RT#129729.
<https://rt.cpan.org/Public/Bug/Display.html?id=129729>
- When extending a MooseX::Types library, be more careful checking to see
if types have coercions, because a Moose::Meta::TypeCoercion object may
be an empty list of coercions.
Fixes RT#102748.
<https://rt.cpan.org/Public/Bug/Display.html?id=102748>
[ Test Suite ]
- Add a test that Specio type constraints can be converted to Type::Tiny
types, and inlining works.
- Bundle some tests for Types::ReadOnly because it does interesting stuff
with coercions and parameterizable types.
- Bundle test from RT#104154, which turned out to not be a bug.
<https://rt.cpan.org/Ticket/Display.html?id=104154>
- More tests for extending MooseX::Types libraries.
[ Packaging ]
- Dropped the TODO file from the repo and distribution because it was
mostly out of date. Use RT instead.
[ Other ]
- Added: Many type constraints now support `stringifies_to`,
`numifies_to`, and `with_attribute_values` methods. Type::Tiny 1.006000
accidentally included an undocumented early implementation of these with
some differences.
- Added: Provide a control over whether types are allowed to make
callbacks in inlined code.
- Added: Type::Tiny::ConstrainedObject exists as a superclass for
Type::Tiny::Class, Type::Tiny::Role, and Type::Tiny::Duck.
- Added: When Types::TypesTiny::to_TypeTiny converts a Moose/Mouse type to
a Type::Tiny type, the returned type will now be parameterizable if they
original type was parameterizable.
- Added: When importing type constraints from non-Moose/non-Mouse blessed
type constraint systems (Specio, Types::Nano, others?), support
inlining.
- Smarter caching and reuse of parameterized types.
1.006000 2019-11-12
[ Documentation ]
- Links to Type::Tiny on GitHub/Travis/AppVeyor/Coveralls in Type::Tiny
pod.
- Minor correction to POD header for Type::Params
Jonas B Nielsen++
<https://github.com/tobyink/p5-type-tiny/pull/43>
- Types::Standard documentation fix.
Lucas Buchala++
<https://github.com/tobyink/p5-type-tiny/pull/48>
[ Test Suite ]
- Improve test coverage.
[ Packaging ]
- Bump minimum required version of Exporter::Tiny to 1.000000.
- Type::Tiny::XS 0.016 is recommended.
[ Other ]
- Added: Type::Library now supports `of` and `where` options when
importing type constraints.
- Added: Type::Params multisig function now supports custom error
messages.
Benct Philip Jonsson++
<https://github.com/tobyink/p5-type-tiny/pull/44>
- Added: Type::Params named_to_list feature.
<https://rt.cpan.org/Ticket/Display.html?id=128337>
- Added: Type::Params signatures with slurpy hashrefs now allow true
hashrefs to be passed to them.
- Added: Type::Tiny::Enum now has a `unique_values` method.
<https://rt.cpan.org/Ticket/Display.html?id=129650>
- Added: Types::Standard ArrayRef parameterized type can now take a second
parameter, the minimum array length.
- Better implementation of is_subtype_of/is_supertype_of and related
functions.
- Don't use Int from Type::Tiny::XS unless version 0.016 is available.
<https://rt.cpan.org/Ticket/Display.html?id=130411>
- Eliminate memory cycles created by coderef overloading in Type::Tiny and
Type::Coercion.
Fixes RT#130823.
Ivanov Anton++
<https://rt.cpan.org/Public/Bug/Display.html?id=130823>
- Eval::TypeTiny's API is now considered to be stable.
- Fix Types::Standard's LazyLoad implementation.
- The `values` attribute of Type::Tiny::Enum now preserves order.
Fixes RT#129650.
Daniel Schröer++
<https://rt.cpan.org/Public/Bug/Display.html?id=129650>
- Tidy up Type::Tiny namespace a little by fully-referencing some
functions instead of importing them.
- Tweaks to Type::Tiny and Type::Coercion to avoid unnecessarily loading
overload.pm and overloading.pm.
- Types::TypeTiny::TypeTiny->has_coercion is now true.
1.005_004 2019-11-11
1.005_003 2019-02-26
1.005_002 2019-01-29
1.005_001 2019-01-23
1.005_000 2019-01-20
1.004004 2019-01-08
[ Bug Fixes ]
- Depend on Exporter::Tiny 0.040; older versions don't provide all the
functions Type::Library needs.
1.004003 2019-01-08
[ Bug Fixes ]
- Fix spelling in error message for Types::Common::String
LowerCaseSimpleStr.
Robert Rothenberg++
<https://github.com/tobyink/p5-type-tiny/pull/47>
[ Documentation ]
- Fix Type::Params documentation error.
Nelo Onyiah++
<https://github.com/tobyink/p5-type-tiny/pull/45>
- Fix Types::Standard documentation error: incorrect third-party module
name.
Nelo Onyiah++
<https://github.com/tobyink/p5-type-tiny/pull/46>
1.004002 2018-07-29
[ Bug Fixes ]
- Skip one particular test on old versions of Moo because it relies on a
feature introduced in Moo 1.004000.
Fixes RT#125948.
<https://rt.cpan.org/Public/Bug/Display.html?id=125948>
1.004001 2018-07-28
[ Bug Fixes ]
- Add Eval::TypeTiny::Sandbox to the list of packages which should be
skipped as internal by Error::TypeTiny, as it was mistakenly removed in
1.003_008.
Fixes RT#125942.
<https://rt.cpan.org/Public/Bug/Display.html?id=125942>
[ Documentation ]
- Correct release date of 1.004000 in change log.
1.004000 2018-07-27
[ Documentation ]
- Update NEWS.
- Update TODO.
[ Packaging ]
- Repackage as a stable release. No functional changes since 1.003_010.
1.003_010 2018-07-25
[ Test Suite ]
- Improve test coverage for Type::Utils, Type::Coercion,
Types::Standard::Tuple, Eval::TypeTiny, Type::Registry,
Type::Tiny::Class, and Types::Standard::Tied.
1.003_009 2018-07-24
[ Documentation ]
- Better documentation of parameterization API.
[ Test Suite ]
- Improve testing of Test::TypeTiny itself; the matchfor() function in
particular.
- Test bad parameters to NumRange and IntRange.
- Test late loading of Sub::Quote.
[ Other ]
- Types::Standard::Defined->complementary_type will now return
Types::Standard::Undef, and vice versa.
1.003_008 2018-07-16
[ REGRESSIONS ]
- Make Error::TypeTiny aware of some newer internal modules.
[ Bug Fixes ]
- Fix error messages generating deep explanations of some parameterized
types.
Fixes RT#125765.
KB Jørgensen++
<https://rt.cpan.org/Public/Bug/Display.html?id=125765>
[ Test Suite ]
- Improve test coverage.
- Test Type::Utils' match_on_type's support for wantarray on strings of
code.
[ Other ]
- Improve processing of parameters to Types::Standard's parameterized type
constraints
- Simplify how Type::Registry generates the `t()` function.
- Split out some code from Types::Standard into autoloaded modules to
speed up loading.
- Types::Common::Numeric's IntRange and NumRange do better checking of
parameters.
- Types::Common::String's StrLength does better checking of parameters.
1.003_007 2018-07-12
[ Test Suite ]
- Add tests for deep coercions in Tuples.
- Better tests for Eval::TypeTiny's implementations of alias=>1.
- Improve coverage.
- Restructure Types::TypeTiny test cases so more of them run when Moose
and Mouse aren't available.
[ Other ]
- Added: Eval::TypeTiny now supports PadWalker as a fallback
implementation of alias => 1.
- Added: Eval::TypeTiny provides a collection of constants to indicate the
current implementation of alias => 1.
- Eval::TypeTiny will now throw errors when it detects a mismatch between
sigils and reference types in the environment hashref but only if
EXTENDED_TESTING environment variable is true. Perl will probably give
you its own error message for this later on anyway.
- Improve progressive exporter in Types::TypeTiny to avoid loading
Exporter::TypeTiny more often.
- Removed: Eval::TypeTiny::HAS_LEXICAL_VARS constant is no longer
documented and will be removed at a later date.
- Types::Standard does better at checking the parameters of parameterized
types are valid.
- Updated: Eval::TypeTiny now supports Perl 5.22 refaliasing as the
preferred implementation of alias => 1.
1.003_006 2018-07-08
[ Bug Fixes ]
- Fix issues with arrayref and hashref defaults in Type::Params.
- Workaround for Regexp-based check for Int clobbering $1 sometimes (this
will sometimes slow down Int checks a little, but is needed for
correctness).
Fixes RT#125132.
<https://rt.cpan.org/Public/Bug/Display.html?id=125132>
[ Documentation ]
- Better documentation of environment variables.
- Type::Params caller_level option is now documented.
[ Test Suite ]
- Improve coverage.
[ Other ]
- Added: PERL_TYPE_PARAMS_XS environment variable.
- Added: Type::Params compile/compile_named now have subname and
description options.
1.003_005 2018-07-05
[ Documentation ]
- Type::Tiny::Manual::Coercions improvements.
Fixes RT#122305.
<https://rt.cpan.org/Public/Bug/Display.html?id=122305>
[ Other ]
- Added: Allow type libraries to mark certain type constraints as
deprecated.
Fixes RT#124728.
<https://rt.cpan.org/Public/Bug/Display.html?id=124728>
1.003_004 2018-06-12
[ Bug Fixes ]
- Load modules with `use` instead of `require` in 00-begin.t.
Fixes RT#124067.
Andreas J König++
Slaven Rezić++
<https://rt.cpan.org/Public/Bug/Display.html?id=124067>
1.003_003 2018-06-10
[ BACK COMPAT ]
- Bool (Types::Standard) is stricter, no longer allowing blessed objects
that overload stringification because that's weird.
[ Other ]
- Added: Bool now allows coercion from Any.
1.003_002 2018-05-28
- Added: Types::Common::Numeric now has NumRange and IntRange types.
- Added: Types::Common::String now has a StrLength type.
1.003_001 2018-05-22
[ Test Suite ]
- Tests for coercions to CycleTuple from Types::Standard with
non-inlineable type constraints.
[ Other ]
- Don't use Type::Tiny::XS's implementation of Bool in Types::Standard
unless Type::Tiny::XS >= 0.014.
- Looser definition of FileHandle in Types::Standard.
Fixes RT#121762.
<https://rt.cpan.org/Public/Bug/Display.html?id=121762>
1.003_000 2018-05-20
[ Bug Fixes ]
- Compatibility with constants and with CV-in-stash optimisation.
Fixes RT#123408.
<https://rt.cpan.org/Public/Bug/Display.html?id=123408>
[ Documentation ]
- Add a new CONTRIBUTING.pod file.
- Document Type::Library's :coercion export tag.
Diab Jerius++
- Fix typo.
Philippe Bruhat++
- Improvements to Type::Params documentation.
[ Test Suite ]
- Skip t/30-integration/Moose/native-attribute-traits.t on older Moose
because Test::Moose is broken.
[ Packaging ]
- Ref::Util::XS 0.100 should be recommended, not 0.200 (which doesn't
exist yet).
Fixes RT#121981.
<https://rt.cpan.org/Public/Bug/Display.html?id=121981>
[ Other ]
- Added: Allow Type::Coercion's add_type_coercion to accept a
Type::Coercion object, which was already documented as working.
Diab Jerius++
- Added: Type::Params compile_named now supports bless/class/constructor
options.
- Added: Type::Params now exports a compile_named_oo function which
returns a parameters object.
- Added: Type::Params now supports parameter defaults.
- Don't use Type::Tiny::XS's implementation of PositiveInt in
Types::Common::Numeric unless Type::Tiny::XS >= 0.013.
1.002001 2017-06-08
[ Test Suite ]
- Skip t/30-integration/Moose/native-attribute-traits.t on older Moose
because Test::Moose is broken.
[ Packaging ]
- Ref::Util::XS 0.100 should be recommended, not 0.200 (which doesn't
exist yet).
Fixes RT#121981.
<https://rt.cpan.org/Public/Bug/Display.html?id=121981>
1.002000 2017-06-01
[ Packaging ]
- Stable version number.
1.001_016 2017-05-30
[ Documentation ]
- Include page-numbers.pl example
1.001_015 2017-05-20
[ Bug Fixes ]
- Fix HashRef[Str]|Undef|Str parsing on Perl < 5.14.
Fixes RT#121764.
Aran Clary Deltac++
Graham Knop++
<https://rt.cpan.org/Public/Bug/Display.html?id=121764>
1.001_014 2017-05-19
- Include trailing line break at the end of stringified version of some
exceptions.
Peter Valdemar Mørch++
1.001_013 2017-05-18 Kittiversary
[ Bug Fixes ]
- Fixed crazy amount of UTF-8 warnings from Type::Params on Perl 5.6.x and
Perl 5.8.x.
Fixes RT#101582.
André Walker++
<https://rt.cpan.org/Public/Bug/Display.html?id=101582>
<https://github.com/tobyink/p5-type-tiny/pull/16>
- StrMatch changes in previous release broke the ability to check type
equality between two parameterized StrMatch types under some
circumstances. Changed how the hash key for stashing regexp references
gets built — is now closer to the old way. This doesn't revert the
change in 1.001_012 where regexp checks can be inlined better, but only
applies to those regexp references that can't easily be inlined.
1.001_012 2017-05-17
[ BACK COMPAT ]
- RegexpRef now accepts blessed objects if $object->isa('Regexp') returns
true.
[ Other ]
- StrMatch will use Regexp::Util (if available) to inline regular
expressions more sensibly.
1.001_011 2017-05-17
[ Bug Fixes ]
- Type constraints like Tuple[Int] shouldn't report they have a coercion
if Int doesn't have a coercion.
[ Other ]
- Added: Types::Standard now has a CycleTuple type.
1.001_010 2017-05-16 Puppiversary
[ Test Suite ]
- t/00-begin.t will now work around ANDK's apparently broken XS testing
environment.
1.001_009 2017-05-13
- Rewrite some benchmarking scripts to use
Benchmark::Featureset::ParamCheck.
- Use Ref::Util::XS (if it's installed) to speed up certain type checks.
1.001_008 2017-05-10
[ Bug Fixes ]
- Type::Params should make sure Type::Utils is loaded before calling
english_list().
[ Documentation ]
- Rearrange the examples directory in the distribution.
[ Other ]
- Added: Named parameter validation benchmarking script.
- Added: Reduce scope of local $SIG{__DIE__} in Type::Registry.
Graham Knop++
1.001_007 2017-05-04 May the fourth be with you
[ Documentation ]
- Comparison of Type::Params with new(ish) CPAN module
Params::ValidationCompiler.
- Show example of how to set defaults for parameters with Type::Params.
[ Other ]
- Added: Type::Params' `multisig` function now sets a variable
`${^TYPE_PARAMS_MULTISIG}` to indicate which signature succeeded.
- Optimization of Type::Params positional parameter checking for simple
cases with no slurpy parameter and no coercions.
- Optimizations for Tuple and StrMatch type constraints from
Types::Standard.
1.001_006 2017-04-30
- Allow Type::Tiny's `constraint` parameter to be a string of Perl code.
- Localize $SIG{__DIE__} in Type::Registry.
Fixes RT#100780.
<https://rt.cpan.org/Public/Bug/Display.html?id=100780>
1.001_005 2017-04-19
[ Bug Fixes ]
- 02-api.t should check version of Moose available.
<https://github.com/tobyink/p5-type-tiny/pull/20>
- 20-unit/Type-Utils/warnings.t should check version of Test::Warnings.
Alexandr Ciornii++
<https://github.com/tobyink/p5-type-tiny/pull/21>
- Fix minor typos in documentation for Types::Standard.
Zoffix Znet++
<https://github.com/tobyink/p5-type-tiny/pull/30>
- Fix variable name typo in documentation for Type::Params.
Lucas Buchala++
<https://github.com/tobyink/p5-type-tiny/pull/37>
[ Documentation ]
- Include projected release date for Type::Tiny 1.002000 in NEWS.
[ Test Suite ]
- Bundle a test case for GH issue 14.
<https://github.com/tobyink/p5-type-tiny/issues/14>
[ Other ]
- Improved error location reporting for Moo
Peter Valdemar Mørch++
<https://github.com/tobyink/p5-type-tiny/pull/35>
- Updated: NumericCode now coerces from strings with whitespace in them,
like MooseX::Types::Common::Numeric.
Denis Ibaev++
<https://github.com/tobyink/p5-type-tiny/pull/22>
1.001_004 2017-02-06
- Attempting ArrayRef[Int, Int] or similar now throws an exception.
Fixes RT#105299.
Thomas Sibley++
<https://rt.cpan.org/Public/Bug/Display.html?id=105299>
1.001_003 2017-02-02
- Updated: Merge fixes from stable Type-Tiny 1.000006.
1.001_002 2014-10-25
[ Bug Fixes ]
- Fix short-circuiting optimizations for parameterized HashRef, ArrayRef,
ScalarRef, and Map type constraints.
Fixes RT#99312.
Marcel Timmerman++
<https://rt.cpan.org/Public/Bug/Display.html?id=99312>
- Inlined version of Types::Standard::Int should check that the value is
not a reference.
[ Test Suite ]
- Fix annoying warning message in test suite with recent versions of
Exporter::Tiny.
[ Other ]
- Make equals/is_a_type_of/is_subtype_of/is_supertype_of in
Type::Tiny::Union work more like Moose::Meta::TypeConstraint::Union.
1.001_001 2014-09-19
- Lazy-load Text::Balanced in Type::Parser. (Many parses don't even need
it.)
- Lazy-load Type::Tiny::Union in Type::Params.
- Updated: Prefer Sub::Util over Sub::Name. (The former is smaller.)
1.001_000 2014-09-07
[ Bug Fixes ]
- Fix for Type::Registry::DWIM.
Fixes RT#98458.
Marcel Montes++
<https://rt.cpan.org/Public/Bug/Display.html?id=98458>
- Fix issues with coercions and native attribute traits with some oldish
versions of Moose on oldish versions of Perl.
Fixes RT#98159.
Peter Flanigan++
<https://rt.cpan.org/Public/Bug/Display.html?id=98159>
[ Documentation ]
- Updated NEWS file.
- Updated TODO file.
- Updates to Type::Tiny::Manual::UsingWithMoose,
Type::Tiny::Manual::UsingWithMoo, and
Type::Tiny::Manual::UsingWithMouse.
[ Test Suite ]
- Make some of the test case skip_all bits more ambitious; test older
versions of Moose and Moo than we were testing before.
[ Other ]
- Added: Type::Params now provides `compile_named` and `validate_named`
functions which do the same thing as `compile` and `validate` but are
better for named arguments.
- Updated: If Sub::Name is unavailable, but the shiny new core Sub::Util
is available, then use it instead.
- Updated: Want Type::Tiny::XS 0.011.
- `Type::Utils::dwim_type` now allows more control over fallback
behaviours.
1.000006 2017-01-30
[ Bug Fixes ]
- Fix escaping within q{...} in a test case.
Fixes RT#114386.
Karen Etheridge++
<https://rt.cpan.org/Public/Bug/Display.html?id=114386>
1.000005 2014-10-25
[ Bug Fixes ]
- Fix short-circuiting optimizations for parameterized HashRef, ArrayRef,
ScalarRef, and Map type constraints.
Fixes RT#99312.
Marcel Timmerman++
<https://rt.cpan.org/Public/Bug/Display.html?id=99312>
[ Test Suite ]
- Fix annoying warning message in test suite with recent versions of
Exporter::Tiny.
1.000004 2014-09-02
[ Bug Fixes ]
- Fix for Type::Registry::DWIM.
Fixes RT#98458.
Marcel Montes++
<https://rt.cpan.org/Public/Bug/Display.html?id=98458>
- Fix issues with coercions and native attribute traits with some oldish
versions of Moose on oldish versions of Perl.
Fixes RT#98159.
Peter Flanigan++
<https://rt.cpan.org/Public/Bug/Display.html?id=98159>
1.000003 2014-08-28
[ Bug Fixes ]
- Fix for coercions to parameterized Dict including a mixture of
inlineable and non-inlineable optional values.
Fixes RT#98362.
Gianni Ceccarelli++
<https://rt.cpan.org/Public/Bug/Display.html?id=98362>
1.000002 2014-08-18
[ Bug Fixes ]
- Fix for overloaded operation fallback on Perl 5.10.x.
Fixes RT#98113.
Dagfinn Ilmari MannsĂĄker++
Peter Flanigan++
<https://rt.cpan.org/Public/Bug/Display.html?id=98113>
1.000001 2014-08-18
[ Bug Fixes ]
- Changes to dwim_type() in 0.047_09 broke the fallback to creating class
types in some circumstances. This broke the MooX::late test suite, and
some usages of MooX::late.
Shlomi Fish++
1.000000 2014-08-16 Happy CPAN Day!
[ Documentation ]
- Document the Type::Tiny versioning policy.
- Updated NEWS file.
- Updated TODO file.
0.047_09 2014-08-12
[ Bug Fixes ]
- Fix documentation typo.
Benct Philip Jonsson++
[ Documentation ]
- Improvements and clarifications to Type::Coercion documentation.
[ Test Suite ]
- Add tests for Error::TypeTiny::Assertion's predicate methods.
- Add tests for Type::Coercion's i_really_want_to_unfreeze method.
[ Other ]
- Better integration between Type::Library and Type::Registry. If you
import a type constraint from a Type::Library-based module, it will
automatically be inserted into your modules' type registry.
- The to_Foo functions exported by Type::Library-based modules are now
significantly faster. (But only if the type's coercion is frozen.)
- Type::Utils::dwim_type now takes into account what OO framework the
caller is using (Moose or Mouse) if it needs to fall back to asking the
OO framework about a type constraint.
0.047_08 2014-08-05 Sanity++
[ Bug Fixes ]
- Fix non-inlined version of NegativeOrZeroInt.
[ Documentation ]
- Document the remaining RT#93345-related issues - see "Deep Caveat" in
Type::Tiny::Manual::Coercions.
<http://purl.org/NET/cpan-uri/rt/ticket/93345>
[ Test Suite ]
- Alter the Types::Common::* test cases to use Test::TypeTiny.
- Test to avoid the "too few arguments for type constraint check
functions" error.
Diab Jerius++
<http://purl.org/NET/cpan-uri/rt/ticket/97684>
- Update t/30-integration/Moose/coercion.t to Moose 2.1200 which throws an
exception rather than printing a warning when coerce=>1 is used on a
type constraint with no coercions.
[ Other ]
- Prevent inlining of coercions if they've not been frozen.
<http://purl.org/NET/cpan-uri/rt/ticket/93345>
0.047_07 2014-08-04
[ Bug Fixes ]
- The extract_type function was missing from Type::Parser's @EXPORT_OK
list.
[ Test Suite ]
- Test cases for Type::Parser::extract_type.
[ Other ]
- Parameterized Maybe constraints are now XS-accelerated.
0.047_06 2014-07-31 What made the Queen go all ice crazy?
[ Bug Fixes ]
- Bugfix in coercion inheritance where the child's type_coercion_map
arrayref would end up as a reference to the parent's type_coercion_map.
(Which was not good.)
[ Test Suite ]
- More Type::Registry test cases.
[ Other ]
- Added: Type::Coercion now has a i_really_want_to_unfreeze method.
- Added: Type::Library now has a make_immutable method.
- Coercions for the types defined in Types::Common::Numeric are now
frozen.
- Coercions for the types defined in Types::Common::String are now frozen.
- Coercions for the types defined in Types::Standard are now frozen.
- Parameterized types now have their coercions frozen automatically, so
you can no longer add coercions to, say, ArrayRef[Int]. However, you can
create a subtype of ArrayRef[Int] and add coercions to that.
Michael G Schwern++
<http://purl.org/NET/cpan-uri/rt/ticket/97516>
- Type::Registry now has methods for creating
union/intersection/class/role type constraints. Type::Parser delegates
to these, making it potentially reusable outside Type::Tiny by simply
passing it an alternative type registry object.
- Type::Registry/Type::Parser will now auto-load MouseX::Types libraries.
0.047_05 2014-07-29 Sanity++
[ REGRESSIONS ]
- Introduced bug concerning coercions to parameterized Dicts with a
mixture of inlineable and non-inlineable optional values.
<http://purl.org/NET/cpan-uri/rt/ticket/98362>
[ Documentation ]
- Improve the documentation of Optional[] and slurpy.
[ Other ]
- A far saner implementation of Optional[].
- A slightly saner implementation of Types::TypeTiny's meta methods.
- Optimizations for slurpy Any.
- When slurping the tail of a Tuple into a hashref, check it's an even
number of elements.
0.047_04 2014-07-28 The 98% Coverage Release
[ Documentation ]
- Type::Utils does not export english_list() and classifier() by default.
[ Test Suite ]
- Check that Mouse type converted to Type::Tiny objects keep their
original error messages.
- Improve test coverage for Type::Registry.
- Improve test coverage for Type::Utils' match_on_type and
compile_match_on_type.
- Test code from SYNOPSIS sections (only in xt).
- Test exceptions thrown by Types::Standard::ScalarRef.
- Test that Sub::Quote-enabled coderefs generated by Type::Tiny and
Type::Coercion can actually be retrieved by Sub::Quote.
- Test the Type::Coercion overloading of ~~.
- Test warnings raised by Type::Utils::declare().
- Tests for Test::TypeTiny::matchfor().
- Tests for dynamically delegated Type::Tiny an Type::Coercion methods.
- Tests for introspection methods of Type::Coercion.
- Tests for introspection methods of Types::TypeTiny.
[ Other ]
- Straighten out the relationships between Type::Coercion and its
subclasses.
- Type:Utils::match_on_type no longer automatically loads Types::Standard.
0.047_03 2014-07-26 The 96% Coverage Release
[ Bug Fixes ]
- Fix for slurpy Map within a Tuple.
- Types::TypeTiny->has_type was incorrectly returning whether
Types::TypeTiny contained the named *coercion* instead of a named
*type*.
[ Test Suite ]
- Check Type::Library-based type libraries can extend MouseX::Types-based
type libraries.
- Check that Type::Registry works in conjunction with MouseX::Types.
(There's some TODO stuff there.)
- Checks for more Error::TypeTiny::Assertion explanations (Tuple, Duck,
Intersection, Union, Dicts containing slurpy things).
- Checks non-inlineable deep coercions for Tuple.
- Fake a very old Validation::Class::Simple for a certain test by
overriding $Validation::Class::Simple::VERSION.
- Improved type constraint constructor tests (exceptions thrown for bad
parameters, coercion=>ARRAY|CODE parameter).
- Improved type introspection method tests
(find_parent/is_supertype_of/is_subtype_of/is_strictly_supertype_of/is_s
trictly_subtype_of).
- Test the immutability of Type::Coercion::Union.
- Tests for `isa`.
- Tests for non-inlineable type constraints in `match_on_type` and
`compile_match_on_type`.
- Tests for various little methods which were added for
Moose/Mouse-compatibility.
[ Packaging ]
- Bundle my TODO file.
[ Other ]
- Better `isa` faking - returns true to Class::MOP::Object.
0.047_02 2014-07-23 The 92% Coverage Release
[ Documentation ]
- Type::Tiny::Manual no longer says that Perl 5.6.x support is at risk.
[ Test Suite ]
- Add tests explicitly testing Type::Tiny objects conversion to
Moose::Meta::TypeConstraint and Mouse::Meta::TypeConstraint objects.
- Include test case relating to Type::Tiny::XS GitHub issue #1.
<https://github.com/tobyink/p5-type-tiny-xs/issues/1>
- Stop using base.pm.
- Test exceptions thrown by Type::Tiny::Class.
- Test exceptions thrown by Type::Tiny::Enum.
- Test exceptions thrown by Type::Tiny::Role.
- Test the Error::TypeTiny::Compilation exception class.
- Test the Error::TypeTiny::WrongNumberOfParameters exception class.
[ Other ]
- Allow Enums containing hyphens to be accelerated by Type::Tiny::XS.
- Type::Tiny::Class should stop using Class::ISA. Instead, if mro.pm is
not available, use a private sub stolen from MRO::Compat.
- Type::Tiny::Intersection is now XS-accelerated.
<https://gist.github.com/tobyink/71eab715ac16178cbcfb>
- Type::Tiny::Union is now XS-accelerated.
<https://gist.github.com/tobyink/71eab715ac16178cbcfb>
0.047_01 2014-07-21 The 87% Coverage Release
[ Bug Fixes ]
- Fix a silly test case that was relying on Exporter::Tiny to always load
B.pm. (Current versions of Exporter::Tiny do load B.pm, but future
versions might not.)
[ Documentation ]
- Better document which type constraints will be accelerated by
Type::Tiny::XS and Mouse.
[ Other ]
- Type::Tiny::Enum is now XS-accelerated.
<https://gist.github.com/tobyink/dfdf9bb826a530781e3d>
- Types::Common::Numeric::PositiveInt is now XS-accelerated.
<https://gist.github.com/tobyink/dcc15cf283c90c749501>
- Types::Common::Numeric::PositiveOrZeroInt is now XS-accelerated.
<https://gist.github.com/tobyink/dcc15cf283c90c749501>
- Types::Common::String::NonEmptyStr is now XS-accelerated.
<https://gist.github.com/tobyink/dcc15cf283c90c749501>
- Types::Standard::Map is now XS-accelerated.
<https://gist.github.com/tobyink/e733f839cecc0dd193a6>
- Types::Standard::Tuple is now XS-accelerated.
<https://gist.github.com/tobyink/e733f839cecc0dd193a6>
- Unify _USE_XS/_USE_MOUSE logic in Type::Tiny. (It was previously
scattered across Types::Standard and various other modules.)
0.046 2014-07-18
[ Bug Fixes ]
- Fix for Types::TypeTiny::to_TypeTiny($coderef) when Sub::Quote is loaded
but not used.
- Undef no longer passes the Types::TypeTiny::StringLike type constraint.
[ Test Suite ]
- Add test cases for Types::TypeTiny (the library of type constraints used
internally by Type::Tiny).
[ Other ]
- Minor optimizations to Types::TypeTiny::to_TypeTiny.
0.045_05 2014-07-18
[ Bug Fixes ]
- More sensible use of Sub::Name in Type::Library.
[ Documentation ]
- Added a Type::Tiny::Manual::Optimization perldoc page.
[ Other ]
- Added: Type::Tiny now has a `where` method which is a shortcut for
creating a child type with a constraint coderef.
- Added: Type::Tiny now has an `of` method which is a shortcut for
`parameterize` which I can never spell properly.
- Restore and improve Mouse XS stuff dropped in Type-Tiny 0.045_03.
0.045_04 2014-07-15
[ Bug Fixes ]
- Type::Params was warning about additional arguments passed to sprintf
under Perl blead. The additional argument has been removed.
[ Documentation ]
- Updated NEWS file.
[ Test Suite ]
- Cope with changes to Type::Tie error messages introduced in Type::Tie
0.008.
- Fix warnings in 30-integration/Moose/native-attribute-traits.t when run
under perl -w.
Peter Karman++
- Generally stop testing the contents of error messages produced by
external modules!
0.045_03 2014-07-11
[ REGRESSIONS ]
- The Mouse XS stuff introduced in Type-Tiny 0.003_09 has been partially
removed. (I do plan on restoring it, and improving it.)
[ Documentation ]
- Update benchmark scripts, showing results with/without Type::Tiny::XS.
[ Test Suite ]
- When testing equivalence between Types::Standard types and core Moose
types, don't test `Num` because Types::Standard provides two different
implementations for it.
[ Other ]
- Type::Tiny::XS is now used (if available) to speed up some of the
Types::Standard type constraints, plus Type::Tiny::Class and
Type::Tiny::Duck.
0.045_02 2014-07-10
[ Bug Fixes ]
- Remove outdated references to the overloaded + operator from
Types::Standard documentation.
Fixes RT#96379.
Diab Jerius++
<https://rt.cpan.org/Public/Bug/Display.html?id=96379>
[ Documentation ]
- Include benchmark/example of Type::Params versus Scalar::Validation.
0.045_01 2014-06-30
[ Bug Fixes ]
- Ensure that when a Type::Tiny object is inflated into a
Moose::Meta::TypeConstraint, inlining still happens via Type::Tiny.
omega++
- Workaround strange behaviour of exists() function when applied to @_ on
Perl older than 5.20 which caused some uses of Optional[Foo] to accept
an explicit undef.
Caleb Cushing++
0.044 2014-06-03
[ Documentation ]
- Updated NEWS file.
0.043_05 2014-05-21
[ Bug Fixes ]
- Fix inflation of Type::Coercion objects to Moose::Meta::TypeCoercion
when some of the coercion routines are given as strings.
[ Documentation ]
- Document the is_*, to_*, and assert_* functions in
Type::Tiny::Manual::Libraries.
Alexander Hartmaier++
- Mention coercion=>1 and why it is useful in
Type::Tiny::Manual::Coercions.
Alexander Hartmaier++
[ Test Suite ]
- Integration tests for MooseX::Getopt.
Alexander Hartmaier++
[ Other ]
- Detect missing comma in declaration of type constraints using
Type::Utils a la `declare Foo as Bar`, and print a warning.
Tim Bunce++
- No longer need to inflate a Type::Tiny object to
Moose::Meta::TypeConstraint in order to give an answer to
$type->isa('Moose::Meta::TypeConstraint::Union').
0.043_04 2014-05-21
[ Test Suite ]
- Improve test cases for integration with Moose native attribute traits.
0.043_03 2014-05-06
[ Documentation ]
- Rename Types::Datetime to Example::Types because there is now really a
Types::DateTime on CPAN.
- Type::Tiny::Manual::Libraries add example of using the custom types
library.
Peter Karman++
[ Test Suite ]
- Add some test cases for the Error::TypeTiny class.
- Improve Eval::TypeTiny test cases.
- Tests for Type::Library error messages.
[ Packaging ]
- Updated bundled version of Try::Tiny.
[ Other ]
- Added: Extremely experimental and mostly undocumented my_method stuff.
- Added: Type::Utils::classifier
0.043_02 2014-04-11
- Added: Experimental my_methods attribute so that type constraints can
offer additional methods.
- Added: Type::Tiny now has a find_parent method.
0.043_01 2014-04-06
- Sub::Quote quoted coderefs passed to to_TypeTiny() now result in
inlinable type constraints.
0.042 2014-04-02
[ Documentation ]
- Include more recent results in benchmarking example scripts.
- List currently unstable/experimental parts of the distribution in
Type::Tiny::Manual::Policies.
0.041_04 2014-03-31
[ Test Suite ]
- Add tests for given/when matching against type constraints.
0.041_03 2014-03-28
[ Documentation ]
- Improve documentation for the Type::Coercion class; especially its
constructors, attributes and methods.
- Improve documentation for the Type::Tiny class; especially its
constructor, attributes and methods.
0.041_02 2014-03-26
[ Bug Fixes ]
- Fix Type::Tiny::Duck's inlining of code when given the variable name
`$_`.
Fixes RT#94196.
Diab Jerius++
<https://rt.cpan.org/Public/Bug/Display.html?id=94196>
[ Documentation ]
- Type::Tiny::Manual links to various parts of the test suite to document
concepts. These links had grown stale and have now been updated.
- Updated NEWS file.
[ Test Suite ]
- Prevent 20-unit/Type-Registry/moosextypes.t from failing due to too old
MooseX::Types::Common - just skip the test script if MXTC is older than
0.001004.
0.041_01 2014-03-17
[ BACK COMPAT ]
- Type::Tiny and Type::Coercion no longer overload addition. This feature
never really worked very well with regard to precendence, requiring lot
of parentheses to use. The overload also made solving the
parameterizable type coercion problem very difficult.
[ Other ]
- Parameterizable coercions are now passed a reference to the type
constraint they should target.
0.040 2014-03-17
[ Documentation ]
- Refreshed SEE ALSO section of Type::Tiny::Manual::Libraries.
- Updated NEWS file.
0.039_13 2014-03-15
[ Bug Fixes ]
- Fix occasional segfaults on threaded Perl 5.18.x.
Graham Knop++
[ Test Suite ]
- Test for occasional segfaults on threaded Perl 5.18.x.
Graham Knop++
0.039_12 2014-03-12
[ Bug Fixes ]
- Various Type::Utils functions were trying to dereference undef as a hash
or array in certain circumstances.
Matt Phillips++
[ Other ]
- Type::Utils' class_type and role_type functions will $name =~ s/:://g.
Matt Phillips++
0.039_11 2014-03-11
[ Test Suite ]
- Because of changes to Data::Dumper in Perl 5.19.x, the test suite was
previously skipping some Dumper-based test cases depending on Perl
version. However, Dumper is dual-lifed, so older versions of Perl may
have shiny, new Dumpers. Skip test cases based on Data::Dumper version
instead.
0.039_10 2014-03-10
[ Documentation ]
- Document the benefits of freezing coercions, and of defining coercions
either within the type library, or via $type->plus_coercions.
[ Other ]
- $type->plus_coercions and friends now return objects with frozen
coercions.
0.039_09 2014-02-25
[ Documentation ]
- Update Type::Tiny::Manual::Params to mention Kavorka, and newer features
of Function::Parameters.
[ Test Suite ]
- Test integration with Moops.
- Test integration with Switcheroo.
- Test that coercions attached to Moose type constraints get inherited by
Type::Tiny when they are inhaled.
- Unit tests for Devel::TypeTiny::Perl56Compat.
- Unit tests for Devel::TypeTiny::Perl58Compat.
0.039_08 2014-02-24
[ Test Suite ]
- Test integration with Kavorka.
0.039_07 2014-02-17
[ Bug Fixes ]
- Fix hash ordering bug in Return::Type integration tests.
0.039_06 2014-02-17
[ Bug Fixes ]
- Type::Tiny's SUPPORT_SMARTMATCH constant was broken; fixed now.
- Type::Tiny's TIEARRAY and TIEHASH methods were broken; fixed now.
[ Test Suite ]
- Enable some old tests that had been disabled as not-yet-implemented for
parameterized type constraints; the feature they test was implemented
ages ago.
- Test integration with Return::Type.
- Test integration with Type::Tie.
- Test integration with match::simple.
0.039_05 2014-02-15
- Apply the Type::Tiny::_HalfOp trick to overloaded addition too.
0.039_04 2014-02-05
- Make overloaded ops on parameterized type constraints work more
consistently between Perl above and below 5.14, reducing the need for
parenthesizing complex type constraint expresssions.
Graham Knop++
<https://github.com/tobyink/p5-type-tiny/pull/8>
0.039_03 2014-02-05
[ Bug Fixes ]
- Make Type::Utils::declare_coercion work outside type libraries.
Fixes RT#92591.
Diab Jerius++
<https://rt.cpan.org/Public/Bug/Display.html?id=92591>
- Weak reference from Type::Coercion objects to target type constraint
caused bad behaviour in some cases. This has been fixed by retaining
enough information within the Type::Coercion to be able to reconstruct
its type constraint if it disappears due to the reference count falling
to zero.
Fixes RT#92571.
Diab Jerius++
<https://rt.cpan.org/Public/Bug/Display.html?id=92571>
0.039_02 2014-01-25
[ Test Suite ]
- Add tests for Test::TypeTiny.
0.039_01 2014-01-21
[ Documentation ]
- The preferred IRC channel for support is now #moops.
[ Test Suite ]
- Restructure the 't' directory.
[ Other ]
- Removed: Exporter::TypeTiny.
0.038 2014-01-01
[ Documentation ]
- Copyright 2014.
- Updated NEWS file.
0.037_03 2013-12-30
[ Bug Fixes ]
- Fix problems with Moo::HandleMoose integration on threaded Perls.
Graham Knop++
Kevin Dawson++
Matt S Trout++
[ Test Suite ]
- Skip leak.t on threaded Perls (for now).
0.037_02 2013-12-29
[ Documentation ]
- Link to the Type::Tiny stability policy from the pod of each module it
covers.
0.037_01 2013-12-24
[ Bug Fixes ]
- Fix a Type::Params/B problem on Perl 5.6.x.
0.036 2013-12-21
[ Documentation ]
- Updated NEWS file.
0.035_01 2013-12-17
- Make Type::Parser work with newer versions of MooseX::Types::Common
which uses namespace::autoclean.
Fixes RT#91468.
David Steinbrunner++
<https://rt.cpan.org/Public/Bug/Display.html?id=91468>
- Make parameterized Dict and Map type constraints work with Moose native
hash attribute trait.
Jason R Mash++
0.034 2013-12-09
[ Documentation ]
- Updated NEWS file.
0.033_04 2013-12-06
[ Test Suite ]
- Further tests related to RT#90096.
Diab Jerius++
<http://purl.org/NET/cpan-uri/rt/ticket/90096>
[ Other ]
- Implement coercion_names, get_coercion, has_coercion, and has_type
methods for Types::TypeTiny, to make it more like a real Type::Library
type library.
- The `extends` function from Type::Utils now allows inheritance of
coercions, not just types.
Fixes RT#91153.
Jason R Mash++
<https://rt.cpan.org/Public/Bug/Display.html?id=91153>
0.033_03 2013-11-26
[ Bug Fixes ]
- Fix bug in Type::Params::multisig with regard to slurpy parameters.
Fixes RT#90865.
Diab Jerius++
<https://rt.cpan.org/Public/Bug/Display.html?id=90865>
[ Documentation ]
- Make Error::TypeTiny::Assertion's explain method act more according to
documentation.
Fixes RT#90867.
Diab Jerius++
<https://rt.cpan.org/Public/Bug/Display.html?id=90867>
[ Packaging ]
- Recommend Sub::Name in META.json.
0.033_02 2013-11-26
- Split out some of the longer parts of Types::Standard into other modules
that will be loaded on demand; this shaves about 20% off the load time
of Types::Standard.
0.033_01 2013-11-07
[ Bug Fixes ]
- Type::Params now localizes $_ before trying to assign anything to it.
Fixes RT#90096.
Samuel Kaufman++
<https://rt.cpan.org/Public/Bug/Display.html?id=90096>
[ Test Suite ]
- Test case using a Type::Params compiled check within the scope of a
read-only $_ variable.
Samuel Kaufman++
[ Other ]
- Added: Types::Common::Numeric
- Added: Types::Common::String
0.032 2013-11-05 Remember, remember the fifth of November
[ Bug Fixes ]
- Eliminate a warning under Perl 5.6.x.
[ Documentation ]
- Updated NEWS file.
0.031_05 2013-11-04
[ Documentation ]
- Fix minor typo.
David Steinbrunner++
[ Other ]
- Allow Dict to take a slurpy parameter - a la Dict[foo => Int, slurpy
HashRef[Num]].
Matt S Trout++
0.031_04 2013-11-03
[ Bug Fixes ]
- Type::Parser 0.031_02 introduced a bug under Perl 5.6.x where we relied
on the existence (or not) of a hash item being affected by `local`; this
was implemented in Perl 5.8.0. Work around this problem by checking
definedness instead.
0.031_03 2013-11-03
- Added: Deep coercions for Maybe[`a].
Fixes RT#89936.
Brendan Byrd++
<https://rt.cpan.org/Public/Bug/Display.html?id=89936>
0.031_02 2013-11-03
- Type::Parser now differentiates between Tuple[] and Tuple too.
- Type::Parser only treats a comma as an operator within a
parameterization now, and is thus now able to parse types from the head
of a string which is a comma-separated list of types.
0.031_01 2013-10-28
[ Bug Fixes ]
- Differentiate Tuple[] vs Tuple, and Dict[] vs Dict.
Fixes RT#89696.
Benct Philip Jonsson++
<https://rt.cpan.org/Public/Bug/Display.html?id=89696>
[ Documentation ]
- Improved documentation for Types::TypeTiny.
[ Test Suite ]
- Adjustments to cope with newer Moose is-class-loaded heuristics.
- Check Moose exception objects with isa rather than regexp matching.
0.030 2013-10-18
[ Documentation ]
- Updated NEWS file.
[ Test Suite ]
- Skip leak.t on Perl < 5.10.1. Type-Tiny does have some memory leaks in
particular older versions of Perl: 5.8.8 and 5.10.0 are known to be
problematic, but 5.8.9 seems fine. Ultimately it would be nice to get
these fixed, but in the mean time skipping the test case makes the
distribution easier to install.
0.029_04 2013-10-17
[ Bug Fixes ]
- Fix inlining of type checks in Moo which was broken around about version
0.027_09.
- Fix validate_explain error messages in Type::Tiny::Union.
Fixes RT#89279.
Brendan Byrd++
<https://rt.cpan.org/Public/Bug/Display.html?id=89279>
[ Other ]
- $Type::Tiny::DD can be set numerically.
Fixes RT#89251.
Tim Bunce++
<https://rt.cpan.org/Public/Bug/Display.html?id=89251>
- Improve error messages under Moo.
Fixes RT#89234.
Graham Knop++
<https://rt.cpan.org/Public/Bug/Display.html?id=89234>
0.029_03 2013-10-17
[ Bug Fixes ]
- Fix segfault on Perl 5.8.1 to 5.8.3. (And possibly some other 5.8.x
Perls.) Caused by the combination of eval and goto.
Dagfinn Ilmari MannsĂĄker++
Graham Knop++
Peter Rabbitson++
- Older versions of Scalar::Util::looks_like_number return true for undef;
work around them.
0.029_02 2013-10-11
[ BACK COMPAT ]
- Renamed the Type::Exception modules to Error::TypeTiny.
Fixes RT#89280.
Brendan Byrd++
<https://rt.cpan.org/Public/Bug/Display.html?id=89280>
[ Documentation ]
- Fix typos in documentation of Error::TypeTiny package variables.
[ Other ]
- $Type::Tiny::DD package variable can now be used for a pluggable data
dumper coderef.
Fixes RT#89251.
Tim Bunce++
<https://rt.cpan.org/Public/Bug/Display.html?id=89251>
- Type::Tiny::Enum type constraints are now subtypes of
Types::Standard::Str; not Types::Standard::Defined.
David Golden++
- Types::Standard::Item is now a subtype of not Types::Standard::Any.
David Golden++
0.029_01 2013-09-26
- Replace Exporter::TypeTiny with Exporter::Tiny (an external dependency).
0.028 2013-09-26
[ Documentation ]
- Note in documentation for Type::Tiny::Union, etc that
constraint/inlining coderefs not only should not be provided to the
constructor, but cannot!
Fixes RT#88655.
Brendan Byrd++
<https://rt.cpan.org/Public/Bug/Display.html?id=88655>
- Updated NEWS file.
0.027_09 2013-09-20
[ REGRESSIONS ]
- Inlining of type checks in Moo broken in this release, or hereabouts.
Fixed in 0.029_04.
[ Bug Fixes ]
- Fix whitespace in error messages.
[ Test Suite ]
- Skip leak.t on Perl 5.10.0.
0.027_08 2013-09-19
[ Bug Fixes ]
- Fix typo in Type::Utils for coerce=>1 --> coercion=>1.
Fixes RT#88798.
Diab Jerius++
<https://rt.cpan.org/Public/Bug/Display.html?id=88798>
- Fix typo in changelog for previous developer release.
- Type::Exception::Assertion changes from 0.027_05 are now conditional
upon Perl version; only take effect on Perl 5.8+; they just weren't
working on Perl 5.6.
[ Test Suite ]
- More changes to version numbers reported by 00-begin.t.
[ Other ]
- Explicitly overload boolification (always true!) in Type::Exception.
0.027_07 2013-09-18
[ Bug Fixes ]
- Fix missing version number in Type::Coercion::FromMoose
[ Test Suite ]
- Changes to version numbers reported by 00-begin.t.
[ Other ]
- Also ensure Mouse type constraints converted to Type::Tiny constraints
retain their coercions.
0.027_06 2013-09-18
[ Documentation ]
- Add a draft Stability Policy to Type::Tiny::Manual.
[ Other ]
- Added: Override `validate_explain` in all the bundled subclasses of
Type::Tiny.
- Added: Type::Coercion::FromMoose
- Added: Type::Tiny::Union now provides a `find_type_for` method which
should be compatible with Moose's equivalent method.
- Added: Type::Utils now provides an `english_list` function like
Moose::Util does. This was useful internally for implementing
`validate_explain` methods.
- Loosen the rules for Type::Tiny and Type::Coercion name attributes;
allow them to begin with one or two leading underscores.
- Memoize Types::TypeTiny::to_TypeTiny.
- Stop using base.pm.
- Type::Tiny::Union's compiled checks no longer close over the type
constraints which are in the union.
- Types::TypeTiny::to_TypeTiny now uses Type::Coercion::FromMoose to
ensure Moose type constraints converted to Type::Tiny constraints retain
their coercions.
0.027_05 2013-09-15
- Added: Provide a `validate_explain` method as part of Type::Tiny's
public API.
- Include a detailed explanation in the stringification of
Type::Exception::Assertion.
- Refactor the explanation generation mechanism.
0.027_04 2013-09-09
[ Test Suite ]
- The file t/moose-coercion.t was checking a particular Moose warning
message. In Moose 2.1100, this warning has been upgraded to an
exception. For now, disable that particular check.
0.027_03 2013-09-09
[ Bug Fixes ]
- Prevent Eval::TypeTiny from leaking stashes by recycling the sandbox.
[ Test Suite ]
- Fix the ultra-finicky t/02-api.t to cope with changes to
Moose::Meta::TypeConstraint API in Moose 2.1100.
0.027_02 2013-09-08
[ Bug Fixes ]
- Restore Type::Tiny -> Moose -> Type::Tiny round-tripping broken in
previous release.
[ Documentation ]
- In Type::Tiny::Manual::Coercions, explain how to chain coercions.
<http://purl.org/NET/cpan-uri/rt/ticket/88452>
0.027_01 2013-09-07
[ REGRESSIONS ]
- Weakening various references to fix memory leaks led to breaking
Type::Tiny -> Moose -> Type::Tiny round-tripping via
Types::TypeTiny::to_TypeTiny. Test cases for this marked TODO.
[ Bug Fixes ]
- Fixed some memory leaks. Still some work to do in this area.
[ Other ]
- Added `coercibles` method to Type::Tiny.
Diab Jerius++
<http://purl.org/NET/cpan-uri/rt/ticket/88452>
0.026 2013-09-05
[ Documentation ]
- Updated NEWS file.
0.025_03 2013-09-04
[ Documentation ]
- Document that multisig() accepts coderefs.
[ Packaging ]
- Use a newer version of RDF::DOAP to process this changelog.
0.025_02 2013-09-02
[ Bug Fixes ]
- functionparameters.t now requires Moo or Moose and is skipped otherwise.
[ Other ]
- Added: Type::Params now provides a multisig() function, allowing you to
define multiple function signatures, and attempt to validate @_ against
them each in turn.
Fixes RT#88291.
Diab Jerius++
<https://rt.cpan.org/Public/Bug/Display.html?id=88291>
0.025_01 2013-09-02
[ Bug Fixes ]
- The Tuple structured type was treating arrays with missing required
elements as if they were present but undef.
Fixes RT#88277.
Steven Lee++
<https://rt.cpan.org/Public/Bug/Display.html?id=88277>
[ Documentation ]
- Document the internals of Exporter::TypeTiny.
[ Packaging ]
- Take advantage of dynamic_config to ask automated testers to test
Type::Tiny with Moose present, but only if the Type::Tiny version number
includes an underscore.
- use Dist-Inkt
[ Other ]
- Exporter::TypeTiny will now use method-style resolution when searching
for a sub to export.
- Make Exporter::TypeTiny support generators with less internals-hacking.
0.024 2013-08-27
[ Documentation ]
- Updated NEWS file.
0.023_03 2013-08-23
[ Bug Fixes ]
- Constructors for some subclasses of Type::Tiny rejected hashrefs of
paramaters.
Fixes RT#88064.
Brendan Byrd++
<https://rt.cpan.org/Public/Bug/Display.html?id=88064>
- Stop considering the empty string to be a valid package name.
[ Test Suite ]
- Include additional test cases stolen from Moose.
[ Other ]
- Implementation of RegexpRef in Types::Standard is now closer to Moose's
implementation (accepts blessed Regexps).
0.023_02 2013-08-23
[ Bug Fixes ]
- Fix quoting in error messages which caused Type::Params to be unable to
compile some coderefs.
Fixes RT#87846.
Tim Bunce++
<https://rt.cpan.org/Public/Bug/Display.html?id=87846>
- Improve ugly type assertion failure messages when given structures of
nested references.
Fixes RT#87999.
Tim Bunce++
<https://rt.cpan.org/Public/Bug/Display.html?id=87999>
[ Other ]
- Added: Type::Registry now has an `add_type` method, for adding a single
type constraint to a registry.
- Type::Registry's `add_types` method now supports importing MooseX::Types
and MouseX::Types libraries.
- Type::Utils' `extend` function now supports extending MooseX::Types and
MouseX::Types libraries.
0.023_01 2013-08-16
[ Bug Fixes ]
- Fix Moo -> Moose type inflation issue.
Matt Phillips++
0.022 2013-08-06
[ Documentation ]
- Updated NEWS file.
[ Other ]
- Improved implementations of is_subtype_of/is_strictly_subtype_of; better
for subclassing.
- In Devel::TypeTiny::Perl56Compat, `use strict` and `use warnings`.
0.021_04 2013-07-30
[ Bug Fixes ]
- Fix Type::Parser's handling of numeric parameters; they shouldn't need
quoting.
- Fix Types::Standard::Dict differentiating between undef and not exists.
Fixes RT#87443.
Tim Bunce++
<https://rt.cpan.org/Public/Bug/Display.html?id=87443>
[ Packaging ]
- Add dependency on Exporter 5.57 for older versions of Perl.
0.021_03 2013-07-30
- Improve compatibility between Type::Tiny and Moose attribute native
traits.
- Restore Eval::TypeTiny's pre-0.019_01 behaviour re closing over
lexicals, but enable the 0.021_02 behaviour if alias=>1 option is passed
in.
0.021_02 2013-07-26
- Use real lexicals again for Eval::TypeTiny; this requires
Devel::LexAlias, but there's a fallback to using tied variables.
0.021_01 2013-07-24
- Added: Type::Tiny is_strictly_a_type_of method.
- Added: Type::Tiny is_strictly_subtype_of method.
- Added: Type::Tiny is_strictly_supertype_of method.
- Added: Type::Tiny strictly_equals method.
0.020 2013-07-23
[ Documentation ]
- Updated NEWS file.
0.019_01 2013-07-23
[ Bug Fixes ]
- Eval::TypeTiny now closes over variables properly.
- Work around lack of B::perlstring() function in Perl 5.6.x in test
suite.
0.018 2013-07-21
[ Documentation ]
- Updated NEWS file.
0.017_02 2013-07-20
[ Bug Fixes ]
- Further changes for Perl 5.6.x support.
[ Other ]
- Hopefully improved workaround for missing B::perlstring() using
Data::Dumper instead of quotemeta().
Peter Rabbitson++
0.017_01 2013-07-19
[ Bug Fixes ]
- Work around lack of B::perlstring() function in Perl 5.6.x.
[ Documentation ]
- Fix typo in Types::Standard 'regular exception' -> 'regular expression'.
Mark Stosberg++
<https://github.com/tobyink/p5-type-tiny/pull/4>
- Give an example of the default error messages thrown by Type::Tiny.
- Improve examples of custom type constraint error message in Type::Utils
and Type::Tiny::Manual::Libraries.
Fixes RT#86892.
Tim Bunce++
<https://rt.cpan.org/Public/Bug/Display.html?id=86892>
[ Other ]
- Updated: Eval::TypeTiny now supports lexical subs under Perl 5.18.
0.016 2013-07-16
[ Documentation ]
- Add some pod links.
- Updated NEWS file.
0.015_05 2013-07-15
[ Packaging ]
- Experimentally drop required version of Perl from 5.8.1 to 5.6.1. I've
not been able to extensively test Type-Tiny on Perl 5.6.x, but I believe
it should mostly work. (The only feature that seems unlikely to work is
non-ASCII names for type constraints and coercions.)
[ Other ]
- Stop monkey-patching Moose::Meta::TypeContraint; it's not necessary and
has never been documented.
0.015_04 2013-07-13
[ Documentation ]
- Clarify when inlining via Sub::Quote may be less efficient than
hand-written inlining.
Fixes RT#86893.
Tim Bunce++
<https://rt.cpan.org/Public/Bug/Display.html?id=86893>
- Mention in Type::Tiny::Manual::Libraries that the `extends` function is
no longer exported by default; update example code.
Fixes RT#86813.
Pierre Masci++
<https://rt.cpan.org/Public/Bug/Display.html?id=86813>
<https://github.com/tobyink/p5-type-tiny/pull/2>
[ Other ]
- Allow an inline_as block to return a list of strings (which are
implictly joined with &&); allow the first item on the list to be undef,
which is treated as the inlined parent type constraint.
Fixes RT#86891.
Tim Bunce++
<https://rt.cpan.org/Public/Bug/Display.html?id=86891>
0.015_03 2013-07-08
- Added: Implement TIESCALAR, TIEARRAY and TIEHASH methods for Type::Tiny;
this improves Type::Tie integration.
- Slight speed improvements for `compile_match_on_type`.
- The `dwim_type` function now prioritizes lookups within the caller
class' type registry over Types::Standard's built-in types.
0.015_02 2013-07-06
- Better test cases for `dwim_type`.
- Improvements to DWIMness of Type::Parser for the benefit of `dwim_type`.
0.015_01 2013-07-05
- Added: Type::Utils now provides a `dwim_type` function; this is powered
by a hidden Type::Registry::DWIM package.
- Type::Parser can now pull in types from MooseX::Types libraries
properly.
0.014 2013-06-28
[ Documentation ]
- Updated NEWS file.
0.013_01 2013-06-27
[ BACK COMPAT ]
- Type::Parser functions no longer accept an arrayref of tokens, as they
expect to pull tokens from a stream as required.
- Type::Parser no longer provides a `tokens` function as it no longer
pre-emptively tokenizes the whole string it is given.
[ Other ]
- Added: Type::Parser now provides a `extract_type` function which parses
a type constraint expression from the head of a string and returns a
Type::Tiny object, plus the tail of the string. (This is designed to
make it easier to use Type::Parser to parse things like function
signatures.)
- Type::Parser's tokenization is now done on a pull basis, allowing
one-pass building of the AST.
0.012 2013-06-25
[ Documentation ]
- Updated NEWS file.
0.011_03 2013-06-25
[ Bug Fixes ]
- Type::Tiny now overloads `cmp`. Necessary because Mouse does a sort on
type constraints in a union, and overload's fallback doesn't seem to
cover `cmp` on Perl prior to 5.12.
0.011_02 2013-06-25
[ Bug Fixes ]
- Types::Standard 0.009_02 stopped including 'library' attribute in its
types, and thus broke MooX::late. Type::Library modified to make
'library' attribute more automatic, and less reliant on Type::Utils to
do the right thing.
Graham Knop++
0.011_01 2013-06-25
[ Bug Fixes ]
- B::SPECIAL-related fix.
Fixes RT#86383.
Peter Flanigan++
<https://rt.cpan.org/Public/Bug/Display.html?id=86383>
- Unions of Type::Tiny and Mouse::Meta::TypeConstraints now work properly.
This makes Type::Tiny and MouseX::Types play nice together (much like
Type::Tiny already plays nice with MooseX::Types).
[ Other ]
- Cleanups within Type::Coercion. Necessary because in some places the
entire type_coercion_map (including conversion coderefs) was passed
through Types::Standard::to_TypeTiny, when really only the type
constraints should have been.
- Types::Standard::to_TypeTiny now accepts any object implementing the
Type::API::Constraint or Type::API::Constraint::Coercion interfaces. As
Mouse::Meta::TypeConstraint implements this interface, specific support
for importing Mouse types has been dropped; the generic Type::API import
'just works' for Mouse types.
- Types::Standard::to_TypeTiny now accepts unblessed coderefs and converts
them to type constraints. This allows things like `Int & sub { $_ < 10
}` to work.
0.010 2013-06-24
[ Documentation ]
- Updated NEWS file.
0.009_07 2013-06-24
[ Test Suite ]
- Make rt86172.t an 'xt' test case because it's causing random CPAN
testers failures unrelated to the feature it's supposed to be testing.
<http://purl.org/NET/cpan-uri/rt/ticket/86172>
- More test cases for interacting with MooseX::Types type constraints.
[ Other ]
- If a Type::Tiny object is instantiated with a Sub::Quote quoted
constraint coderef, and no inlined coderef, then Type::Tiny will use
Sub::Quote to make an inlined coderef.
- Subclasses of Type::Tiny reject 'inlined' coderef, just like they
already reject 'constraint' coderef.
- Type::Params no longer uses Type::Utils.
- Types::Standard::to_TypeTiny now sets 'display_name' instead of 'name'
on generated type constraints.
0.009_06 2013-06-23
[ Bug Fixes ]
- Careful calling the DOES method (it doesn't exist in Perl 5.8).
0.009_05 2013-06-23
[ Bug Fixes ]
- Type::Registry does the AUTOLOAD thing, so ought to provide a DESTROY
method.
0.009_04 2013-06-23
[ Bug Fixes ]
- Type::Tiny::Class shouldn't completely trust @ISA when establishing
parent class heirarchies.
[ Other ]
- Constructors for Type::Tiny subclasses no longer accept the 'constraint'
parameter; it doesn't make sense.
- Updated: Support Type::API interfaces.
0.009_03 2013-06-22
[ Bug Fixes ]
- Fix Types::Standard compilation errors under Perl 5.8.x.
0.009_02 2013-06-22
[ REGRESSIONS ]
- Types::Standard types no longer have 'library' attribute set; this
subtly breaks Moo type inflation, and breaks the MooX::late test suite
which relies on type inflation working correctly.
[ Bug Fixes ]
- Fix for compiled_checks for type constraints inheriting from
Type::Tiny::Class, etc.
Richard Simões++
[ Other ]
- Types::Standard no longer uses Type::Utils.
- Various minor optimizations for Eval::TypeTiny, Type::Tiny, etc.
0.009_01 2013-06-21
[ Bug Fixes ]
- Fix error messages from type constraints with null constraint coderefs.
[ Other ]
- Added: Reply::Plugin::TypeTiny.
0.008 2013-06-21
[ Documentation ]
- Updated NEWS file.
0.007_10 2013-06-21
[ Bug Fixes ]
- Fixed many small parsing bugs in Type::Parser.
- MooseX::Types objects used in Type::Tiny::Union,
Type::Tiny::Intersection and parameterized Type::Tiny type constraints
would break in some circumstances, as Types::TypeTiny::to_TypeTiny was
failing to convert them to native Type::Tiny type constraints.
Fixes RT#86303.
<https://rt.cpan.org/Ticket/Display.html?id=86303>
[ Documentation ]
- Document status of Type::Registry.
[ Test Suite ]
- Add test cases for Type::Parser.
- Better test cases for Type::Registry.
[ Other ]
- Added: Type::Parser now exports a _std_eval function useful for testing.
- Improved error messages from Type::Parser.
- Type::Parser now supports parentheses in its DSL.
0.007_09 2013-06-18
[ Bug Fixes ]
- Fix problems inlining Dict deep coercions where the target constraint
could not be inlined.
Fixes RT#86233.
Vyacheslav Matyukhin++
<https://rt.cpan.org/Public/Bug/Display.html?id=86233>
- Fix unintuitive Dict deep coercions.
Fixes RT#86239.
Vyacheslav Matyukhin++
<https://rt.cpan.org/Public/Bug/Display.html?id=86239>
[ Test Suite ]
- Bundle various tests for deep Dict coercions.
Vyacheslav Matyukhin++
0.007_08 2013-06-17
[ Bug Fixes ]
- Fix problem with interaction between constraints, coercions, and Moose
classes that inherit from Moo classes.
Fixes RT#86172.
Peter Flanigan++
<https://rt.cpan.org/Public/Bug/Display.html?id=86172>
[ Test Suite ]
- Bundle test for interaction between constraints, coercions, and Moose
classes that inherit from Moo classes.
Peter Flanigan++
0.007_07 2013-06-16
[ Bug Fixes ]
- Partly roll back prototype changes. Now we use `;$` for Perl since 5.14,
but `;@`, for older Perls that don't support `;$` so well.
0.007_06 2013-06-16
[ BACK COMPAT ]
- Better prototypes (was `;@`, now `;$`) for parameterizable type
'constants' exported by type libraries.
Matt S Trout++
- Type::Utils no longer exports 'extends' by default.
[ Documentation ]
- Document the evaluation environment used by Eval::TypeTiny.
- Rearranged documentation for Type::Utils, avoiding previous split into
Moose-like and non-Moose-like functions.
[ Other ]
- Added: Type::Exception is now capable of supplying stack traces
(requires Devel::StackTrace).
- Exceptions thrown for Moo isa/coerce now indicate which attribute was
involved.
0.007_05 2013-06-12
[ Documentation ]
- Mention Scalar::Does and Type::Tie in manual.
- Vastly improved documentation for Type::Utils.
- Vastly improved documentation for Types::Standard.
[ Test Suite ]
- Added test cases for InstanceOf, ConsumerOf, HasMethods and Enum types
defined by Types::Standard.
[ Other ]
- Added: Add match_on_type and compile_match_on_type to Type::Utils.
- Support '0' and '1' as shortcuts for Optional[Any] and Any in
Type::Params. (Not documented yet.)
0.007_04 2013-06-09
[ Bug Fixes ]
- Overloading of `$type eq $type` now works in Perl 5.8.
Fixes RT#85895.
Vyacheslav Matyukhin++
<https://rt.cpan.org/Public/Bug/Display.html?id=85895>
- The combination of Dict, Optional and coercions seems to have been
broken in certain circumstances.
Fixes RT#86001.
Diab Jerius++
<https://rt.cpan.org/Ticket/Display.html?id=86001>
0.007_03 2013-06-08
[ Bug Fixes ]
- Inlining of certain deep Dict, Tuple and Map coercions was broken, but
Type::Params attempted to inline them anyway, leading to death.
Fixes RT#85911.
Diab Jerius++
<https://rt.cpan.org/Public/Bug/Display.html?id=85911>
[ Documentation ]
- Better document Type::Tiny's 'parents' method which differs from the
Moose method of the same name.
0.007_02 2013-06-04
[ Documentation ]
- Improvements to Type::Tiny::Manual.
- Improvements to Type::Tiny::Manual::Params, including rewritten manual
processing section, and processing type constraints in function
signatures via Function::Parameters/Attribute::Constract.
[ Test Suite ]
- Test cases for usage with Function::Parameters.
[ Other ]
- Added: New constraints added to Types::Standard: InstanceOf, ConsumerOf,
HasMethods and Enum.
Graham Knop++
- Allow constraint_generators (for parameterizable type constraints) to
return full Type::Tiny objects instead of plain coderefs.
- Drop use of Carp in Type::Parser.
- Type::Tiny::Class types now have an automatically calculated parent type
constraint based on @ISA.
- Type::Tiny::Duck types now have a parent type constraint of
Types::Standard::Object.
- Type::Tiny::Enum types now have a parent type constraint of
Types::Standard::Str.
- Type::Tiny::Intersection types now have an arbitrary parent type
constraint.
- Type::Tiny::Role types now have a parent type constraint of
Types::Standard::Object.
- Type::Tiny::Union types now have an automatically calculated parent type
constraint based on the most specific common parent type constraint.
0.007_01 2013-06-01 Happy birthday to me...
[ BACK COMPAT ]
- Types::Standard's Num constraint is now a subtype of either LaxNum and
StrictNum (depending on environment).
[ Bug Fixes ]
- Fix $VERSION defined in Type::Library.
[ Packaging ]
- Generate README from Type::Tiny::Manual instead of Type::Tiny.
[ Other ]
- Added: Type::Parser.
- Added: Types::Standard now has LaxNum/StrictNum type constraints.
- Implemented Types::TypeTiny->meta->get_type.
- Re-introduce Type::Registry, with improved parsing thanks to
Type::Parser.
0.006 2013-05-28
[ Bug Fixes ]
- Exporter::TypeTiny::mkopt_hash now works.
0.005_08 2013-05-28
[ Test Suite ]
- Add 00-begin.t.
- Rearrange test cases
- Use JSON::PP instead of JSON in test cases, because JSON::PP is a core
module since Perl 5.14.
0.005_07 2013-05-28
[ Bug Fixes ]
- Assertions using the assert_return pattern were triggering FATAL
warnings when inlined with Sub::Quote. Inlined assertions are now
prefixed with 'no warnings "void";'.
[ Documentation ]
- Add pure-Perl Mouse to examples/benchmark-constraints.pl.
0.005_06 2013-05-26
[ Bug Fixes ]
- Fix StrMatch to properly support regexps containing slashes.
[ Other ]
- Fold Types::Standard::DeepCoercion into Types::Standard.
0.005_05 2013-05-24
[ Documentation ]
- Suggest newer version of Validation::Class.
[ Other ]
- Added: Type::Tiny now has an assert_return method, which is used in most
places in preference to assert_valid.
- Fix warnings under Perl 5.18.
- Removed: Removed Type::Registry from the release; it will return at a
later date.
0.005_04 2013-05-17
[ Bug Fixes ]
- Fixed bug in non-inlined code for Types::Standard::MkOpt.
[ Other ]
- Added: Type::Exception::Compilation.
- All error conditions now throw exception objects instead of string error
messages.
- Allow the slurpy tail of a Types::Standard::Tuple to be a treated as a
hashref rather than an arrayref.
- Deep explanations for Types::Standard::{Map,Maybe,Ref,Dict,Tuple} type
constraint assertion failures.
- Improved deep explanations for
Types::Standard::{ArrayRef,HashRef,ScalarRef}.
- Test::TypeTiny performs more thorough testing if EXTENDED_TESTING
environment variable is set.
- Throw exception if people attempt to set parent types for
Type::Tiny::{Class,Role,Duck,Enum,Union,Intersection}.
0.005_03 2013-05-14
- Many error conditions now throw exception objects instead of string
error messages.
- Removed: Bytes and Chars type constraints removed from Types::Standard.
- Removed: Decode and Encode coercions removed from Types::Standard.
0.005_02 2013-05-14
[ Documentation ]
- Fix a typo in declare_coercion in Type::Tiny::Manual::Coercions.
Vyacheslav Matyukhin++
- Link to Type::Tiny::Manual::Libraries instead of non-existing
Type::Tiny::Intro.
Vyacheslav Matyukhin++
0.005_01 2013-05-07
[ Bug Fixes ]
- Type::Library should require Perl 5.8.1, not 5.8.3.
[ Other ]
- Added: ArrayLike type added to Types::TypeTiny.
- Added: Type::Registry.
0.004 2013-05-06
[ Bug Fixes ]
- Eval::Closure now strips line breaks and other unsavoury characters from
descriptions.
[ Other ]
- Minor updates to to_TypeTiny following Validation::Class 7.900048
release.
0.003_16 2013-05-05
[ Documentation ]
- Document that Map[`k,`v] has a deep coercion.
- Improve Type::Coercion documentation.
[ Other ]
- Minor updates to coderef overloading following Moo 1.002000 release.
- Rename Types::Standard::AutomaticCoercion ->
Types::Standard::DeepCoercion.
- Type::Params produces nicer error messages.
0.003_15 2013-05-03
- Improvements to to_TypeTiny function, including accepting
Validation::Class::Simple objects.
0.003_14 2013-05-03
0.003_13 2013-05-03
[ Bug Fixes ]
- Don't crash in old versions of Moose that have no
Class::MOP::_definition_context() function.
[ Documentation ]
- Fix typo in Type::Params documentation.
Diab Jerius++
<https://bitbucket.org/tobyink/p5-type-tiny/pull-request/1/fix-typo-in-d
ocs/diff>
[ Test Suite ]
- BAIL_OUT in test suite if 00-compile.t or 01-api.t fail.
[ Other ]
- Better documentation and tests of Moose/Mouse-compatible API.
0.003_12 2013-05-01
[ Bug Fixes ]
- Sane behaviour for Types::Standard's 'slurpy' function when it appears
mid-list.
[ Other ]
- Allow people to use Carp::{confess,cluck,carp} with Type::Params
validators; default is still croak.
- Improved Type::Params documentation.
- Type::Params validators now explicitly check the number of arguments
passed to them.
Vyacheslav Matyukhin++
<http://play-perl.org/quest/517efcef53a418983f000012>
0.003_11 2013-04-30
[ Test Suite ]
- Test cases for Eval::TypeTiny.
[ Other ]
- Automatic coercion for parameterized Dict will no longer drop key/value
pairs to force a coercion.
Vyacheslav Matyukhin++
<http://play-perl.org/quest/51682ae05efa74c95c00001e>
- Automatic coercion for parameterized Tuple will no longer drop values to
force a coercion.
Vyacheslav Matyukhin++
<http://play-perl.org/quest/51682ae05efa74c95c00001e>
0.003_10 2013-04-29
[ Documentation ]
- Improve Exporter::TypeTiny documentation.
- Improve advice on inlining type constraints and coercions.
[ Packaging ]
- Bump version of Test::More dependency fom 0.88 to 0.96.
[ Other ]
- Added: Bundle Type::Params, which had previously appeared on CPAN in a
separate developer release.
- Added: New module, Eval::TypeTiny
- Added: Type::Tiny::SUPPORT_SMARTMATCH constant.
- General code tidy-up.
- Much of the stringy eval stuff has been factored out into
Eval::TypeTiny.
0.003_09 2013-04-28
[ Documentation ]
- Document usage with Params::Check and Object::Accessor.
[ Other ]
- Added: 'Tied' type constraint added to Types::Standard.
- If Mouse is already in memory, Type::Tiny will use its super-fast XS
subs to validate values when possible.
0.003_08 2013-04-26
[ Documentation ]
- More Exporter::TypeTiny docs, including usage with
Sub::Exporter::Lexical.
[ Test Suite ]
- Add test case using Exporter::TypeTiny with Sub::Exporter::Lexical.
[ Other ]
- ASCII-only strings are now accepted by the Chars constraint in
Types::Standard.
- Type::Tiny, Type::Coercion and their subclasses no longer call
Types::TypeTiny->import method.
- Types::TypeTiny lazily loads Exporter::TypeTiny - i.e. it loads
Exporter::TypeTiny when Types::TypeTiny->import is first called.
0.003_07 2013-04-26
[ Bug Fixes ]
- Fix method conflicts when exporting type constraints to roles.
Kevin Dawson++
[ Documentation ]
- Document usage with Class::InsideOut.
- Minor improvements to manual.
0.003_06 2013-04-25
[ Documentation ]
- Add lots of stuff to Type::Tiny::Manual::UsingWithMouse.
- Document deep coercions (feature added in 0.003_01).
[ Other ]
- Add a bunch of stub methods to Type::Tiny and Type::Coercion in order to
make it less necessary to inflate to Moose/Mouse meta objects.
- No longer need to add '-mouse' when importing types into Mouse
libraries. (Same change as what we did for Moose in 0.000_11.)
- Types::TypeTiny::to_TypeTiny can now coerce from a
Mouse::Meta::TypeConstraint.
- Various minor changes to Exporter::TypeTiny to make it more
Sub::Exporter compatible.
0.003_05 2013-04-19
[ Bug Fixes ]
- Prevent warnings (about 'my $val' masking a previously declared
variable) when several Str checks are being inlined in close proximity,
such as Tuple[Str,Str]
[ Documentation ]
- Create a new manual page Type::Tiny::Manual::Coercions.
- Document Exporter::TypeTiny.
[ Other ]
- Added: Chars and Bytes types added to Types::Standard.
- Added: Encode, Decode, Join and Split coercions added to
Types::Standard.
- Added: Type::Tiny::Class now has a plus_constructors method.
- Allow coercions to accept parameters.
0.003_04 2013-04-18
- Factor out the sub exporting code scattered around (in Type::Utils,
Types::TypeTiny and Type::Library) into a single module,
Exporter::TypeTiny.
0.003_03 2013-04-17
- Added: Add OptList data type to Types::Standard, plus MkOpt coercion.
- Make Type::Tiny's has_coercion method more DWIM.
- When inflating Moo type constraints to Moose, don't unnecessarily call
'moose_type' method.
0.003_02 2013-04-16
[ Documentation ]
- Document how to process sub parameters with Type::Tiny, and point people
towards Type::Params.
[ Other ]
- Avoid unnecessarily regenerating parameterized type constraints.
0.003_01 2013-04-16
[ Documentation ]
- Link from Test::TypeTiny to Test::Deep::Type.
[ Other ]
- Allow a Type::Tiny object to "freeze" its coercions. This prevents a
Type::Tiny object from becoming out of sync with its equivalent Mouse or
Moose constraint objects.
- Allow subtypes to inherit coercions from their parent type constraint.
(They do not by default.)
- Build coercions automatically for certain type parameterized
constraints. Say there's a Num->Int coercion defined; then we should be
able to coerce ArrayRef[Num]->ArrayRef[Int].
- Overload "+" operator for Type::Coercion and Type::Tiny allows coercions
to be added to each other, and added to type constraints.
- Type::Library packages can now include "standalone" Type::Coercion
objects, not attached to a type constraint. These can be exported on
request.
0.002 2013-04-26
[ Bug Fixes ]
- Fix method conflicts when exporting type constraints to roles.
Kevin Dawson++
- Prevent warnings (about 'my $val' masking a previously declared
variable) when several Str checks are being inlined in close proximity,
such as Tuple[Str,Str]
[ Documentation ]
- Link from Test::TypeTiny to Test::Deep::Type.
[ Other ]
- Added: Chars and Bytes types added to Types::Standard.
- Avoid unnecessarily regenerating parameterized type constraints.
- Make Type::Tiny's has_coercion method more DWIM.
0.001 2013-04-15 First public release
[ Bug Fixes ]
- Some inline code assumed that it would be compiled in a package that had
'blessed' imported.
- Some inline code wasn't wrapped in parentheses.
[ Documentation ]
- Minor improvements.
[ Test Suite ]
- More test cases for Optional[`a] within Dict[`a].
[ Other ]
- Improve test names generated by Test::TypeTiny; allow test scripts to
provide test names.
- Parameterized type constraints in Types::Standard now do some sanity
checking on their arguments.
- Weaken the reference from a Moose::Meta::TypeConstraint object to its
Type::Tiny origin.
0.000_12 2013-04-12
[ Documentation ]
- Fix minor typo.
0.000_11 2013-04-11
[ Bug Fixes ]
- Fix prototype for Type::Utils::as.
[ Other ]
- No longer need to pass '-moose' parameter when importing a library into
a Moose class; only Mouse needs that treatment now.
0.000_10 2013-04-09
[ Bug Fixes ]
- Fix incorrect Test::Requires line in 'mouse-coercion.t'.
[ Other ]
- Improvements to has_coercion_for_{type,value} from Type::Coercion.
0.000_09 2013-04-08
[ Documentation ]
- Bundle benchmarking scripts.
- Fill in the Usage with Moose section of the fine manual.
[ Packaging ]
- Tidy up the 'examples' directory.
[ Other ]
- When generating Moose/Mouse constraints from Type::Tiny objects, prefer
to generate anonymous ones.
0.000_08 2013-04-07
- Most parts of the API that accept Type::Tiny objects (e.g.
Type::Utils::from()) now also accept Moose::Meta::TypeConstraint
objects.
- Rewrite most of the functions exported by Type::Library-based type
libraries to cope better with being used mid-list.
- Types::TypeTiny::to_TypeTiny can be used to coerce a Moose type
constraint object to Type::Tiny.
0.000_07 2013-04-06
[ Bug Fixes ]
- Fix inlining for Type::Tiny::Intersection.
- Fix inlining of certain conditionals into coercion code.
- Types within libraries, if accessed directly rather than exported, did
not accept parameters.
[ Documentation ]
- Document constructor for Type::Tiny::Class.
[ Test Suite ]
- More test cases.
[ Other ]
- Added: New module Type::Coercion::Union automatically handles coercion
to union types.
0.000_06 2013-04-05
[ Documentation ]
- Improved documentation of parameterization attributes.
- Section in manual comparing Type::Tiny with various other type library
frameworks.
- Using Type::Tiny with Moo added to manual.
[ Test Suite ]
- More test cases.
[ Other ]
- Added: Type::Tiny now has an 'inline_assert' function.
- Footprint reduction: Type::Tiny and Type::Coercion no longer use if.pm.
- Footprint reduction: Type::Tiny no longer triggers Perl to load its
Unicode tables (unless you create a type constraint with a non-ASCII
type name).
- Footprint reduction: Type::Tiny, Type::Library and Type::Coerce no
longer automatically load Types::Standard and Type::Utils.
- In Moo, type assertions and coercions are now inlined.
Matt S Trout++
- Monkey patch Moose::Meta::TypeConstraint to be able to retrieve
Type::Tiny constraints from inflated Moose constraints.
0.000_05 2013-04-04
[ BACK COMPAT ]
- Rename Type::Standard module to Types::Standard.
[ Bug Fixes ]
- Fix is_parameterized method.
- Get Mouse coercions working.
[ Test Suite ]
- Factor out some functions from test suite into a new module:
Test::TypeTiny.
- Rearrange test suite slightly.
[ Other ]
- Allow null type constraints with no parent type (e.g. 'Any' in
Types::Standard) to be inlined.
- Don't die with full stack trace.
- Sanity checks for type constraint names.
- Types::TypeTiny bootstrapping library now takes care of vaious internal
type checking requirements.
0.000_04 2013-04-03
- Added: Finally implement Type::Coercion's has_coercion_for_type method.
- Added: Type::Tiny equals/is_subtype_of/is_supertype_of/is_a_type_of
methods for type constraint comparisons.
- Added: Type::Tiny plus_coercions/minus_coercions/no_coercions methods
for creating subtypes with different sets of coercions.
- Allow coercion code to be expressed as a string; quite a bit faster.
- Create and use compiled coercions; somewhat faster.
0.000_03 2013-04-03
[ Bug Fixes ]
- Fix the crashing t/moo-inflation.t test case.
[ Documentation ]
- Document Type::Coercion's overloading.
[ Test Suite ]
- Add test cases for ScalarRef[`a].
[ Other ]
- All of Type::Standard cannow be inlined.
- Create and use compiled type constraint checks; much faster!
- Make sure Type::Standard's Moose-like built-ins get inflated to real
Moose built-in types.
- Use more unique stringification for %Moo::HandleMoose::TYPE_MAP keys.
0.000_02 2013-04-02
[ Bug Fixes ]
- Anchor enum regexps to beginning and end of string.
[ Documentation ]
- Beginnings of Type::Tiny::Manual.
[ Other ]
- Added: StrMatch added to Type::Standard.
- use Type::Library -base
- use Type::Library -declare
0.000_01 2013-04-02 Developer preview
|