Skip to content

Commit

Permalink
cassandra.h, changelog and documentation updates for 2.17.0 (#552)
Browse files Browse the repository at this point in the history
  • Loading branch information
absurdfarce authored Aug 8, 2023
1 parent a865ff7 commit f49a413
Show file tree
Hide file tree
Showing 7 changed files with 118 additions and 249 deletions.
18 changes: 17 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,27 @@
2.17.0
===========
* [CPP-942] Add docs on possibility of MITM attacks with cass_cluster_set_use_hostname_resolution()
* [CPP-955] Unable to use different memory allocators and profilers when using the cassandra driver
* [CPP-957] Update build/test platforms
* [CPP-919] CMake 3.16 deprecation warnings

Community
--------
* [PR #522] Iterate over all certificates in a trusted cert BIO, not just the first (kw217)
* [PR #528] Add support for newer versions of LibreSSL (gahr)
* [PR #525] Allow users to request TLS client-side enforcement (FalacerSelene)

2.16.2
===========

Bug Fixes
--------
* [CPP-946] Core dump on unclean event loop shutdown
* [PR #513] Fix SNI events
* [PR #518] Replace deprecated function for OpenSSL >= 3.0

Community
--------
* [PR #518] Replace deprecated function for OpenSSL >= 3.0 (pjgeorg)

2.16.1
===========
Expand Down
14 changes: 7 additions & 7 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -263,7 +263,7 @@ def testDriverInstallation() {
}

def deployDriver() {
withCredentials([usernameColonPassword(credentialsId: 'drivers-artifactory-upload-username-encrypted-password', variable: 'ARTIFACTORY_CREDENTIALS'),
withCredentials([usernameColonPassword(credentialsId: 'cpp-drivers-artifactory-upload-username-encrypted-password', variable: 'ARTIFACTORY_CREDENTIALS'),
string(credentialsId: 'artifactory-base-url', variable: 'ARTIFACTORY_BASE_URL')]) {
sh label: 'Deploy driver to Artifactory', script: '''#!/bin/bash -le
. ${DRIVER_BUILD_SCRIPT}
Expand Down Expand Up @@ -406,9 +406,9 @@ pipeline {
choice(
name: 'ADHOC_BUILD_AND_EXECUTE_TESTS_SERVER_VERSION',
choices: [
'3.0', // Previous Apache Cassandra®
'3.11', // Current Apache Cassandra®
'4.0', // Development Apache Cassandra®
'3.0', // Previous Apache Cassandra
'3.11', // Current Apache Cassandra
'4.0', // Development Apache Cassandra
'dse-5.1.35', // Legacy DataStax Enterprise
'dse-6.8.30', // Development DataStax Enterprise
'ALL'],
Expand Down Expand Up @@ -728,9 +728,9 @@ pipeline {
axes {
axis {
name 'SERVER_VERSION'
values '3.0', // Previous Apache Cassandra®
'3.11', // Current Apache Cassandra®
'4.0', // Development Apache Cassandra®
values '3.0', // Previous Apache Cassandra
'3.11', // Current Apache Cassandra
'4.0', // Development Apache Cassandra
'dse-5.1.35', // Legacy DataStax Enterprise
'dse-6.8.30' // Development DataStax Enterprise
}
Expand Down
76 changes: 44 additions & 32 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,28 @@ products:

## 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].

Packages for the driver's dependencies, libuv (1.x), OpenSSL, and zlib are also
provided under the `dependencies` directory for each platform (if applicable).
__Note__: CentOS and Ubuntu use the version of OpenSSL and zlib provided with the
distribution:

* [CentOS 6][centos-6-dependencies]
* [CentOS 7][centos-7-dependencies]
* [CentOS 8][centos-8-dependencies]
* [Ubuntu 14.04][ubuntu-14-04-dependencies]
* [Ubuntu 16.04][ubuntu-16-04-dependencies]
* [Ubuntu 18.04][ubuntu-18-04-dependencies]
* [Windows][windows-dependencies]
The source code is made available via [GitHub]. Additionally binary versions of
the driver (for multiple operating systems and multiple architectures) can be
obtained from our [Artifactory server]. Binaries are available for the following
operating systems:

* CentOS 7
* Rocky Linux 8.8
* Rocky Linux 9.2
* Ubuntu 20.04
* Ubuntu 22.04
* Windows

The driver depends on the following libraries:

* libuv (1.x)
* OpenSSL
* zlib

The version of OpenSSL and zlib provided with each Linux distribution above can be used
to build the driver. A version of libuv > 1.x is provided for CentOS 7 and Rocky
Linux; this can be found under the `dependencies` directory for each platform.
Packages for all three dependencies are provided for Windows distributions.

## Upgrading

Expand All @@ -41,7 +47,7 @@ Linking changes will be required when migrating to this driver. Replace `-ldse`

No changes will be required when upgrading to this driver. There will be new
driver dependencies when using any of the binary versions obtained from our
[download server] as [Kerberos] is utilized in the [DSE features] of this
[Artifactory server] as [Kerberos] is utilized in the [DSE features] of this
driver. See the [installation] section for more information on obtaining the
dependencies for a specific platform.

Expand Down Expand Up @@ -85,11 +91,22 @@ dependencies for a specific platform.
## Compatibility

This driver works exclusively with the Cassandra Query Language v3 (CQL3) and
Cassandra's native protocol. The current version works with:
Cassandra's native protocol. The current version works with the following
server versions:

* Apache Cassandra® versions 3.0.x, 3.11.x and 4.0.x
* DSE versions 6.8.x and 5.1.x

Both 32-bit (x86) and 64-bit (x64) architectures are supported

We build and test the driver on the following platforms:

* 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/2019
* CentOS 7 w/ gcc 4.8.5
* Rocky Linux 8.8 w/ gcc 8.5.0
* Rocky Linux 9.2 w/ gcc 11.3.1
* Ubuntu 20.04 w/ gcc 9.4.0
* Ubuntu 22.04 w/ gcc 11.3.0
* Microsoft Visual Studio 2013, 2015, 2017 and 2019

A complete compatibility matrix for both Apache Cassandra®
and DataStax Enterprise can be found [here][cpp-driver-compatability-matrix].
Expand All @@ -105,8 +122,8 @@ __Disclaimer__: DataStax products do not support big-endian systems.

## Getting Help

* JIRA: https://datastax-oss.atlassian.net/browse/CPP
* Mailing List: https://groups.google.com/a/lists.datastax.com/forum/#!forum/cpp-driver-user
* JIRA: [jira]
* Mailing List: [mailing list]

## Examples

Expand Down Expand Up @@ -207,20 +224,15 @@ specific language governing permissions and limitations under the License.
[Apache Cassandra®]: http://cassandra.apache.org
[DataStax Enterprise]: http://www.datastax.com/products/datastax-enterprise
[Examples]: examples/
[download server]: http://downloads.datastax.com/cpp-driver/
[Artifactory server]: https://datastax.jfrog.io/artifactory/cpp-php-drivers/cpp-driver/builds
[GitHub]: https://github.com/datastax/cpp-driver
[cpp-driver-compatability-matrix]: https://docs.datastax.com/en/developer/driver-matrix/doc/cppDrivers.html#cpp-drivers
[cpp-driver-compatability-matrix]: https://docs.datastax.com/en/driver-matrix/docs/cpp-drivers.html
[Home]: http://docs.datastax.com/en/developer/cpp-driver/latest
[API]: http://docs.datastax.com/en/developer/cpp-driver/latest/api
[Getting Started]: http://docs.datastax.com/en/developer/cpp-driver/latest/topics
[Building]: http://docs.datastax.com/en/developer/cpp-driver/latest/topics/building
[centos-6-dependencies]: http://downloads.datastax.com/cpp-driver/centos/6/dependencies
[centos-7-dependencies]: http://downloads.datastax.com/cpp-driver/centos/7/dependencies
[centos-8-dependencies]: http://downloads.datastax.com/cpp-driver/centos/8/dependencies
[ubuntu-14-04-dependencies]: http://downloads.datastax.com/cpp-driver/ubuntu/14.04/dependencies
[ubuntu-16-04-dependencies]: http://downloads.datastax.com/cpp-driver/ubuntu/16.04/dependencies
[ubuntu-18-04-dependencies]: http://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies
[windows-dependencies]: http://downloads.datastax.com/cpp-driver/windows/dependencies
[jira]: https://datastax-oss.atlassian.net/browse/CPP
[mailing list]: https://groups.google.com/a/lists.datastax.com/forum/#!forum/cpp-driver-user
[DataStax Astra]: https://astra.datastax.com
[Kerberos]: https://web.mit.edu/kerberos
Expand Down
22 changes: 3 additions & 19 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ hosts:
cpp-driver.hostname.: 127.254.254.254
environment:
ARTIFACTORY_BASE_URI:
secure: JgzXEe8SETmb1jGeufZM87ov61t4gvBp/Gq0Q9lCfi41fMgV2z/21SiCobd+twf2aV5Wm+hqBLLdDwukT4UmqSWhfyq7S0CbHmaGzTXG3PE=
secure: 5bD6WmK8IFF9jHmEJ75NqryMijhEtC6eRKhA+fYbSFTwCwc9qOAdB1Lpt8CCiaNfD65i3M0rqQYLj3DL3hGTMrBMTqZnVWer5IvowlEWps8=
ARTIFACTORY_USERNAME:
secure: PLLc0JCL9I7y8zw8p9meQhxXGAbyWCjyWO17xKOsyxE=
secure: o2wIBhhU3l2RmYrB+bWAq21iSZahJxHhJKoWKsjadTI=
ARTIFACTORY_PASSWORD:
secure: h28bN22Py3CZPqrWoZWEjIFnpes+kslusCKP1mRYdUqBEf+OO1kFEQTZ9DGD7tuCSIIRDI3Mf9LX8zgUdmdlZA==
secure: npn828fxSYtJ4i/yeONCL7Oc2He42Ti/ohofbykRyBTlQCzIRIUYvh7iO6yqea3uAqjAMc9OtQzjy3CqH8/Vgkdk22lT/ceCfSJIpEtZwrg=
APPVEYOR_IGNORE_COMMIT_FILTERING_ON_TAG: true
DRIVER_TYPE: CASS
LIBSSH2_VERSION: 1.9.0
Expand All @@ -43,22 +43,6 @@ environment:
OPENSSL_1_1_VERSION: 1.1.1d
ZLIB_VERSION: 1.2.11
matrix:
- CMAKE_GENERATOR: Visual Studio 10 2010
OPENSSL_MAJOR_MINOR: 1.0
VISUAL_STUDIO_INTERNAL_VERSION: 100
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# - CMAKE_GENERATOR: Visual Studio 10 2010
# OPENSSL_MAJOR_MINOR: 1.1
# VISUAL_STUDIO_INTERNAL_VERSION: 100
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- CMAKE_GENERATOR: Visual Studio 11 2012
OPENSSL_MAJOR_MINOR: 1.0
VISUAL_STUDIO_INTERNAL_VERSION: 110
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# - CMAKE_GENERATOR: Visual Studio 11 2012
# OPENSSL_MAJOR_MINOR: 1.1
# VISUAL_STUDIO_INTERNAL_VERSION: 110
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
- CMAKE_GENERATOR: Visual Studio 12 2013
OPENSSL_MAJOR_MINOR: 1.0
VISUAL_STUDIO_INTERNAL_VERSION: 120
Expand Down
2 changes: 1 addition & 1 deletion include/cassandra.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
#define CASS_VERSION_MAJOR 2
#define CASS_VERSION_MINOR 17
#define CASS_VERSION_PATCH 0
#define CASS_VERSION_SUFFIX "rc1"
#define CASS_VERSION_SUFFIX ""

#ifdef __cplusplus
extern "C" {
Expand Down
50 changes: 15 additions & 35 deletions topics/building/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,12 @@ The DataStax C/C++ Driver for Apache Cassandra and DataStax Products will build
on most standard Unix-like and Microsoft Windows platforms. Packages are
available for the following platforms:

* [CentOS 6][cpp-driver-centos6]
* [CentOS 7][cpp-driver-centos7]
* [CentOS 8][cpp-driver-centos8]
* [Ubuntu 14.04 LTS][cpp-driver-ubuntu14-04]
* [Ubuntu 16.04 LTS][cpp-driver-ubuntu16-04]
* [Ubuntu 18.04 LTS][cpp-driver-ubuntu18-04]
* [Windows][cpp-driver-windows]
* CentOS 7
* Rocky Linux 8.8
* Rocky Linux 9.2
* Ubuntu 20.04
* Ubuntu 22.04
* Windows

__NOTE__: The build procedures only need to be performed for driver development
or if your system doesn't have packages available for download and
Expand All @@ -19,13 +18,13 @@ __NOTE__: The build procedures only need to be performed for driver development
## Compatibility

* Architectures: 32-bit (x86) and 64-bit (x64)
* Compilers: GCC 4.1.2+ Clang 3.4+, and MSVC 2010/2012/2013/2015/2017/2019
* Compilers: GCC 4.8.5+ Clang 3.4+, and MSVC 2013/2015/2017/2019

## Dependencies

The C/C++ driver depends on the following software:

* [CMake] v2.6.4+
* [CMake] v2.8.12+
* [libuv] 1.x
* Kerberos v5 ([Heimdal] or [MIT]) \*
* [OpenSSL] v1.0.x or v1.1.x \*\*
Expand Down Expand Up @@ -101,16 +100,12 @@ libuv v1.x should be used in order to ensure all features of the C/C++ driver
are available. When using a package manager for your operating system make sure
you install v1.x; if available.

##### CentOS/RHEL and Ubuntu packages
##### CentOS, Rocky and Ubuntu packages

Packages are available from our [download server]:

* [CentOS 6][libuv-centos6]
* [CentOS 7][libuv-centos7]
* [CentOS 8][libuv-centos8]
* [Ubuntu 14.04 LTS][libuv-ubuntu14-04]
* [Ubuntu 16.04 LTS][libuv-ubuntu16-04]
* [Ubuntu 18.04 LTS][libuv-ubuntu18-04]
Packages are available from our [Artifactory server]. Select the driver version,
build and platform and then look for the `dependencies` directory. Note that the
version of libuv available on Ubuntu can be used when building the driver. As a
result we only provide packages for CentOS and Rocky.

##### Mac OS (Brew)

Expand Down Expand Up @@ -255,7 +250,7 @@ cmake -DCASS_BUILD_UNIT_TESTS=On ..

## Windows

The driver is known to build with Visual Studio 2010, 2012, 2013, 2015, 2017, and 2019.
The driver is known to build with Visual Studio 2013, 2015, 2017, and 2019.

### Obtaining build dependencies

Expand All @@ -278,8 +273,6 @@ First you will need to open a "Command Prompt" to execute the CMake commands.
#### Building the C/C++ driver

Supported generators are:
* Visual Studio 10 2010
* Visual Studio 11 2012
* Visual Studio 12 2013
* Visual Studio 14 2015
* Visual Studio 15 2017
Expand Down Expand Up @@ -329,20 +322,7 @@ cmake -G "Visual Studio 16 2019" -A x64 -DCASS_BUILD_INTEGRATION_TESTS=On ..
cmake -G "Visual Studio 16 2019" -A x64 -DCASS_BUILD_UNIT_TESTS=On ..
```

[download server]: http://downloads.datastax.com
[cpp-driver-centos6]: http://downloads.datastax.com/cpp-driver/centos/6/cassandra
[cpp-driver-centos7]: http://downloads.datastax.com/cpp-driver/centos/7/cassandra
[cpp-driver-centos8]: http://downloads.datastax.com/cpp-driver/centos/8/cassandra
[cpp-driver-ubuntu14-04]: http://downloads.datastax.com/cpp-driver/ubuntu/14.04/cassandra
[cpp-driver-ubuntu16-04]: http://downloads.datastax.com/cpp-driver/ubuntu/16.04/cassandra
[cpp-driver-ubuntu18-04]: http://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra
[cpp-driver-windows]: http://downloads.datastax.com/cpp-driver/windows/cassandra
[libuv-centos6]: http://downloads.datastax.com/cpp-driver/centos/6/dependencies/libuv
[libuv-centos7]: http://downloads.datastax.com/cpp-driver/centos/7/dependencies/libuv
[libuv-centos8]: http://downloads.datastax.com/cpp-driver/centos/8/dependencies/libuv
[libuv-ubuntu14-04]: http://downloads.datastax.com/cpp-driver/ubuntu/14.04/dependencies/libuv
[libuv-ubuntu16-04]: http://downloads.datastax.com/cpp-driver/ubuntu/16.04/dependencies/libuv
[libuv-ubuntu18-04]: http://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv
[Artifactory server]: https://datastax.jfrog.io/artifactory/cpp-php-drivers/cpp-driver/builds
[Homebrew]: https://brew.sh
[Bison]: http://gnuwin32.sourceforge.net/downlinks/bison.php
[CMake]: http://www.cmake.org/download
Expand Down
Loading

0 comments on commit f49a413

Please sign in to comment.