1
- NEXT RELEASE
2
- ============
1
+ mongo-c-driver 1.4.0-beta1
2
+ ==========================
3
+
4
+ It is my pleasure to announce the beta release of mongo-c-driver 1.4.0.
5
+
6
+ TLS
7
+ ---
8
+
9
+ The driver can now use the native TLS and crypto functions included in Mac OS X
10
+ and Windows. OpenSSL is no longer required for TLS or authentication on Mac or
11
+ Windows. By default, OpenSSL is used if available, the default will switch in
12
+ version 2.0 to prefer native TLS.
13
+
14
+ For native TLS on Mac:
15
+
16
+ ./configure --enable-ssl=darwin
17
+
18
+ For Windows:
19
+
20
+ cmake "-DENABLE_SSL=WINDOWS" -G "Visual Studio 10 Win64" "-DCMAKE_INSTALL_PREFIX=C:\mongo-c-driver"
21
+
22
+ All of the TLS implementations now load the native default certificate store,
23
+ with OpenSSL on Windows falling back on the Windows native certificate store if
24
+ no other can be found.
25
+
26
+ The "ca_dir" field on mongoc_ssl_opt_t is only supported by OpenSSL. All other
27
+ fields, including "pem_file", are supported by all implementations.
28
+
29
+ A new field, "allow_invalid_hostname", has been added to mongoc_ssl_opt_t and is
30
+ preferred over the existing "allow_invalid_certificate" to disable hostname
31
+ verification.
32
+
33
+ The driver now supports the latest OpenSSL 1.1 in addition to past versions.
34
+
35
+ Application Performance Monitoring
36
+ ----------------------------------
37
+
38
+ The driver implements the MongoDB Command Monitoring Spec. Applications can
39
+ record the duration and other details of every operation the driver performs on
40
+ the server. See "Introduction to Application Performance Monitoring" in the
41
+ docs.
42
+
43
+ Error API
44
+ ---------
45
+
46
+ New functions mongoc_client_set_error_api and mongoc_client_pool_set_error_api
47
+ allow applications to distinguish client and server errors. See the "Error
48
+ Reporting" doc.
49
+
50
+ Unacknowledged Write Results
51
+ ----------------------------
3
52
4
53
Unacknowledged writes (writes whose mongoc_write_concern_t "w" value is zero)
5
54
now reply with an empty document instead of one with nInserted: 0, nUpdated: 0,
@@ -28,20 +77,31 @@ New functions to send maxTimeMS or any arbitrary options with findAndModify:
28
77
* mongoc_find_and_modify_opts_set_max_time_ms
29
78
* mongoc_find_and_modify_opts_append
30
79
80
+ New function to include a write concern with a generic command function
81
+ like mongoc_client_command_simple:
82
+
83
+ * mongoc_write_concern_append
84
+
85
+ Public API For Higher-Level Drivers
86
+ -----------------------------------
87
+
31
88
New functions support language drivers (specifically the PHP and HHVM drivers)
32
89
using only the libmongoc public API:
33
90
34
91
* mongoc_bulk_operation_get_hint
35
92
* mongoc_client_command_simple_with_server_id
36
93
* mongoc_client_get_server_description
94
+ * mongoc_client_get_server_description_by_id
37
95
* mongoc_client_get_server_descriptions
38
96
* mongoc_client_select_server
39
97
* mongoc_cursor_get_limit
40
98
* mongoc_cursor_new_from_command_reply
99
+ * mongoc_cursor_set_hint
41
100
* mongoc_cursor_set_limit
42
101
* mongoc_log_trace_disable
43
102
* mongoc_log_trace_enable
44
103
* mongoc_server_description_ismaster
104
+ * mongoc_server_description_round_trip_time
45
105
* mongoc_server_description_type
46
106
* mongoc_server_descriptions_destroy_all
47
107
* mongoc_uri_get_option_as_bool
@@ -68,14 +128,77 @@ Now that these public APIs are available, the PHP drivers no longer define the
68
128
MONGOC_I_AM_A_DRIVER preprocessor symbol to access private APIs. The symbol is
69
129
removed from C Driver headers, and libmongoc-priv.so is no longer installed.
70
130
71
- mongoc_client_get_database_names no longer filters out a replica set member's
72
- "local" database.
131
+ Other Features
132
+ --------------
133
+
134
+ * New connection string option "localThresholdMS".
135
+ * zSeries and POWER8 platform support.
136
+ * Performance enhancements, reduce allocation and copying in command code.
137
+ * All man page names now begin with "mongoc_" to avoid install conflicts.
138
+ * New function mongoc_gridfs_file_set_id.
139
+
140
+ Deprecations
141
+ ------------
73
142
74
- mongoc_client_get_gridfs now ensures the proper indexes on the files and chunks
75
- collections.
143
+ Automatically calling mongoc_init and mongoc_cleanup is a GCC-specific feature
144
+ that is now deprecated, and will be removed in version 2. The driver should be
145
+ built with:
76
146
77
- The GSSAPI properties SERVICE_NAME and CANONICALIZE_HOST_NAME are now properly
78
- parsed from the URI, see the driver's authentication documentation for details.
147
+ ./configure --disable-automatic-init-and-cleanup
148
+
149
+ Or:
150
+
151
+ cmake "-DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF" -G "Visual Studio 10 Win64" "-DCMAKE_INSTALL_PREFIX=C:\mongo-c-driver"
152
+
153
+ In this configuration, applications must explicitly init and cleanup libmongoc.
154
+
155
+ Deprecated functions:
156
+
157
+ * mongoc_write_concern_get_fsync
158
+ * mongoc_write_concern_set_fsync
159
+
160
+ Notable Bug Fixes
161
+ -----------------
162
+
163
+ * mongoc_client_get_database_names no longer filters out a replica set
164
+ member's "local" database.
165
+ * mongoc_client_get_gridfs now ensures the proper indexes on the files and
166
+ chunks collections.
167
+ * SecondaryPreferred fails if primary matches tags but secondaries don't.
168
+ * mongoc_collection_find_and_modify_with_opts can return true on
169
+ writeConcernError.
170
+ * mongoc_collection_validate doesn't always init "reply".
171
+ * The strings referred to by mongoc_ssl_opt_t, like pem_file and ca_file, are
172
+ now copied into the client or client pool by mongoc_client_set_ssl_opts or
173
+ mongoc_client_pool_set_ssl_opts, and need not be kept valid afterward.
174
+ * mongoc_collection_count_with_opts ignored flags and read_prefs.
175
+ * minPoolSize of 0 should mean "no minimum".
176
+ * mongoc_database_create_collection should always use the primary.
177
+ * The GSSAPI properties SERVICE_NAME and CANONICALIZE_HOST_NAME are now
178
+ properly parsed from the URI, see the "Authentication" doc for details.
179
+ * Comprehensive compatibility with various C standards and compilers.
180
+
181
+ Acknowledgments
182
+ ---------------
183
+
184
+ Thanks to everyone who contributed to the development of this release.
185
+
186
+ * A. Jesse Jiryu Davis
187
+ * Hannes Magnusson
188
+ * Ian Boros
189
+ * Fiona Rowan
190
+ * Jeremy Mikola
191
+ * Christoph Schwarz
192
+ * Mike Lloyd
193
+ * Remi Collet
194
+ * Jean-Bernard Jansen
195
+ * David Hatch
196
+ * Derick Rethans
197
+ * Brian Samek
198
+
199
+ Peace,
200
+
201
+ A. Jesse Jiryu Davis
79
202
80
203
81
204
mongo-c-driver 1.3.5
0 commit comments