File: Changes

package info (click to toggle)
libmongodb-perl 2.2.2-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 10,264 kB
  • sloc: perl: 14,419; python: 299; makefile: 20; sh: 11
file content (2220 lines) | stat: -rw-r--r-- 67,803 bytes parent folder | download
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: