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+ ----------------------------
352
453Unacknowledged writes (writes whose mongoc_write_concern_t "w" value is zero)
554now 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:
2877 * mongoc_find_and_modify_opts_set_max_time_ms
2978 * mongoc_find_and_modify_opts_append
3079
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+
3188New functions support language drivers (specifically the PHP and HHVM drivers)
3289using only the libmongoc public API:
3390
3491 * mongoc_bulk_operation_get_hint
3592 * mongoc_client_command_simple_with_server_id
3693 * mongoc_client_get_server_description
94+ * mongoc_client_get_server_description_by_id
3795 * mongoc_client_get_server_descriptions
3896 * mongoc_client_select_server
3997 * mongoc_cursor_get_limit
4098 * mongoc_cursor_new_from_command_reply
99+ * mongoc_cursor_set_hint
41100 * mongoc_cursor_set_limit
42101 * mongoc_log_trace_disable
43102 * mongoc_log_trace_enable
44103 * mongoc_server_description_ismaster
104+ * mongoc_server_description_round_trip_time
45105 * mongoc_server_description_type
46106 * mongoc_server_descriptions_destroy_all
47107 * mongoc_uri_get_option_as_bool
@@ -68,14 +128,77 @@ Now that these public APIs are available, the PHP drivers no longer define the
68128MONGOC_I_AM_A_DRIVER preprocessor symbol to access private APIs. The symbol is
69129removed from C Driver headers, and libmongoc-priv.so is no longer installed.
70130
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+ ------------
73142
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:
76146
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
79202
80203
81204mongo-c-driver 1.3.5
0 commit comments