Skip to content

Commit

Permalink
Merge branch 'unified_driver' into unified_driver_private
Browse files Browse the repository at this point in the history
  • Loading branch information
mpenick committed Nov 20, 2019
2 parents 076bd23 + 7658307 commit fa8defc
Show file tree
Hide file tree
Showing 421 changed files with 20,849 additions and 27,174 deletions.
1 change: 1 addition & 0 deletions .nav
@@ -1,3 +1,4 @@
topics
dse_features
changelog
api
44 changes: 36 additions & 8 deletions CHANGELOG.md
@@ -1,25 +1,53 @@
2.15.0
===========

Features
--------
* [CPP-865] Unified driver
* We have open sourced and merged DataStax Enterprise (DSE) driver features
into a single, open source driver that supports both Apache Cassandra and
DataStax products. *Note:* DSE-specific driver features still require DSE.
* Support for the DSE authentication mechanisms including plaintext and LDAP
(via GSSAPI)
* Support for geospatial types including `POINT`, `LINESTRING`, and `POLYGON`
* Supporting JIRA issues
* [CPP-864] Merge DSE into core driver
* [CPP-867] Merge DSE docs into core driver
* [CPP-866] Move DSE uses of external authentication provider to internal interfaces
* [CPP-861] Add `CASS_USE_KERBEROS` option and return errors from dependent auth API functions

Bug Fixes
--------
* [CPP-871] Fix SSL cleanup on error conditions in mockssandra
* [CPP-855] Fix C\*/DSE protocol lowering attempts when `cass_cluster_set_use_beta_protocol_version()` is true

Other
--------
* [CPP-220] Remove use of external Boost from unit and integration tests


2.14.0
===========

Bug Fixes
--------
* [CPP-819] - Ensure port is updated on already assigned contact points
* [CPP-825] - Cloud should be verifying the peer certificates CN
* [CPP-819] Ensure port is updated on already assigned contact points
* [CPP-825] Cloud should be verifying the peer certificates CN

2.14.0-alpha2
===========

Features
--------
* [CPP-812] - Enable warnings for implicit casts and fix problems
* [CPP-813] - Detect CaaS and change consistency default
* [CPP-817] - Provide error if mixed usage of secure connect bundle and contact points/ssl context
* [CPP-812] Enable warnings for implicit casts and fix problems
* [CPP-813] Detect CaaS and change consistency default
* [CPP-817] Provide error if mixed usage of secure connect bundle and contact points/ssl context

Bug Fixes
--------
* [CPP-802] - Handle prepared id mismatch when repreparing on the fly
* [CPP-815] - Schema agreement fails with SNI
* [CPP-811] - Requests won't complete if they exceed the number of streams on a connection
* [CPP-802] Handle prepared id mismatch when repreparing on the fly
* [CPP-815] Schema agreement fails with SNI
* [CPP-811] Requests won't complete if they exceed the number of streams on a connection

2.14.0-alpha
===========
Expand Down
7 changes: 3 additions & 4 deletions CMakeLists.txt
Expand Up @@ -38,6 +38,7 @@ option(CASS_INSTALL_HEADER_IN_SUBDIR "Install header file under 'include/cassand
option(CASS_INSTALL_PKG_CONFIG "Install pkg-config file(s)" ON)
option(CASS_MULTICORE_COMPILATION "Enable multicore compilation" ON)
option(CASS_USE_BOOST_ATOMIC "Use Boost atomics library" OFF)
option(CASS_USE_KERBEROS "Use Kerberos" OFF)
option(CASS_USE_LIBSSH2 "Use libssh2 for integration tests" OFF)
option(CASS_USE_OPENSSL "Use OpenSSL" ON)
option(CASS_USE_STATIC_LIBS "Link static libraries when building executables" OFF)
Expand All @@ -53,12 +54,10 @@ if(CASS_BUILD_TESTS)
set(CASS_BUILD_UNIT_TESTS ON)
endif()

if(CASS_BUILD_INTEGRATION_TESTS)
set(CASS_USE_OPENSSL ON) # Required for integration tests
endif()

if(CASS_BUILD_INTEGRATION_TESTS OR CASS_BUILD_UNIT_TESTS)
set(CASS_BUILD_STATIC ON) # Required for tests
set(CASS_USE_OPENSSL ON) # Required for tests
set(CASS_USE_KERBEROS ON) # Required for tests
endif()

# Determine which driver target should be used as a dependency
Expand Down
4 changes: 2 additions & 2 deletions Doxyfile.in
Expand Up @@ -26,7 +26,7 @@ DOXYFILE_ENCODING = UTF-8
# identify the project. Note that if you do not use Doxywizard you need
# to put quotes around the project name if it contains spaces.

PROJECT_NAME = "DataStax C/C++ Driver"
PROJECT_NAME = "DataStax C/C++ Driver for Apache Cassandra and DataStax Products"

# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
Expand All @@ -38,7 +38,7 @@ PROJECT_NUMBER = 2.0
# for a project that appears at the top of each page and should give viewer
# a quick idea about the purpose of the project. Keep the description short.

PROJECT_BRIEF = "Library for the Cassandra native binary protocol"
PROJECT_BRIEF = "Library for the Apache Cassandra native binary protocol"

# With the PROJECT_LOGO tag one can specify an logo or icon that is
# included in the documentation. The maximum height of the logo should not
Expand Down
32 changes: 23 additions & 9 deletions README.md
@@ -1,16 +1,18 @@
# DataStax C/C++ Driver for Apache Cassandra
# DataStax C/C++ Driver for Apache Cassandra and DataStax Products

A modern, feature-rich] and highly tunable C/C++ client library for
[Apache Cassandra] 2.1+ using exclusively Cassandra's binary protocol and
Cassandra Query Language v3. __Use the [DSE C/C++ driver] for better
compatibility and support for [DataStax Enterprise]__.
Cassandra Query Language v3. This driver can also be used with other DataStax
products:

* [DataStax Enterprise]
* [DataStax Constellation]

## Getting the Driver

Binary versions of the driver, available for multiple operating systems and
multiple architectures, can be obtained from our [download server]. The
source code is made available via [GitHub]. __If using [DataStax Enterprise]
use the [DSE C/C++ driver] instead__.
source code is made available via [GitHub].

Packages for the driver's dependencies, libuv (1.x)
and OpenSSL, are also provided under the `dependencies` directory for each
Expand Down Expand Up @@ -51,6 +53,14 @@ provided with the distribution:
* [Reverse DNS] with SSL peer identity verification support
* Randomized contact points
* [Speculative execution]
* DSE Features
* [DSE authentication]
* Plaintext/DSE
* LDAP
* GSSAPI (Kerberos)
* [DSE geospatial types]
* DSE [proxy authentication][DSE Proxy Authentication] and [proxy execution][DSE Proxy Execution]
* [DSE DateRange]
* Support for [DataStax Constellation] Cloud Data Platform

## Compatibility
Expand All @@ -60,10 +70,9 @@ Cassandra's native protocol. The current version works with:

* Apache Cassandra versions 2.1, 2.2 and 3.0+
* Architectures: 32-bit (x86) and 64-bit (x64)
* Compilers: GCC 4.1.2+, Clang 3.4+, and MSVC 2010/2012/2013/2015/2017
* Compilers: GCC 4.1.2+, Clang 3.4+, and MSVC 2010/2012/2013/2015/2017/2019

If using [DataStax Enterprise] the [DSE C/C++ driver] provides more features and
better compatibility. A complete compatibility matrix for both Apache Cassandra
A complete compatibility matrix for both Apache Cassandra
and DataStax Enterprise can be found [here][cpp-driver-compatability-matrix].

__Disclaimer__: DataStax products do not support big-endian systems.
Expand Down Expand Up @@ -92,6 +101,7 @@ The driver includes several examples in the [examples] directory.
## A Simple Example
```c
#include <cassandra.h>
/* Use "#include <dse.h>" when connecting to DataStax Enterpise */
#include <stdio.h>

int main(int argc, char* argv[]) {
Expand Down Expand Up @@ -181,7 +191,6 @@ CONDITIONS OF ANY KIND, either express or implied. See the License for the
specific language governing permissions and limitations under the License.
[Apache Cassandra]: http://cassandra.apache.org
[DSE C/C++ driver]: http://docs.datastax.com/en/developer/cpp-driver-dse/latest
[DataStax Enterprise]: http://www.datastax.com/products/datastax-enterprise
[Examples]: examples/
[download server]: http://downloads.datastax.com/cpp-driver/
Expand Down Expand Up @@ -224,3 +233,8 @@ specific language governing permissions and limitations under the License.
[Custom]: http://datastax.github.io/cpp-driver/topics/security/#custom
[Reverse DNS]: http://datastax.github.io/cpp-driver/topics/security/ssl/#enabling-cassandra-identity-verification
[Speculative execution]: http://datastax.github.io/cpp-driver/topics/configuration/#speculative-execution
[DSE authentication]: http://docs.datastax.com/en/developer/cpp-driver/latest/dse_features/authentication
[DSE geospatial types]: http://docs.datastax.com/en/developer/cpp-driver/latest/dse_features/geotypes
[DSE Proxy Authentication]: http://docs.datastax.com/en/developer/cpp-driver/latest/dse_features/authentication/#proxy-authentication
[DSE Proxy Execution]: http://docs.datastax.com/en/developer/cpp-driver/latest/dse_features/authentication/#proxy-execution
[DSE DateRange]: https://github.com/datastax/cpp-driver/blob/master/examples/dse/date_range/date_range.c

0 comments on commit fa8defc

Please sign in to comment.