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
|
# Change history for the MongoDB Perl driver:
v2.2.2 2020-08-13 11:04:29-04:00 America/New_York
[!!! END OF LIFE NOTICE !!!]
- As of August 13, 2020, the MongoDB Perl driver has reached end of life
and is no longer supported by MongoDB.
v2.2.1 2019-12-12 23:29:11-05:00 America/New_York
[!!! END OF LIFE NOTICE !!!]
- Version v2.2.0 is the final feature release of the MongoDB Perl
driver. The driver is now in a 12-month "sunset" period and will
receive security patches and critical bug fixes only. The Perl
driver will be end-of-life and unsupported on August 13, 2020.
[Bug Fixes]
- PERL-1118 Improved URI sanitization
- PERL-1121 MongoDB::BulkWriteResult had incorrect elements in inserted[]
- PERL-1125/PERL-1126 Error connecting using mongodb+srv style URI
- PERL-1127 BulkWriteView doesn't support update pipelines
- PERL-1129 TLS URI options not used in connections
v2.2.0 2019-08-13 07:19:10-04:00 America/New_York
[!!! END OF LIFE NOTICE !!!]
- Version v2.2.0 is the final feature release of the MongoDB Perl
driver. The driver is now in a 12-month "sunset" period and will
receive security patches and critical bug fixes only. The Perl
driver will be end-of-life and unsupported on August 13, 2020.
[*** Deprecations ***]
- PERL-993 Deprecate parallel_scan
[Additions]
- PERL-789 OP_MSG support
- PERL-920 Add option for applications to register a custom server selector
- PERL-989 Implement SDAM monitoring
- PERL-1008 Support index all paths
- PERL-1021 Implement Unified URI Options
- PERL-1022 Implement Convenient API for Transactions
- PERL-1024 Support mongos pinning for sharded transactions
- PERL-1025 Retryable Reads
- PERL-1026 Support polling SRV records for mongos discovery
- PERL-1035 Support sharded transactions recovery token
- PERL-1046 Add database aggregation method
- PERL-1052 Support 'startAfter' option to the $changeStream stage
- PERL-1053 Add support for Zstandard compression
- PERL-1060 Add support for Snappy compression
- PERL-1070 Support postBatchResumeToken in change streams
- PERL-1082 Add the ability to specify a pipeline to an update command
- PERL-1098 Allow applications to set maxTimeMS for commitTransaction
- PERL-1105 Support aggregation $merge stage
[Changes]
- PERL-785 Call "ping" on a socket that has been idle for socketCheckIntervalMS
- PERL-1028 Support server connections that survive primary stepdown
- PERL-1054 Disable TLS renegotiation when possible (security)
- PERL-1057 Use majority write concern when retrying commitTransaction
- PERL-1068 Make Retryable Writes on by Default
- PERL-1075 Add support for read concern to aggregation $out
- PERL-1100 Specify behavior where connection string contain auth
database but no credentials
[Bug Fixes]
- PERL-927 Ensure hint used with aggregate is string or IxHash or BSON::Doc
- PERL-930 Allow use of BSON::Raw for insert, update, etc.
- PERL-970 Can't use BSON::Doc as sort option in find command
- PERL-988 Index lists should preserve key order in results
- PERL-994 GridFS DownloadStream warns in spec tests on old perls
- PERL-1012 Driver doesn't clear session pool after fork
- PERL-1017 Ignore db and collection read concern in transaction
- PERL-1033 Pod link error
- PERL-1041 Bulk Write Op calls result method on non-object error
- PERL-1057 Use majority write concern when retrying commitTransaction
- PERL-1058 Drivers should ignore batchSize=0 for aggregate with $out
- PERL-1061 The driver fails to parse a URI if mongodb+srv format is
used and the ssl=true option is set
- PERL-1076 Ensure that getMore right after a resume is retried in changestreams
- PERL-1083 Work around StaleDbVersion distinct bug
- PERL-1096 ChangeStream spec's Resumable Error definition is too broad
- PERL-1097 Discard ServerSessions involved in network errors
- PERL-1123 Raise better error for retryable writes with mmapv1
[Testing]
- PERL-806 Test Driver Wire Version Overlap logic
- PERL-833 Test QueryResult destructor kills cursor
- PERL-867 Resync GridFS tests to add test for legacy GridFS, where no
filename was set
- PERL-976 Test only the initial command in a transaction includes readConcern
- PERL-996 Resync read write concern tests to add new read concern levels
- PERL-1018 Test deleteMany and updateMany with retryWrites=true
- PERL-1048 Transaction test runner should use "local" read concern
when asserting the final collection state
- PERL-1051 Update CRUD spec tests to use transaction spec test format
- PERL-1074 Resync transaction spec tests for bulk write error reporting change
- PERL-1090 Amend change stream missing resume token tests for MongoDB 4.2+
- PERL-1095 Stop testing with threads (too many errors on process exit)
- PERL-1109 Fix result assertion in change stream spec test
[Documentation]
- PERL-780 Document that TCP keepalive defaults to true
- PERL-972 Amend transaction examples
- PERL-986 Causal Consistency Examples
- PERL-1056 Update Transactions Retry Example 3 to include read preference
- PERL-1085 Document connection string and URI option precedence rules
- PERL-1101 Documentation for countDocuments mentions estimatedDocumentCount
- PERL-1112 Update change stream docs example for resume token access
- PERL-1117 Specify effect of client-side errors on in-progress transactions
[Prerequisites]
- PERL-841 Remove Try::Tiny as a dependency
- Bump BSON to v1.12.0 and BSON::XS (optional) to v0.8.0
- Bump Path::Tiny to 0.058
[~ Internal Changes ~]
- PERL-921 Only send bypassDocumentValidation if it's true
- PERL-935 Consolidate session vs retryable write feature detection
- PERL-1078 countDocuments should internally use group with _id: 1
v2.1.2 2019-08-05 19:29:08-04:00 America/New_York (TRIAL RELEASE)
v2.1.1 2019-08-02 12:48:13-04:00 America/New_York (TRIAL RELEASE)
v2.1.0 2019-02-06 16:59:56-05:00 America/New_York (TRIAL RELEASE)
v2.0.3 2019-02-07 10:43:16-05:00 America/New_York
[Bug fixes]
- PERL-1061 The driver fails to parse a URI if mongodb+srv format is used and the ssl=true option is set
v2.0.2 2018-11-30 13:57:28-05:00 America/New_York
[Bug fixes]
- PERL-927 Coerce hint to IxHash or BSON::Doc if not string
- PERL-927 Skip count hint test before MongoDB 3.6
- PERL-970 Allow BSON::Doc as sort argument
- PERL-988 Preserve index key order in results
- PERL-1012 Clear session pool on reconnect after fork/thread
- PERL-1041 Check bulk error can call result before calling it
[Testing]
- PERL-806 Check compatibility for SDAM tests
- PERL-972 PERL-1005 Amended transaction examples
- PERL-1006 Enable retry_writes during testing
[Documentation]
- PERL-1033 Fix docs link to BSON/wrap_numbers
[Prerequisites]
- Requires BSON v1.10.1; if compiler is available, will require BSON::XS
v0.6.0.
v2.0.1 2018-07-10 18:05:38-04:00 America/New_York
[Additions]
- PERL-897 'nameOnly' option added to 'list_collections' for efficiency
[Bug Fixes]
- PERL-953 Suppress warnings when using compression without
specifying a compression level.
- PERL-959 Undefer constructor in the private constructor to ensure
cursors are cleaned up on destructions.
[Documentation]
- PERL-952 Show how to upgrade v2 over v1 while avoiding shadows
- PERL-967 Document more clearlly that X509 doesn't need a 'username'
parameters, as the username is extracted from the certificate.
- PERL-968 Fix various spelling errors
[Prerequisites]
- PERL-958 BSON::XS not available on Windows before Vista
- Bumped BSON.pm prereq to v1.6.6 for a BSON::Timestamp bug fix
v2.0.0 2018-06-26 14:55:50-04:00 America/New_York
[!!! Incompatible Changes !!!]
- PERL-640 Remove bundled MongoDB::BSON codec and use BSON.pm and/or
BSON::XS instead. While this is a sweeping change, applications that
relied on the default encoder are likely to need minimal changes.
MongoDB type wrapper classes will encode correctly, but decoded
wrappers will be from the BSON.pm library instead. See
MongoDB::Upgrading for more details. Additionally, with this change,
the MongoDB driver can now be used without a compiler.
- PERL-742 Require Perl 5.10.1 or later
- PERL-871 Remove features and methods deprecated in v1.0.0
[*** Deprecations ***]
- PERL-718 Deprecate find option 'modifiers'
- PERL-856 Deprecate 'md5' field in GridFS file documents
- PERL-872 Deprecate maxScan find option
- PERL-873 Deprecate cursor snapshot option
- PERL-926 Deprecate 'count' method
[Additions]
- PERL-710 Support authSource URI option
- PERL-718 Add find options to replace deprecated 'modifiers' option
- PERL-768 Added support for aggregation hints
- PERL-778 Add support for wire protocol compression
- PERL-782 Add maxTimeMS option to Indexview methods
- PERL-787 Implement arrayFilters support
- PERL-790 Implement Drivers Sessions API
- PERL-791 Change stream support
- PERL-792 Implement Retryable Writes
- PERL-793 Causally Consistency read support
- PERL-805 Implement database enumeration spec
- PERL-807 Implement DNS Seedlist Discovery (mongodb+srv://...)
- PERL-808 Add support for aggregation comment option
- PERL-863 Implement SCRAM-SHA-256 authentication
- PERL-875 Multi-document ACID transactions (replica sets only)
- PERL-883 Implement command monitoring
- PERL-912 Add 'watch' methods to MongoDB::Database and
MongoDB::MongoClient
- PERL-940 Added 'startAtOperationTime' option to 'watch' methods
- PERL-944 Add 'client' method to MongoDB::Database
[Bug fixes]
- PERL-690 Fix undefined reference to strerror_r on Windows
- PERL-781 Prevent index drop errors for no collection
- PERL-783 Check username/password are URI-escaped
- PERL-865 Fix wide character error in auth
- PERL-887 Fix topology_status with refresh
- PERL-891 Fix bugs found during command monitoring testing (bulk_write
write concern, query limit propagation, cursor internal accounting)
- PERL-936 Added session support to 'watch' for MongoDB::Collection
- PERL-948 Refactor op dispatching to avoid introducing circular refs
in session management
[Changes]
- PERL-641 Make legacy typewrappers into subclasses of BSON.pm classes
- PERL-733 Require ordered document for run_command
- PERL-794 Improve resolution of GridFS uploadDate
- PERL-816 Improve error message for incompatible MongoDB versions
- PERL-864 Improve auth error messages
[Documentation]
- PERL-768 Document GridFS uniqueness constraints
- PERL-788 Amend MongoDB::Cursor docs
- PERL-809 Added t/examples/changestream.t
- PERL-859 Added tests with example code for MongoDB's docs site
- PERL-859 Add test examples for aggregate, run_command and indexing
- PERL-866 Document how to use the latest TLS protocols
- PERL-903 Revise MongoDB::DataTypes and MongoDB::Tutorial
- PERL-908 Add transaction examples for docs
- PERL-917 Fix minor spelling error
[Prerequisites]
- PERL-900 Conditionally require XS dependencies (BSON::XS,
Class::XSAccessor and Type::Tiny::XS)
- PERL-934 Bumped Authen::SCRAM prerequisite to work around
deep dependency issues
- PERL-941 Bump BSON prereq to v1.6.5 for BSON::Time fix on 32-bit perls
- PERL-947 Require Authen::SCRAM 0.011 to avoid memory leak
[Removals]
- PERL-765 Remove DateTime from driver code and tests
[Testing]
- PERL-668 Update SDAM spec tests
- PERL-671 Update CRUD testing data files
- PERL-700 Fix app_name test for multi-shard topologies
- PERL-719 Resync CRUD spec tests
- PERL-726 Update deprecated 'last_error' test
- PERL-727 Fix GridFS tests on Windows
- PERL-907 Test with BSON Codec using full wrapping
- PERL-951 Make await cursor test more robust
[~ Internal changes ~]
- PERL-666 Eliminate Module::Install in Makefile.PL
- PERL-715 Force localhost to connect via IPv4
- PERL-767 Cache SCRAM-SHA-1 client key
- PERL-826 Stop sending maxAwaitTimeMS if not set
- PERL-900 Vendor ExtUtils::HasCompiler
- PERL-937 Gossip cluster time during SDAM
v1.999.1 2018-06-23 23:41:05-04:00 America/New_York (TRIAL RELEASE)
v1.999.0 2018-06-15 12:38:56-04:00 America/New_York (TRIAL RELEASE)
v1.8.3 2018-06-25 12:20:13-04:00 America/New_York
[Bug fixes]
- PERL-923 Fix user/password percent encoding validation
v1.8.2 2018-05-22 12:24:02-04:00 America/New_York
[Bug fixes]
- PERL-870 Repeated credential validation may skip validation after
first failure
- PERL-878 - Update Authen::SCRAM prereq to fix unicode bug
- PERL-879 - Deprecate snapshot option
- PERL-882 - Document how to use the latest TLS protocols
- PERL-906 - Work around new version of Type::Tiny::XS with a stricter
definition of type Bool
v1.8.1 2018-01-17 10:44:22-05:00 America/New_York
[Bug fixes]
- PERL-770 Repeated find_one queries sometime result in
MongoDB::ProtocolError on short network reads.
- PERL-796 Improve resolution of GridFS uploadDate.
- PERL-803 Kerberos authentication not working in 1.8.0 version
using some SASL backends.
- PERL-825 Unacknowledged insert_many throws an error.
- PERL-828 maxTimeMS incorrectly sent on tailable await cursors.
[Testing]
- PERL-800 CI testing no longer tests against EOL MongoDB 2.4.
- PERL-832 Skip Windows thread tests with SASL to avoid wrong pool in
global destruction test failures.
[Documentation]
- PERL-795 Document that GridFS filename+uploadDate must be unique.
- PERL-798 Fix typos in Tutorial.pod.
[Prerequisites]
- PERL-844 Timeout configs not supported for older IO::Socket::IP,
so minimum version bumped to 0.32.
v1.8.0 2017-04-10 14:05:59-04:00 America/New_York
[Additions]
- PERL-713 PERL-714 A username parameter no longer required for
MONGODB-X509 auth. The username will be extracted from the client
certificate.
[Bug fixes]
- PERL-717 Avoid address lookup for localhost to workaround
IO::Socket::IP quirks.
- PERL-746 Fix GridFS tests on Windows if checked out from the repository
- PERL-763 Fix Makefile.PL for no '.' in @INC.
[~ Internal Changes ~]
- PERL-760 Switch to binary SASL payloads for compatibility with MongoDB
Atlas Free Tier.
- PERL-761 Replace OP_KILL_CURSORS with killCursors command for
compatibility with MongoDB Atlas Free Tier.
[Prerequisites]
- PERL-843 Bump IO::Socket::IP prereq to 0.32 for Timeout support
v1.6.1 2017-01-10 09:26:56-05:00 America/New_York
[Bug fixes]
- PERL-711 Support authSource URI parameter
- PERL-712 Undefined reference to strerror_r on Windows
v1.6.0 2016-11-29 12:12:26-05:00 America/New_York
[*** Deprecations ***]
- PERL-643 No new deprecations, but deprecated methods now issue warnings
and a stack trace once per call-site.
[Additions]
- PERL-443 Database->collection_names takes an optional filter parameter.
- PERL-611 Add support for the BSON Decimal128 type, available in
MongoDB v3.3.8 or later. Adds a dependency on BSON::Decimal128 as the
type-wrapper for this type.
- PERL-620 Add support for GridFS files with custom file_id values.
- PERL-626 PERL-680 PERL-684 Add support for maxStalenessSeconds
configuration parameter, available for use with MongoDB v3.4.0 or later.
- PERL-627 Add support for sending write concern for all database
commands that allow it (varies based on server version). Exceptions
will be thrown if write concern is requested for a command and
the server version does not support it.
- PERL-635 Add support for collation option to CRUD and index building
methods, available in MongoDB v3.4.0 or later.
- PERL-649 Report driver information, system information, and
user-configured application name to server during connection handshake.
[Bug fixes]
- PERL-582 Fix some edge cases in URI parsing.
- PERL-630 ReadConcern level must always be lower-case when sent to
server.
- PERL-632 Fix server selection bugs in the case of read preferences with
multiple tag-set entries.
- PERL-670 Make collection drop check for server error codes, not just
a magic text error string.
- PERL-685 Cached primary for server selection now expires based on
heartbeat frequency.
- PERL-687 Add support for bson_codec specific OID generation if the
codec has a "create_oid" class method (forthcoming in BSON.pm).
[Changes]
- PERL-644 Use of threads is no longer supported on perls before 5.8.5.
[Testing]
- PERL-665 Make index creation tests robust against changes in server
treatment of arbitrary options.
- PERL-675 Make fsync tests more robust by removing tests for specific
error strings.
[Documentation]
- PERL-657 Fix spelling typos.
- PERL-662 Update collation documentation links.
- PERL-664 Add Decimal128 type example.
[~ Internal changes ~]
- PERL-573 Generate a default ReadPreference if not specified in
the private _ReadOp role.
- PERL-645 Refactor internal roles.
- PERL-667 Add and pass Perl::Critic tests before release.
v1.5.0 2016-09-19 15:26:09-07:00 America/Los_Angeles (TRIAL RELEASE)
v1.4.5 2016-08-22 15:40:36-04:00 America/New_York
[Bug fixes]
- PERL-652 The deprecated legacy 'update' method had a bug that wouldn't
allow an empty replacement document (which destroys all fields except
for _id). While strange, this now works.
v1.4.4 2016-07-27 15:06:43-04:00 America/New_York
[Bug fixes]
- PERL-647 Authenticate always to topology type Single to ensure
auth happens for hidden or uninitialized replica set members.
v1.4.3 2016-07-18 16:05:16-04:00 America/New_York
[Bug fixes]
- PERL-636 Fix application of read preference to mongos
- PERL-638 Fix application of query modifiers for MongoDB server 3.2+
v1.4.2 2016-06-14 09:30:05-04:00 America/New_York
[Bug fixes]
- PERL-622 Fixed GridFSBucket uploads when Class::XSAccessor
is not installed. NOTE: Class::XSAccessor is currently listed
as a requirement for MongoDB. This and PERL-621 lay the
groundwork for making the driver optionally pure-Perl.
v1.4.1 2016-05-17 13:34:58-04:00 America/New_York
[Bug fixes]
- PERL-621 Fixed GridFSBucket uploads when Class::XSAccessor (an
optional dependency for Moo) is not installed.
[Documentation]
- Consolidated v1.3.x change notices into section v1.4.0
v1.4.0 2016-05-10 16:59:16-04:00 America/New_York
[*** Deprecations ***]
- The MongoDB::GridFS and MongoDB::GridFS::File classes are deprecated
in favor of the MongoDB::GridFSBucket and related classes. It will
be removed in a future major release.
[Additions]
- PERL-610 Adds support for maxTimeMS for parallel_scan (available in
MongoDB 3.4).
- Adds MongoDB::GridFSBucket class, which implements the new
driver-standard GridFS API. Also included are classes to emulate file
handles for uploads and downloads, making GridFS operations more
composable with existing Perl libraries.
[Bug fixes]
- PERL-619 Fixed BSON memory leak when throwing exceptions during
encoding or decoding.
- Invalid BSON documents (e.g. invalid length, not null-terminated) were
silently ignored; the driver now correctly throws an error.
- bypassDocumentValidation is now sent as a boolean.
[Documentation]
- Fixed index creation examples.
- Fixed some typos and broken POD links.
[~ Internal changes ~]
- 'insert_one' with write concern {w:0} is sent via the legacy OP_INSERT
wire protocol for reduced latency.
- Optimized some query/command execution paths.
v1.3.4 2016-04-27 11:06:55-04:00 America/New_York (TRIAL RELEASE)
v1.3.3 2016-03-08 15:10:33-05:00 America/New_York (TRIAL RELEASE)
v1.3.2 2016-01-26 16:44:09-05:00 America/New_York (TRIAL RELEASE)
v1.3.1 2015-12-23 12:03:47-05:00 America/New_York (TRIAL RELEASE)
v1.3.0 2015-12-18 12:21:09-05:00 America/New_York (TRIAL RELEASE)
v1.2.3 2016-03-08 15:15:36-05:00 America/New_York
[Testing]
- Fixed tests for v3.3.X MongoDB series
[Documentation]
- Fixed method and attribute documentation in MongoDB::BSON::Regexp
v1.2.2 2016-01-26 15:33:30-05:00 America/New_York
[Bug fixes]
- PERL-602 Support legacy Cpanel::JSON::XS booleans (before 2.3404)
- PERL-604 Improve detection of stale primaries when a replica set
election protocol version is being upgraded/downgraded.
- Fix uninitialized 'inserted_count' in MongoDB::InsertManyResult
[Documentation]
- Fixed broken link in POD for MongoDB::DataTypes
v1.2.1 2015-12-18 11:32:19-05:00 America/New_York
[Bug fixes]
- PERL-599 Fix bson/bson-error.c compilation problem on Win32
v1.2.0 2015-12-07 12:55:11-05:00 America/New_York
[Additions]
- PERL-561 Add support for bypassDocumentValidation option to relevant
CRUD methods.
- PERL-564 Add support for readConcern (for MongoDB 3.2 only).
- PERL-569 Add 'batch' method to QueryResult for retrieving a chunk of
results instead of just one (via 'next') or all.
- PERL-594 Add maxAwaitTimeMS option for tailable-await cursors on
MongoDB 3.2 servers.
- Add find_id method to MongoDB::Collection for easy retrieval of a
single document by _id.
- Add support for write concern find-and-modify-style methods (for
MongoDB 3.2 only)
[Bug fixes]
- PERL-493 Don't send writeConcern if it is not set; this allows the user
to get the default write concern set on the server.
- PERL-571 Add -D_GNU_SOURCE to ccflags if needed.
- PERL-597 Check findAndModify-type command results for
writeConcernErrors (for MongoDB 3.2 only).
[Changes]
- PERL-595 Change limit/batchSize behavior to match CRUD spec; most users
won't notice the difference, but generally speaking, when there is both
a limit and a batch size, under MongoDB 3.2, the batch size is
respected if it is smaller than the limit. Previously, in some cases,
the batch size was ignored and the limit used instead.
[Documentation]
- PERL-570 Update MongoDB::Cursor::info documentation.
- Replace term 'slave' with 'secondary' in docs.
[Testing]
- Skip fsync test on inMemory storage engine.
[~ Internal changes ~]
- PERL-558 Implement fsyncUnlock as a command for MongoDB 3.2+.
- PERL-563 Implement find/getMore/killCursors as commands for MongoDB
3.2+.
- Verify that server replies are less than maxMessageSizeBytes.
v1.1.1 2015-12-01 20:24:04-05:00 America/New_York (TRIAL RELEASE)
v1.1.0 2015-11-18 10:37:37-05:00 America/New_York (TRIAL RELEASE)
v1.0.4 2015-12-02 10:21:03-05:00 America/New_York
[Bug fixes]
- PERL-571 Add -D_GNU_SOURCE to ccflags if needed.
[Documentation]
- Fixed SYNOPSIS bug in MongoDB::IndexView for create_many
v1.0.3 2015-11-03 22:25:12-05:00 America/New_York
[Bug fixes]
- Fixed BSON encoding tests for big-endian platforms.
v1.0.2 2015-10-14 15:26:30-04:00 America/New_York
[Bug fixes]
- PERL-198 Validate user-constructed MongoDB::OID objects; also
coerces to lower case for consistency with generated OIDs.
- PERL-495 Preserve fractional seconds when using dt_type 'raw'
- PERL-571 Include limits.h explicitly rather than relying on other
headers to load it.
- PERL-526 Detect stale primaries by election_id (only supported by
MongoDB 3.0 or later)
- PERL-575 Copy inflated booleans instead of aliasing them.
- Fix a failing test in the case where a user is running a
single-node replica set.
[Documentation]
- PERL-532 Document loss of precision when serializing long doubles
- Noted that IPv6 support requires IO::Socket::IP (core since
Perl v5.20.0).
[Prerequisites]
- PERL-579 Require at least version 0.25 of boolean.pm
[~ Internal changes ~]
- PERL-475 Optimize 'all' QueryResult method
v1.0.1 2015-09-22 12:55:08-04:00 America/New_York
[Bug fixes]
- PERL-567 Fixed a failing test in the case where a user is running a
replica set on the default port 27017.
[Documentation]
- PERL-568 Fixed SYNOPSIS of MongoDB.pm
- Clarified some confusing sections of MongoDB::Tutorial and added
hyperlinks to documentation for methods used in the tutorial.
- Clarified some sections of MongoDB::Collection and MongoDB::Cursor
and added some hyperlinks.
v1.0.0 2015-09-21 16:15:04-04:00 America/New_York
[!!! Incompatible Changes !!!]
- The v1.0.0 driver includes numerous incompatible changes; users are
STRONGLY encouraged to read MongoDB::Upgrading for advice on upgrading
applications written for the 'v0' driver.
- PERL-221 The 'inflate_regexps' MongoDB::MongoClient option has been
removed. BSON regular expressions always decode to
MongoDB::BSON::Regexp objects. This ensure safety and consistency with
other drivers.
- PERL-330 The driver now uses pure-Perl networking; SSL and SASL now
implemented via optional CPAN modules IO::Socket::SSL and Authen::SASL.
- PERL-442 Connection string options have revised to match MongoClient
options; connection string options always take precedence over
MongoClient constructor arguments.
- PERL-470 The MongoDB::Cursor globals "slave_ok" and "timeout" no longer
have any effect and have been removed.
- PERL-471 The MongoDB::Cursor 'snapshot' method now requires a boolean
argument.
- PERL-505 When bulk inserting a document without an '_id' field, the _id
will be added during BSON encoding, but the original document will NOT
be changed. (This was the case for regular insertion in the v0.x
series, but not for the Bulk API.)
- PERL-519 The $MongoDB::BSON::use_binary global variable has been
removed. Binary data always decodes to MongoDB::BSON::Binary objects
(which now overload stringification). This ensures that binary data
will correctly round-trip.
- PERL-520 The $MongoDB::BSON::utf8_flag_on global variable has been
removed. BSON strings will always be decoded to Perl character strings.
This ensures that string data will correctly round-trip.
- PERL-523 Requires a replica set name explicitly to connect to a replica
set. Connecting to a single host is always in a 'direct' mode
otherwise.
- PERL-546 MongoDB::DBRef objects no longer have a 'fetch' method or
'client' attribute. This is consistent with the design of the MongoDB
drivers for other language. For the Perl driver, specifically, it
decouples the BSON model from the MongoClient model, eliminates a
circular reference, and avoid Perl memory bugs using weak references
under threads.
- MongoDB::MongoClient configuration options are now read-only and may
not be modified after client construction.
- The $MongoDB::BSON::looks_like_number and $MongoDB::BSON::char global
variables now ONLY have an effect at MongoDB::MongoClient construction.
Changing them later does not change BSON encoding. Both are deprecated
as well and should not be used in new code. Instead, the enhanced
MongoDB::BSON codec class has attributes that encapsulate these
behaviors.
- The 'dt_type' MongoDB::MongoClient option has been deprecated and made
read-only. It now only takes effect if C<MongoDB::MongoClient>
constructs a MongoDB::BSON codec object and is read-only so that any
code that relied on changing it after client construction will fail
rather that being silently ignored.
- The 'inflate_dbrefs' MongoDB::MongoClient option has been removed. By
default, dbrefs are always inflated to MongoDB::DBRef objects.
- The MongoDB::MongoClient 'read_preference' method is no longer a
mutator. It is now only an accessor for a MongoDB::ReadPreference
object constructed from 'read_preference_mode' and
'read_preference_tag_sets'.
- The legacy read preference constants in MongoDB::MongoClient have been
removed, as they are no longer are used with the new
MongoDB::ReadPreference class.
- The MongoDB::MongoClient 'authenticate' method has been removed;
credentials now must be passed via configuration options and
authentication is automatic on server connection.
- The MongoDB::Cursor class has been split. Actual result iteration is
done via a new MongoDB::QueryResult class.
- MongoDB::Error exception objects are now used consistently throughout
the driver, replacing other error mechanism and raw "die" calls.
- The MongoDB::WriteResult class was renamed to MongoDB::BulkWriteResult.
- The long-deprecated MongoDB::Connection class has been removed.
- Low-level client functions have been removed.
[*** Deprecations ***]
- PERL-398 The MongoDB::MongoClient 'timeout' and 'query_timeout' options
are deprecated in favor of new, more explicit 'connect_timeout_ms' and
'socket_timeout_ms' options.
- PERL-424 The MongoDB::Cursor 'count' method has been deprecated.
- PERL-464 The MongoDB::Database 'last_error' method has been deprecated.
- PERL-507 MongoDB::Collection 'get_collection' method is deprecated; it
implied sub-collections, which don't actually exist in MongoDB.
- PERL-511 The old CRUD method names for the MongoDB::Bulk API have been
deprecated in favor of names that match the new MongoDB::Collection
CRUD API.
- PERL-516 The MongoDB::Collection index management methods have been
deprecated in favor of the new MongoDB::IndexView API.
- PERL-533 The MongoDB::Collection 'save' method has been deprecated.
- PERL-534 The MongoDB::Collection 'validate' method has been deprecated.
- PERL-559 The MongoDB::Database 'eval' method has been deprecated, as
the MongoDB server version 3.0 deprecated the '$eval' command.
- The MongoDB::MongoClient 'sasl' and 'sasl_mechanism' config options
have been deprecated in favor of the more generic 'auth_mechanism'
option.
- Legacy MongoDB::Collection CRUD methods (insert, update, etc.) have
been deprecated in favor of new CRUD API methods.
- MongoDB::CommandResult changed the name of the accessor for the
document returned by the server to 'output' instead of 'result' for
clarity. The 'result' method is deprecated.
- As mentioned above, 'dt_type', '$MongoDB::BSON::looks_like_number' and
'$MongoDB::BSON::char' have been deprecated in addition to their other
behavior changes.
[Additions]
- PERL-93 Implemented awaitData cursor support.
- PERL-135 Added the ability to set write_concern at database and
collection level, rather than only in MongoDB::MongoClient.
- PERL-233 Implemented SSL certificate support via IO::Socket::SSL
options.
- PERL-375 Added support for cursor options to the MongoDB::Collection
'find_one' method.
- PERL-378 Implemented the cross-driver Server Discovery and Monitoring
specification.
- PERL-379 Implemented the cross-driver Server Selection specification.
- PERL-406 Allowed count methods to work with query hints.
- PERL-408 Implemented SCRAM-SHA-1 and revised handshake for MongoDB 3.0
and later.
- PERL-413 Added max_time_ms as a MongoDB::MongoClient configuration
option to set a default for database and collection objects.
- PERL-422 Added support for specifying read preferences in the
connection string URI.
- PERL-465 Added support for arbitrary options on index creation.
- PERL-466 Added the ability to set read preference at the database and
collection level.
- PERL-486 Added 'has_modified_count' method to MongoDB::UpdateResult and
MongoDB::BulkWriteResult to ease detection of when that attribute is
supported by a server or not.
- PERL-490 Added 'list_collections' method to MongoDB::Database.
- PERL-500 Added 'topology_status' method to MongoDB::MongoClient.
- PERL-502 and PERL-503 Implemented new common driver CRUD API
specification in MongoDB::Collection.
- PERL-506 Added support for serializing/deserializing Time::Moment
objects.
- PERL-515 Added new MongoDB::IndexView API.
- PERL-554 Implemented 'server_selection_try_once' configuration option on
MongoDB::MongoClient.
- Added an optional read preference argument to 'run_command'.
- Added 'db' and 'coll' methods as aliases for 'get_database' and
'get_collection' on MongoDB::MongoClient and MongoDB::Database,
respectively.
- Added the 'get_namespace' method to MongoDB::MongoClient (with the
alias 'ns'), to get a MongoDB::Collection object directly from
a MongoDB::MongoClient object.
- Added a 'connect' class method to the MongoDB class for syntactic sugar
to create a client object.
- Added a 'with_codec' method to MongoDB::Collection for easier localized
changes to BSON codec attributes.
- Added a 'reconnect' method to MongoClient to handle reconnection after
a fork or thread spawn.
- Added support for correctly encoding boolean objects from JSON::XS,
Cpanel::JSON::XS, JSON::PP, JSON::Tiny and Mojo::JSON.
[Bug Fixes]
- PERL-146 Normalized server addresses to lower case.
- PERL-401 Fixed index creation to always have a non-zero write concern.
- PERL-409 Added missing declarations for MinGW on Windows.
- PERL-410 Fixed BSON encoding/decoding to detect and throw and error if
invalid UTF-8 is detected.
- PERL-429 Fixed read preference tag sets logic.
- PERL-435 Switched to http-style SSL certificate name validation.
- PERL-454 Prevented warnings when creating BSON datetimes at the epoch.
- PERL-477 Fixed list_indexes and list_collections when responses are too
big to fit in a single database response.
- PERL-480 Fixed GridFS bug: retrieving a GridFS file now throws an error
if no chunks exist instead of returning an empty string.
- PERL-489 Fixed fatal BSON encoding bug serializing references to
dual-vars.
- PERL-531 Bulk update/replace documents would not validate properly when
$MongoDB::BSON::char was not '$'. While that functionality has moved
to the MongoDB::BSON codec instead of the global variable, all
update/replace documents (bulk and CRUD API) are now validated after
key munging.
- PERL-536 Fixed GridFS to stop throwing an error when a known empty file
has no chunks; errors will still be thrown if a non-empty file has no
chunks.
- PERL-540 Fixed memory leak in DateTime::Tiny inflation.
- PERL-543 Fixed a bug serializing undef from Tie::IxHash objects.
- PERL-556 Fixed serialization of thread-shared variables.
- Fixed t/cursor.t for new explain format.
- Removed storage engine dependent code and tests.
- Fixed MSVC compilation: fix unused vars and statements before
declarations; removed unused, but problematic bcon.c and bcon.h; use
Perl memory alloc functions instead of malloc.
- Made conflicting 'multi' and 'multiple' update options fatal.
- Fixed use of slave_ok and $readPreference for communicating read
preferences to a mongos.
- Fixed t/database.t for change in server error message.
- Ensured topology type is correct whenever a server is marked
unavailable.
- Fixed incorrect 'matched_count' result attribute for upserts.
- Fixed failing BSON element tests on 32-bit perls.
- Fixed bug in MongoDB::MongoClient::database_names error handling.
- Use of -Wall compiler flag during smoke testing has been restricted to
gcc compilers, only.
- Fixed encoding to raise an error if an array-reference document
contains duplicate keys.
- Stopped encoding scalar-ref objects as BSON BINARY type. (Throws an error
instead about an unhandled type.)
- Fixed incorrect configuration test for GCC atomic operations.
- Fixed bug numifying wtimeout in write concern serialization.
- Fixed BSON double tests on Perls with long-doubles enabled.
- Fixed t/gridfs to work around a bug in MongoDB 3.1.2.
- Fixed a number of XS memory leaks from non-mortalized variables during
BSON encoding.
[Changes]
- PERL-127 Integers that fit in 32-bits are now encoded as BSON Int32;
larger integers are encoded as BSON Int64; Math::BigInt objects are
always encoded as BSON Int64.
- PERL-331 The MongoDB::BSON package is now a full class, implementing a
BSON encoder-decoder (codec). It can be supplied as an attribute to
MongoDB::MongoClient, MongoDB::Database and MongoDB::Collection
objects.
- PERL-488 MongoDB::WriteConcern method 'is_safe' renamed to
'is_acknowledged'.
- PERL-527 A database name is now optional for MongoDB::DBRef, which is
consistent with the DBRef specification.
- PERL-529 Connection string option keys are now parsed
case-insensitively.
- PERL-530 The driver now warns on unsupported connection options.
- PERL-550 DBRefs allow extra fields (for compatibility); this is not
recommended for new DBRefs.
- Renamed DocumentSizeError to a more general general DocumentError.
- MongoDB::Collection attributes that should not be set in the
constructor have been made private, but with public accessors for
backwards compatibility. Private attributes that are set in the
constructor (e.g. 'database') are now public.
- Failure to create indexes when constructing a GridFS object are ignored
rather than a fatal error.
- Calls to Carp::confess() or die() have been replaced with exceptions
from MongoDB::Error subclasses, typically MongoDB::UsageError.
- Generic MongoDB::Error exceptions have been replaced with subclasses
that have a specific, documented purpose, including:
MongoDB::AuthError, MongoDB::GridFSError, MongoDB::InternalError and
MongoDB::UsageError.
- Configuration options representing times have stricter validation such
that options that should be non-negative will raise exceptions when
given negative numbers.
- BSON code derived from libbson has been updated to libbson 1.1.7.
- Returns MongoDB::UnacknowledgedResult from unacknowledged writes (i.e.
{ w => 0 } write concern) instead of the corresponding result object
(i.e. MongoDB::InsertResult for inserts).
- Loads Authen::SCRAM::Client only on demand, as its Unicode module
dependencies are costly when not needed.
- MongoDB::QueryResult attributes have become private, as they are an
implementation detail and not intended for end-users to inspect.
- Aborts Makefile.PL on Windows before Vista/2008 for better error
message than subsequent compilation/test failures.
- Changes default connect_timeout_ms to 10,000.
- Credential details omitted from usage error messages.
[Documentation]
- PERL-423 Improved documentation of cursor snapshot mode, as it doesn't
do what many people think it does.
- PERL-425 Documented deprecation of the 'drop_dups' option for index
creation.
- PERL-524 Updated legacy author emails in docs and metadata.
- Added contributors section to MongoDB main documentation based on git
commit logs.
- Added MongoDB::Upgrading document with changes from v0.x.
- Documented how to disable returning _id from queries.
- Rearranged Collection and Database documentation.
- Corrected errors in MongoDB::Cursor documentation.
[Prerequisites]
- Added core modules IO::Socket and MIME::Base64 to the dependency list
for completeness.
- Added Class::XSAccessor, Moo and Type::Tiny::XS.
- Enforced minimum versions for configuration requirements.
- Moved DateTime::Tiny from a test_requires dependency to a
test_recommends dependency.
- Removed core modules File::Copy, File::Path and File::Spec from the
list of test dependencies.
- Removed Class::MOP::Class as an explicit dependency (still used
internally by Moose).
- Removed Data::Types and Data::Dump as test dependencies.
- Removed File::Slurp.
- Removed JSON module in favor of JSON::MaybeXS.
- Removed Moose, Syntax::Keyword::Junction and Throwable.
- Removed Test::Warn.
- Updated Path::Tiny minimum version to 0.054 (rather than unspecified).
- Updated IO::Socket requirement on Windows to 1.31.
- Updated Authen::SCRAM::Client minimum version to 0.003.
[Removals]
- PERL-467 Removed outdated MongoDB::Indexing document.
- PERL-497 The $MongoDB::BSON::use_boolean never worked; BSON boolean
values were always deserialized as boolean.pm objects. Rather than
"fix" this and break people's code, the option has been removed and
documented as such.
- The MongoDB::MongoClient 'auto_connect', 'auto_reconnect', and
'find_master' methods have been removed, as server discovery and
selection is now automatic.
[Testing]
- PERL-371 Added tests for parsing localhost:port.
- PERL-492 Implemented server selection tests.
- PERL-513 Added maxTimeMS tests for CRUD API methods.
- Changed text index test to use $text operator, not text command (which
was removed in MongoDB 3.0).
- Changed t/max_time_ms.t to skip unless $ENV{FAILPOINT_TESTING} is true.
- Reduced number of threads used in threads testing to avoid out of
memory errors on memory constrained systems.
[~ Internal changes ~]
- PERL-133 Implemented a test that client can connect to replica sets
without primary.
- PERL-259 Implemented write commands for MongoDB 2.6+ (i.e. doing writes
via database commands versus via the wire protocol with OP_INSERT,
OP_UPDATE, etc.).
- PERL-325 Updated vendored ppport.h to version 3.31.
- PERL-433 Updated listCollections to use command form on 3.0 servers.
- PERL-434 Updated listIndexes to use command form on 3.0 servers.
- PERL-436 Bumped maxWireProtocolVersion for 3.0 support.
- PERL-455 Changed to use connect timeout as the socket timeout for
topology scans.
- Implemented a 5 second "cooldown" period after a network error during
topology scanning during which new connection attempts will not be
made. This avoids excessive blocking in the driver when it's unlikely
that the server will be available right away.
- Removed unused vendored libyajl files.
- Refactored and reorganized perl-mongo.h and perl_mongo.c. Removed
unused functions and macros.
- Disabled many internal class type constraints and runtime assertions
unless the PERL_MONGO_WITH_ASSERTS environment variable is true.
- Changed use of 'strerror_s' to 'strerror' to attempt to get C/XS
linking on Windows XP.
- Changed all Moose classes to Moo classes for speed and to minimize the
deep dependency tree.
- Changed argument handling for CRUD API methods to stop coercing inputs
to Tie::IxHash. This makes them significantly faster.
- Optimized networking code paths substantially.
- Consolidated various constants to MongoDB::_Constants.
- Inlined and adapted the Throwable CPAN module to avoid deep
dependencies for MongoDB::Error.
v0.999.999.6 2015-08-24 10:42:35-04:00 America/New_York (TRIAL RELEASE)
v0.999.999.5 2015-08-13 17:11:49-04:00 America/New_York (TRIAL RELEASE)
v0.999.999.4 2015-07-31 17:02:21-04:00 America/New_York (TRIAL RELEASE)
v0.999.999.3 2015-06-29 12:21:07-04:00 America/New_York (TRIAL RELEASE)
v0.999.999.2 2015-06-17 11:34:48-04:00 America/New_York (TRIAL RELEASE)
v0.999.999.1 2015-06-10 09:48:53-06:00 America/Denver (TRIAL RELEASE)
v0.999.998.6 2015-05-20 14:28:18-04:00 America/New_York (TRIAL RELEASE)
v0.999.998.5 2015-04-30 06:12:39-04:00 America/New_York (TRIAL RELEASE)
v0.999.998.4 2015-03-25 14:37:52-04:00 America/New_York (TRIAL RELEASE)
v0.999.998.3 2015-03-25 14:30:00-05:00 America/New_York (TRIAL RELEASE)
v0.999.998.2 2015-02-23 17:10:36-05:00 America/New_York (TRIAL RELEASE)
v0.999.998.1 2014-11-12 15:10:40-05:00 America/New_York (TRIAL RELEASE)
v0.708.4.0 2015-08-11 16:06:55-04:00 America/New_York
[Bug fixes]
- Fixes handling of 'safe' option for 'remove'
- PERL-555 Fixes serialization of thread-shared scalars (and likely
other tied/magic-using scalars) on Perls before 5.18
v0.708.3.0 2015-07-14 15:42:16-04:00 America/New_York
[Bug fixes]
- PERL-543 fix serialization of undef in tied hashes
- PERL-553 fix duplicate _id bug with Tie::IxHash and array reference
documents with an existing _id
- Fix BSON tests on Perl with long doubled enabled
v0.708.2.0 2015-06-05 16:39:00-04:00 America/New_York
[Bug fixes]
- PERL-536 fix GridFS to stop throwing an error when a known empty file has
no chunks; errors will still be thrown if a non-empty file has no chunks.
- PERL-541 fixed remove() to respect MongoClient write concern
[Documentation]
- PERL-525 updated legacy author emails in docs and metadata
v0.708.1.0 2015-04-29 16:51:52-04:00 America/New_York
[Bug fixes]
- PERL-479 retrieving a GridFS file now throws an error if no chunks exist
instead of returning an empty string
[Removals]
- PERL-496 The $MongoDB::BSON::use_boolean never worked; BSON boolean values
were always deserialized as boolean.pm objects. Rather than
"fix" this and break people's code, the option has been removed
and documented as such.
v0.708.0.0 2015-01-20 16:57:11-05:00 America/New_York
[Additions]
- Added 'get_namespace' method (and 'ns' alias) to MongoDB::MongoClient
for getting a collection directly without an intermediate database object.
- Added 'db' and 'coll' aliases for 'get_database' and 'get_collection'
[Bug fixes]
- PERL-489 references to scalars with both number and string slots internally
would crash on BSON encoding, rather than encode the string part as a
binary.
[Diagnostics]
- Added parenthetical note to "can't get db response" errors to disambiguate
where they occur.
v0.707.2.0 2014-12-22 05:35:31-05:00 America/New_York
[Bug fixes]
- PERL-476 fixed getting lists of collections and indices for changes in
MongoDB 2.8-rc3 and later.
v0.707.1.0 2014-12-10 12:50:45-05:00 America/New_York
[Bug fixes]
- PERL-465 allowed arbitrary options on index creation
- Fixed t/database.t for change in error message for missing commands
- Fixed undef warning from get_indexes on older MongoDB versions
[Prerequisites]
- Removed Data::Types as a test dependency as it was barely used
and not necessary
v0.707.0.0 2014-11-12 15:04:46-05:00 America/New_York
[Additions]
- Supports MongoDB 3.0; in addition to prior feature support, this release
fixes tests that were broken against non-default storage engines
[Bug fixes]
- PERL-454 suppress warnings storing datetimes at the epoch
v0.706.0.0 2014-10-28 11:30:42-04:00 America/New_York
[*** Deprecations ***]
- PERL-425 the 'drop_dups' indexing option is deprecated because it is
ignored as of server version 2.7.5
[Additions]
- PERL-408 added support for SCRAM-SHA-1 (for MongoDB 2.7.8+)
[Bug fixes]
- PERL-409 fixed compilation on MSWin32 using the MinGW compiler
- Fixed compilation errors on MSWin32 using the MSVC compiler
- Fixed construction of Makefile LIBS argument for some platforms
- Fixed parallel scan and explain tests for changes in the MongoDB 2.7.x
development series
[Diagnostics]
- Passing the "ssl" parameter to MongoDB::MongoClient will now warn if SSL
support is not available.
[Documentation]
- Revised "run_command" documentation to explain that array references or
Tie::IxHash should be used.
[Prerequisites]
- Added dependency on Authen::SCRAM::Client 0.003
- Removed (test) dependency on File::Slurp
- Minimum required versions of configuration dependencies Path::Tiny and
Config::AutoConf are now enforced in the code, not just specified in
META.json
[~ Internal changes ~]
- PERL-433 uses the listCollections command if available (MongoDB 2.7.8+)
- PERL-434 uses the listIndexes command if available (MongoDB 2.7.8+)
- PERL-436 bumped supported maxWireProtocolVersion to 3 (MongoDB 2.7.8+)
v0.705.0.0 2014-09-09 10:04:59-04:00 America/New_York
[Additions]
- PERL-406 allow count() to use hints
[Prerequisites]
- Clarified that Test::Deep 0.111 is required rather than any version
v0.704.5.0 2014-08-19 14:17:00-04:00 America/New_York
[Bug fixes]
- PERL-407 fixed request_id race condition under threads
- PERL-410 dies on BSON encoding/decoding if invalid UTF-8 is detected
v0.704.4.0 2014-07-30 05:43:11-04:00 America/New_York
[Testing]
- Restores behavior of skipping tests if no mongod is available for testing
v0.704.3.0 2014-07-28 17:02:13-04:00 America/New_York
[Additions]
- PERL-130 improved support for connection string URI; added support for
options: ssl, connectTimeoutMS, w, wtimeoutMS, and journal
[Bug fixes]
- PERL-130 fixed parsing of connection string to allow for usernames containing :
and passwords containing @ if they are percent encoded (RFC 3986)
- PERL-166 fixed tailable cursors with no initial results
- PERL-290 when find_master is 0, the driver now consistently picks the first
server in the list
- PERL-387 made database_names() retry up to three times if the server returns
a lock error
v0.704.2.0 2014-07-08 12:04:02-04:00 America/New_York
[Bug fixes]
- PERL-376 fixed fatal error loading the MongoDB::MongoClient module before
loading the top-level MongoDB module
- Fixed cursor to catch query or timeout errors that occur after the initial
query batch is received
- Fixed primary server selection to retry for 60 seconds instead of
immediately failing with an error
- Changed bulk insert to shallow copy inserted documents before adding
an '_id' field (if it didn't exist) to avoid modifying the original
[Testing]
- Fixed t/database.t for old versions of mongos
- PERL-355 Added support for parallel testing
- Finished converting from Test::Exception to the more robust Test::Fatal
- Improved test coverage
v0.704.1.0 2014-06-17 21:55:18-04:00 America/New_York
[Bug fixes]
- PERL-336 fixed unknown command exception with index creation on 2.2 and
older servers; we now correctly fall back to legacy index creation
- PERL-349 fixed request ID misordering when reconnecting to a server; this
fixes the known issue regarding test failures with threads under
find_master
- PERL-368 changed all query docs to be coerced to Tie::IxHash; this ensures
that command queries are properly ordered and fixes a crashing bug when
using command helpers in concert with read preference
- PERL-369 fixed segfaults deserializing 64-bit integers from BSON on
pure 32-bit perls
- PERL-370 fixed bulk update results for upserts with non OID _id
on servers prior to 2.6
- Fixed stale detection of write command support for bulk operations
- Fixed wire version checks and max BSON size inspection for replica
sets with multiple hosts in the connection URI
[Documentation]
- PERL-366 documented bulk write initializers in Collection docs
- Updated Example.pod docs for field projection (Johann Rolschewski)
[Testing]
- PERL-348 tests report MongoDB version in test diagnostics
- PERL-351 fixed test failures if the local database has auth enabled;
tests will skip instead of fail
- PERL-356 enabled additional tests if the test database is a replica set
or sharded cluster
- Added test for field projection (Johann Rolschewski)
- Fixed various tests to run against a sharded cluster
- Moved unused orchestration tests out of the main test suite
[~ Internal changes ~]
- PERL-357 added developer tools for testing different cluster
configuration
v0.704.0.0 2014-05-27 13:54:01-04:00 America/New_York
[!!! Incompatible Changes !!!]
- PERL-108 removed previously-deprecated AUTOLOAD functions
[*** Deprecations ***]
- PERL-320 low-level protocol functions in MongoDB.pm are deprecated
[Additions]
- PERL-221 added MongoDB::Regex class to represent stored regexes
- PERL-251 implemented support for aggregation command cursors
- PERL-252 added 'max_time_ms' method to cursors
- PERL-258 added support for '$out' aggregation pipeline operator
- PERL-262 read preference implementation
- PERL-278 added explain support for aggregation queries
- PERL-298 implement parallel_scan method for collections
- PERL-299 implemented new bulk write API
- Added nolock support to eval in MongoDB::Database (Ashley Willis)
[Bug Fixes]
- PERL-233 Fix find_and_modify error handling
- PERL-260 ensure_index no longer ignores weights, default_language, and
language_override options
- PERL-267 memory leak fixes (Casey Rojas)
- PERL-307 fix drop_dups option for ensure_index
- PERL-315 require DateTime 0.78 or later
- PERL-318 fix compiler warnings
- PERL-319 fix compilation failures on some platforms
- PERL-322 change return value and document low-level recv
- PERL-323 fixed possible socket leaks on communication errors
- PERL-336 fixed index creation legacy fallback against older mongos
- Cached client constructor arguments for replica set connections
- Cleaned Moose class namespaces of imported methods
- Ensured internal run_command exceptions include correct error string
- Fixed a bug that would serialize an index direction as a string on some
older Perls
- Fixed clock race in OID unit test
- Fixed exception handling for internal run_command calls
- Fixed fatal error in DESTROY with find_master and down server
- Fixed gridfs test for unique keys
- Fixed hint tests for MongoDB >= 2.5.4
- Fixed index creation and drop on MongoDB 2.6
- Fixed memory corruption error on Perl 5.19.1+
- Fixed several compiler warnings on Perl 5.8
- Fixed use of re::regexp_pattern for 5.10.0
- Made t/dbref.t use fresh test database
- Prevented GridFS MD5 calculation when 'safe' is not set (mapbuh)
- Provided backwards compatible HeUTF8 macro for Perl v5.10 and v5.8.8 and
earlier
- Removed hard-coded compiler flags for Darwin
- Updated ppport.h to version 3.22
[Documentation]
- PERL-217 improved documentation of GridFS::get
- PERL-287 updated "j" and "fsync" option docs for MongoDB 2.6
- PERL-311 fix legacy docs authentication link
- PERL-317 Clarified support for threads
- PERL-341 Added install documentation including use of non-standard C
library paths
- Added abstract to MongoDB::BSON::Regexp documentation
- Revised main MongoDB module and MongoDB::MongoClient docs
- Updated Changes file with changes since 0.701
[Prerequisites]
- Added namespace::clean
- Added Test::Deep
- Added Test::Fatal
- Added Throwable
- Added Syntax::Keyword::Junction
- Changed Test::More requirement to 0.96
- Removed Devel::Size
[~ Internal changes ~]
- PERL-261 use setVersion field in isMaster for replica set discovery (David
Storch)
- PERL-264 test for closing connection when MongoClient object leaves scope.
(Ashley Willis)
- PERL-269 test libraries for replica set and sharded cluster testing
- PERL-285 added wire protocol check
- PERL-296 implemented new index creation command for MongoDB 2.6
- PERL-312 default GridFS chunk size changed from 1mb -> 255kb
- Switched BSON implementation to libbson and bundled patched libbson 0.6.4
to avoid external library dependency
[~ Known Issues ~]
- PERL-233 SSL certificate validation not yet implemented
- PERL-349 changes to the testing framework revealed a bug when
threads are used with 'find_master' on the client; the offending
test is marked TODO and the bug will be addressed in the next
stable release.
- Some platforms may not compile, including Windows and some Solaris
and OpenBSD systems; these issues will be addressed in a future release
v0.703.5 2014-05-23 06:26:46-04:00 America/New_York (TRIAL RELEASE)
v0.703.4 2014-04-07 20:12:27-04:00 America/New_York (TRIAL RELEASE)
v0.703.3 2014-04-01 10:32:49-04:00 America/New_York (TRIAL RELEASE)
0.703_2 (TRIAL RELEASE)
0.702.2
[Bug Fixes]
- Fix double-from-buffer alignment issue on ARM platform (Robin Lee)
- Set BSON_MINKEY to 255 if char is unsigned (Robin Lee)
- Fix test plans in connection.t and delegation.t (Robin Lee)
[Internal]
- Copyright update s/10gen/MongoDB/ due to company name change
0.702.1
[Bug Fixes]
- Query Fields accept Tie::IxHash and Hashref.. (Colin Cyr)
- Fix for gridfs and creation of indexes (mapbuh)
0.702.0
[Enhancements]
- SASL PLAIN suport added
- Makefile.PL can enable SSL/SASL builds via environment variables
[Bug Fixes]
- PERL-162 set_timeout fix
- PERL-245 fix fractional seconds in BSON datetime deserialization
- Fix specifying index keys as an array ref (D. Ilmari Mannsåker)
- Prevent legacy auth when in SASL mode
- Drop all created collections in dbref.t (D. Ilmari Mannsåker)
[Documentation]
- Deprecated AUTOLOAD functions removed from documenation
- Various module docs revised and updated
[Internal]
- Refactored boilerplate test code to a separate testing module
0.701
[Enhancements]
- Support for Kerberos authentication on Linux (EXPERIMENTAL)
- Add a get_collection method to MongoDB::Collection (@sanbeg, pull #52)
- Optimizations on inserts and fetch (@ilmari, pull #66, PERL-129)
- Hash ordering fixes (@ilmari, pull #64)
- Double and int type helpers (@kenahoo, pull #65, PERL-227)
- TTL index support (@drtz, pull #60, PERL-222)
- Restored support for Perl 5.8.
- Support for native DBRefs.
[Bug Fixes]
- UTF-8 fixes (@ilmari, pull #67, #68)
- DateTime fixes (@kenahoo, pull #65)
- Don't do aggregation tests when running against MongoDB < 2.2.
0.47 - 0.503.4
[Enhancements]
- Ordered hash support for MongoDB::Cursor::hint() (Colin Syr)
- timegm() implementation for Windows (Stevie-O)
- aggregate() helper method
- find_and_modify helper
- Connection URI support enhancements (Tianon Gravi)
- MongoClient new top-level object
- Removing AUTOLOAD method examples from documentation
- Replacing $conn examples with $client in docs.
- Deprecation warning for MongoDB::Connection
- Removed dependence on Any::Moose
- Support for fsyncLock/unlock (Casey Rojas)
- Support for dt_type param, DateTime::Tiny and raw epoch times
- Support for UTF8 hash keys (Roman Yerin)
- Support for 'j' param to turn on journaling (Casey Rojas)
[Bug Fixes]
- Miscellaneous documentation fixes (Andrey Khozov, others)
- Fixed socket timeout bug (nightlord)
- Fixed broken regex test for Perls < 5.14.
- More accurate isUTF8 function (Jan Anderssen)
- Proper serialization of regex flags via re::regexp_pattern
0.46
[Enhancements]
- Added SSL support (Casey Rojas). See new documentation on
MongoDB::Connection's ssl attribute.
- Added MongoDB::BSON::Binary type and MongoDB::BSON::use_binary option. See
the Data Types documentation on using the Binary type instead of string refs
for binary data.
- Change default binary type from 2 to 0. See MongoDB::BSON::Binary for
more information about the implications of this change.
[Bug Fixes]
- Fix auth connection issues (Olly Stephens)
- Fix driver creating duplicate connections when port isn't specified (Olly
Stephens)
- Fix authentication check on some versions of Perl (Olly Stephens)
0.45 - September 7, 2011
This is a recommended upgrade. There are no backwards-breaking changes, only
bug fixes and enhancements.
[Enhancements]
- Perl 5.8.4 and higher is now officially supported (5.8.7 was the previous
minimum version).
- Improved the way that connecting handles an interrupt signal. The driver
now continues to attempt connection for the remaining duration of the
timeout, instead of erroring out immediately.
[Bug Fixes]
- Fixed MaxKey and MinKey deserialization. Deserializing these types would seg
fault if they hadn't been serialized previously.
- Fixed Windows compilation (Taro Nishino)
- Fixed MakeMaker arguments which were causing build problems on 5.14.
0.44 - July 26, 2011
This is a recommended upgrade. There are no backwards-breaking changes, only
bug-fixes and enhancements.
[Enhancements]
- Added MongoDB::BSON::looks_like_number flag.
The Perl driver has always been coy about turning strings into numbers. If
you would like aggressive number parsing (if it looks like a number, send it
to the DB as a number), you can set MongoDB::BSON::looks_like_number to 1
(defaults to 0, the previous behavior). See the MongoDB::DataTypes pod for
more info.
- Tests should now clean up after themselves, leaving no test databases
behind.
[Bug Fixes]
- Setting a sort in the arguments to MongoDB::Collection::find is now passed
through correctly to the cursor.
- Fixed segmentation fault in array serialization: caused by specifying an _id
field on insert and using an array (not a hash or Tie::IxHash).
- Fixed segmentation fault in threading: if Mouse was used instead of Moose,
version 0.43 of the driver would segfault if multiple threads were used.
- MongoDB::Cursor now inherits the $Mongo::Cursor::slave_okay global setting,
as well as checking if slave_okay is set on the cursor instance.
- Fix GridFS functions to only ensure GridFS indexes on writes, allowing
GridFS API usage on slaves.
0.43 - May 31, 2011
This is a recommended upgrade. There are no backwards-breaking changes, only
bug-fixes and enhancements.
[Enhancements]
- Auto-detects max BSON size for inserts, which means documents larger than
4MB can now be inserted. See L<MongoDB::Connection/max_bson_size> for
details.
- Added the L<MongoDB::Cursor/info> method, which returns meta information
about the results being returned.
[Bug Fixes]
- When high UTF-8 values as hash keys, the driver now croaks instead of
segfaulting.
- Added 'use IO::File' before IO::File is used (Michael Langner)
- Fixed Perl 5.14 compile (Chip Salzenberg)
0.42
- Fixes for Sparc architecture
- Fixed PVIV misinterpretations
0.41
- Re-discover master on "not master" errors
- Make driver thread safe (Florian Ragwitz)
- POD fix (Ronald Kimball)
- Fix GridFS warning (Graham Barr)
- Allow auto_connect => 0 for replica sets (Graham Barr)
0.40
- DateTime floating timezones now warn on serialization
- Attempting to serialize unrecognized object types now croaks
- MongoDB::Cursor::explain now resets cursor properly
- Added BSON::encode_bson and BSON::decode_bson (Jason Toffaletti)
- Safe writes return a hash of information instead of 1 (on success)
- Improved last_error/safe docs
- Fixed doc spelling errors (Stefan Hornburg)
0.39
- Fixed memory leak
0.38
- Fixed indexing subdocuments (x.y.z)
- Fixed GridFS to accept non-fs prefixes (Olly Stephens)
- Fixed compile for old C compilers (Taro Nishino)
- Added MongoDB::read_documents for handling db replies (Graham Barr)
0.37
- Fixed cursor not found error condition
- Fixed compile for old C compilers
- Fixed weird file behavoir on some machines
0.36
- Replica set support
- Deserialize booleans as booleans (instead of ints) (Andrew Page)
- Fixed OS X build (Todd Caine)
- Added background option for index creation (Graham Barr)
- Fixed slurp tests (Josh Rabinowitz)
- Added MongoDB::Timestamp type
0.35 - 02 July 2010
- Added MongoDB::BSON::utf8_flag_on (Pan Fan)
- Added MongoDB::GridFS::File::slurp (Pan Fan)
- Fixed memory leak
0.34 - 17 June 2010
- $conn->foo->bar->baz now gets the bar.baz collection in the foo database
- Slight speed improvements on inserts
- Added $conn->query_timeout option to control timeout lengths for all queries
done over a given connection
- MongoDB::Cursor::tailable and MongoDB::Cursor::immortal
- Added TO_JSON function to MongoDB::OID
- Fixed safe save (Othello Maurer)
- BACKWARD-BREAKING: removed old indexing syntax (if you started using the
driver less than a year ago, this shouldn't affect you. If you're an old-
timer, make sure you're not using the syntax that has been deprecated for a
year).
0.33 26 April 2010
- Fixed tests
0.32 21 April 2010
- BACKWARD COMPATIBILITY BREAK: croak on failed safe
update/insert/remove/ensure_index (Eric Wilhelm)
- w and wtimeout (see MongoDB::Connection::w)
- die correctly on MongoCollection::count errors (help from Josh Rabinowitz)
- Added MongoDB::Collection::find (same as query)
- Added get, put, and delete methods to MongoDB::GridFS
- Perl 5.12 compatibility
0.31 05 April 2010
- C89 fix (Taro Nishino)
- Added MongoDB::Code type
- Use connection format: mongodb://host1,host2:port2,host3...
- Arbitrary number of hosts supported
- Auto-reauthentication on dropped connection
- ensure_index name option
0.30 10 March 2010
- Support BigInt
- On 64-bit machines, support 64-bit nums w/out BigInt (Ryan Olson)
- Added connection timeout option (Othello Maurer)
- Added clarifying docs on fields (Josh Rabinowitz)
0.29 01 March 2010
- Added safe options for remove, update, and ensure_index
- Added save method
- Fixed bug in UTF8 checking
- Fixed serialization of "tie %hash, 'Tie:IxHash'"
0.28 28 Jan 2010
- Fixed undef values (Andrew Bryan)
- Added GridFS multi-chunk test using File::Temp (Josh Rabinowitz)
- Allow tie(%h, 'Tie::IxHash') to be used as well as Tie::IxHash->new
- Fixed GridFS indexes and added chunkSize and uploadDate to metadata
- Fixed batch_insert doc (Eric Wilhelm)
- Fixed big endian build
0.27 22 Dec 2009
- Indexes: Improved ensure_index syntax, added drop_dups option
- Inserts: Added safe insert, checks object is < 4 MB before inserting
- Fixed socket closing bug
- Big-endian support
- $ can be replaced by any character using MongoDB::BSON::char
- MongoDB::OIDs: Fixed undefined behavior in serialization (Peter Edwards), added OID::get_time
- 5.8.7-compatible memory allocation (Peter Edwards)
- Added MongoDB::MaxKey and MongoDB::MinKey support
0.26 09 Nov 2009
- Don't force i386 arch (Needed to compile on OS X with x86_64) (Graham Barr)
- Include inc/ dir for CPAN
- Memory leak fixes
- Added tutorial
0.24 15 Oct 2009
- Fix for uninitialized array values (David Morrison)
- Boolean support
- Connection memory leak fix
- Added MongoDB::Cursor::count
0.23 25 Sept 2009
Changes in this version by Ask Bjørn Hansen, Florian Ragwitz,
Orlando Vazquez, Kristina Chodorow, and Eric Wilhelm:
- Make inserting double's (floats/NV's), undefined/null, Tie::IxHash values
- Query sorting, snapshot, explain, and hint
- Added non-unique ensure_index
- Added GridFS
- Added regex support
- find_one takes optional fields parameter
- DateTime used for dates
- No C++ driver dependency
0.01 06 May 2009
- Initial release.
# vim: set ts=2 sts=2 sw=2 et tw=75:
|