forked from mongodb-labs/mongo-perl-driver
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changes
2222 lines (1307 loc) · 66.2 KB
/
Changes
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
# Change history for the MongoDB Perl driver:
{{ $NEXT }}
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.