# What changed in cassandra-driver

> 23 changes in cassandra-driver 3 from its official release notes, upgrade guides and advisories: 13 breaking, 3 deprecations. Each one cited. Sources checked 2026-11-13. HTML: https://unstale.sh/pypi/cassandra-driver/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## cassandra-driver 3

### Breaking changes

- Setting a deadLetterPolicy no longer sets the default ackTimeoutMillis; it must be specified explicitly. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- Methods deprecated in 2.7 and 2.9 are removed, which may affect third-party extensions. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- The Pulsar SQL configuration directory is removed; upgrades from 2.11 or earlier should copy its files to `trino/conf`. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- The default path changes from `../conf/filesystem_offload_core_site.xml` to `conf/filesystem_offload_core_site.xml`. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- Calling this before authenticateAsync or authenticate now throws an exception, making incorrect authentication-state use fail fast. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- This configuration value is removed; the MetadataStore instance is passed directly from PulsarService to ManagedLedgerFactory. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- Authentication moves out of the constructor; implementations relying on constructor-time authentication may break. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- Metric type UNTYPED is renamed UNKNOWN, and listed metric names are renamed to use the OpenMetrics `_total` suffix; consumers of these metrics may need updates. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- Existing proxies will not work after upgrade if proxyRoles is not correctly configured in broker.conf. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- Python 2 is removed from build scripts; Python 3 is used in the build image. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- Downgrading BookKeeper and ZooKeeper to 2.10 is unsupported because RocksDB 7.x writes a format incompatible with RocksDB 6.x. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- Authentication of a token now occurs only once, changing the class's implicit contract. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- The default changes from false to true. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)

### Deprecations

- The public broker API changes, with some methods marked deprecated as part of simplifying HTTP authentication. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- Blocking methods are deprecated, affecting custom code running inside the Pulsar broker. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- The chart is deprecated for Kubernetes deployments; the notes recommend using KAAP instead. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)

### Behavior and default changes

- The default changes from 67108864 to 134217728. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- The Pulsar server uses JDK 17 and has javac release version 17; client and shared modules remain at Java 8. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- The default changes from 1.0 to 0. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- The default changes from 100.0 to 0. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- The default changes from 1000 to -1. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- The default list adds `flow_or_qps_equally_divide`. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
- The default changes from false to true, enabling system topics by default. (3.0.0) — [upgrade guide](https://docs.datastax.com/en/luna-streaming/3.1-3.x/install-upgrade/upgrade-guide.html)
