Skip to content

Commit 962dad6

Browse files
committed
1.4.0-beta1 Release
Signed-off-by: A. Jesse Jiryu Davis <[email protected]>
1 parent b11dc40 commit 962dad6

File tree

2 files changed

+132
-9
lines changed

2 files changed

+132
-9
lines changed

NEWS

+131-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,54 @@
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

453
Unacknowledged writes (writes whose mongoc_write_concern_t "w" value is zero)
554
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:
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+
3188
New functions support language drivers (specifically the PHP and HHVM drivers)
3289
using 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
68128
MONGOC_I_AM_A_DRIVER preprocessor symbol to access private APIs. The symbol is
69129
removed 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

81204
mongo-c-driver 1.3.5

VERSION_CURRENT

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.4.0-dev
1+
1.4.0-beta1

0 commit comments

Comments
 (0)