Changelog
1.8.2
- [bug] JAVA-2285: Add missing DseCluster.Builder overrides.
- [new feature] JAVA-2091: Implement client startup events.
- [new feature] JAVA-2094: Implement client status events.
- [improvement] JAVA-2317: Reduce log level when Insights events fail to be sent.
Merged from OSS 3.x:
- [bug] JAVA-2193: Fix flaky tests in WarningsTest.
- [bug] JAVA-2249: Stop stripping trailing zeros in ByteOrderedTokens.
- [bug] JAVA-1492: Don’t immediately reuse busy connections for another request.
- [bug] JAVA-2198: Handle UDTs with names that clash with collection types.
- [bug] JAVA-2204: Avoid memory leak when client holds onto a stale TableMetadata instance.
1.8.1
Merged from OSS 3.x:
- [bug] JAVA-2174: Metadata.needsQuote should accept empty strings.
1.8.0
- [bug] JAVA-2120: Prevent race condition on Continuous Paging failures.
- [documentation] JAVA-2051: Update Native Protocol documentation page to include new DSE versions.
- [improvement] JAVA-1892: Update TinkerPop to 3.4.
Merged from OSS 3.x:
- [improvement] JAVA-2025: Include exception message in Abstract*Codec.accepts(null).
- [improvement] JAVA-1980: Use covariant return types in RemoteEndpointAwareJdkSSLOptions.Builder methods.
- [documentation] JAVA-2062: Document frozen collection preference with Mapper.
- [bug] JAVA-2071: Fix NPE in ArrayBackedRow.toString().
- [bug] JAVA-2070: Call onRemove instead of onDown when rack and/or DC information changes for a host.
- [improvement] JAVA-1256: Log parameters of BuiltStatement in QueryLogger.
- [documentation] JAVA-2074: Document preference for LZ4 over Snappy.
- [bug] JAVA-1612: Include netty-common jar in binary tarball.
- [improvement] JAVA-2003: Simplify CBUtil internal API to improve performance.
- [improvement] JAVA-2002: Reimplement TypeCodec.accepts to improve performance.
- [documentation] JAVA-2041: Deprecate cross-DC failover in DCAwareRoundRobinPolicy.
- [documentation] JAVA-1159: Document workaround for using tuple with udt field in Mapper.
- [documentation] JAVA-1964: Complete remaining “Coming Soon” sections in docs.
- [improvement] JAVA-1950: Log server side warnings returned from a query.
- [improvement] JAVA-2123: Allow to use QueryBuilder for building queries against Materialized Views.
- [bug] JAVA-2082: Avoid race condition during cluster close and schema refresh.
1.7.0
- [improvement] JAVA-1933: Send client name, application name and version in STARTUP message.
Merged from OSS 3.x:
- [improvement] JAVA-1394: Add request-queue-depth metric.
- [bug] JAVA-1872: Retain table’s views when processing table update.
- [improvement] JAVA-1857: Add Statement.setHost.
- [bug] JAVA-1920: Use nanosecond precision in LocalTimeCodec#format().
- [bug] JAVA-1794: Driver tries to create a connection array of size -1.
- [new feature] JAVA-1899: Support virtual tables.
- [bug] JAVA-1908: TableMetadata.asCQLQuery does not add table option ‘memtable_flush_period_in_ms’ in the generated query.
- [bug] JAVA-1924: StatementWrapper setters should return the wrapping statement.
- [new feature] JAVA-1532: Add Codec support for Java 8’s LocalDateTime and ZoneId.
- [improvement] JAVA-1786: Use Google code formatter.
- [bug] JAVA-1871: Change LOCAL_SERIAL.isDCLocal() to return true.
- [documentation] JAVA-1902: Clarify unavailable & request error in DefaultRetryPolicy javadoc.
- [new feature] JAVA-1903: Add WhiteListPolicy.ofHosts.
- [bug] JAVA-1928: Fix GuavaCompatibility for Guava 26.
- [bug] JAVA-1935: Add null check in QueryConsistencyException.getHost.
- [improvement] JAVA-1771: Send driver name and version in STARTUP message.
- [improvement] JAVA-1388: Add dynamic port discovery for system.peers_v2.
- [documentation] JAVA-1810: Note which setters are not propagated to PreparedStatement.
- [bug] JAVA-1944: Surface Read and WriteFailureException to RetryPolicy.
- [bug] JAVA-1211: Fix NPE in cluster close when cluster init fails.
- [bug] JAVA-1220: Fail fast on cluster init if previous init failed.
- [bug] JAVA-1929: Preempt session execute queries if session was closed.
Merged from 1.6.x:
- [bug] JAVA-1953: Allow Distance to be Serializable.
1.6.9
Merged from 1.2.x:
- [bug] JAVA-1953: Allow Distance to be Serializable.
1.6.8
- [bug] JAVA-1888: Don’t throw exception on prepare when keyspace set on Statement.
Merged from OSS 3.5.x:
- [bug] JAVA-1872: Retain table’s views when processing table update.
1.6.7
- [improvement] JAVA-1809: Update TinkerPop dependency to the latest 3.3 line (3.3.3).
1.6.6
Merged from OSS 3.x:
- [bug] JAVA-1797: Use jnr-ffi version required by jnr-posix.
1.6.5
- [bug] JAVA-1757: Fix race condition in MultiResponseRequestHandler.
- [new feature] JAVA-1781: Add DETERMINISTIC and MONOTONIC clauses for Function and Aggregate.
- [improvement] JAVA-1783: Include artifact pom files in tarball distribution.
Merged from OSS 3.x:
- [improvement] JAVA-1448: TokenAwarePolicy should respect child policy ordering.
- [bug] JAVA-1751: Include defaultTimestamp length in encodedSize for protocol version >= 3.
- [bug] JAVA-1770: Fix message size when using Custom Payload.
- [documentation] JAVA-1760: Add metrics documentation.
- [improvement] JAVA-1765: Update dependencies to latest patch versions.
- [improvement] JAVA-1752: Deprecate DowngradingConsistencyRetryPolicy.
- [improvement] JAVA-1735: Log driver version on first use.
- [documentation] JAVA-1380: Add FAQ entry for errors arising from incompatibilities.
- [improvement] JAVA-1748: Support IS NOT NULL and != in query builder.
- [documentation] JAVA-1740: Mention C*2.2/3.0 incompatibilities in paging state manual.
- [improvement] JAVA-1725: Add a getNodeCount method to CCMAccess for easier automation.
- [new feature] JAVA-708: Add means to measure request sizes.
- [documentation] JAVA-1788: Add example for enabling host name verification to SSL docs.
- [improvement] JAVA-1791: Revert “JAVA-1677: Warn if auth is configured on the client but not the server.”
- [bug] JAVA-1789: Account for flags in Prepare encodedSize.
1.6.4
Merged from 1.5.x:
- [bug] JAVA-1744: Fix SearchPredicate phrase and tokenize bugs.
- [improvement] JAVA-1749: Make SASL properties configurable in DseGSSAPIAuthProvider.
1.6.3
- [new feature] JAVA-1718: Add NodeSync table option to SchemaBuilder.
- [improvement] JAVA-1724: Fix regressions from JAVA-1692 for 1.6.
Merged from 1.5.x:
- [bug] JAVA-1692: Fix regressions from JAVA-1329.
- [improvement] JAVA-1671: Remove unnecessary test on prepared statement metadata.
- [bug] JAVA-1694: Upgrade to jackson-databind 2.7.9.2 to address CVE-2015-15095.
- [documentation] JAVA-1685: Clarify recommendation on preparing SELECT *.
- [improvement] JAVA-1679: Improve error message on batch log write timeout.
- [improvement] JAVA-1672: Remove schema agreement check when repreparing on up.
- [improvement] JAVA-1677: Warn if auth is configured on the client but not the server.
- [new feature] JAVA-1651: Add NO_COMPACT startup option.
- [improvement] JAVA-1683: Add metrics to track writes to nodes.
- [new feature] JAVA-1229: Allow specifying the keyspace for individual queries.
- [improvement] JAVA-1682: Provide a way to record latencies for cancelled speculative executions.
- [improvement] JAVA-1717: Add metrics to latency-aware policy.
1.6.2
- [bug] JAVA-1666: Fix keyspace export when a UDT has case-sensitive field names.
- [improvement] JAVA-1670: Support user-provided JMX ports for CCMBridge.
- [improvement] JAVA-1661: Avoid String.toLowerCase if possible in Metadata.
- [improvement] JAVA-1659: Expose low-level flusher tuning options.
- [improvement] JAVA-1660: Support netty-transport-native-epoll in OSGi container.
1.6.1
- [bug] JAVA-1663: Fix prepared conditional updates.
1.6.0
- [new feature] JAVA-1610: Add DSE_V2 protocol.
- [new feature] JAVA-1580: Support new ‘nodesync’ option.
- [documentation] JAVA-1479: Update README.
- [new feature] JAVA-1311: Create a fluent way of batching updates to graph.
- [new feature] JAVA-1603: Send keyspace option per-query.
- [documentation] JAVA-1549: Clarify API docs for .fromGeoJson() geometry types.
- [improvement] JAVA-1196: Include hash of result set metadata in prepared statement id.
- [improvement] JAVA-1644: Use DsePlainTextAuthProvider for DseCluster.withCredentials.
- [bug] JAVA-1653: Always use metadata from first ROWS response for Continuous Paging.
- [improvement] JAVA-1620: Expose ports and server_id in Host metadata.
Merged from OSS 3.x:
- [bug] JAVA-1555: Include VIEW and CDC in WriteType.
- [bug] JAVA-1599: exportAsString improvements (sort, format, clustering order)
- [improvement] JAVA-1587: Deterministic ordering of columns used in Mapper#saveQuery
- [improvement] JAVA-1500: Add a metric to report number of in-flight requests.
- [bug] JAVA-1438: QueryBuilder check for empty orderings.
- [improvement] JAVA-1490: Allow zero delay for speculative executions.
- [documentation] JAVA-1607: Add FAQ entry for netty-transport-native-epoll.
- [bug] JAVA-1630: Fix Metadata.addIfAbsent.
- [improvement] JAVA-1619: Update QueryBuilder methods to support Iterable input.
- [improvement] JAVA-1527: Expose host_id and schema_version on Host metadata.
- [new feature] JAVA-1377: Add support for TWCS in SchemaBuilder.
- [improvement] JAVA-1631: Publish a sources jar for driver-core-tests.
- [improvement] JAVA-1632: Add a withIpPrefix(String) method to CCMBridge.Builder.
- [bug] JAVA-1639: VersionNumber does not fullfill equals/hashcode contract.
1.5.1
Merged from DSE 1.2.x:
- [bug] JAVA-1744: Fix SearchPredicate phrase and tokenize bugs.
- [improvement] JAVA-1749: Make SASL properties configurable in DseGSSAPIAuthProvider.
1.5.0
- [improvement] JAVA-1675: Remove dates from copyright headers.
- [bug] JAVA-1692: Fix regressions from JAVA-1329.
Merged from OSS 3.x:
- [improvement] JAVA-1671: Remove unnecessary test on prepared statement metadata.
- [bug] JAVA-1694: Upgrade to jackson-databind 2.7.9.2 to address CVE-2015-15095.
- [documentation] JAVA-1685: Clarify recommendation on preparing SELECT *.
- [improvement] JAVA-1679: Improve error message on batch log write timeout.
- [improvement] JAVA-1672: Remove schema agreement check when repreparing on up.
- [improvement] JAVA-1677: Warn if auth is configured on the client but not the server.
- [new feature] JAVA-1651: Add NO_COMPACT startup option.
- [improvement] JAVA-1683: Add metrics to track writes to nodes.
- [new feature] JAVA-1229: Allow specifying the keyspace for individual queries.
- [improvement] JAVA-1682: Provide a way to record latencies for cancelled speculative executions.
- [improvement] JAVA-1717: Add metrics to latency-aware policy.
1.4.0
- [documentation] JAVA-1543: Update Contributing guide for DSE driver.
- [bug] JAVA-1578: Cannot connect without credentials to a DSE cluster with transitional mode set to normal.
- [improvement] JAVA-1467: Handle bulked results in Graph.
- [bug] JAVA-1540: DefaultVertex
toString()
printsDefaultElement
. - [improvement] JAVA-1476: Improve GraphSON2 ser/de performance.
- [bug] JAVA-1512: Mapper.checkNotInEventLoop does not work with DseSession.
- [bug] JAVA-1472: Creating more than one DseCluster in single process produces WARNs in logs.
- [new feature] JAVA-1475: Allow users to implement DSLs with GLVs.
Merged from OSS 3.x:
- [documentation] JAVA-1550: FAQ Entry for BusyPoolException.
1.3.0
- [new feature] JAVA-1329: Use “graph-results” payload option for the GraphSON format.
- [improvement] JAVA-1460: Add speculative execution number to ExecutionInfo.
- [bug] JAVA-1428: Update non-required dependencies that have security vulnerabilities.
- [bug] JAVA-1425: Upgrade to Jackson 2.8.8.
- [improvement] JAVA-1454: Handle async Tinkerpop traversal natively with the Driver.
Merged from OSS 3.x:
- [bug] JAVA-1469: Update LoggingRetryPolicy to deal with SLF4J-353.
- [improvement] JAVA-1203: Upgrade Metrics to allow usage in OSGi.
- [bug] JAVA-1407: KeyspaceMetadata exportAsString should export user types in topological sort order.
- [bug] JAVA-1455: Mapper support using unset for null values.
- [bug] JAVA-1464: Allow custom codecs with non public constructors in @Param.
- [bug] JAVA-1470: Querying multiple pages overrides WrappedStatement.
- [documentation] JAVA-1463: Revisit speculative execution docs.
- [documentation] JAVA-1466: Revisit timestamp docs.
- [documentation] JAVA-1445: Clarify how nodes are penalized in LatencyAwarePolicy docs.
- [improvement] JAVA-1446: Support ‘DEFAULT UNSET’ in Query Builder JSON Insert.
- [improvement] JAVA-1443: Add groupBy method to Select statement.
- [improvement] JAVA-1458: Check thread in mapper sync methods.
- [improvement] JAVA-1488: Upgrade Netty to 4.0.47.Final.
- [improvement] JAVA-1431: Improve error handling during pool initialization.
- [bug] JAVA-1613: Fix broken shaded Netty detection in NettyUtil.
1.2.7
- [bug] JAVA-1953: Allow Distance to be Serializable.
1.2.6
- [bug] JAVA-1744: Fix SearchPredicate phrase and tokenize bugs.
- [improvement] JAVA-1749: Make SASL properties configurable in DseGSSAPIAuthProvider.
1.2.5
- [bug] JAVA-1730: Reset connection auto-read on cancel or completion of Continuous Paging request.
1.2.4
- [bug] JAVA-1447: Avoid NPE when checking GraphNode type.
- [documentation] JAVA-1451: Apache TinkerPop client integration doc updates.
- [improvement] JAVA-1452: Provide external links to Apache TinkerPop in javadoc.
- [improvement] JAVA-1453: Change call to TinkerIoRegistry#instance() to the backward compatible one.
- [improvement] JAVA-1427: DseGSSAPIAuthProvider should provide method for existing Subject.
- [documentation] JAVA-1331: “g not defined” graph error topic in FAQ.
- [bug] JAVA-1432: Check null results in Row-to-TinkerPop/GraphSON2 function.
1.2.3
- [bug] JAVA-1433: Remove infinite recursion in Graph elements toString().
Merged from OSS 3.x:
- [new feature] JAVA-1174: Add ifNotExists option to mapper.
- [improvement] JAVA-1414: Optimize Metadata.escapeId and Metadata.handleId.
- [improvement] JAVA-1310: Make mapper’s ignored properties configurable.
- [improvement] JAVA-1316: Add strategy for resolving properties into CQL names.
- [bug] JAVA-1429: Prevent heartbeats until connection is fully initialized.
1.2.2
- [improvement] Add integration tests for graph predicates.
- [improvement] Add code examples for proxy auth and graph.
1.2.1
- [bug] JAVA-1424: Handle new WRITE_FAILURE and READ_FAILURE format in DSE v1 protocol.
1.2.0
- [bug] JAVA-1421: Use Optimal string alignment distance algorithm for fuzzy predicates.
1.2.0-rc3
- [improvement] JAVA-1416: Use haversine distance in Geo predicates.
Merged from OSS 3.x:
- [bug] JAVA-1415: Correctly report if a UDT column is frozen.
- [bug] JAVA-1418: Make Guava version detection more reliable.
1.2.0-rc2
- revert JAVA-1241 (go back to Netty 4.0)
1.2.0-rc1
- [bug] JAVA-1406: Handle unprepared error in continuous paging.
- [improvement] JAVA-1409: Upgrade to tinkerpop 3.2.4.
Merged from OSS 3.x:
- [new feature] JAVA-1364: Enable creation of SSLHandler with remote address information.
- [improvement] JAVA-1308: CodecRegistry performance improvements.
- [improvement] JAVA-1241: Upgrade Netty to 4.1.x.
- [improvement] JAVA-1287: Add CDC to TableOptionsMetadata and Schema Builder.
- [improvement] JAVA-1392: Reduce lock contention in RPTokenFactory.
- [improvement] JAVA-1328: Provide compatibility with Guava 20.
- [improvement] JAVA-1247: Disable idempotence warnings.
- [improvement] JAVA-1286: Support setting and retrieving udt fields in QueryBuilder.
- [bug] JAVA-1404: Fix min token handling in TokenRange.contains.
1.2.0-eap5
- [bug] JAVA-1390: Preserve original error when a continuous paging query times out on the client.
- [improvement] JAVA-1391: Fail if batch children use proxy auth.
- [improvement] JAVA-1319: Add support for DSE DateRangeType.
Merged from OSS 3.1.x:
- [bug] JAVA-1313: Copy SerialConsistencyLevel to PreparedStatement.
- [documentation] JAVA-1334: Clarify documentation of method
addContactPoints
. - [improvement] JAVA-1357: Document that getReplicas only returns replicas of the last token in range.
Cherry-picked from OSS 3.x:
- [new feature] JAVA-1362: Send query options flags as [int] for Protocol V5+.
- [bug] JAVA-1397: Handle duration as native datatype in protocol v5+.
1.2.0-eap4
- [bug] JAVA-1374: Reintroduce Geo.inside(V).
- [improvement] JAVA-1372: Expose routing token instead of range.
- [new feature] JAVA-1381: Add Units to Geo.inside() predicates.
- [improvement] JAVA-1375: Improve error management for continuous queries
- [bug] JAVA-1383: Add java-dse-graph and dependencies to tarball.
Merged from OSS 3.1.x:
- [bug] JAVA-1371: Reintroduce connection pool timeout.
- [bug] JAVA-1346: Reset heartbeat only on client reads (not writes).
- [improvement] JAVA-866: Support tuple notation in QueryBuilder.eq/in.
Cherry-picked from OSS 3.x:
- [new feature] JAVA-1248: Implement “beta” flag for native protocol v5.
- [improvement] JAVA-1367: Make protocol negotiation more resilient.
1.2.0-eap3
- [new feature] JAVA-1347: Add support for duration type.
- [bug] JAVA-1358: Add getCenter/getRadius to Distance.
- [improvement] JAVA-1354: Expose workload set from DSE node metadata.
- [new feature] JAVA-1343: Add Time() and Date() types for Graph.
- [new feature] JAVA-1338: Add new
fuzzy/tokenFuzzy
andphrase
predicates in Graph.
1.2.0-eap2
- [improvement] JAVA-1335: Show Row-Level Access Control in DSE CQL metadata.
- [bug] JAVA-1330: Add un/register for SchemaChangeListener in DelegatingCluster
- [bug] JAVA-1351: Include Custom Payload in Request.copy.
- [improvement] JAVA-1264: Provide support for ProxyAuthentication.
- [bug] JAVA-1341: Handle null row in GraphSON 2.0 results
1.1.1-beta1
- [improvement] JAVA-1250: Provide a Fluent API for DSE Graph.
1.1.0
- [improvement] JAVA-1251: Update to depend on cassandra-driver-core 3.1.0.
1.0.0
- [improvement] JAVA-1222: Add GraphStatement.setIdempotent.
- [improvement] JAVA-1225: Log warnings about the new retry policy behavior.
- [bug] JAVA-1230: Force Well-Known Binary encoding to little-endian.
1.0.0-eap5
- [bug] JAVA-1183: Change default traversal source to ‘g’.
- [improvement] JAVA-1081: Vertex Properties don’t handle multiple cardinality / rich properties.
- [improvement] JAVA-1146: Graph module serde improvements.
- [improvement] JAVA-1125: Improvements to Path class.
- [improvement] JAVA-1066: Enable per-GraphStatement and GraphOptions socket timeouts.
1.0.0-eap4
- [new feature] JAVA-1098: Route graph analytics queries to the Spark master.
- [bug] JAVA-1076: Handle WKT ‘EMPTY’ keyword in Geospatial types.
- [improvement] JAVA-1106: Remove Circle type.
- [improvement] JAVA-1129: Don’t expose graph alias in user API.
- [improvement] JAVA-1104: Expose methods to set CLs and Timestamp on GraphStatement.
1.0.0-eap3
- [new feature] JAVA-1107: add Geometry#contains().
1.0.0-eap2
- [new feature] JAVA-1080: Expose automatic inference of GraphResult.
1.0.0-eap1
- [new feature] JAVA-1022: Geospatial types.
- [new feature] JAVA-864: Initial graph integration.
- [improvement] JAVA-1024: Allow overriding of default JAAS login configuration.