Changelog
Changelog for the DataStax Enterprise Node.js Driver.
DSE and OSS drivers have been unified
As of the 4.4.0 release of the DataStax Node.js Driver for Apache Cassandra® (OSS Driver), the DataStax Enterprise Node.js Driver (DSE driver) functionality has been merged into a single DataStax driver. Please refer to the blog post for more information on this change.
2.3.1
2019-11-06
Bug fixes
- [NODEJS-541] - Deprecated IdempotencyAwareRetryPolicy checks for options resulting in error
- [NODEJS-572] - TypeScript: ExecutionProfile parameters should be marked as optional
- [NODEJS-576] - MutableLong multiplication can cause infinite recursion
2.3.0
2019-10-21
Features
- [NODEJS-503] - DataStax Apollo Support
- [NODEJS-562] - TypeScript: Add generics to Mapper
Bug fixes
- [NODEJS-556] - TypeScript: Client.stream typedef has incorrect return type
- [NODEJS-557] - TypeScript: DataCollection speculateRetry should be speculativeRetry
- [NODEJS-559] - TypeScript: DataCollection object|map types
- [NODEJS-561] - TypeScript: Missing credentials in ClientOptions
2.2.0
2019-09-23
Features
- [NODEJS-464] - Include TypeScript declaration files on the package
- [NODEJS-512] - Mapper: support selecting the table or view using clustering keys from “order by”
- [NODEJS-514] - Support string input for all numeric types
- [NODEJS-515] - Mapper: support static column updates with only the partition key
- [NODEJS-545] - Introduce ‘credentials’ client option
Bug fixes
- [NODEJS-509] - Mapper: batch items promise usage can lead to unhandled rejections
- [NODEJS-524] - “RangeError: Index out of range” when fetching tuples
- [NODEJS-527] - Mapper: select query cache key uses order by portion incorrectly
- [NODEJS-529] - Tuple constructor incorrectly handles single element values
- [NODEJS-538] - Mapper query generation error: USING clause is misplaced
- [NODEJS-543] - DseGssapiAuthProvider fails with Kerberos library version 1.1.3
- [NODEJS-546] - Mapper result throws when inspected and result is not ROWS
2.1.0
2019-04-25
Features
- [NODEJS-180] - Expose API for parallel execution
- [NODEJS-100] - Provide a way to stream data in
- [NODEJS-478] - Send startup message and invoke Insights RPCs periodically
- [NODEJS-491] - Send driver name and driver version in the STARTUP message
- [NODEJS-497] - Add jitter to ExponentialReconnectionPolicy
- [NODEJS-500] - ControlConnection init: Defer host map creation until system tables have been queried
- [NODEJS-501] - Include host_id in host metadata
Bug fixes
- [NODEJS-475] - Buffer out of bounds error when reading empty byte buffers
- [NODEJS-477] - Logged message when preparing times out does not contain host address
- [NODEJS-492] - RequestLogger: Object parameter is not stringified before using substr
- [NODEJS-506] - ControlConnection queries during shutdown can leave active handles
2.0.0
2018-12-17
Features
- [NODEJS-144] - Object Mapper
- [NODEJS-104] - Randomize contact points to prevent hotspots
- [NODEJS-192] - Allow raw bytes to be input for all types
- [NODEJS-220] - Slow Query Logger
- [NODEJS-300] - Expose metrics API
- [NODEJS-331] - Bypass retry logic when query is marked as non-idempotent
- [NODEJS-345] - Expose Metadata.checkSchemaAgreement() and ExecutionInfo.isSchemaInAgreement()
- [NODEJS-366] - Latency tracker interface
- [NODEJS-379] - DCAwareRoundRobinPolicy: Throw when local datacenter is not specified
- [NODEJS-387] - Expose optional callbacks in TimeUuid.now() and TimeUuid.fromDate() as an async overload
- [NODEJS-445] - New Default Load Balancing Policy
- [NODEJS-449] - Support new JavaScript primitive type bigint
- [NODEJS-450] - Introduce a wrapper around QueryOptions
- [NODEJS-471] - Support kerberos module 1.0.0+
- [NODEJS-485] - Remove usedHostsPerRemoteDc from DCAwareRoundRobinPolicy
- [NODEJS-462] - Remove the experimental flag to the Execution Profiles
Bug fixes
- [NODEJS-473] - Zero-length map values: Fix RangeError on empty buffer in Encoder
1.7.0
2018-12-04
Features
- [NODEJS-442] - Parse Virtual Keyspace Metadata
- [NODEJS-443] - Provide a means of sending query to a specific node to facilitate virtual table queries
- [NODEJS-459] - Support for Virtual Tables/System views
- [NODEJS-487] - Deprecate DCAwareRoundRobinPolicy parameter for inter-DC failover
Bug fixes
- [NODEJS-465] - Table metadata fetch fails when using ES2015 Set and C* 3.0+
- [NODEJS-472] - Connections attempts are made when a new node is bootstrapped even if its marked as “ignored”
- [NODEJS-474] - Retry on current host should be made on a different connection
1.6.0
2018-04-17
Features
- [NODEJS-384] - Support new ‘nodesync’ option in table metadata
- [NODEJS-394] - Include hash of result set metadata in prepared statement id
- [NODEJS-395] - Per-query (and per-batch) keyspace support
- [NODEJS-407] - Add NO_COMPACT option
- [NODEJS-426] - Log driver version on Client.connect
- [NODEJS-431] - Consider using OPTIONS for heartbeats instead of ‘select key from system.local’
- [NODEJS-434] - DETERMINISTIC and MONOTONIC Clauses for Function and Aggregate
Bug fixes
- [NODEJS-412] - Methods to retrieve schema metadata should reject promise when not connected
- [NODEJS-418] - Add jsdoc for each response error code
- [NODEJS-428] - Connection associated with reconnect is not fully closed when STARTUP times out on node that is unresponsive
- Use all columns from peers in ControlConnection
- Remove buffers
noAssert
argument
1.5.1
2018-02-20
Bug Fixes
- [NODEJS-429] - Additional validation needed in Encoder.setRoutingKeyFromUser to ensure provided routing key is valid
- [NODEJS-430] - Unexpected error when query execution doesn’t include parameters which are part of the partition key
1.5.0
2018-02-05
Features
- [NODEJS-95] - Expose node token and range information
- [NODEJS-335] - Avoid using Object.defineProperty() for type representations
- [NODEJS-344] - Verbose logging on Connection overhead
- [NODEJS-363] - Drop support for Node.js v0.10 and v0.12
- [NODEJS-378] - DCAwareRoundRobinPolicy: Warn when the local datacenter is not specified
- [NODEJS-388] - Drop support for domains
- [NODEJS-396] - Handle bulked results in Graph
- [NODEJS-400] - Modify the message for batch log write failures
- [NODEJS-402] - Batch: Use routing key from first statement
- [NODEJS-404] - Use pooling.warmup to true as default
- [NODEJS-405] - Use system.peers in protocol negotiation
- [NODEJS-406] - Use ES2015 - Modernize codebase
- [NODEJS-409] - alreadyExists error does not include keyspace and table attributes
- [NODEJS-417] - Handle network stream backpressure when writing and limit write queue
Bug Fixes
- [NODEJS-390] - Buffer.from() fails in older versions of Node.js v4 (lower than v4.5)
- [NODEJS-403] - NoHostAvailableError does not call super DriverError constructor
- [NODEJS-415] - Incorrect Murmur3 hashing of tokens which byte length satisfy length & 15 >= 12
- [NODEJS-419] - Token to Replica map can omit replicas for vnodes
1.4.0
2017-09-19
Features
- [NODEJS-82] - Speculative query retries
- [NODEJS-287] - Provide metrics on the state of connections to Cassandra
- [NODEJS-308] - Add CDC to TableOptionsMetadata and TableOptions for Cassandra 3.8+
- [NODEJS-309] - Allow prepared statements to be prepared on all nodes
- [NODEJS-339] - Avoid using deprecated Buffer constructors
- [NODEJS-343] - Improve performance of Murmur 3 partitioner
- [NODEJS-359] - Add ‘applied’ to ResultSet, similar to java-drivers ResultSet.wasApplied()
- [NODEJS-375] - Expose optional callbacks Uuid.random() as async overload
- [NODEJS-376] - Stringify tokens once to simplify computations when building token map
Bug Fixes
- [NODEJS-365] - Routing key component length is encoded as int16 instead of uint16
- [NODEJS-370] - Consistency of trace queries is not configurable
- [NODEJS-373] - Empty string in a map field returned as null on query
1.3.1
2017-06-05
Bug Fixes
- [NODEJS-346] - Shutdown doesn’t work if error occurs after control connection initialization
- [NODEJS-347] - Metadata: Schema parser fails to handle index_options null values
- [NODEJS-355] - Domain without dots will not connect
- [NODEJS-358] - TokenAwarePolicy does not take statement keyspace into account
- [NODEJS-360] - ControlConnection: when any of the queries to refresh topology fail it will not attempt to reconnect
- [NODEJS-362] - Driver fails to encode Duration’s with large values
1.3.0
2017-04-18
Bug Fixes
- [NODEJS-350] - Handle new WRITE_FAILURE and READ_FAILURE format in DSE_V1 protocol
1.3.0-beta1
2017-02-13
Notable Changes
- Removed
cassandra-driver
external dependency. The DSE driver is now self-contained. - Support for DSE 5.1 EAP3.
Improvements
- [NODEJS-324] - DSE Auth 5.1: Support Proxy Authentication in 5.1
- [NODEJS-328] - Support DSE 5.1 DateRangeField
- [NODEJS-329] - Read optional workload set from node metadata
- [NODEJS-332] - Support Duration Type
- [NODEJS-338] - Make protocol negotiation more resilient
1.2.0
2017-01-17
Notable Changes
- Promise support (#194).
- Timestamp generation: client-side timestamps are generated and sent in the request by default when the server supports it (#195).
- Added
isIdempotent
query option which is set tofalse
by default: future versions of the driver will use this value to consider whether an execution should be retried or directly rethrown to the consumer without using the retry policy (#197).
Improvements
- [NODEJS-334] - Support promises in
executeGraph()
method - [NODEJS-336] - Update core driver dependency to v3.2.0
1.1.0
2016-11-18
Improvements
- [NODEJS-316] - Implement fromString() method for geotypes
- [NODEJS-317] - Support bytecode-json decoding in the DSE Driver
- [NODEJS-318] - Include graph language in the Execution Profiles
1.0.4
2016-10-07
Improvements
- [NODEJS-315] - Update core driver dependency to v3.1.5.
1.0.3
2016-09-21
Improvements
- [NODEJS-311] - Update core driver dependency to v3.1.4.
1.0.2
2016-08-31
Improvements
- [NODEJS-305] - Update core driver dependency to v3.1.3.
1.0.1
2016-08-30
Improvements
- [NODEJS-302] - Update core driver dependency to v3.1.2.
1.0.0
2016-08-30
General availability version