This repository has been archived by the owner on Dec 20, 2024. It is now read-only.
forked from mongodb/mongo-c-driver
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNEWS
2486 lines (1869 loc) · 82.4 KB
/
NEWS
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
Next Release
============
Features:
* New option for change streams, "startAfter".
* "retryWrites" URI option now defaults to true (requires crypto for session
support).
Bug fixes:
* mongoc_change_stream_next now reports an error if the resume token (_id) is
not a document. Previously, an error was only reported if the field was
missing.
* mongoc_collection_update with MONGOC_UPDATE_MULTI_UPDATE,
mongoc_collection_remove, and mongoc_collection_delete would fail if
retryWrites was enabled.
mongo-c-driver 1.14.0
=====================
It is my pleasure to announce the MongoDB C Driver 1.14.0.
Features:
* Support for OpenSSL 1.1.1 and its implementation of TLS v1.3.
* New function mongoc_stream_should_retry.
* New accessor mongoc_server_description_last_update_time.
* New method mongoc_client_reset to be called after forking.
Bug fixes:
* OP_MSG with unacknowledged writes (write concern of w:0) would serialize
incorrectly on big-endian platforms, causing writes to use the default
write concern of w:1.
* mongoc_collection_update_many and mongoc_collection_delete_many would fail
with the URI option retryWrites=true.
* In a transaction, the driver now properly ignores the readConcern configured
on a client, database, or collection: only the mongoc_transaction_opt_t's
readConcern is used.
* Remove timestamp from uninstall scripts to permit reproducible build.
* Setting mongoc_ssl_opt_t.pem_file or ca_file to a bad file path caused a
hang with Darwin SSL.
* Fix the ENABLE_SASL cmake option:
* Remove unnecessary GSSAPI value. It was equivalent to specifying ENABLE_SASL=CYRUS.
* ENABLE_SASL=AUTO now correctly chooses SSPI on Windows instead of CYRUS.
* The client pool failed to set proper apm callbacks for clients created
via try_pop().
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Roberto C. Sánchez
* Kevin Albertson
* Samantha Ritter
* Spencer McKenney
* Henrik Edin
* Jeremy Mikola
* Evgeni Dobranov
* Derick Rethans
* 平民·寻梦(Pingmin Fenlly Liu)
* David Carlier
* Gustaf Neumann
* Jeroen
* Jeroen Ooms
* Kaitlin Mahar
* Tomas Mozes
* Clyde Bazile
Peace,
Samantha Ritter
mongo-c-driver 1.13.1
=====================
It is my pleasure to announce the MongoDB C Driver 1.13.1.
Bug fixes:
* mongoc_collection_update_many and mongoc_collection_delete_many would fail
with the URI option retryWrites=true.
* Remove timestamp from uninstall scripts to permit reproducible build.
* Add missing header files to the release tarball to fix compilation when
configuring with ENABLE_SASL=GSSAPI.
* Separate libmongoc and libbson uninstall scripts so they do not overwrite
each other.
* Fix running make install with DESTDIR.
Thanks to everyone who contributed to the development of this release.
* Kevin Albertson
* A. Jesse Jiryu Davis
* Henrik Edin
Peace,
Kevin Albertson
mongo-c-driver 1.13.0
=====================
It is my pleasure to announce the MongoDB C Driver 1.13.0.
Features:
* Report a new error code, MONGOC_ERROR_GRIDFS_CORRUPT, when a chunk larger
than chunkSize is detected. Before, the driver had crashed with an assert.
* Restructure of install directory. All mongoc headers are under mongoc/
and all bson headers are under bson/. The preferred way of including the
headers are mongoc/mongoc.h and bson/bson.h respectively.
Forwarding headers in the root are provided for backwards compatibility.
* The default CMake build type had been unspecified, now it is RelWithDebInfo.
* Support LibreSSL 2.7+.
Bug fixes:
* mongoc_collection_replace_one is now a correctly exported symbol.
* Fix multiple issues with readConcern and writeConcern inheritance.
* Fix rare crash with mongodb+srv URIs on Windows.
* mongoc_gridfs_create_file_from_stream ignored errors while writing chunks
to the server.
* The following functions should not have taken a "bypassDocumentValidation"
option in bson_t *opts, the option is now prohibited:
- mongoc_bulk_operation_insert_with_opts
- mongoc_bulk_operation_update_one_with_opts
- mongoc_bulk_operation_update_many_with_opts
- mongoc_bulk_operation_replace_one_with_opts
* The heartbeat-succeeded and heartbeat-failed events (part of SDAM
Monitoring) had uninitialized "duration" fields, they are now set correctly.
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Roberto C. Sánchez
* Kevin Albertson
* Henrik Edin
* Spencer McKenney
* Jeremy Mikola
* Evgeni Dobranov
* Tomas Mozes
* Derick Rethans
* Gustaf Neumann
* Jeroen Ooms
* Kaitlin Mahar
Peace,
Kevin Albertson
mongo-c-driver 1.12.0
=====================
It is my pleasure to announce the MongoDB C Driver 1.12.0.
Features:
* New function mongoc_client_session_in_transaction to check if a multi-
document transaction is started.
* New examples for change streams and transactions, improved guide for
migrating from mongoc_collection_count to mongoc_collection_count_documents
Bug fixes:
* Fix occasional crash in sharded queries
* Retry all retryable write concern errors
* mongoc_client_session_commit_transaction sets the correct error label when
the primary is unavailable
* mongoc_collection_find_with_opts had prohibited read preference "primary"
in a transaction
* mongoc_collection_aggregate had not inherited its mongoc_collection_t's
read preference; only an explicitly provided read preference was used.
* Allow unencoded delimiters in username/password if unambiguous
Thanks to everyone who contributed to the development of this release.
* Roberto C. Sánchez
* A. Jesse Jiryu Davis
* Kevin Albertson
* Spencer McKenney
* Evgeni Dobranov
* Jeremy Mikola
* 平民·寻梦(Pingmin Fenlly Liu)
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.11.0
=====================
It is my pleasure to announce the MongoDB C Driver 1.11.0. This release adds
support for MongoDB 4.0 features. It includes the following additions and
improvements:
* Multi-document transactions, see mongoc_client_session_start_transaction
* New function mongoc_error_has_label to check for specific error labels such
as "TransientTransactionError" or "UnknownTransactionCommitResult" in
error replies.
* New functions to subscribe to changes on an entire client or database:
- mongoc_client_watch
- mongoc_database_watch
* New option for change streams, "startAtOperationTime".
* mongoc_collection_count_with_opts is deprecated for two new functions:
- mongoc_collection_count_documents
- mongoc_collection_estimated_document_count
* Support for SCRAM-SHA-256 authentication, including support for non-ASCII
passwords using libicu is an optional dependency.
* Faster mongoc_database_get_collection_names_with_opts fetches only names,
not the entire collection metadata.
Additional changes not specific to MongoDB 4.0:
* All "destroy" functions such as mongoc_collection_destroy now ignore a NULL
argument.
* The driver now returns an error if you attempt to use "arrayFilters" in an
update with a MongoDB server older than 3.6.
* Update functions include a new "upsertedCount" field in the reply document.
* Replace MD5 with FNV-1a hash to generate ObjectIds (for FIPS compliance).
Bug fixes:
* Functions incorrectly marked with the "const" compiler attribute are now
marked as "pure", fixes build error when link-time optimization is enabled.
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Kevin Albertson
* Evgeni Dobranov
* Spencer McKenney
* Jeremy Mikola
* Roberto C. Sánchez
* Remi Collet
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.10.3
=====================
No change since 1.10.2; released to keep pace with libbson's version.
-- A. Jesse Jiryu Davis
mongo-c-driver 1.10.2
=====================
It is my pleasure to announce the MongoDB C Driver 1.10.2. This release fixes
the libbson and libmongoc installed library filenames and SONAMEs on Linux.
They had changed unintentionally with the switch to CMake in 1.10.0; they are
now consistent with 1.9.x and previous releases. Thanks to Roberto C. Sánchez
for the fix.
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.10.1
=====================
It is my pleasure to announce the MongoDB C Driver 1.10.1. This release fixes
the following bugs introduced in version 1.10.0:
* Client sessions were not prohibited with unacknowledged write concern and
mongoc_bulk_operation_execute; now they are prohibited. Client sessions have
been prohibited with all other unacknowledged writes since 1.10.
* The "arrayFilters" update option, new in MongoDB 3.6 and supported since
libmongoc 1.9.0, was inadvertently prohibited by
mongoc_bulk_operation_update_one_with_opts and
mongoc_bulk_operation_update_many_with_opts in 1.10. The option is now
permitted again.
* The mongoc-stat tool for displaying shared counters was disabled on Linux
and not installed; it is now restored.
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Jeremy Mikola
* Remi Collet
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.10.0
=====================
It is my pleasure to announce MongoDB C Driver 1.10.0. This version drops
support for MongoDB 2.6 and adds the following features and bugfixes:
* libbson and libmongoc are now maintained in the mongo-c-driver repository,
although they are still built as separate libraries, and libbson can still
be used without libmongoc.
* Building libbson and libmongoc now requires CMake on all platforms. The
Autotools build scripts ("configure" and related scripts) have been deleted.
See the "installing" page for updated instructions, including the new
ENABLE_MONGOC option and changes to the ENABLE_BSON option.
* IPv6 is now fully supported and conforms to RFC-6555. If a hostname has both
IPv4 and IPv6 DNS records, the driver tries connecting with IPv6 first. If a
connection can't be established after 250ms then IPv4 is tried in parallel.
Whichever succeeds connection first cancels the other. The successful DNS
result is cached for 10 minutes.
* If CMake is configured with ENABLE_SSL=AUTO (the default), libmongoc now
uses native TLS libraries on Mac and Windows, and OpenSSL everywhere else.
Before, it would search for OpenSSL on all platforms and only use native
TLS on Mac and Windows as a fallback.
* The driver now handshakes SSL connections to multiple servers in a replica
set or sharded cluster in parallel, so long as it uses OpenSSL or Windows
SChannel. (SSL handshakes with Apple's Secure Transport are still serial.)
A larger receive buffer with SChannel increases performance over slow
connections.
* All functions that accept read concern now prohibit it, if MongoDB is too
old to support it (MongoDB 3.0).
* Client sessions are now prohibited with unacknowledged writes.
* mongoc_collection_find_and_modify_with_opts now prohibits write concern if
MongoDB is too old to support it (MongoDB 3.0).
* Other helper functions for commands that write, now prohibit write concern
if MongoDB is too old to support it (pre-3.4):
mongoc_client_read_write_command_with_opts
mongoc_client_write_command_with_opts
mongoc_collection_read_write_command_with_opts
mongoc_collection_write_command_with_opts
mongoc_database_read_write_command_with_opts
mongoc_database_write_command_with_opts
mongoc_collection_aggregate with $out
mongoc_collection_drop_index_with_opts
mongoc_collection_drop_with_opts
mongoc_collection_rename_with_opts
mongoc_database_drop_with_opts
Write concern behavior is unchanged for regular CRUD functions.
* Setting a negative writeConcern level of -2 or smaller, via the "opts"
parameter to functions that accept BSON options, is now prohibited. The
special "w" values -2 through -4 are only used internally. The deprecated
"w=-1" is still allowed, as a synonym for "w=0".
* The Kerberos URI option authMechanismProperties=CANONICALIZE_HOST_NAME:true
is now implemented with the Windows Kerberos provider, SSPI.
* This repository now includes GDB and LLDB customizations for pretty-printing
bson_t structs as JSON while debugging. See the "debugging" page.
* The internal preprocessor symbol HAVE_STRINGS_H has been renamed
BSON_HAVE_STRINGS_H. If you maintain a handwritten bson-config.h you must
rename this symbol.
* The following helper functions do not work with mongoc_client_session_t,
they are deprecated in favor of running MongoDB commands directly with a
function like mongoc_client_read_command_with_opts:
mongoc_client_get_server_status
mongoc_collection_stats
mongoc_collection_validate
* mongoc_cursor_is_alive is now deprecated for mongoc_cursor_more, which is
functionally equivalent.
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Kevin Albertson
* Roberto C. Sánchez
* Jeremy Mikola
* Xiangyu Yao
* Jeroen Ooms
* Derick Rethans
* Kaitlin Mahar
* Pavithra Vetriselvan
* NotSpooky
* Iulian Rotaru
* Katherine Walker
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.9.5
====================
It is my pleasure to announce mongo-c-driver 1.9.5. This release fixes the following bugs:
* New change streams API functions were not marked extern "C"
* mongoc_collection_watch now accepts a pipeline argument as a BSON array, in
addition to accepting a BSON document with a "pipeline" array field
* Crashes in several change stream error handling paths
* Commands could return false with an empty bson_error_t after a replica set
reconfig
* Network error messages omitted the command name when using OP_MSG
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Kevin Albertson
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.9.4
====================
It is my pleasure to announce mongo-c-driver 1.9.4. This release offers
compatibility with Sphinx 1.7.0 and above and fixes two bugs:
* Ensure a change stream uses the proper session id while iterating
* Fix a rare crash in pooled mode when a replica set member was disconnected
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Kevin Albertson
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.9.3
====================
It is my pleasure to announce mongo-c-driver 1.9.3. This version fixes a
session-management bug that could cause an authentication error while connected
to MongoDB 3.6+ and iterating a cursor, and it permits the $gleStats modifier
with mongoc_collection_aggregate.
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Jeremy Mikola
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.9.2
====================
No change since 1.9.1; released to keep pace with libbson's version number.
-- A. Jesse Jiryu Davis
mongo-c-driver 1.9.1
====================
It is my pleasure to announce mongo-c-driver 1.9.1. This release fixes a bug
that caused session ID to be included in authentication and server monitoring
commands. Thanks to Jeremy Mikola for finding and fixing the issue.
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.9.0
====================
It is my pleasure to announce mongo-c-driver 1.9.0. This version drops support
for MongoDB 2.4 and adds support for MongoDB 3.6 features:
* New struct mongoc_change_stream_t to watch a collection for changes.
* New struct mongoc_client_session_t represents a MongoDB 3.6 session,
which supports causal consistency: you are guaranteed to read your writes
and to perform monotonic reads, even when reading from secondaries or in
a sharded cluster.
* New functions that accept flexible options as a BSON document. These
accept a "sessionId" option and any future options. In addition, the
two new "update" functions accept the "arrayFilters" option that is new
in MongoDB 3.6:
mongoc_collection_insert_one
mongoc_collection_insert_many
mongoc_collection_update_one
mongoc_collection_update_many
mongoc_collection_replace_one
mongoc_collection_delete_one
mongoc_collection_delete_many
mongoc_client_command_with_opts
mongoc_database_command_with_opts
mongoc_collection_command_with_opts
mongoc_client_find_databases_with_opts
mongoc_client_get_database_names_with_opts
mongoc_collection_create_bulk_operation_with_opts
mongoc_collection_find_indexes_with_opts
mongoc_database_find_collections_with_opts
mongoc_database_get_collection_names_with_opts
* New URI option "retryWrites=true" safely and automatically retries certain
write operations if the server is a MongoDB 3.6 replica set or sharded
cluster.
* Support for MongoDB OP_MSG wire protocol.
Additional changes not specific to MongoDB 3.6:
* Support for mongodb+srv URIs to query DNS for SRV and TXT records that
configure the connection to MongoDB.
* Support LibreSSL with CMake build
* The "minPoolSize" URI option is deprecated: it's confusing and not useful.
Bug fixes:
* mongoc_bulk_operation_execute did not always initialize "reply".
* Fix C99 pedantic warnings.
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Hannes Magnusson
* Jeremy Mikola
* Kevin Albertson
* Jeroen Ooms
* Iulian Rotaru
* Derick Rethans
* Graham Whitted
* Brian Moss
* Alex Masterov
* Michael Kuhn
* Sriharsha Vardhan
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.8.2
====================
It is my pleasure to announce mongo-c-driver 1.8.2. This release fixes the
following bugs:
* Remove option to bundle the Snappy compression library, it caused issues
for programs linking to libmongoc
* Fix pkg-config and CMake config file flags for programs that statically
link to libmongoc when libmongoc is statically linked to zLib
* The configure flag "--with-zlib=no" was ignored
Crash in authentication when username is NULL
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Derick Rethans
* Hannes Magnusson
* Jeremy Mikola
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.8.1
====================
It is my pleasure to announce mongo-c-driver 1.8.1. This release fixes the
following bugs:
* Remove a syntax error in the configure script that affects some shells.
* The configure script respects --with-zlib=system and --with-snappy=system.
* The internal mongoc_server_description_t struct is properly reinitialized
after a network error.
* Fix the encoding of this NEWS file.
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Jeremy Mikola
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.8.0
====================
* The zLib and Snappy compression libraries are bundled if not available.
Wire protocol compression is enabled on Windows.
* mongoc_collection_find_and_modify_with_opts now respects a "writeConcern"
field in the "extra" BSON document in its mongoc_find_and_modify_opts_t.
* The command functions mongoc_client_read_write_command_with_opts,
mongoc_database_read_write_command_with_opts, and
mongoc_collection_read_write_command_with_opts now ignore the "read_prefs"
parameter.
* mongoc_collection_create_index and mongoc_collection_create_index_with_opts
are both now deprecated. Use mongoc_database_write_command_with_opts
instead; a guide to creating an index using that function has been added.
* Use select, not WSAPoll, on Windows.
* Always mark a server "Unknown" after a network error (besides a timeout).
* mongoc_client_pool_t sends platform metadata to the server; before, only a
single mongoc_client_t did.
* New stream method mongoc_stream_timed_out.
* Wire version checks introduced in 1.8.0 will prevent the driver from
connecting to a future MongoDB server version if its wire protocol is
incompatible.
* New CMake option ENABLE_MAINTAINER_FLAGS.
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Hannes Magnusson
* Jeremy Mikola
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.7.0
====================
It is my pleasure to announce mongo-c-driver 1.7.0.
New features and bug fixes:
* CMake build now installs .pc files for programs that link to libmongoc using
pkg-config. Both the CMake and Autotools build systems now install .cmake
files for programs that link to libmongoc using CMake. Linking to libmongoc
statically or dynamically is now much more convenient. See the new tutorial
section "Include and link libmongoc in your C program".
* New CMake option ENABLE_STATIC can be ON, OFF, or AUTO (the default)
* Minimum required CMake version has been increased to 3.1.
* CMake remains experimental on non-Windows platforms and issues a warning now
* Support for wire compression.
* Support for snappy and zlib. MongoDB 3.4 only supports snappy, while zlib
support is expected in MongoDB 3.6.
The enable, configure mongoc like so:
./configure --with-snappy --with-zlib
* New functions: mongoc_uri_get_compressors & mongoc_uri_set_compressors, to
get and set compressor configuration on mongoc_uri_t
* Added support for comma separated "compressors" connection string option (e.g.
mongodb://localhost/?compressors=snappy,zlib)
* Added support for configuring zlib compression level in the connection string
(e.g. mongodb://localhost/?compressors=zlib&zlibcompressionlevel=8)
* Now requires the use of CMake config files for libbson to build libmongoc
with CMake
* Added pkg-config support for libressl.
* New function mongoc_uri_set_auth_mechanism to update the authentication
mechanism of a mongoc_uri_t after it is created from a string.
* New function mongoc_bulk_operation_insert_with_opts provides immediate
error checking.
* New function mongoc_uri_new_with_error provides a way to parse a connection
string, and retrieve the failure reason, if any.
* Support for MongoDB Connection String specification
* All connection string options are now represented by MONGOC_URI_xxx macros
* Paths to Unix Domain Sockets must be url encoded
* Repeated options now issue warnings
* Special characters in username, password and other values must be url encoded
* Unsupported connection string options now issue warnings
* Boolean values can now be represented as true/yes/y/t/1 and false/no/n/f/0.
* Case is now preserved in Unix domain paths.
* New function mongoc_cursor_error_document provides access to server's error
reply if a query or command fails.
* New function mongoc_write_concern_is_default determines whether any write
concern options have been set, and mongoc_read_concern_is_default checks if
read concern options are set.
* mongoc_gridfs_find_one_with_opts optimized to use limit 1.
Thanks to everyone who contributed to the development of this release.
* Hannes Magnusson
* A. Jesse Jiryu Davis
* David Golden
* Jeremy Mikola
* Bernard Spil
* Aleksander Melnikov
* Adam Seering
* Remi Collet
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.6.0
====================
It is my pleasure to announce mongo-c-driver 1.6.0.
New features and bug fixes:
* Enterprise authentication on Windows now uses the native GSSAPI library;
Cyrus SASL is no longer required for enterprise auth on Windows.
* BSON documents are more thoroughly validated before insert or update.
* New function mongoc_uri_set_mechanism_properties to replace all the
authMechanismProperties on an existing URI.
* mongoc_uri_get_mechanism_properties asserts its inputs are not NULL.
* For consistency with other MongoDB drivers, mongoc_collection_save is
deprecated in favor of mongoc_collection_insert or mongoc_collection_update.
* The driver is now built and continuously tested with MinGW-W64 on Windows.
* Experimental support for HPUX.
* The correct operation ids are now passed to Command Monitoring callbacks.
* Fix a crash if the driver couldn't connect to the server to create an index.
* The documentation is ported from Mallard XML to ReStructured Text, the
HTML documentation is restyled, and numerous man page syntax errors fixed.
* Getter functions for options in mongoc_find_and_modify_opts_t:
* mongoc_find_and_modify_opts_get_bypass_document_validation
* mongoc_find_and_modify_opts_get_fields
* mongoc_find_and_modify_opts_get_flags
* mongoc_find_and_modify_opts_get_max_time_ms
* mongoc_find_and_modify_opts_get_sort
* mongoc_find_and_modify_opts_get_update
* All public functions now have the __cdecl calling convention on Windows.
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Hannes Magnusson
* Aleksander Melnikov
* Jeroen Ooms
* Brian McCarthy
* Jonathan Wang
* Peter Beckman
* Remi Collet
* Rockford Wei
* Alexey Ponomarev
* Christopher Wang
* David Golden
* Jeremy Mikola
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.5.5
====================
It is my pleasure to announce mongo-c-driver 1.5.5. This release fixes bugs
parsing the localThresholdMS option from the MongoDB URI, and a crash in
mongoc_cursor_destroy if "query" or "filter" are invalid. Thanks to Jeremy
Mikola.
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.5.4
====================
It is my pleasure to announce mongo-c-driver 1.5.4. This release fixes an error
in cursor iteration when a readConcern is set. Thanks to Jeremy Mikola and
Hannes Magnusson.
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.5.3
====================
This release fixes a bug that prevented connecting to IPv4-only MongoDB servers
by hostname.
https://jira.mongodb.org/browse/CDRIVER-1988
The driver has reverted to its 1.5.1 behavior: it connects to MongoDB over IPv6
if given an IPv6 connection string like "mongodb://[::1]", and requires an IPv4
connection when given a hostname like "mongodb://localhost".
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.5.2
====================
It is my pleasure to announce mongo-c-driver 1.5.2.
Thanks to everyone who contributed to the development of this release.
New bug fixes:
* CDRIVER-1975 allow mixed $ and non-$ query ops.
* CDRIVER-1972 Support for ipv6 hostnames.
* CDRIVER-1971 Missing exports of mongoc_gridfs_file_set_*() functions.
* CDRIVER-1970 update define constants for "find" opts to be unique.
* CDRIVER-1964 Windows CA stores should be opened with read-only flag.
Thanks to everyone who contributed to the development of this release.
* Hannes Magnusson
* A. Jesse Jiryu Davis
* Alexey Ponomarev
* Peter Beckman
* Rockford Wei
Peace,
Hannes Magnusson
mongo-c-driver 1.5.1
====================
It is my pleasure to announce mongo-c-driver 1.5.1. This is a bugfix release:
* Fix SEGFAULT with performance counters on NUMA (thanks to Jonathan Wang).
* Prevent rare assertion error in mongoc_cluster_stream_for_server.
* Improve error messages from auth failure.
* Escape quotes when appending CFLAGS to handshake metadata.
* Fix OpenSSL header lookups in non-default paths.
* Fix build failure with LibreSSL.
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Hannes Magnusson
* Jeroen Ooms
* Jonathan Wang
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.5.0
====================
It is my pleasure to announce mongo-c-driver 1.5.0.
New features and bug fixes:
* MongoDB 3.4 Support
* New URI and read preference option, "maxStalenessSeconds"
* MongoDB Handshake
* writeConcern and readConcern enhancements
* Collation allows users to specify language-specific rules for string
comparison when sorting documents. See the code examples for
mongoc_client_read_command_with_opts, mongoc_collection_count_with_opts,
mongoc_collection_find_with_opts, and mongoc_index_opt_t, as well as the
"Setting Collation Order" section of the "Bulk Write Operations" guide.
* mongoc_collection_count_with_opts uses the collection's read preference if
none is passed in
* Improved TLS support
* Fixed LibreSSL (libssl) support
* Added LibreSSL (libtls) support
* Fixed Secure Channel build on VS 2010
* OpenSSL now supports SNI (all others already do)
* Additional features for Application Performance Monitoring:
* mongoc_topology_description_has_writable_server
* mongoc_topology_description_has_readable_server
* New functions accept flexible options as a BSON document:
* mongoc_collection_find_with_opts
* mongoc_client_read_command_with_opts
* mongoc_client_write_command_with_opts
* mongoc_client_read_write_command_with_opts
* mongoc_database_read_command_with_opts
* mongoc_database_write_command_with_opts
* mongoc_database_read_write_command_with_opts
* mongoc_collection_read_command_with_opts
* mongoc_collection_write_command_with_opts
* mongoc_collection_read_write_command_with_opts
* mongoc_gridfs_find_with_opts
* mongoc_gridfs_find_one_with_opts
* mongoc_collection_find is now deprecated in favor of
mongoc_collection_find_with_opts.
* New helper function to include read concern in one of the above function's
options parameter: mongoc_read_concern_append.
* mongoc_client_command no longer applies the client's read preference and
read concern by default. Same change for mongoc_database_command and
mongoc_collection_command.
* mongoc_collection_count_with_opts now applies the collection's read
preference if no read preference is provided
* mongoc_collection_create_index and mongoc_collection_drop_index now apply
the collection's write concern.
* connectTimeoutMS timer now begins after DNS resolution, and resets
for each interface attempted (e.g., if the driver first tries IPv6,
then IPv4).
* New error code MONGOC_ERROR_DUPLICATE_KEY.
* mongoc_collection_find no longer treats the "filter" key specially in
queries - querying for a document with a key named "filter" is the same
now as any other key.
* The server description parameter to the following functions is "const":
* mongoc_server_description_host
* mongoc_server_description_id
* mongoc_server_description_ismaster
* mongoc_server_description_round_trip_time
* mongoc_server_description_type
* Exported symbols are no longer declared in separate export files.
This could break ABI with applications using clang, which previously
exported symbols from the internal private ABI.
* mongoc no longer crashes when multi roundtrip bulk operation fails.
* Added support for the new readConcernLevel "linearizable".
* Clients now check for misformatted "readPreferenceTags" in URI.
* New CMake option ENABLE_TRACING allows debug output, which before had only
been available with "configure --enable-tracing".
* Bugfix: "PossiblePrimary"-type replicas could be selected for reads
* Bugfixes: The random number generator used to select servers is now properly
seeded, and secondary queries are now properly distributed according to
localThresholdMS, not just to the lowest-latency secondary.
* mongoc_collection_insert, mongoc_collection_update, mongoc_collection_remove
consistently use domain MONGOC_ERROR_BSON, code MONGOC_ERROR_BSON_INVALID
if passed oversized BSON, and MONGOC_ERROR_COLLECTION for other errors.
mongoc_bulk_operation_execute continues to use MONGOC_ERROR_COMMAND for
all errors.
* If mongoc_client_pool_t fails to start its scanner thread in the background,
it logs and aborts instead of silently continuing, then failing to connect.
* The driver now updates its view of the whole topology with information from
each new connection handshake.
* mongoc_client_set_apm_callbacks can be used repeatedly to change or clear
the list of monitoring callbacks.
* Improved error reporting when the driver fails to reach the server.
Deprecations:
* mongoc_collection_find is deprecated for mongoc_collection_find_with_opts.
Removed configure flags:
* --enable-experimental has been removed. All previously experimental
features are now always on.
* The configure option "--enable-hardening" had had no effect. It is removed
in favor of system-wide compiler configuration.
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Hannes Magnusson
* Fiona Rowan
* Ian Boros
* Remi Collet
* Brian McCarthy
* Jeroen Ooms
* J. Rassi
* Christoph Schwarz
* Alexey Vorobeyev
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.4.2
====================
It is my pleasure to announce mongo-c-driver 1.4.2. This release fixes bugs in
"minPoolSize" logic, see CDRIVER-1558 for details.
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.4.1
====================
It is my pleasure to announce mongo-c-driver 1.4.1. This is a bugfix release:
* mongoc_client_get_server_descriptions could return a list including NULLs
* Tailable cursors on MongoDB 3.2 only worked with MONGOC_QUERY_AWAIT_DATA
* Spurious warnings with MONGOC_DISABLE_SHM
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Hannes Magnusson
Peace,
A. Jesse Jiryu Davis
mongo-c-driver 1.4.0
====================
It is my pleasure to announce the release of mongo-c-driver 1.4.0.
TLS
---
The driver can now use the native TLS and crypto functions included in macOS
and Windows. OpenSSL is no longer required for TLS or authentication on Mac or
Windows. By default, OpenSSL is used if available, the default will switch in
version 2.0 to prefer native TLS.
For native TLS on Mac:
./configure --enable-ssl=darwin
For Windows:
cmake "-DENABLE_SSL=WINDOWS" -G "Visual Studio 10 Win64" "-DCMAKE_INSTALL_PREFIX=C:\mongo-c-driver"
All of the TLS implementations now load the native default certificate store,
with OpenSSL on Windows falling back on the Windows native certificate store if
no other can be found.
The "ca_dir" field on mongoc_ssl_opt_t is only supported by OpenSSL. All other
fields, including "pem_file", are supported by all implementations.
A new field, "allow_invalid_hostname", has been added to mongoc_ssl_opt_t and is
preferred over the existing "allow_invalid_certificate" to disable hostname
verification.
The driver now supports the latest OpenSSL 1.1 in addition to past versions.
Application Performance Monitoring
----------------------------------