7.0
 * Add prepared statement cache stats to nodetool info (CASSANDRA-14366)
 * Don't increment client metrics on messaging service connection unpause (CASSANDRA-21491)
 * Add nodetool getreplicas (CASSANDRA-17665)
 * Implementation of CEP-49: Hardware-accelerated compression (CASSANDRA-20975)
 * Avoid using ObjectUtils.getFirstNonNull in Schema (CASSANDRA-21394)
 * Allow nodetool garbagecollect to take a user defined list of SSTables (CASSANDRA-16767)
 * Add a guardrail for misprepared statements (CASSANDRA-21139)
Merged from 6.0:
 * Make cqlsh prompt to reset to no keyspace set by USE after dropping that keyspace (CASSANDRA-21548)
 * Implement CMS rediscovery and recovery protocol (CASSANDRA-20476)
 * Apply performance optimizations for rows merging logic (CASSANDRA-21524)
 * Fix operationMode reporting DECOMMISSION_FAILED instead of LEAVING when resuming a failed decommission (CASSANDRA-21493)
 * Avoid megamorphic calls when serializing and deserializing fixed-length values (CASSANDRA-21536)
 * Avoid megamorphic calls for Cell.timestamp/ttl/path/localDeletionTimeAsUnsignedInt methods (CASSANDRA-21526)
 * Reduce allocations in DefaultQueryOptions (CASSANDRA-21467)
 * Allow unreserved keywords as user and identity names in USER and IDENTITY statements (CASSANDRA-21510)
 * Reduce allocations in DefaultQueryOptions (CASSANDRA-21467)
 * Reduce number of scheduledTasks on metric id release in ThreadLocalMetrics (CASSANDRA-21475)
 * Cache various Enum.values() used in deserialization to avoid per-read array allocation (CASSANDRA-21528)
 * Fix Accord transaction error message when altering a table (CASSANDRA-20580)
 * Depend only on platform-specific Zstd JNI native libraries (CASSANDRA-21483)
 * Expose immediately-executed tasks in the queries virtual table (CASSANDRA-21471)
 * Avoid potential deadlock between GlobalLogFollower and GossipStage (CASSANDRA-21384)
 * Add CMS membership as a field in ClusterMetadata (CASSANDRA-20736)
 * Fix maven remote publishing of Accord artifacts (CASSANDRA-21261)
 * Move long running TCM operations to a longer timout (CASSANDRA-21453)
 * Offline nodetool commands should not print network options in help (CASSANDRA-20876)
 * Defer creation of the system_cluster_metadata keyspace until CMS initialization (CASSANDRA-21477)
 * Support direct I/O for background SSTable writes (CASSANDRA-21134)
 * Relax assertion on partitioner instances in SinglePartitionReadCommand (CASSANDRA-21251)
 * Report cancelled read command execution to coordinator as a RequestFailure.TIMEOUT (CASSANDRA-21468)
 * Add policy for selecting CMS host when submitting commit request (CASSANDRA-21456)
 * Fix TCM log catchup from peer with snapshots and gaps in the log sequence (CASSANDRA-21455)
 * Speed up nodetool doc generation by producing all command help in a single jvm (CASSANDRA-21444)
 * Always send TCM commit failures as Messaging failures (CASSANDRA-21457)
 * Fix ReadCommand serializedSize() using incorrect epoch (CASSANDRA-21438)
 * Allocation improvements in ProtocolVersion, StorageProxy and MerkleTree (CASSANDRA-21199)
 * Don't leave autocompaction disabled during bootstrap and replace (CASSANDRA-21236)
 * Make nodetool abortbootstrap more robust (CASSANDRA-21235)
 * Don't clear prepared statement cache on nodetool cms initialize (CASSANDRA-21234)
 * Improve performance when deserializing cluster metadata  (CASSANDRA-21224)
 * Minor TokenMap performance improvement (CASSANDRA-21223)
 * Handle lost response when committing PrepareMove (CASSANDRA-21222)
 * SEPExecutor.maybeExecuteImmediately does not always execute tasks immediately despite available worker capacity (CASSANDRA-21429)
 * Safely regain ranges and delete retired command stores (CASSANDRA-21212)
 * Reduce memory allocations in miscellaneous places along read path (CASSANDRA-21360)
 * Avoid ByteBuffer wrapping in cql3.selection.Selector.InputRow to reduce memory allocation rate (CASSANDRA-21362)
 * Reduce cost to calculate BTreeRow.minDeletionTime (CASSANDRA-21414)
 * Implement custom CassandraThread to keep direct references to frequently used thread local objects (CASSANDRA-21020)
 * Avoid megamorphic call overhead at RandomAccessReader#current (CASSANDRA-21399)
 * Enable async GC logging for JDK versions which support it to avoid potential hiccups caused by GC log file I/O blocking (CASSANDRA-21372)
 * Add rowsMutatedPerWriteHistogram metric to track rows mutated per write request (CASSANDRA-21320)
 * Add TotalRowsRead and TotalRowsMutated counters to TableMetrics for accurate per-table row throughput tracking (CASSANDRA-21321)
 * Move exception handling of SPI startup checks when iterating over them (CASSANDRA-21409)
 * Avoid type lookup in SerializationHeader#getType if schema and SSTable are aligned (CASSANDRA-21402)
 * Replace LongAdder in metric-like logic with ThreadLocalCounter (CASSANDRA-21400)
 * BTreeRow#hasLiveData: Avoid Cell iteration if there are no tombstones in a row (CASSANDRA-21363)
 * Reduce memory allocations in row merge logic (CASSANDRA-21359)
 * Restore option to avoid hint transfer during decommission (CASSANDRA-21341)
 * Add an offline cluster metadata tool (CASSANDRA-19151)
 * Accord: Tail Latency Improvements (CASSANDRA-21361)
 * Artificial Latency Injection (CASSANDRA-17024)
 * Accord: Clean Shutdown/Restart, Rebootstrap, et al (CASSANDRA-21355)
 * Reduce memory allocations in SelectStatement.getQuery (CASSANDRA-21351)
 * Avoid allocation by getFunctions in SelectStatement.authorize (CASSANDRA-21347)
 * Avoid unit conversion in DatabaseDescriptor.getMaxValueSize() for every deserializing Cell (CASSANDRA-21295)
 * Fix single token batch atomicity with Accord/non-Accord batches by using the batch log (CASSANDRA-20588)
 * Avoid CompactionOptions parsing for every read by WithoutPurgeableTombstones (CASSANDRA-21294)
 * Ensure schema created before 2.1 without tableId in folder name can be loaded in SnapshotLoader (CASSANDRA-21246)
 * Differentiate between legitimate cases where the first entry is the same as the last entry and empty bounds in SSTableCursorWriter#addIndexBlock() (CASSANDRA-21255)
 * Introduce minimum_threshold for data resurrection startup check (CASSANDRA-21293)
 * Synchronously publish changes to local gossip state following metadata updates (CASSANDRA-21239)
Merged from 5.0:
 * Propagate trickle_fsync settings to compressed SSTable writers (CASSANDRA-21487)
 * Allow setCompressedReadAheadBufferSizeInKb(0) to disable read-ahead buffer (CASSANDRA-21522)
 * Fix ThreadLocalReadAheadBuffer#fill() to throw a CorruptBlockException if chunk metadata and file size are out of sync (CASSANDRA-21519)
 * Support Python 3.12 and 3.13 in cqlsh (CASSANDRA-20997)
 * Make synchronization on VectorMemoryIndex inserts more granular (CASSANDRA-21160)
 * Fix RequestFailureReason serializer and nits in a few others (CASSANDRA-21437)
 * Remove golang dependency in gen-doc and replace with python implementation (CASSANDRA-21432)
 * Use estimated compressed size for tables to check if there is enough free space for a compaction (CASSANDRA-21245)
 * Fix failing select on system_views.settings for non-string keys (CASSANDRA-21348)
Merged from 4.0:
 * Do not make DNS lookup when querying system_views.clients for hostname column by removing it (CASSANDRA-21539)
 * Fix memtable on-heap accounting drift in BTree.update and BTreeRow.merge (CASSANDRA-21472)
 * Bound declared value length against readable bytes in CBUtil (CASSANDRA-21521)
 * Verify extension type before initializing reflectively-loaded classes (CASSANDRA-21525)
 * Rename conflicting nodetool import --copy-data short option from -p to -cd (CASSANDRA-20214)
 * Fix PasswordObfuscator failing to obfuscate certain passwords (CASSANDRA-21113)
 * Fix negative memtable allocator ownership when an update is shadowed by an existing row deletion (CASSANDRA-21469)
 * Consider first token of SSTable when calculating SSTable intersection in LeveledScanner  (CASSANDRA-21369)
 * Remove inFlightEcho entry on ECHO_REQ failure (CASSANDRA-21428)
 * Validate snapshot names (CASSANDRA-21389)


6.0-alpha2
 * Change default for cassandra.set_sep_thread_name to false to reduce CPU usage (CASSANDRA-21089)
 * Avoid permission checks for masked columns when the table doesn't have any (CASSANDRA-21299)
 * Reduce allocations and array copies due to buffer resizing in LocalDataResponse during row serialization (CASSANDRA-21285)
 * Implement a guardrail for client driver versions (CASSANDRA-21146)
 * Enable IAuthenticator to declare supported and alterable role options (CASSANDRA-20834)
 * Avoid capturing lambda allocation in UnfilteredSerializer.deserializeRowBody (CASSANDRA-21289)
 * Avoid Cell iterator allocation for alive rows in MetricsRecording transformation of ReadCommand (CASSANDRA-21288)
 * Reuse a single TrackedDataInputPlus instance per UnfilteredSerializer (CASSANDRA-21296)
 * In-tree docs are included in binary artifacts (tarball, deb, rpm) as html and man pages (CASSANDRA-17260)
 * Add tooling to repair system peers and peers_v2 if inconsistent with cluster metadata (CASSANDRA-21187)
 * Fix a removed TTLed row re-appearance in a materialized view after a cursor compaction (CASSANDRA-21152)
 * Rework ZSTD dictionary compression logic to create a trainer per training (CASSANDRA-21209)
Merged from 5.0:
 * SAI Component Checksum Validation Should be Segment-Aware (CASSANDRA-21516)
 * Ensure SAI sends range tombstones to the coordinator for queries on static columns (CASSANDRA-21332)
Merged from 4.1:
 * Add Paxos v2 option and informatin in cassandra.yaml (CASSANDRA-21316)
 * Harden data resurrection startup check with atomic heartbeat file write with fallback (CASSANDRA-21290)
Merged from 4.0:
 * BTree.FastBuilder.reset() fails to clear savedBuffer and savedNextKey, causing ClassCastException and SSTable header corruption during schema disagreement (CASSANDRA-21216, CASSANDRA-21260)
 * Backport CASSANDRA-17810 fix and improve RTBoundValidator error messages (CASSANDRA-18282)
 * Rate limit password changes (CASSANDRA-21202)


6.0-alpha1
 * Improve performance when calculating settled placements during range movements (CASSANDRA-21144)
 * Make shadow gossip round parameters configurable for testing (CASSANDRA-21149)
 * Avoid potential gossip thread deadlock during decommission (CASSANDRA-21143)
 * Improve construction of consensus groups for range movements (CASSANDRA-21142)
 * Support compaction_read_disk_access_mode for cursor-based compaction (CASSANDRA-21147)
 * Allow value/element indexing on frozen collections in SAI (CASSANDRA-18492)
 * Add tool to offline dump cluster metadata and the log (CASSANDRA-21129)
 * Send client warnings when writing to a large partition (CASSANDRA-17258)
 * Harden the possible range of values for max dictionary size and max total sample size for dictionary training (CASSANDRA-21194)
 * Implement a guardrail ensuring that minimum training frequency parameter is provided in ZstdDictionaryCompressor (CASSANDRA-21192)
 * Replace manual referencing with ColumnFamilyStore.selectAndReference when training a dictionary (CASSANDRA-21188)
 * Forbid nodes upgrading to a version which cannot read existing log entries (CASSANDRA-21174)
 * Introduce a check for minimum time to pass to train or import a compression dictionary from the last one (CASSANDRA-21179)
 * Allow overriding compaction strategy parameters during startup (CASSANDRA-21169)
 * Introduce created_at column to system_distributed.compression_dictionaries (CASSANDRA-21178)
 * Be able to detect and remove orphaned compression dictionaries (CASSANDRA-21157)
 * Fix BigTableVerifier to only read a data file during extended verification (CASSANDRA-21150) 
 * Reduce memory allocation during transformation of BatchStatement to Mutation (CASSANDRA-21141)
 * Direct I/O support for compaction reads (CASSANDRA-19987)
 * Support custom StartupCheck implementations via SPI (CASSANDRA-21093)
 * Make sstableexpiredblockers support human-readable output with SSTable sizes (CASSANDRA-20448)
 * Enhance nodetool compactionhistory to report more compaction properities (CASSANDRA-20081)
 * Fix initial auto-repairs skipped by too soon check (CASSANDRA-21115)
 * Add configuration to disk usage guardrails to stop writes across all replicas of a keyspace when any node replicating that keyspace exceeds the disk usage failure threshold. (CASSANDRA-21024)
 * BETWEEN where token(Y) > token(Z) returns wrong answer (CASSANDRA-20154)
 * Optimize memtable flush logic (CASSANDRA-21083)
 * No need to evict already prepared statements, as it creates a race condition between multiple threads (CASSANDRA-17401)
 * Include Level information for UnifiedCompactionStrategy in nodetool tablestats output (CASSANDRA-20820)
 * Support low-overhead async profiling (CASSANDRA-20854)
 * Minor perf optimizations around memtable put logic (CASSANDRA-21088)
 * When level compaction validates its table properties, it used the wrong default value for sstable_size_in_mb which allowed properties that would later be rejected at runtime (CASSANDRA-20570)
 * Fix off-by-one bug in exponential backoff for repair retry config (CASSANDRA-21102)
 * Move training parameters for Zstd dictionary compression to CQL (CASSANDRA-21078)
 * Add configuration for sorted imports in source files (CASSANDRA-17925)
 * Change the eager reference counting of compression dictionaries to lazy (CASSANDRA-21074)
 * Add cursor based optimized compaction path (CASSANDRA-20918)
 * Ensure peers with LEFT status are expired from gossip state (CASSANDRA-21035)
 * Optimize UTF8Validator.validate for ASCII prefixed Strings (CASSANDRA-21075)
 * Switch LatencyMetrics to use ThreadLocalTimer/ThreadLocalCounter (CASSANDRA-21080)
 * Accord: write rejections would be returned to users as server errors rather than INVALID and TxnReferenceOperation didn't handle all collections prperly (CASSANDRA-21061)
 * Use byte[] directly in QueryOptions instead of ByteBuffer and convert them to ArrayCell instead of BufferCell to reduce allocations (CASSANDRA-20166)
 * Log queries scanning too many SSTables per read (CASSANDRA-21048)
 * Extend nodetool verify to (optionally) validate SAI files (CASSANDRA-20949)
 * Fix CompressionDictionary being closed while still in use (CASSANDRA-21047)
 * When updating a multi cell collection element, if the update is rejected then the shared Row.Builder is not freed causing all future mutations to be rejected (CASSANDRA-21055)
 * Schema annotations escape validation on CREATE and ALTER DDL statements (CASSANDRA-21046)
 * Calculate once and cache the result of ModificationStatement#requiresRead as a perf optimization (CASSANDRA-21040)
 * Update system schema tables with new distributed keyspace on upgrade (CASSANDRA-20872)
 * Fix issue when running cms reconfiguration with paxos repair disabled (CASSANDRA-20869)
 * Added additional parameter to JVM shutdown to allow for logs to be properly shutdown (CASSANDRA-20978)
 * Improve isGossipOnlyMember and location lookup performance (CASSANDRA-21039)
 * Refactor the way we check if a transformation is allowed to be committed during upgrades (CASSANDRA-21043)
 * Improve debug around paused and disabled compaction (CASSANDRA-20131,CASSANDRA-19728)
 * DiskUsageBroadcaster does not update usageInfo on node replacement (CASSANDRA-21033)
 * Reject PrepareJoin if tokens are already assigned (CASSANDRA-21006)
 * Don't update registration status if node state for decommissioned peer is found with the same address (CASSANDRA-21005)
 * Avoid NPE when meta keyspace placements are empty before CMS is initialized (CASSANDRA-21004)
 * Gossip entries for hibernating non-members don't block truncate (CASSANDRA-21003)
 * Retry without time limit calculates wait time incorrectly (CASSANDRA-21002)
 * Don't submit AlterSchemaStatements which produce no effect locally to the CMS (CASSANDRA-21001)
 * Avoid iterating all prepared statements when getting PreparedStatementsCacheSize metric (CASSANDRA-21038)
 * Reduce performance impact of TableMetadataRef.get and KeyspaceMetadataRef.get (CASSANDRA-20465)
 * Improve CMS initialization (CASSANDRA-21036)
 * Introducing comments and security labels for schema elements (CASSANDRA-20943)
 * Extend nodetool tablestats for dictionary memory usage (CASSANDRA-20940)
 * Introduce separate GCInspector thresholds for concurrent GC events (CASSANDRA-20980)
 * Reduce contention in MemtableAllocator.allocate (CASSANDRA-20226)
 * Add export, list, import sub-commands for nodetool compressiondictionary (CASSANDRA-20941)
 * Add support in the binary protocol to allow transactions to have multiple conditions (CASSANDRA-20883)
 * Enable CQLSSTableWriter to create SSTables compressed with a dictionary (CASSANDRA-20938)
 * Support ZSTD dictionary compression (CASSANDRA-17021)
 * Fix ExceptionsTable when stacktrace has zero elements (CASSANDRA-20992)
 * Replace blocking wait with non-blocking delay in paxos repair (CASSANDRA-20983)
 * Implementation of CEP-55 - Generation of role names (CASSANDRA-20897)
 * Add cqlsh autocompletion for the identity mapping feature (CASSANDRA-20021)
 * Add DDL Guardrail enabling administrators to disallow creation/modification of keyspaces with durable_writes = false (CASSANDRA-20913)
 * Optimize Counter, Meter and Histogram metrics using thread local counters (CASSANDRA-20250)
 * Update snakeyaml to 2.4 (CASSANDRA-20928)
 * Update Netty to 4.1.125.Final (CASSANDRA-20925)
 * Expose uncaught exceptions in system_views.uncaught_exceptions table (CASSANDRA-20858)
 * Improved observability in AutoRepair to report both expected vs. actual repair bytes and expected vs. actual keyspaces (CASSANDRA-20581)
 * Execution of CreateTriggerStatement should not rely on external state (CASSANDRA-20287)
 * Support LIKE expressions in filtering queries (CASSANDRA-17198)
 * Make legacy index rebuilds safe on Gossip -> TCM upgrades (CASSANDRA-20887)
 * Minor improvements and hardening for IndexHints (CASSANDRA-20888)
 * Stop repair scheduler if two major versions are detected (CASSANDRA-20048)
 * Optimize audit logic for batch operations especially when audit is not enabled for DML (CASSANDRA-20885)
 * Implement nodetool history (CASSANDRA-20851)
 * Expose StorageService.dropPreparedStatements via JMX (CASSANDRA-20870)
 * Expose Metric for Prepared Statement Cache Size (in bytes) (CASSANDRA-20864)
 * Add support for BEGIN TRANSACTION to allow mutations that touch multiple partitions (CASSANDRA-20857)
 * AutoRepair: Safeguard Full repair against disk protection(CASSANDRA-20045)
 * BEGIN TRANSACTION crashes if a mutation touches multiple rows (CASSANDRA-20844)
 * Fix version range check in MessagingService.getVersionOrdinal (CASSANDRA-20842)
 * Allow custom constraints to be loaded via SPI (CASSANDRA-20824)
 * Optimize DataPlacement lookup by ReplicationParams (CASSANDRA-20804)
 * Fix ShortPaxosSimulationTest and AccordSimulationRunner do not execute from the cli (CASSANDRA-20805)
 * Allow overriding arbitrary settings via environment variables (CASSANDRA-20749)
 * Optimize MessagingService.getVersionOrdinal (CASSANDRA-20816)
 * Optimize TrieMemtable#getFlushSet (CASSANDRA-20760)
 * Support manual secondary index selection at the CQL level (CASSANDRA-18112)
 * When regulars CQL mutations run on Accord use the txn timestamp rather than server timestamp (CASSANDRA-20744)
 * When using BEGIN TRANSACTION if a complex mutation exists in the same statement as one that uses a reference, then the complex delete is dropped (CASSANDRA-20788)
 * Migrate all nodetool commands from airline to picocli (CASSANDRA-17445)
 * Journal.TopologyUpdate should not store the local topology as it can be inferred from the global on (CASSANDRA-20785)
 * Accord: Topology serializer has a lot of repeated data, can dedup to shrink the cost (CASSANDRA-20715)
 * Stream individual files in their own transactions and hand over ownership to a parent transaction on completion (CASSANDRA-20728)
 * Limit the number of held heap dumps to not consume disk space excessively (CASSANDRA-20457)
 * Accord: BEGIN TRANSACTIONs IF condition logic does not properly support meaningless emptiness and null values (CASSANDRA-20667)
 * Accord: startup race condition where accord journal tries to access the 2i index before its ready (CASSANDRA-20686)
 * Adopt Unsafe::invokeCleaner for Direct ByteBuffer cleaning (CASSANDRA-20677)
 * Add additional metrics around hints (CASSANDRA-20499)
 * Support for add and replace in IntervalTree (CASSANDRA-20513)
 * Enable single_sstable_uplevel by default for LCS (CASSANDRA-18509)
 * Introduce NativeAccessor to avoid new ByteBuffer allocation on flush for each NativeCell (CASSANDRA-20173)
 * Migrate sstableloader code to its own tools directory and artifact (CASSANDRA-20328)
 * Stop AutoRepair monitoring thread upon Cassandra shutdown (CASSANDRA-20623)
 * Avoid duplicate hardlink error upon forceful taking of ephemeral snapshots during repair (CASSANDRA-20490)
 * When a custom disk error handler fails to initiate, fail the startup of a node instead of using the no-op handler (CASSANDRA-20614)
 * Rewrite constraint framework to remove column specification from constraint definition, introduce SQL-like NOT NULL (CASSANDRA-20563)
 * Fix a bug in AutoRepair duration metric calculation if schedule finishes quickly (CASSANDRA-20622)
 * Fix AutoRepair flaky InJvm dtest (CASSANDRA-20620)
 * Increasing default for auto_repair.sstable_upper_threshold considering large Cassandra tables & revert three lines removed from CHANGES.txt due to a merge mistake (CASSANDRA-20586)
 * Fix token restrictions with MIN_TOKEN (CASSANDRO-20557)
 * Upgrade logback version to 1.5.18 and slf4j dependencies to 2.0.17 (CASSANDRA-20429)
 * Switch memtable-related off-heap objects to Native Endian and Memory to Little Endian (CASSANDRA-20190)
 * Change SSTableSimpleScanner to use SSTableReader#openDataReaderForScan (CASSANDRA-20538)
 * Automated Repair Inside Cassandra [CEP-37] (CASSANDRA-19918)
 * Implement appender of slow queries to system_views.slow_queries table (CASSANDRA-13001)
 * Add autocompletion in CQLSH for built-in functions (CASSANDRA-19631)
 * Grant permission on keyspaces system_views and system_virtual_schema not possible (CASSANDRA-20171)
 * General Purpose Transactions (Accord) [CEP-15] (CASSANDRA-17092)
 * Improve performance when getting writePlacementsAllSettled from ClusterMetadata (CASSANDRA-20526)
 * Add nodetool command to dump the contents of the system_views.{cluster_metadata_log, cluster_metadata_directory} tables (CASSANDRA-20525)
 * Fix TreeMap race in CollectionVirtualTableAdapter causing us to lose rows in the virtual table (CASSANDRA-20524)
 * Improve metadata log catch up with inter-DC mutation forwarding (CASSANDRA-20523)
 * Support topology-safe changes to Datacenter & Rack for live nodes (CASSANDRA-20528)
 * Add SSTableIntervalTree latency metric (CASSANDRA-20502)
 * Ignore repetitions of semicolon in CQLSH (CASSANDRA-19956)
 * Avoid NPE during cms initialization abort (CASSANDRA-20527)
 * Avoid failing queries when epoch changes and replica goes up/down (CASSANDRA-20489)
 * Split out truncation record lock (CASSANDRA-20480)
 * Throw new IndexBuildInProgressException when queries fail during index build, instead of IndexNotAvailableException (CASSANDRA-20402)
 * Fix Paxos repair interrupts running transactions (CASSANDRA-20469)
 * Various fixes in constraint framework (CASSANDRA-20481)
 * Add support in CAS for -= on numeric types, and fixed improper handling of empty bytes which lead to NPE (CASSANDRA-20477)
 * Do not fail to start a node with materialized views after they are turned off in config (CASSANDRA-20452)
 * Fix nodetool gcstats output, support human-readable units and more output formats (CASSANDRA-19022)
 * Various gossip to TCM upgrade fixes (CASSANDRA-20483)
 * Add nodetool command to abort failed nodetool cms initialize (CASSANDRA-20482)
 * Repair Paxos for the distributed metadata log when CMS membership changes (CASSANDRA-20467)
 * Reintroduce CASSANDRA-17411 in trunk (CASSANDRA-19346)
 * Add min/max/mean/percentiles to timer metrics vtable (CASSANDRA-20466)
 * Add support for time, date, timestamp types in scalar constraint (CASSANDRA-20274)
 * Add regular expression constraint (CASSANDRA-20275)
 * Improve constraints autocompletion (CASSANDRA-20341)
 * Add JVM version and Cassandra build date to nodetool version -v (CASSANDRA-19721)
 * Move all disk error logic to DiskErrorsHandler to enable pluggability (CASSANDRA-20363)
 * Fix marking an SSTable as suspected and BufferPool leakage in case of a corrupted SSTable read during a compaction (CASSANDRA-20396)
 * Add missed documentation for CREATE TABLE LIKE (CASSANDRA-20401)
 * Add OCTET_LENGTH constraint (CASSANDRA-20340)
 * Reduce memory allocations in miscellaneous places along the hot write path (CASSANDRA-20167)
 * Provide keystore_password_file and truststore_password_file options to read credentials from a file (CASSANDRA-13428)
 * Unregistering a node should also remove it from tokenMap if it is there and recalculate the placements (CASSANDRA-20346)
 * Fix PartitionUpdate.isEmpty deserialization issue to avoid potential EOFException (CASSANDRA-20345)
 * Avoid adding LEFT nodes to tokenMap on upgrade from gossip (CASSANDRA-20344)
 * Allow empty placements when deserializing cluster metadata (CASSANDRA-20343)
 * Reduce heap pressure when initializing CMS (CASSANDRA-20267)
 * Paxos Repair: NoSuchElementException on DistributedSchema.getKeyspaceMetadata (CASSANDRA-20320)
 * Improve performance of DistributedSchema.validate for large schemas (CASSANDRA-20360)
 * Add JSON constraint (CASSANDRA-20273)
 * Prevent invalid constraint combinations (CASSANDRA-20330)
 * Support CREATE TABLE LIKE WITH INDEXES (CASSANDRA-19965)
 * Invalidate relevant prepared statements on every change to TableMetadata (CASSANDRA-20318)
 * Add per type max size guardrails (CASSANDRA-19677)
 * Make it possible to abort all kinds of multi step operations (CASSANDRA-20217)
 * Do not leak non-Java exceptions when calling snapshot operations via JMX (CASSANDRA-20335)
 * Implement NOT_NULL constraint (CASSANDRA-20276)
 * Improve error messages for constraints (CASSANDRA-20266)
 * Add system_views.partition_key_statistics for querying SSTable metadata (CASSANDRA-20161)
 * CEP-42 - Add Constraints Framework (CASSANDRA-19947)
 * Add table metric PurgeableTombstoneScannedHistogram and a tracing event for scanned purgeable tombstones (CASSANDRA-20132)
 * Make sure we can parse the expanded CQL before writing it to the log or sending it to replicas (CASSANDRA-20218)
 * Add format_bytes and format_time functions (CASSANDRA-19546)
 * Fix error when trying to assign a tuple to target type not being a tuple (CASSANDRA-20237)
 * Fail CREATE TABLE LIKE statement if UDTs in target keyspace do not exist or they have different structure from ones in source keyspace (CASSANDRA-19966)
 * Support octet_length and length functions (CASSANDRA-20102)
 * Make JsonUtils serialize Instant always with the same format (CASSANDRA-20209)
 * Port Harry v2 to trunk (CASSANDRA-20200)
 * Enable filtering of snapshots on keyspace, table and snapshot name in nodetool listsnapshots (CASSANDRA-20151)
 * Create manifest upon loading where it does not exist or enrich it (CASSANDRA-20150)
 * Propagate true size of snapshot in SnapshotDetailsTabularData to not call JMX twice in nodetool listsnapshots (CASSANDRA-20149)
 * Implementation of CEP-43 - copying a table via CQL by CREATE TABLE LIKE (CASSANDRA-19964)
 * Periodically disconnect roles that are revoked or have LOGIN=FALSE set (CASSANDRA-19385)
 * AST library for CQL-based fuzz tests (CASSANDRA-20198)
 * Support audit logging for JMX operations (CASSANDRA-20128)
 * Enable sorting of nodetool status output (CASSANDRA-20104)
 * Support downgrading after CMS is initialized (CASSANDRA-20145)
 * Deprecate IEndpointSnitch (CASSANDRA-19488)
 * Check presence of a snapshot in a case-insensitive manner on macOS platform to prevent hardlinking failures (CASSANDRA-20146)
 * Enable JMX server configuration to be in cassandra.yaml (CASSANDRA-11695)
 * Parallelized UCS compactions (CASSANDRA-18802)
 * Avoid prepared statement invalidation race when committing schema changes (CASSANDRA-20116)
 * Restore optimization in MultiCBuilder around building one clustering (CASSANDRA-20129)
 * Consolidate all snapshot management to SnapshotManager and introduce SnapshotManagerMBean (CASSANDRA-18111)
 * Fix RequestFailureReason constants codes (CASSANDRA-20126)
 * Introduce SSTableSimpleScanner for compaction (CASSANDRA-20092)
 * Include column drop timestamp in alter table transformation (CASSANDRA-18961)
 * Make JMX SSL configurable in cassandra.yaml (CASSANDRA-18508)
 * Fix cqlsh CAPTURE command to save query results without trace details when TRACING is ON (CASSANDRA-19105)
 * Optionally prevent tombstone purging during repair (CASSANDRA-20071)
 * Add post-filtering support for the IN operator in SAI queries (CASSANDRA-20025)
 * Don’t finish ongoing decommission and move operations during startup (CASSANDRA-20040)
 * Nodetool reconfigure cms has correct return code when streaming fails (CASSANDRA-19972)
 * Reintroduce RestrictionSet#iterator() optimization around multi-column restrictions (CASSANDRA-20034)
 * Explicitly localize strings to Locale.US for internal implementation (CASSANDRA-19953)
 * Add -H option for human-friendly output in nodetool compactionhistory (CASSANDRA-20015)
 * Fix type check for referenced duration type for nested types (CASSANDRA-19890)
 * In simulation tests, correctly set the tokens of replacement nodes (CASSANDRA-19997)
 * During TCM upgrade, retain all properties of existing system tables (CASSANDRA-19992)
 * Properly cancel in-flight futures and reject requests in EpochAwareDebounce during shutdown (CASSANDRA-19848)
 * Provide clearer exception message on failing commitlog_disk_access_mode combinations (CASSANDRA-19812)
 * Add total space used for a keyspace to nodetool tablestats (CASSANDRA-19671)
 * Ensure Relation#toRestriction() handles ReversedType properly (CASSANDRA-19950)
 * Add JSON and YAML output option to nodetool gcstats (CASSANDRA-19771)
 * Introduce metadata serialization version V4 (CASSANDRA-19970)
 * Allow CMS reconfiguration to work around DOWN nodes (CASSANDRA-19943)
 * Make TableParams.Serializer set allowAutoSnapshots and incrementalBackups (CASSANDRA-19954)
 * Make sstabledump possible to show tombstones only (CASSANDRA-19939)
 * Ensure that RFP queries potentially stale replicas even with only key columns in the row filter (CASSANDRA-19938)
 * Allow nodes to change IP address while upgrading to TCM (CASSANDRA-19921)
 * Retain existing keyspace params on system tables after upgrade (CASSANDRA-19916)
 * Deprecate use of gossip state for paxos electorate verification (CASSANDRA-19904)
 * Update dtest-api to 0.0.17 to fix jvm17 crash in jvm-dtests (CASSANDRA-19239)
 * Add resource leak test and Update Netty to 4.1.113.Final to fix leak (CASSANDRA-19783)
 * Fix incorrect nodetool suggestion when gossip mode is running (CASSANDRA-19905)
 * SAI support for BETWEEN operator (CASSANDRA-19688)
 * Fix BETWEEN filtering for reversed clustering columns (CASSANDRA-19878)
 * Retry if node leaves CMS while committing a transformation (CASSANDRA-19872)
 * Add support for NOT operators in WHERE clauses. Fixed Three Valued Logic (CASSANDRA-18584)
 * Allow getendpoints for system tables and make sure getNaturalReplicas work for MetaStrategy (CASSANDRA-19846)
 * On upgrade, handle pre-existing tables with unexpected table ids (CASSANDRA-19845)
 * Reconfigure CMS before assassinate (CASSANDRA-19768)
 * Warn about unqualified prepared statement only if it is select or modification statement (CASSANDRA-18322)
 * Update legacy peers tables during node replacement (CASSANDRA-19782)
 * Refactor ColumnCondition (CASSANDRA-19620)
 * Allow configuring log format for Audit Logs (CASSANDRA-19792)
 * Support for noboolean rpm (centos7 compatible) packages removed (CASSANDRA-19787)
 * Allow threads waiting for the metadata log follower to be interrupted (CASSANDRA-19761)
 * Support dictionary lookup for CassandraPasswordValidator (CASSANDRA-19762)
 * Disallow denylisting keys in system_cluster_metadata (CASSANDRA-19713)
 * Fix gossip status after replacement (CASSANDRA-19712)
 * Ignore repair requests for system_cluster_metadata (CASSANDRA-19711)
 * Avoid ClassCastException when verifying tables with reversed partitioner (CASSANDRA-19710)
 * Always repair the full range when repairing system_cluster_metadata (CASSANDRA-19709)
 * Use table-specific partitioners during Paxos repair (CASSANDRA-19714)
 * Expose current compaction throughput in nodetool (CASSANDRA-13890)
 * CEP-24 Password validation / generation (CASSANDRA-17457)
 * Reconfigure CMS after replacement, bootstrap and move operations (CASSANDRA-19705)
 * Support querying LocalStrategy tables with any partitioner (CASSANDRA-19692)
 * Relax slow_query_log_timeout for MultiNodeSAITest (CASSANDRA-19693)
 * Audit Log entries are missing identity for mTLS connections (CASSANDRA-19669)
 * Add support for the BETWEEN operator in WHERE clauses (CASSANDRA-19604)
 * Replace Stream iteration with for-loop for SimpleRestriction::bindAndGetClusteringElements (CASSANDRA-19679)
 * Consolidate logging on trace level (CASSANDRA-19632)
 * Expand DDL statements on coordinator before submission to the CMS (CASSANDRA-19592)
 * Fix number of arguments of String.format() in various classes (CASSANDRA-19645)
 * Remove unused fields from config (CASSANDRA-19599)
 * Refactor Relation and Restriction hierarchies (CASSANDRA-19341)
 * Raise priority of TCM internode messages during critical operations (CASSANDRA-19517)
 * Add nodetool command to unregister LEFT nodes (CASSANDRA-19581)
 * Add cluster metadata id to gossip syn messages (CASSANDRA-19613)
 * Reduce heap usage occupied by the metrics (CASSANDRA-19567)
 * Improve handling of transient replicas during range movements (CASSANDRA-19344)
 * Enable debounced internode log requests to be cancelled at shutdown (CASSANDRA-19514)
 * Correctly set last modified epoch when combining multistep operations into a single step (CASSANDRA-19538)
 * Add new TriggersPolicy configuration to allow operators to disable triggers (CASSANDRA-19532)
 * Use Transformation.Kind.id in local and distributed log tables (CASSANDRA-19516)
 * Remove period field from ClusterMetadata and metadata log tables (CASSANDRA-19482)
 * Enrich system_views.pending_hints vtable with hints sizes (CASSANDRA-19486)
 * Expose all dropwizard metrics in virtual tables (CASSANDRA-14572)
 * Ensured that PropertyFileSnitchTest do not overwrite cassandra-toploogy.properties (CASSANDRA-19502)
 * Add option for MutualTlsAuthenticator to restrict the certificate validity period (CASSANDRA-18951)
 * Fix StorageService::constructRangeToEndpointMap for non-distributed keyspaces (CASSANDRA-19255)
 * Group nodetool cms commands into single command group (CASSANDRA-19393)
 * Register the measurements of the bootstrap process as Dropwizard metrics (CASSANDRA-19447)
 * Add LIST SUPERUSERS CQL statement (CASSANDRA-19417)
 * Modernize CQLSH datetime conversions (CASSANDRA-18879)
 * Harry model and in-JVM tests for partition-restricted 2i queries (CASSANDRA-18275)
 * Refactor cqlshmain global constants (CASSANDRA-19201)
 * Remove native_transport_port_ssl (CASSANDRA-19397)
 * Make nodetool reconfigurecms sync by default and add --cancel to be able to cancel ongoing reconfigurations (CASSANDRA-19216)
 * Expose auth mode in system_views.clients, nodetool clientstats, metrics (CASSANDRA-19366)
 * Remove sealed_periods and last_sealed_period tables (CASSANDRA-19189)
 * Improve setup and initialisation of LocalLog/LogSpec (CASSANDRA-19271)
 * Refactor structure of caching metrics and expose auth cache metrics via JMX (CASSANDRA-17062)
 * Allow CQL client certificate authentication to work without sending an AUTHENTICATE request (CASSANDRA-18857)
 * Extend nodetool tpstats and system_views.thread_pools with detailed pool parameters (CASSANDRA-19289)
 * Remove dependency on Sigar in favor of OSHI (CASSANDRA-16565)
 * Simplify the bind marker and Term logic (CASSANDRA-18813)
 * Limit cassandra startup to supported JDKs, allow higher JDKs by setting CASSANDRA_JDK_UNSUPPORTED (CASSANDRA-18688)
 * Standardize nodetool tablestats formatting of data units (CASSANDRA-19104)
 * Make nodetool tablestats use number of significant digits for time and average values consistently (CASSANDRA-19015)
 * Upgrade jackson to 2.15.3 and snakeyaml to 2.1 (CASSANDRA-18875)
 * Transactional Cluster Metadata [CEP-21] (CASSANDRA-18330)
 * Add ELAPSED command to cqlsh (CASSANDRA-18861)
 * Add the ability to disable bulk loading of SSTables (CASSANDRA-18781)
 * Clean up obsolete functions and simplify cql_version handling in cqlsh (CASSANDRA-18787)
Merged from 5.0:
 * Update cassandra-stress to support TLS 1.3 by default by auto-negotiation (CASSANDRA-21007)
 * Refactor SAI ANN query execution to use score ordered iterators for correctness and speed (CASSANDRA-20086)
 * Fix ConcurrentModificationException in compaction garbagecollect (CASSANDRA-21065)
 * Dynamically skip sharding L0 when SAI Vector index present (CASSANDRA-19661)
 * Optionally force IndexStatusManager to use the optimized index status format (CASSANDRA-21132)
 * Automatically disable zero-copy streaming for legacy sstables with old bloom filter format (CASSANDRA-21092)
 * Fix CQLSSTableWriter serialization of vector of date and time (CASSANDRA-20979)
 * Correctly calculate default for FailureDetector max interval (CASSANDRA-21025)
 * Adding missing configs in system_views.settings to be backward compatible (CASSANDRA-20863)
 * Heap dump should not be generated on handled exceptions (CASSANDRA-20974)
Merged from 4.1:
 * Fix ant generate-eclipse-files (CASSANDRA-21215)
 * Disk usage guardrail cannot be disabled when failure threshold is reached (CASSANDRA-21057)
 * ReadCommandController should close fast to avoid deadlock when building secondary index (CASSANDRA-19564)
 * Disk usage guardrail cannot be disabled when failure threshold is reached (CASSANDRA-21057)
 * ReadCommandController should close fast to avoid deadlock when building secondary index (CASSANDRA-19564)
 * Redact security-sensitive information in system_views.settings (CASSANDRA-20856)
 * Improve CommitLogSegmentReader to skip SyncBlocks correctly in case of CRC errors (CASSANDRA-20664)
 * Do not crash on first boot with data_disk_usage_max_disk_size set when data directory is not created yet (CASSANDRA-20787)
 * Rework / simplification of nodetool get/setguardrailsconfig commands (CASSANDRA-20778)
 * IntrusiveStack.accumulate is not accumulating correctly (CASSANDRA-20670)
 * Add nodetool get/setguardrailsconfig commands (CASSANDRA-19552)
 * Fix mixed mode paxos ttl commit hang (CASSANDRA-20514)
 * Fix paxos mixed mode infinite loop (CASSANDRA-20493)
 * Optionally skip exception logging on invalid legacy protocol magic exception (CASSANDRA-19483)
 * Fix SimpleClient ability to release acquired capacity (CASSANDRA-20202)
 * Fix WaitQueue.Signal.awaitUninterruptibly may block forever if invoking thread is interrupted (CASSANDRA-20084)
 * Run audit_logging_options through santiation and validation on startup (CASSANDRA-20208)
 * Enforce CQL message size limit on multiframe messages (CASSANDRA-20052)
 * Fix race condition in DecayingEstimatedHistogramReservoir during rescale (CASSANDRA-19365)
Merged from 4.0:
 * Add option to disable cqlsh history (CASSANDRA-21180)
 * Node does not send multiple inflight echos (CASSANDRA-18866)
 * Obsolete expired SSTables before compaction starts (CASSANDRA-19776)
 * Switch lz4-java to at.yawk.lz4 version due to CVE (CASSANDRA-21052)
 * Restrict BytesType compatibility to scalar types only (CASSANDRA-20982)
 * Backport fix to nodetool gcstats output for direct memory (CASSANDRA-21037)
 * ArrayIndexOutOfBoundsException with repaired data tracking and counters (CASSANDRA-20871)
 * Fix cleanup of old incremental repair sessions in case of owned token range changes or a table deleting (CASSANDRA-20877)
 * Fix memory leak in BufferPoolAllocator when a capacity needs to be extended (CASSANDRA-20753)
 * Updated dtest-api to 0.0.18 and removed JMX-related classes that now live in the dtest-api (CASSANDRA-20884)
 * Fix range queries on early-open BTI files (CASSANDRA-20976)
 * Avoid re-initializing underlying iterator in LazilyInitializedUnfilteredRowIterator after closing (CASSANDRA-20972)
 * Flush SAI segment builder when current SSTable writer is switched (CASSANDRA-20752)
 * Throw RTE instead of FSError when RTE is thrown from FileUtis.write in TOCComponent (CASSANDRA-20917)
 * Represent complex settings as JSON on system_views.settings table (CASSANDRA-20827)
 * Sort SSTable TOC entries for determinism (CASSANDRA-20494)
 * Do not source cassandra-env.sh unnecessarily in nodetool and other tooling (CASSANDRA-20745)
 * Make source distribution buildable by ant artifacts as doc/scripts/process-native-protocol-specs-in-docker.sh was not executable (CASSANDRA-20802)
 * SSTableIndexWriter#abort() should log more quietly in cases where an exception is not provided (CASSANDRA-20695)
 * Avoid availability gap between UP and queryability marking for already built SAI indexes on bounce (CASSANDRA-20732)
 * Make Commitlog flush data safely in Direct IO mode (CASSANDRA-20692)
 * Get SAI MemtableIndex refs before SSTableIndex refs at query time (CASSANDRA-20709)
 * Fix MAX_SEGMENT_SIZE < chunkSize in MmappedRegions::updateState (CASSANDRA-20636)
 * Full Java 17 support (CASSANDRA-20681)
 * Ensure replica filtering protection does not trigger unnecessary short read protection reads (CASSANDRA-20639)
 * Unified Compaction does not properly validate min and target sizes (CASSANDRA-20398)
 * Avoid lambda usage in TrieMemoryIndex range queries and ensure queue size tracking is per column (CASSANDRA-20668)
 * Avoid CQLSH throwing an exception loading .cqlshrc on non-supported platforms (CASSANDRA-20478)
 * Relax validation of snapshot name as a part of SSTable files path validation (CASSANDRA-20649)
 * Optimize initial skipping logic for SAI queries on large partitions (CASSANDRA-20191)
 * zero copy streaming allocates direct memory that isn't used, but does help to fragment the memory space (CASSANDRA-20577)
 * CQLSSTableWriter supports setting the format (BTI or Big) (CASSANDRA-20609)
 * Don't allocate in ThreadLocalReadAheadBuffer#close() (CASSANDRA-20551)
 * Ensure RowFilter#isMutableIntersection() properly evaluates numeric ranges on a single column (CASSANDRA-20566)
 * SAI marks an index as non-empty when a partial partition/row modifications is flushed due to repair (CASSANDRA-20567)
 * SAI fails queries when multiple columns exist and a non-indexed column is a composite with a map (CASSANDRA-19891)
 * Avoid purging deletions in RowFilter when reconciliation is required (CASSANDRA-20541)
 * Fixed multiple single-node SAI query bugs relating to static columns (CASSANDRA-20338)
 * Upgrade com.datastax.cassandra:cassandra-driver-core:3.11.5 to org.apache.cassandra:cassandra-driver-core:3.12.1 (CASSANDRA-17231)
 * Update netty to 4.1.119.Final and netty-tcnative to 2.0.70.Final (CASSANDRA-20314)
 * Serialization can lose complex deletions in a mutation with multiple collections in a row (CASSANDRA-20449)
 * Improve error messages when initializing auth classes (CASSANDRA-20368)
 * Prioritize legacy 2i over SAI for columns with multiple indexes (CASSANDRA-20334)
 * Ensure only offline tools can build IntervalTrees without first/last key fields (CASSANDRA-20407)
 * Improve disk access patterns during compaction and range reads (CASSANDRA-15452)
 * Improve IntervalTree build throughput (CASSANDRA-19596)
 * Avoid limit on RFP fetch in the case of an unresolved static row (CASSANDRA-20323)
 * Include materialized views to the output of DESCRIBE TABLE statements (CASSANDRA-20365)
 * Heap and GC jvm flags improvements (CASSANDRA-20296)
 * Fix unparseable YAML in default cassandra.yaml when uncommented for downstream tooling (CASSANDRA-20359)
 * Avoid fetching entire partitions on unresolved static rows in RFP when no static column predicates exist (CASSANDRA-20243)
 * Avoid indexing empty values for non-literals and types that do not allow them (CASSANDRA-20313)
 * Fix incorrect results of min / max in-built functions on clustering columns in descending order (CASSANDRA-20295)
 * Avoid possible consistency violations for SAI intersection queries over repaired index matches and multiple non-indexed column matches (CASSANDRA-20189)
 * Skip check for DirectIO when initializing tools (CASSANDRA-20289)
 * Avoid under-skipping during intersections when an iterator has mixed STATIC and WIDE keys (CASSANDRA-20258)
 * Correct the default behavior of compareTo() when comparing WIDE and STATIC PrimaryKeys (CASSANDRA-20238)
 * Make sure we can set parameters when configuring CassandraCIDRAuthorizer (CASSANDRA-20220)
 * Add selected SAI index state and query performance metrics to nodetool tablestats (CASSANDRA-20026)
 * Remove v30 and v3X from 5.x in-JVM upgrade tests (CASSANDRA-20103)
 * Avoid memory allocation in offheap_object's NativeCell.valueSize() and NativeClustering.dataSize() (CASSANDRA-20162)
 * Add flag to avoid invalidating key cache on sstable deletions (CASSANDRA-20068)
 * Interpret inet, bigint, varint, and decimal as non-reversed types for query construction and post-filtering (CASSANDRA-20100)
 * Streamline the serialized format for index status gossip messages (CASSANDRA-20058)
 * Batch clusterings into single SAI partition post-filtering reads (CASSANDRA-19497)
 * Ban the usage of "var" instead of full types in the production code (CASSANDRA-20038)
 * Suppress CVE-2024-45772, upgrade to lucene-core-9.12.0.jar (CASSANDRA-20024)
 * Use SinglePartitionReadCommand for index queries that use strict filtering (CASSANDRA-19968)
 * Always write local expiration time as an int to LivenessInfo digest (CASSANDRA-19989)
 * Enables IAuthenticator's to return own AuthenticateMessage (CASSANDRA-19984)
 * Use ParameterizedClass for all auth-related implementations (CASSANDRA-19946)
 * Correct out-of-date metrics and configuration documentation for SAI (CASSANDRA-19898)
 * Make configuration entries in memtable section order-independent (CASSANDRA-19906)
 * Add guardrail for enabling usage of VectorType (CASSANDRA-19903)
 * Set executable flag for shell scripts in .build directory for source artifact (CASSANDRA-19896)
 * Throw ConfigurationException when commitlog_disk_access_mode is direct but direct IO is not supported by filesystem (CASSANDRA-19812)
 * Memtable allocation type unslabbed_heap_buffers_logged will cause an assertion error for TrieMemtables and SegmentedTrieMemtables (CASSANDRA-19835)
 * Minor improvements in Cassandra shutdown and startup logs (CASSANDRA-19818)
 * Fix direct IO support always being evaluated to false upon the first start of a node (CASSANDRA-19779)
 * Deprecate and ignore use_deterministic_table_id (CASSANDRA-19809)
 * Prioritize built indexes in IndexStatusManager (CASSANDRA-19400)
 * Add java.base/java.lang.reflect among opens for jvm11-client.options (CASSANDRA-19780)
 * Obsolete expired SSTables before compaction starts (CASSANDRA-19776)
 * Switch lz4-java to at.yawk.lz4 version due to CVE (CASSANDRA-21052)
 * Restrict BytesType compatibility to scalar types only (CASSANDRA-20982)
 * Backport fix to nodetool gcstats output for direct memory (CASSANDRA-21037)
 * ArrayIndexOutOfBoundsException with repaired data tracking and counters (CASSANDRA-20871)
 * Fix cleanup of old incremental repair sessions in case of owned token range changes or a table deleting (CASSANDRA-20877)
 * Fix memory leak in BufferPoolAllocator when a capacity needs to be extended (CASSANDRA-20753)
 * Leveled Compaction doesn't validate maxBytesForLevel when the table is altered/created (CASSANDRA-20570)
 * Updated dtest-api to 0.0.18 and removed JMX-related classes that now live in the dtest-api (CASSANDRA-20884)
 * Fixed incorrect error message constant for keyspace name length validation (CASSANDRA-20915)
 * Prevent too long table names not fitting file names (CASSANDRA-20389)
 * Update Jackson to 2.19.2 (CASSANDRA-20848)
 * Update commons-lang3 to 3.18.0 (CASSANDRA-20849)
 * Add NativeTransportMaxConcurrentConnectionsPerIp to StorageProxyMBean (CASSANDRA-20642)
 * Make secondary index implementations notified about rows in fully expired SSTables in compaction (CASSANDRA-20829)
 * Ensure prepared_statement INSERT timestamp precedes eviction DELETE (CASSANDRA-19703)
 * Gossip doesn't converge due to race condition when updating EndpointStates multiple fields (CASSANDRA-20659)
 * Handle sstable metadata stats file getting a new mtime after compaction has finished (CASSANDRA-18119)
 * Honor MAX_PARALLEL_TRANSFERS correctly (CASSANDRA-20532)
 * Updating a column with a new TTL but same expiration time is non-deterministic and causes repair mismatches. (CASSANDRA-20561)
 * Avoid computing prepared statement size for unprepared batches (CASSANDRA-20556)
 * Fix Dropwizard Meter causes timeouts when infrequently used (CASSANDRA-19332)
 * Update OWASP dependency checker to version 12.1.0 (CASSANDRA-20501)
 * Suppress CVE-2025-25193 (CASSANDRA-20504)
 * Include in source tree and build packages a Snyk policy file that lists known false positives (CASSANDRA-20319)
 * Update zstd-jni to 1.5.7-2 (CASSANDRA-20453)
 * Suppress CVE-2024-12801 (CASSANDRA-20412)
 * Suppress CVE-2024-12798 (CASSANDRA-20408)
 * Support null column value tombstones in FQL batch statements (CASSANDRA-20397)
 * Update Zstd library to 1.5.7-1 (CASSANDRA-20367)
 * Fix premature auto-failing of long-running repairs (CASSANDRA-20312)
 * Fix autocompletion for role names/user names (CASSANDRA-20175)
 * Tighten up permissions in dc and cidr authorizers (CASSANDRA-20225)
 * CBUtil serialization of UTF8 does not handle all UTF8 properly (CASSANDRA-20234)
 * Make hint expiry use request start time rather than timeout time for TTL (CASSANDRA-20014)
 * Do not attach rows and partitions to QueryCancellationChecker when already attached (CASSANDRA-20135)
 * Allow hint delivery during schema mismatch (CASSANDRA-20188)
 * IndexOutOfBoundsException when accessing partition where the column was deleted (CASSANDRA-20108)
 * Enhance CQLSSTableWriter to notify clients on sstable production (CASSANDRA-19800)
 * Change the resolution of AbstractCommitLogService#lastSyncedAt to nanos to be aligned with later comparisons (CASSANDRA-20074)
 * Support UDTs and vectors as clustering keys in descending order (CASSANDRA-20050)
 * Fix CQL in snapshot's schema which did not contained UDTs used as reverse clustering columns (CASSANDRA-20036)
 * Add configurable batchlog endpoint strategies: random_remote, prefer_local, dynamic_remote, and dynamic (CASSANDRA-18120)
 * Fix bash-completion for debian distro (CASSANDRA-19999)
 * Ensure thread-safety for CommitLogArchiver in CommitLog (CASSANDRA-19960)
 * Fix text containing "/*" being interpreted as multiline comment in cqlsh (CASSANDRA-17667)
 * Fix indexing of a frozen collection that is the clustering key and reversed (CASSANDRA-19889)
 * Emit error when altering a table with non-frozen UDTs with nested non-frozen collections the same way as done upon table creation (CASSANDRA-19925)
 * Safer handling of out-of-range tokens (CASSANDRA-13704)
 * Fix memory leak in BTree.FastBuilder (CASSANDRA-19785)
 * Fix millisecond and microsecond precision for commit log replay (CASSANDRA-19448)
 * Improve accuracy of memtable heap usage tracking (CASSANDRA-17298)
 * Fix rendering UNSET collection types in query tracing (CASSANDRA-19880)
 * Fix latency reported by ideal consistency level monitoring (CASSANDRA-19651)
 * Do not spam log with SSLExceptions (CASSANDRA-18839)
Merged from 3.0
  * Tighten up permissions on system keyspaces (CASSANDRA-20090)

5.0.0
5.0-rc2
 * Fix direct IO support always being evaluated to false upon the first start of a node (CASSANDRA-19779)
 * Memtable allocation type unslabbed_heap_buffers_logged will cause an assertion error for TrieMemtables and SegmentedTrieMemtables (CASSANDRA-19835)
Merged from 4.0:
 * Use default commitlog settings in test YAMLs (CASSANDRA-19830)


5.0-rc1
 * Move bcpkix-jdk18on to build dependencies, update to 1.78 and explicitly enumerate transitive dependencies (CASSANDRA-19739)
 * Avoid streams in the common case for UpdateTransaction creation (CASSANDRA-19675)
 * Only wait until native_transport_timeout for dispatcher to finish (CASSANDRA-19697)
 * Disable chronicle analytics (CASSANDRA-19656)
 * Replace Stream iteration with for-loop for StorageProxy::updateCoordinatorWriteLatencyTableMetric (CASSANDRA-19676)
 * Enforce metric naming contract if scope is used in a metric name (CASSANDRA-19619)
 * Avoid reading of the same IndexInfo from disk many times for a large partition (CASSANDRA-19557)
 * Resolve the oldest hints just from descriptors and current writer if available (CASSANDRA-19600)
 * Optionally fail writes when SAI refuses to index a term value exceeding configured term max size (CASSANDRA-19493)
 * Vector search can restrict on clustering keys when filtering isn't required (CASSANDRA-19544)
 * Fix FBUtilities' parsing of gcp cos_containerd kernel versions (CASSANDRA-18594)
 * Clean up KeyRangeIterator classes (CASSANDRA-19428)
 * Warn clients about possible consistency violations for filtering queries against multiple mutable columns (CASSANDRA-19489)
 * Align buffer with commitlog segment size (CASSANDRA-19471)
 * Ensure SAI indexes empty byte buffers for types that allow them as a valid input (CASSANDRA-19461)
 * Deprecate Python 3.7 and earlier, but allow cqlsh to run with Python 3.6-3.11 (CASSANDRA-19467)
 * Set uuid_sstable_identifiers_enabled to true in cassandra-latest.yaml (CASSANDRA-19460)
 * Revert switching to approxTime in Dispatcher (CASSANDRA-19454)
 * Add an optimized default configuration to tests and make it available for new users (CASSANDRA-18753)
 * Fix remote JMX under Java17 (CASSANDRA-19453)
 * Avoid consistency violations for SAI intersections over unrepaired data at consistency levels requiring reconciliation (CASSANDRA-19018)
 * Fix NullPointerException in ANN+WHERE when adding rows in another partition (CASSANDRA-19404)
 * Record latencies for SAI post-filtering reads against local storage (CASSANDRA-18940)
 * Fix VectorMemoryIndex#update logic to compare vectors. Fix Index view (CASSANDRA-19168)
 * Deprecate native_transport_port_ssl (CASSANDRA-19392)
 * Update packaging shell includes (CASSANDRA-19283)
 * Fix data corruption in VectorCodec when using heap buffers (CASSANDRA-19167)
 * Avoid over-skipping of key iterators from static column indexes during mixed intersections (CASSANDRA-19278)
 * Make concurrent_index_builders configurable at runtime (CASSANDRA-19266)
 * Fix storage_compatibility_mode for streaming (CASSANDRA-19126)
 * Add support of vector type to cqlsh COPY command (CASSANDRA-19118)
 * Make CQLSSTableWriter to support building of SAI indexes (CASSANDRA-18714)
 * Append additional JVM options when using JDK17+ (CASSANDRA-19001)
 * Upgrade Python driver to 3.29.0 (CASSANDRA-19245)
 * Creating a SASI index after creating an SAI index does not break secondary index queries (CASSANDRA-18939)
 * Optionally fail when a non-partition-restricted query is issued against an index (CASSANDRA-18796)
 * Add a startup check to fail startup when using invalid configuration with certain Kernel and FS type (CASSANDRA-19196)
 * UCS min_sstable_size should not be lower than target_sstable_size lower bound (CASSANDRA-19112)
 * Fix the correspondingMessagingVersion of SSTable format and improve TTL overflow tests coverage (CASSANDRA-19197)
 * Fix resource cleanup after SAI query timeouts (CASSANDRA-19177)
 * Suppress CVE-2023-6481 (CASSANDRA-19184)
Merged from 4.1:
 * Add native transport deadline, an ultimate deadline for all tasks related to a specific request (CASSANDRA-19534)
 * Do not create a role if ALTER ROLE IF EXISTS operates on non-existing role (CASSANDRA-19749)
 * Use OpOrder in repairIterator to ensure we don't lose memtables mid-paxos repair (Cassandra-19668)
 * Refresh stale paxos commit (CASSANDRA-19617)
 * Reduce info logging from automatic paxos repair (CASSANDRA-19445)
 * Support legacy plain_text_auth section in credentials file removed unintentionally (CASSANDRA-19498)
Merged from 4.0:
 * Support null column value tombstones in FQL batch statements (CASSANDRA-20397)
 * Fix millisecond and microsecond precision for commit log replay (CASSANDRA-19448)
 * Improve accuracy of memtable heap usage tracking (CASSANDRA-17298)
 * Fix rendering UNSET collection types in query tracing (CASSANDRA-19880)
 * Fix latency reported by ideal consistency level monitoring (CASSANDRA-19651)
 * Use default commitlog settings in test YAMLs (CASSANDRA-19830)
 * Do not spam log with SSLExceptions (CASSANDRA-18839)
 * Fix schema.cql created by a snapshot after dropping more than one column (CASSANDRA-19747)
 * UnsupportedOperationException when reducing scope for LCS compactions (CASSANDRA-19704)
 * Make LWT conditions behavior on frozen and non-frozen columns consistent for null column values (CASSANDRA-19637)
 * Add timeout specifically for bootstrapping nodes (CASSANDRA-15439)
 * Bring Redhat packge dirs/ownership/perms in line with Debian package (CASSANDRA-19565)
Merged from 3.0:
 * Upgrade OWASP to 10.0.0 (CASSANDRA-19738)


4.1.5
 * Make queries visible to the "system_views.queries" virtual table at the coordinator level (CASSANDRA-19577)
 * Fix hints delivery for a node going down repeatedly (CASSANDRA-19495)
 * Do not go to disk for reading hints file sizes (CASSANDRA-19477)
 * Fix system_views.settings to handle array types (CASSANDRA-19475)
 * Fix StackOverflowError on ALTER after many previous schema changes (CASSANDRA-19166)
 * Memoize Cassandra verion (CASSANDRA-18902)
Merged from 4.0:
 * Fix millisecond and microsecond precision for commit log replay (CASSANDRA-19448)
 * Improve accuracy of memtable heap usage tracking (CASSANDRA-17298)
 * Fix rendering UNSET collection types in query tracing (CASSANDRA-19880)
 * Fix latency reported by ideal consistency level monitoring (CASSANDRA-19651)
 * Use default commitlog settings in test YAMLs (CASSANDRA-19830)
 * Do not spam log with SSLExceptions (CASSANDRA-18839)
 * Fix schema.cql created by a snapshot after dropping more than one column (CASSANDRA-19747)
 * UnsupportedOperationException when reducing scope for LCS compactions (CASSANDRA-19704)
 * Make LWT conditions behavior on frozen and non-frozen columns consistent for null column values (CASSANDRA-19637)
 * Bring Redhat package dirs/ownership/perms in line with Debian package (CASSANDRA-19565)
 * Make nodetool import congruent with the documentation by not relying on the folder structure of the imported SSTable files (CASSANDRA-19401)
 * IR may leak SSTables with pending repair when coming from streaming (CASSANDRA-19182)
 * Streaming exception race creates corrupt transaction log files that prevent restart (CASSANDRA-18736)
 * Fix CQL tojson timestamp output on negative timestamp values before Gregorian calendar reform in 1582 (CASSANDRA-19566)
 * Fix few types issues and implement types compatibility tests (CASSANDRA-19479)
 * Change logging to TRACE when failing to get peer certificate (CASSANDRA-19508)
 * Push LocalSessions info logs to debug (CASSANDRA-18335)
 * Filter remote DC replicas out when constructing the initial replica plan for the local read repair (CASSANDRA-19120)
 * Remove redundant code in StorageProxy#sendToHintedReplicas (CASSANDRA-19412)
 * Remove bashisms for mx4j tool in cassandra-env.sh (CASSANDRA-19416)
 * Add new concurrent_merkle_tree_requests config property to prevent OOM during multi-range and/or multi-table repairs (CASSANDRA-19336)
Merged from 3.11:
 * Move ClientWarn.State#warnings to a thread-safe list (CASSANDRA-19427)
Merged from 3.0:
 * Upgrade OWASP to 10.0.0 (CASSANDRA-19738)
 * Fix SCM URL link (CASSANDRA-19422)
 * Backport CASSANDRA-16418 to 3.x (CASSANDRA-18824)


5.0-beta1
 * Fix SAI intersection queries (CASSANDRA-19011)
 * Clone EndpointState before sending GossipShutdown message (CASSANDRA-19115)
 * SAI indexes are marked queryable during truncation (CASSANDRA-19032)
 * Enable Direct-IO feature for CommitLog files using Java native API's. (CASSANDRA-18464)
 * SAI fixes for composite partitions, and static and non-static rows intersections (CASSANDRA-19034)
 * Improve SAI IndexContext handling of indexed and non-indexed columns in queries (CASSANDRA-18166)
 * Fixed bug where UnifiedCompactionTask constructor was calling the wrong base constructor of CompactionTask (CASSANDRA-18757)
 * Fix SAI unindexed contexts not considering CONTAINS KEY (CASSANDRA-19040)
 * Ensure that empty SAI column indexes do not fail on validation after full-SSTable streaming (CASSANDRA-19017)
 * SAI in-memory index should check max term size (CASSANDRA-18926)
 * Set default disk_access_mode to mmap_index_only (CASSANDRA-19021)
 * Exclude net.java.dev.jna:jna dependency from dependencies of org.caffinitas.ohc:ohc-core (CASSANDRA-18992)
 * Add UCS sstable_growth and min_sstable_size options (CASSANDRA-18945)
 * Make cqlsh's min required Python version 3.7+ instead of 3.6+ (CASSANDRA-18960)
 * Fix incorrect seeking through the sstable iterator by IndexState (CASSANDRA-18932)
 * Upgrade Python driver to 3.28.0 (CASSANDRA-18960)
 * Add retries to IR messages (CASSANDRA-18962)
 * Add metrics and logging to repair retries (CASSANDRA-18952)
 * Remove deprecated code in Cassandra 1.x and 2.x (CASSANDRA-18959)
 * ClientRequestSize metrics should not treat CONTAINS restrictions as being equality-based (CASSANDRA-18896)
 * Add support for vector search in SAI (CASSANDRA-18715)
 * Remove crc_check_chance from CompressionParams (CASSANDRA-18872)
 * Fix schema loading of UDTs inside vectors inside UDTs (CASSANDRA-18964)
 * Add cqlsh autocompletion for the vector data type (CASSANDRA-18946)
 * Fix nodetool tablehistograms output to avoid printing repeated information and ensure at most two arguments (CASSANDRA-18955)
 * Change the checksum algorithm SAI-related files use from CRC32 to CRC32C (CASSANDRA-18836)
 * Correctly remove Index.Group from IndexRegistry (CASSANDRA-18905)
 * Fix vector type to support DDM's mask_default function (CASSANDRA-18889)
 * Remove unnecessary reporter-config3 dependency (CASSANDRA-18907)
 * Remove support for empty values on the vector data type (CASSANDRA-18876)
 * Upgrade Dropwizard Metrics to 4.2.19 (CASSANDRA-14667)
 * Upgrade caffeine cache and fix CIDR permissions cache invalidation (CASSANDRA-18805)
 * Remove deprecated properties in CompressionParams (CASSANDRA-18742)
 * Add support for repair coordinator to retry messages that timeout (CASSANDRA-18816)
 * Upgrade slf4j-api to 1.7.36 (CASSANDRA-18882)
 * Make the output of ON/OFF commands in cqlsh consistent (CASSANDRA-18547)
 * Do not create sstable files before registering in txn (CASSANDRA-18737)
 * Remove wrong assertion in SSTableLoader (CASSANDRA-18840)
 * Do not log stacktrace on mismatched cache and schema version and checksum error in AutoSavingCache (CASSANDRA-18862)
 * Remove wrong assertion in SSTableLoader (CASSANDRA-18840)
 * Fix accessing java.nio.Bits.TOTAL_CAPACITY in Java17 (CASSANDRA-18848)
 * Remove metrics-reporter-config dependency (CASSANDRA-18743)
 * Fix SAI's SegmentMetadata min and max primary keys (CASSANDRA-18734)
 * Remove commons-codec dependency (CASSANDRA-18772)
Merged from 4.1:
 * Internode legacy SSL storage port certificate is not hot reloaded on update (CASSANDRA-18681)
 * Nodetool paxos-only repair is no longer incremental (CASSANDRA-18466)
Merged from 4.0:
 * Support max SSTable size in sorted CQLSSTableWriter (CASSANDRA-18941)
 * Fix nodetool repair_admin summarize-pending command to not throw exception (CASSANDRA-19014)
 * Fix cassandra-stress in simplenative mode with prepared statements (CASSANDRA-18744)
 * Fix filtering system ks sstables for relocation on startup (CASSANDRA-18963)
 * Remove completed coordinator sessions (CASSANDRA-18903)
 * Gossip NPE due to shutdown event corrupting empty statuses (CASSANDRA-18913)
 * Update hdrhistogram to 2.1.12 (CASSANDRA-18893)
 * Improve performance of compactions when table does not have an index (CASSANDRA-18773)
 * JMH improvements - faster build and async profiler (CASSANDRA-18871)
 * Enable 3rd party JDK installations for Debian package (CASSANDRA-18844)
Merged from 3.11:
 * Revert CASSANDRA-18543 (CASSANDRA-18854)
Merged from 3.0:
 * Suppress CVE-2023-6378 (CASSANDRA-19142)
 * Do not set RPC_READY to false on transports shutdown in order to not fail counter updates for deployments with coordinator and storage nodes with transports turned off (CASSANDRA-18935)
 * Suppress CVE-2023-44487 (CASSANDRA-18943)
 * Implement the logic in bin/stop-server (CASSANDRA-18838)
 * Fix nodetool enable/disablebinary to correctly set rpc readiness in gossip (CASSANDRA-18935)
 * Implement the logic in bin/stop-server (CASSANDRA-18838)
 * Upgrade snappy-java to 1.1.10.4 (CASSANDRA-18878)
 * Add cqlshrc.sample and credentials.sample into Debian package (CASSANDRA-18818)


5.0-alpha1
 * Fix rpm installations to work with jdk17 (CASSANDRA-18817)
 * Fix Depends and Build-Depends for Java for Debian packages (CASSANDRA-18809)
 * Update command line flags --add-exports and --add-opens for JDK17 (CASSANDRA-18439)
 * Update commons-lang3 to 3.13.0 (CASSANDRA-18789)
 * Forbid SAI indexes with analysis options on primary key columns (CASSANDRA-18782)
 * Expose bootstrap failure state via JMX and nodetool info (CASSANDRA-18749)
 * Reduce size of per-SSTable index components for SAI (CASSANDRA-18673)
 * Remove unnecessary Netty dependencies after upgrade to version 4.1.96 (CASSANDRA-18729)
 * Prevent InaccessibleObjectException when the Leak Detector is traversing objects (CASSANDRA-18708)
 * Remove legacy command line options from cassandra-stress (CASSANDRA-18529)
 * Remove commitlog_sync_batch_window_in_ms (CASSANDRA-17161)
 * Upgrade JMH from 1.21 to 1.36 (CASSANDRA-18696)
 * Add guardrail for vector dimensions (CASSANDRA-18730)
Merged from 4.1:
 * Fixed the inconsistency between distributedKeyspaces and distributedAndLocalKeyspaces (CASSANDRA-18747)
 * Waiting indefinitely on ReceivedMessage response in StreamSession#receive() can cause deadlock (CASSANDRA-18733)
 * Allow empty keystore_password in encryption_options (CASSANDRA-18778)
Merged from 4.0:
 * Retrieve keyspaces metadata and schema version concistently in DescribeStatement (CASSANDRA-18921)
 * JMH improvements - faster build and async profiler (CASSANDRA-18871)
Merged from 3.11:
 * Fix NPE when using udfContext in UDF after a restart of a node (CASSANDRA-18739)
Merged from 3.0:
 * Add cqlshrc.sample and credentials.sample into Debian package (CASSANDRA-18818)
 * Refactor validation logic in StorageService.rebuild (CASSANDRA-18803)
 * Make alternation of a user type validate the same way as creation of a user type does (CASSANDRA-18585)
 * Fix missing speculative retries in tablestats (CASSANDRA-18767)
 * Fix Requires for Java for RPM package (CASSANDRA-18751)
 * Fix CQLSH online help topic link (CASSANDRA-17534)
 * Remove unused suppressions (CASSANDRA-18724)


5.0
 * Upgraded Netty to 4.1.96, added BouncyCastle dependency (CASSANDRA-17992)
 * Fix for (unsupported) big endian unaligned architecture, eg s390x (CASSANDRA-17723)
 * CIDR filtering authorizer (CASSANDRA-18592)
 * Remove 3.x from the versions checked for prepared statement behaviour (CASSANDRA-18695)
 * Add vector similarity functions (CASSANDRA-18640)
 * Lift MessagingService.minimum_version to 40 (CASSANDRA-18314)
 * Introduce pluggable crypto providers and default to AmazonCorrettoCryptoProvider (CASSANDRA-18624)
 * Improved DeletionTime serialization (CASSANDRA-18648)
 * CEP-7: Storage Attached Indexes (CASSANDRA-16052)
 * Add equals/hashCode override for ServerEncryptionOptions (CASSANDRA-18428)
 * Upgrade ECJ to version 3.33.0 (CASSANDRA-18190)
 * Fix ClassCastException  from jdk GaloisCounterMode when using JDK17 provider (CASSANDRA-18180)
 * Drop JDK8, add JDK17 (CASSANDRA-18255)
 * Remove WaitingOnFreeMemtableSpace and DroppedMutations metrics (CASSANDRA-18298)
 * Upgrade Jamm version to 0.4.0  (CASSANDRA-17884, CASSANDRA-16304, CASSANDRA-18329)
 * Remove legacy 3.0/3.11 buffer pool metrics (CASSANDRA-18313)
 * Add AzureSnitch (CASSANDRA-18646)
 * Implementation of the Unified Compaction Strategy as described in CEP-26 (CASSANDRA-18397)
 * Upgrade commons cli to 1.5.0 (CASSANDRA-18659)
 * Disable the deprecated keyspace/table thresholds and convert them to guardrails (CASSANDRA-18617)
 * Deprecate CloudstackSnitch and remove duplicate code in snitches (CASSANDRA-18438)
 * Add support for vectors in UDFs (CASSANDRA-18613)
 * Improve vector value validation errors (CASSANDRA-18652)
 * Upgrade Guava to 32.0.1 (CASSANDRA-18645)
 * Add duration and count of partition keys to sstablemetadata (CASSANDRA-18639)
 * Remove deprecated compaction_tombstone_warning_threshold and compaction_large_partition_warning_threshold from yaml (CASSANDRA-18626)
 * Enhance nodetool compactionstats with additional metrics (CASSANDRA-18305)
 * Added support for type VECTOR<type, dimension> (CASSANDRA-18504)
 * Expose bootstrap and decommission state to nodetool info (CASSANDRA-18555)
 * Fix SSTabledump errors when dumping data from index (CASSANDRA-17698)
 * Avoid unnecessary deserialization of terminal arguments when executing CQL functions (CASSANDRA-18566)
 * Remove dependency on pytz library for setting CQLSH timezones on Python version >= 3.9 (CASSANDRA-17433)
 * Extend maximum expiration date (CASSANDRA-14227)
 * Add guardrail for partition tombstones and deprecate compaction_tombstone_warning_threshold (CASSANDRA-17194)
 * Print header and statistics for cassandra-stress output with arbitrary frequency (CASSANDRA-12972)
 * CEP-25: Trie-indexed SSTable format (CASSANDRA-18398)
 * Make cassandra-stress able to read all credentials from a file (CASSANDRA-18544)
 * Add guardrail for partition size and deprecate compaction_large_partition_warning_threshold (CASSANDRA-18500)
 * Add HISTORY command for CQLSH (CASSANDRA-15046)
 * Fix sstable formats configuration (CASSANDRA-18441)
 * Add guardrail to bound timestamps (CASSANDRA-18352)
 * Add keyspace_name column to system_views.clients (CASSANDRA-18525)
 * Moved system properties and envs to CassandraRelevantProperties and CassandraRelevantEnv respectively (CASSANDRA-17797)
 * Add sstablepartitions offline tool to find large partitions in sstables (CASSANDRA-8720)
 * Replace usages of json-simple dependency by Jackson (CASSANDRA-16855)
 * When decommissioning should set Severity to limit traffic (CASSANDRA-18430)
 * For Java11 and Java17 remove -XX:-UseBiasedLocking as it is the default already (CASSANDRA-17869)
 * Upgrade commons-io to 2.11.0 (CASSANDRA-17364)
 * Node Draining Should Abort All Current SSTables Imports (CASSANDRA-18373)
 * Use snake case for the names of CQL native functions (CASSANDRA-18037)
 * Use jdk-dependent checkstyle version to check the source code (CASSANDRA-18262)
 * Provide summary of failed SessionInfo's in StreamResultFuture (CASSANDRA-17199)
 * CEP-20: Dynamic Data Masking (CASSANDRA-17940)
 * Add system_views.snapshots virtual table (CASSANDRA-18102)
 * Update OpenHFT dependencies (chronicle-queue, chronicle-core, chronicle-bytes, chronicle-wire, chronicle-threads) (CASSANDRA-18049)
 * Remove org.apache.cassandra.hadoop code (CASSANDRA-18323)
 * Remove deprecated CQL functions dateOf and unixTimestampOf (CASSANDRA-18328)
 * Remove DateTieredCompactionStrategy (CASSANDRA-18043)
 * Add system_views.max_sstable_size and system_views.max_sstable_duration tables (CASSANDRA-18333)
 * Extend implicit allow-filtering for virtual tables to clustering columns (CASSANDRA-18331)
 * Upgrade maven-shade-plugin to 3.4.1 to fix shaded dtest JAR build (CASSANDRA-18136)
 * Upgrade to Opcodes.ASM9 (CASSANDRA-17971)
 * Add MaxSSTableSize and MaxSSTableDuration metrics and propagate them together with local read/write ratio to tablestats (CASSANDRA-18283)
 * Add more logging around CompactionManager operations (CASSANDRA-18268)
 * Reduce memory allocations of calls to ByteBufer.duplicate() made in org.apache.cassandra.transport.CBUtil#writeValue (CASSANDRA-18212)
 * CEP-17: SSTable API (CASSANDRA-17056)
 * Gossip stateMapOrdering does not have correct ordering when both EndpointState are in the bootstrapping set (CASSANDRA-18292)
 * Snapshot only sstables containing mismatching ranges on preview repair mismatch (CASSANDRA-17561)
 * More accurate skipping of sstables in read path (CASSANDRA-18134)
 * Prepare for JDK17 experimental support (CASSANDRA-18179, CASSANDRA-18258)
 * Remove Scripted UDFs internals; hooks to be added later in CASSANDRA-17281 (CASSANDRA-18252)
 * Update JNA to 5.13.0 (CASSANDRA-18050)
 * Make virtual tables decide if they implicitly enable ALLOW FILTERING (CASSANDRA-18238)
 * Add row, tombstone, and sstable count to nodetool profileload (CASSANDRA-18022)
 * Coordinator level metrics for read response and mutation row and column counts (CASSANDRA-18155)
 * Add CQL functions for dynamic data masking (CASSANDRA-17941)
 * Print friendly error when nodetool attempts to connect to uninitialized server (CASSANDRA-11537)
 * Use G1GC by default, and update default G1GC settings (CASSANDRA-18027)
 * SimpleSeedProvider can resolve multiple IP addresses per DNS record (CASSANDRA-14361)
 * Remove mocking in InternalNodeProbe spying on StorageServiceMBean (CASSANDRA-18152)
 * Add compaction_properties column to system.compaction_history table and nodetool compactionhistory command (CASSANDRA-18061)
 * Remove ProtocolVersion entirely from the CollectionSerializer ecosystem (CASSANDRA-18114)
 * Fix serialization error in new getsstables --show-levels option (CASSANDRA-18140)
 * Use checked casts when reading vints as ints (CASSANDRA-18099)
 * Add Mutation Serialization Caching (CASSANDRA-17998)
 * Only reload compaction strategies if disk boundaries change (CASSANDRA-17874)
 * CEP-10: Simulator Java11 Support (CASSANDRA-17178)
 * Set the major compaction type correctly for compactionstats (CASSANDRA-18055)
 * Print exception message without stacktrace when nodetool commands fail on probe.getOwnershipWithPort() (CASSANDRA-18079)
 * Add option to print level in nodetool getsstables output (CASSANDRA-18023)
 * Implement a guardrail for not having zero default_time_to_live on tables with TWCS (CASSANDRA-18042)
 * Add CQL scalar functions for collection aggregation (CASSANDRA-18060)
 * Make cassandra.replayList property for CommitLogReplayer possible to react on keyspaces only (CASSANDRA-18044)
 * Add Mathematical functions (CASSANDRA-17221)
 * Make incremental backup configurable per table (CASSANDRA-15402)
 * Change shebangs of Python scripts to resolve Python 3 from env command (CASSANDRA-17832)
 * Add reasons to guardrail messages and consider guardrails in the error message for needed ALLOW FILTERING (CASSANDRA-17967)
 * Add support for CQL functions on collections, tuples and UDTs (CASSANDRA-17811)
 * Add flag to exclude nodes from local DC when running nodetool rebuild (CASSANDRA-17870)
 * Adding endpoint verification option to client_encryption_options (CASSANDRA-18034)
 * Replace 'wcwidth.py' with pypi module (CASSANDRA-17287)
 * Add nodetool forcecompact to remove tombstoned or ttl'd data ignoring GC grace for given table and partition keys (CASSANDRA-17711)
 * Offer IF (NOT) EXISTS in cqlsh completion for CREATE TYPE, DROP TYPE, CREATE ROLE and DROP ROLE (CASSANDRA-16640)
 * Nodetool bootstrap resume will now return an error if the operation fails (CASSANDRA-16491)
 * Disable resumable bootstrap by default (CASSANDRA-17679)
 * Include Git SHA in --verbose flag for nodetool version (CASSANDRA-17753)
 * Update Byteman to 4.0.20 and Jacoco to 0.8.8 (CASSANDRA-16413)
 * Add memtable option among possible tab completions for a table (CASSANDRA-17982)
 * Adds a trie-based memtable implementation (CASSANDRA-17240)
 * Further improves precision of memtable heap tracking (CASSANDRA-17240)
 * Fix formatting of metrics documentation (CASSANDRA-17961)
 * Keep sstable level when streaming for decommission and move (CASSANDRA-17969)
 * Add Unavailables metric for CASWrite in the docs (CASSANDRA-16357)
 * Make Cassandra logs able to be viewed in the virtual table system_views.system_logs (CASSANDRA-17946)
 * IllegalArgumentException in Gossiper#order due to concurrent mutations to elements being applied (CASSANDRA-17908)
 * Include estimated active compaction remaining write size when starting a new compaction (CASSANDRA-17931)
 * Mixed mode support for internode authentication during TLS upgrades (CASSANDRA-17923)
 * Revert Mockito downgrade from CASSANDRA-17750 (CASSANDRA-17496)
 * Add --older-than and --older-than-timestamp options for nodetool clearsnapshots (CASSANDRA-16860)
 * Fix "open RT bound as its last item" exception (CASSANDRA-17810)
 * Fix leak of non-standard Java types in JMX MBeans `org.apache.cassandra.db:type=StorageService`
   and `org.apache.cassandra.db:type=RepairService` as clients using JMX cannot handle them. More details in NEWS.txt (CASSANDRA-17668)
 * Deprecate Throwables.propagate usage (CASSANDRA-14218)
 * Allow disabling hotness persistence for high sstable counts (CASSANDRA-17868)
 * Prevent NullPointerException when changing neverPurgeTombstones from true to false (CASSANDRA-17897)
 * Add metrics around storage usage and compression (CASSANDRA-17898)
 * Remove usage of deprecated javax certificate classes (CASSANDRA-17867)
 * Make sure preview repairs don't optimise streams unless configured to (CASSANDRA-17865)
 * Optionally avoid hint transfer during decommission (CASSANDRA-17808)
 * Make disabling auto snapshot on selected tables possible (CASSANDRA-10383)
 * Introduce compaction priorities to prevent upgrade compaction inability to finish (CASSANDRA-17851)
 * Prevent a user from manually removing ephemeral snapshots (CASSANDRA-17757)
 * Remove dependency on Maven Ant Tasks (CASSANDRA-17750)
 * Update ASM(9.1 to 9.3), Mockito(1.10.10 to 1.12.13) and ByteBuddy(3.2.4 to 4.7.0) (CASSANDRA-17835)
 * Add the ability for operators to loosen the definition of "empty" for edge cases (CASSANDRA-17842)
 * Fix potential out of range exception on column index downsampling (CASSANDRA-17839)
 * Introduce target directory to vtable output for sstable_tasks and for compactionstats (CASSANDRA-13010)
 * Read/Write/Truncate throw RequestFailure in a race condition with callback timeouts, should return Timeout instead (CASSANDRA-17828)
 * Add ability to log load profiles at fixed intervals (CASSANDRA-17821)
 * Protect against Gossip backing up due to a quarantined endpoint without version information (CASSANDRA-17830)
 * NPE in org.apache.cassandra.cql3.Attributes.getTimeToLive (CASSANDRA-17822)
 * Add guardrail for column size (CASSANDRA-17151)
 * When doing a host replacement, we need to check that the node is a live node before failing with "Cannot replace a live node..." (CASSANDRA-17805)
 * Add support to generate a One-Shot heap dump on unhandled exceptions (CASSANDRA-17795)
 * Rate-limit new client connection auth setup to avoid overwhelming bcrypt (CASSANDRA-17812)
 * DataOutputBuffer#scratchBuffer can use off-heap or on-heap memory as a means to control memory allocations (CASSANDRA-16471)
 * Add ability to read the TTLs and write times of the elements of a collection and/or UDT (CASSANDRA-8877)
 * Removed Python < 2.7 support from formatting.py (CASSANDRA-17694)
 * Cleanup pylint issues with pylexotron.py (CASSANDRA-17779)
 * NPE bug in streaming checking if SSTable is being repaired (CASSANDRA-17801)
 * Users of NativeLibrary should handle lack of JNA appropriately when running in client mode (CASSANDRA-17794)
 * Warn on unknown directories found in system keyspace directory rather than kill node during startup checks (CASSANDRA-17777)
 * Log duplicate rows sharing a partition key found in verify and scrub (CASSANDRA-17789)
 * Add separate thread pool for Secondary Index building so it doesn't block compactions (CASSANDRA-17781)
 * Added JMX call to getSSTableCountPerTWCSBucket for TWCS (CASSANDRA-17774)
 * When doing a host replacement, -Dcassandra.broadcast_interval_ms is used to know when to check the ring but checks that the ring wasn't changed in -Dcassandra.ring_delay_ms, changes to ring delay should not depend on when we publish load stats (CASSANDRA-17776)
 * When bootstrap fails, CassandraRoleManager may attempt to do read queries that fail with "Cannot read from a bootstrapping node", and increments unavailables counters (CASSANDRA-17754)
 * Add guardrail to disallow DROP KEYSPACE commands (CASSANDRA-17767)
 * Remove ephemeral snapshot marker file and introduce a flag to SnapshotManifest (CASSANDRA-16911)
 * Add a virtual table that exposes currently running queries (CASSANDRA-15241)
 * Allow sstableloader to specify table without relying on path (CASSANDRA-16584)
 * Fix TestGossipingPropertyFileSnitch.test_prefer_local_reconnect_on_listen_address (CASSANDRA-17700)
 * Add ByteComparable API (CASSANDRA-6936)
 * Add guardrail for maximum replication factor (CASSANDRA-17500)
 * Increment CQLSH to version 6.2.0 for release 4.2 (CASSANDRA-17646)
 * Adding support to perform certificate based internode authentication (CASSANDRA-17661)
 * Option to disable CDC writes of repaired data (CASSANDRA-17666)
 * When a node is bootstrapping it gets the whole gossip state but applies in random order causing some cases where StorageService will fail causing an instance to not show up in TokenMetadata (CASSANDRA-17676)
 * Add CQLSH command SHOW REPLICAS (CASSANDRA-17577)
 * Add guardrail to allow disabling of SimpleStrategy (CASSANDRA-17647)
 * Change default directory permission to 750 in packaging (CASSANDRA-17470)
 * Adding support for TLS client authentication for internode communication (CASSANDRA-17513)
 * Add new CQL function maxWritetime (CASSANDRA-17425)
 * Add guardrail for ALTER TABLE ADD / DROP / REMOVE column operations (CASSANDRA-17495)
 * Rename DisableFlag class to EnableFlag on guardrails (CASSANDRA-17544)
Merged from 4.1:
 * Skip ColumnFamilyStore#topPartitions initialization when client or tool mode (CASSANDRA-18697)
Merged from 4.0:
 * Partial compaction can resurrect deleted data (CASSANDRA-18507)
Merged from 3.11:
 * Fix delayed SSTable release with unsafe_aggressive_sstable_expiration (CASSANDRA-18756)
 * Fix NPE when using udfContext in UDF after a restart of a node (CASSANDRA-18739)
Merged from 3.0:
 * CQLSH emits a warning when the server version doesn't match (CASSANDRA-18745)
 * Fix missing speculative retries in tablestats (CASSANDRA-18767)
 * Fix Requires for Java for RPM package (CASSANDRA-18751)
 * Fix CQLSH online help topic link (CASSANDRA-17534)
 * Remove unused suppressions (CASSANDRA-18724)


4.1.4
 * Fix StackOverflowError on ALTER after many previous schema changes (CASSANDRA-19166)
Merged from 4.0:
 * Fix NTS log message when an unrecognized strategy option is passed (CASSANDRA-18679)
 * Fix BulkLoader ignoring cipher suites options (CASSANDRA-18582)
 * Migrate Python optparse to argparse (CASSANDRA-17914)
Merged from 3.11:
Merged from 3.0:


4.1.3
Merged from 4.0:
 * Revert CASSANDRA-16718 (CASSANDRA-18560)
 * Upgrade snappy to 1.1.10.1 (CASSANDRA-18608)
 * Fix assertion error when describing mv as table (CASSANDRA-18596)
 * Track the amount of read data per row (CASSANDRA-18513)
 * Fix Down nodes counter in nodetool describecluster (CASSANDRA-18512)
 * Remove unnecessary shuffling of GossipDigests in Gossiper#makeRandomGossipDigest (CASSANDRA-18546)
Merged from 3.11:
 * Moved jflex from runtime to build dependencies (CASSANDRA-18664)
 * Fix CAST function for float to decimal (CASSANDRA-18647)
 * Suppress CVE-2022-45688 (CASSANDRA-18643)
 * Remove unrepaired SSTables from garbage collection when only_purge_repaired_tombstones is true (CASSANDRA-14204)
 * Wait for live endpoints in gossip waiting to settle (CASSANDRA-18543)
 * Fix error message handling when trying to use CLUSTERING ORDER with non-clustering column (CASSANDRA-17818
 * Add keyspace and table name to exception message during ColumnSubselection deserialization (CASSANDRA-18346)
Merged from 3.0:
 * Suppress CVE-2023-34462 (CASSANDRA-18649)
 * Add support for AWS Ec2 IMDSv2 (CASSANDRA-16555)
 * Suppress CVE-2023-35116 (CASSANDRA-18630)
 * Pass taskId from CompactionTask to system.compaction_history (CASSANDRA-12183)
 * Backport CASSANDRA-10508: Remove hard-coded SSL cipher suites (CASSANDRA-18575)
 * Suppress CVE-2023-2976 (CASSANDRA-18562)
 * Remove dh_python use in Debian packaging (CASSANDRA-18558)


4.1.2
 * NPE when deserializing malformed collections from client (CASSANDRA-18505)
 * Allow keystore and trustrore passwords to be nullable (CASSANDRA-18124)
 * Return snapshots with dots in their name in nodetool listsnapshots (CASSANDRA-18371)
 * Fix NPE when loading snapshots and data directory is one directory from root (CASSANDRA-18359)
 * Do not submit hints when hinted_handoff_enabled=false (CASSANDRA-18304)
 * Fix COPY ... TO STDOUT behavior in cqlsh (CASSANDRA-18353)
 * Remove six and Py2SaferScanner merge cruft (CASSANDRA-18354)
Merged from 4.0:
 * Improve nodetool enable{audit,fullquery}log (CASSANDRA-18550)
 * Report network cache info in nodetool (CASSANDRa-18400)
 * Partial compaction can resurrect deleted data (CASSANDRA-18507)
 * Allow internal address to change with reconnecting snitches (CASSANDRA-16718)
 * Fix quoting in toCqlString methods of UDTs and aggregates (CASSANDRA-17918)
 * Improve 'Not enough space for compaction' logging messages (CASSANDRA-18260)
 * Incremental repairs fail on mixed IPv4/v6 addresses serializing SyncRequest (CASSANDRA-18474)
 * Deadlock updating sstable metadata if disk boundaries need reloading (CASSANDRA-18443)
 * Fix nested selection of reversed collections (CASSANDRA-17913)
 * Update zstd-jni library to version 1.5.5 (CASSANDRA-18429)
Merged from 3.11:
 * Remove unnecessary String.format invocation in QueryProcessor when getting a prepared statement from cache (CASSANDRA-17202)
 * Fix the capital P usage in the CQL parser (CASSANDRA-17919)
Merged from 3.0:
 * Pass down all contact points to driver for cassandra-stress (CASSANDRA-18025)
 * Validate the existence of a datacenter in nodetool rebuild (CASSANDRA-14319)
 * Suppress CVE-2023-2251 (CASSANDRA-18497)
 * Do not remove SSTables when cause of FSReadError is OutOfMemoryError while using best_effort disk failure policy (CASSANDRA-18336)
 * Do not remove truncated_at entry in system.local while dropping an index (CASSANDRA-18105)


4.0.9
 * Update zstd-jni library to version 1.5.5 (CASSANDRA-18429)
 * Backport CASSANDRA-17205 to 4.0 branch - Remove self-reference in SSTableTidier (CASSANDRA-18332)
 * Avoid loading the preferred IP for BulkLoader streaming (CASSANDRA-18370)
 * Fix BufferPool incorrect memoryInUse when putUnusedPortion is used (CASSANDRA-18311)
 * Improve memtable allocator accounting when updating AtomicBTreePartition (CASSANDRA-18125)
 * Update zstd-jni to version 1.5.4-1 (CASSANDRA-18259)
 * Split and order IDEA workspace template VM_PARAMETERS (CASSANDRA-18242)
Merged from 3.11:
 * Fix sstable_count metric missing from tablestats json/yaml output (CASSANDRA-18448)
 * Suppress CVE-2022-45688 (CASSANDRA-18389)
 * Fix Splitter sometimes creating more splits than requested (CASSANDRA-18013)
Merged from 3.0:
 * Do not remove SSTables when cause of FSReadError is OutOfMemoryError while using best_effort disk failure policy (CASSANDRA-18336)
 * Do not remove truncated_at entry in system.local while dropping an index (CASSANDRA-18105)
 * Save host id to system.local and flush immediately after startup (CASSANDRA-18153)


4.1.1
 * Deprecate org.apache.cassandra.hadoop code (CASSANDRA-16984)
 * Fix too early schema version change in sysem local table (CASSANDRA-18291)
 * Fix copying of JAR of a trigger to temporary file (CASSANDRA-18264)
 * Fix possible NoSuchFileException when removing a snapshot (CASSANDRA-18211)
 * PaxosPrepare may add instances to the Electorate that are not in gossip (CASSANDRA-18194)
 * Fix PAXOS2_COMMIT_AND_PREPARE_RSP serialisation AssertionError (CASSANDRA-18164)
 * Streaming progress virtual table lock contention can trigger TCP_USER_TIMEOUT and fail streaming (CASSANDRA-18110)
 * Fix perpetual load of denylist on read in cases where denylist can never be loaded (CASSANDRA-18116)
Merged from 4.0:
 * Fix BufferPool incorrect memoryInUse when putUnusedPortion is used (CASSANDRA-18311)
 * Improve memtable allocator accounting when updating AtomicBTreePartition (CASSANDRA-18125)
 * Update zstd-jni to version 1.5.4-1 (CASSANDRA-18259)
 * Split and order IDEA workspace template VM_PARAMETERS (CASSANDRA-18242)
 * Log warning message on aggregation queries without key or on multiple keys (CASSANDRA-18219)
 * Fix the output of FQL dump tool to properly separate entries (CASSANDRA-18215)
 * Add cache type information for maximum memory usage warning message (CASSANDRA-18184)
 * Fix NPE in fqltool dump on null value (CASSANDRA-18113)
 * Improve unit tests performance (CASSANDRA-17427)
 * Connect to listen address when own broadcast address is requested (CASSANDRA-18200)
 * Add safeguard so cleanup fails when node has pending ranges (CASSANDRA-16418)
 * Fix legacy clustering serialization for paging with compact storage (CASSANDRA-17507)
 * Add support for python 3.11 (CASSANDRA-18088)
 * Fix formatting of duration in cqlsh (CASSANDRA-18141)
 * Fix sstable loading of keyspaces named snapshots or backups (CASSANDRA-14013)
 * Avoid ConcurrentModificationException in STCS/DTCS/TWCS.getSSTables (CASSANDRA-17977)
 * Restore internode custom tracing on 4.0's new messaging system (CASSANDRA-17981)
Merged from 3.11:
Merged from 3.0:
 * Fix the ordering of sstables when running sstableupgrade tool (CASSANDRA-18143)
 * Fix default file system error handler for disk_failure_policy die (CASSANDRA-18294)
 * Introduce check for names of test classes (CASSANDRA-17964)
 * Suppress CVE-2022-41915 (CASSANDRA-18147)
 * Suppress CVE-2021-1471, CVE-2021-3064, CVE-2021-4235 (CASSANDRA-18149)
 * Switch to snakeyaml's SafeConstructor (CASSANDRA-18150)
 * Expand build.dir property in rat targets (CASSANDRA-18183)
 * Suppress CVE-2022-41881 (CASSANDRA-18148)
 * Default role is created with zero timestamp (CASSANDRA-12525)
 * Suppress CVE-2021-37533 (CASSANDRA-18146)
 * Add to the IntelliJ Git Window issue navigation links to Cassandra's Jira (CASSANDRA-18126)
 * Avoid anticompaction mixing data from two different time windows with TWCS (CASSANDRA-17970)
 * Do not spam the logs with MigrationCoordinator not being able to pull schemas (CASSANDRA-18096)


4.1.0
 * Fix ContentionStrategy backoff and Clock.waitUntil (CASSANDRA-18086)
Merged from 4.0:
Merged from 3.11:
Merged from 3.0:
 * Fix incorrect resource name in LIST PERMISSION output (CASSANDRA-17848)
 * Suppress CVE-2022-41854 and similar (CASSANDRA-18083)


4.1-rc1
 * Avoid schema mismatch problems on memtable API misconfiguration (CASSANDRA-18040)
 * Start Paxos auto repair in CassandraDaemon (CASSANDRA-18029)
 * Restore streaming_keep_alive_period on the netty control streaming channel (CASSANDRA-17768)
 * Move Schema.FORCE_LOAD_KEYSPACES and Schema.FORCE_LOAD_KEYSPACES_PROP to CassandraRelevantProps (CASSANDRA-17783)
 * Add --resolve-ip option to nodetool gossipinfo (CASSANDRA-17934)
 * Allow pre-V5 global limit on bytes in flight to revert to zero asynchronously in RateLimitingTest (CASSANDRA-17927)
Merged from 4.0:
 * Backport CASSANDRA-17205 to 4.0 branch - Remove self-reference in SSTableTidier (CASSANDRA-18332)
 * Avoid loading the preferred IP for BulkLoader streaming (CASSANDRA-18370)
 * Harden parsing of boolean values in CQL in PropertyDefinitions (CASSANDRA-17878)
 * Fix error message about type hints (CASSANDRA-17915)
 * Fix possible race condition on repair snapshots (CASSANDRA-17955)
 * Fix ASM bytecode version inconsistency (CASSANDRA-17873)
 * Remove empty cq4 files in log directory to not fail the startup of BinLog (CASSANDRA-17933)
 * Fix multiple BufferPool bugs (CASSANDRA-16681)
 * Fix StorageService.getNativeaddress handling of IPv6 addresses (CASSANDRA-17945)
Merged from 3.11:
 * Fix Splitter sometimes creating more splits than requested (CASSANDRA-18013)
 * Suppress CVE-2022-42003 and CVE-2022-42004 (CASSANDRA-17966)
 * Make LongBufferPoolTest insensitive to timing (CASSANDRA-16681)
Merged from 3.0:
 * Fix running Ant rat targets without git (CASSANDRA-17974)
 * Harden JMX by resolving beanshooter issues (CASSANDRA-17921)
 * Suppress CVE-2019-2684 (CASSANDRA-17965)
 * Fix auto-completing "WITH" when creating a materialized view (CASSANDRA-17879)


4.1-beta1
 * We should not emit deprecation warning on startup for `key_cache_save_period`, `row_cache_save_period`, `counter_cache_save_period` (CASSANDRA-17904)
 * upsert with adder support is not consistent with numbers and strings in LWT (CASSANDRA-17857)
 * Fix race and return after failing connections (CASSANDRA-17618)
 * Speculative execution threshold unit mismatch (CASSANDRA-17877)
 * Fix BulkLoader to load entireSSTableThrottle and entireSSTableInterDcThrottle (CASSANDRA-17677)
 * Fix a race condition where a keyspace can be oopened while it is being removed (CASSANDRA-17658)
 * DatabaseDescriptor will set the default failure detector during client initialization (CASSANDRA-17782)
 * Avoid initializing schema via SystemKeyspace.getPreferredIP() with the BulkLoader tool (CASSANDRA-17740)
 * Improve JMX methods signatures, fix JMX and config backward compatibility (CASSANDRA-17725)
 * Fix sstable_preemptive_open_interval disabled value. sstable_preemptive_open_interval = null backward compatible with
   sstable_preemptive_open_interval_in_mb = -1 (CASSANDRA-17737)
 * Remove usages of Path#toFile() in the snapshot apparatus (CASSANDRA-17769)
 * Fix Settings Virtual Table to update paxos_variant after startup and rename enable_uuid_sstable_identifiers to
   uuid_sstable_identifiers_enabled as per our config naming conventions (CASSANDRA-17738)
 * index_summary_resize_interval_in_minutes = -1 is equivalent to index_summary_resize_interval being set to null or
   disabled. JMX MBean IndexSummaryManager, setResizeIntervalInMinutes method still takes resizeIntervalInMinutes = -1 for disabled (CASSANDRA-17735)
 * min_tracked_partition_size_bytes parameter from 4.1 alpha1 was renamed to min_tracked_partition_size (CASSANDRA-17733)
 * Remove commons-lang dependency during build runtime (CASSANDRA-17724)
 * Relax synchronization on StreamSession#onError() to avoid deadlock (CASSANDRA-17706)
 * Fix AbstractCell#toString throws MarshalException for cell in collection (CASSANDRA-17695)
 * Add new vtable output option to compactionstats (CASSANDRA-17683)
 * Fix commitLogUpperBound initialization in AbstractMemtableWithCommitlog (CASSANDRA-17587)
 * Fix widening to long in getBatchSizeFailThreshold (CASSANDRA-17650)
 * Fix widening from mebibytes to bytes in IntMebibytesBound (CASSANDRA-17716)
 * Revert breaking change in nodetool clientstats and expose cient options through nodetool clientstats --client-options. (CASSANDRA-17715)
 * Fix missed nowInSec values in QueryProcessor (CASSANDRA-17458)
 * Revert removal of withBufferSizeInMB(int size) in CQLSSTableWriter.Builder class and deprecate it in favor of withBufferSizeInMiB(int size) (CASSANDRA-17675)
 * Remove expired snapshots of dropped tables after restart (CASSANDRA-17619)
Merged from 4.0:
 * Mitigate direct buffer memory OOM on replacements (CASSANDRA-17895)
 * Fix repair failure on assertion if two peers have overlapping mismatching ranges (CASSANDRA-17900)
 * Better handle null state in Gossip schema migration to avoid NPE (CASSANDRA-17864)
 * HintedHandoffAddRemoveNodesTest now accounts for the fact that StorageMetrics.totalHints is not updated synchronously w/ writes (CASSANDRA-16679)
 * Avoid getting hanging repairs due to repair message timeouts (CASSANDRA-17613)
 * Prevent infinite loop in repair coordinator on FailSession (CASSANDRA-17834)
 * Fix race condition on updating cdc size and advancing to next segment (CASSANDRA-17792)
 * Add 'noboolean' rpm build for older distros like CentOS7 (CASSANDRA-17765)
 * Fix default value for compaction_throughput_mb_per_sec in Config class to match  the one in cassandra.yaml (CASSANDRA-17790)
 * Fix Setting Virtual Table - update after startup config properties gc_log_threshold_in_ms, gc_warn_threshold_in_ms,
   conf.index_summary_capacity_in_mb, prepared_statements_cache_size_mb, key_cache_size_in_mb, counter_cache_size_in_mb
   (CASSANDRA-17737)
 * Fix Settings Virtual Table - index_summary_resize_interval and index_summary_capacity were not updated after startup (CASSANDRA-17735)
 * Clean up ScheduledExecutors, CommitLog, and MessagingService shutdown for in-JVM dtests (CASSANDRA-17731)
 * Remove extra write to system table for prepared statements (CASSANDRA-17764)
 * SSL storage port in sstableloader is deprecated (CASSANDRA-17602)
 * Fix counter write timeouts at ONE (CASSANDRA-17411)
 * Fix NPE in getLocalPrimaryRangeForEndpoint (CASSANDRA-17680)
 * Allow Java 11 to satisfy RPM/Debian packaging (CASSANDRA-17669)
 * Ensure FileStreamTask cannot compromise shared channel proxy for system table when interrupted (CASSANDRA-17663)
 * silence benign SslClosedEngineException (CASSANDRA-17565)
Merged from 3.11:
 * Fix potential IndexOutOfBoundsException in PagingState in mixed mode clusters (CASSANDRA-17840)
 * Document usage of closed token intervals in manual compaction (CASSANDRA-17575)
 * Creating of a keyspace on insufficient number of replicas should filter out gosspping-only members (CASSANDRA-17759)
 * Suppress CVE-2022-25857 and other snakeyaml CVEs (CASSANDRA-17907)
Merged from 3.0:
 * Improve libjemalloc resolution in bin/cassandra (CASSANDRA-15767)
 * Fix restarting of services on gossipping-only member (CASSANDRA-17752)
 * Fix scrubber falling into infinite loop when the last partition is broken (CASSANDRA-17862)
 * Fix resetting schema (CASSANDRA-17819)


4.1-alpha1
 * Handle config parameters upper bound on startup; Fix auto_snapshot_ttl and paxos_purge_grace_period min unit validations (CASSANDRA-17571)
 * Fix leak of non-standard Java types in our Exceptions as clients using JMX are unable to handle them.
   Remove useless validation that leads to unnecessary additional read of cassandra.yaml on startup (CASSANDRA-17638)
 * Fix repair_request_timeout_in_ms and remove paxos_auto_repair_threshold_mb (CASSANDRA-17557)
 * Incremental repair leaks SomeRepairFailedException after switch away from flatMap (CASSANDRA-17620)
 * StorageService read threshold get methods throw NullPointerException due to not handling null configs (CASSANDRA-17593)
 * Rename truncate_drop guardrail to drop_truncate_table (CASSANDRA-17592)
 * nodetool enablefullquerylog can NPE when directory has no files (CASSANDRA-17595)
 * Add auto_snapshot_ttl configuration (CASSANDRA-16790)
 * List snapshots of dropped tables (CASSANDRA-16843)
 * Add information whether sstables are dropped to SchemaChangeListener (CASSANDRA-17582)
 * Add a pluggable memtable API (CEP-11 / CASSANDRA-17034)
 * Save sstable id as string in activity table (CASSANDRA-17585)
 * Implement startup check to prevent Cassandra to potentially spread zombie data (CASSANDRA-17180)
 * Allow failing startup on duplicate config keys (CASSANDRA-17379)
 * Migrate threshold for minimum keyspace replication factor to guardrails (CASSANDRA-17212)
 * Add guardrail to disallow TRUNCATE and DROP TABLE commands (CASSANDRA-17558)
 * Add plugin support for CQLSH (CASSANDRA-16456)
 * Add guardrail to disallow querying with ALLOW FILTERING (CASSANDRA-17370)
 * Enhance SnakeYAML properties to be reusable outside of YAML parsing, support camel case conversion to snake case, and add support to ignore properties (CASSANDRA-17166)
 * nodetool compact should support using a key string to find the range to avoid operators having to manually do this (CASSANDRA-17537)
 * Add guardrail for data disk usage (CASSANDRA-17150)
 * Tool to list data paths of existing tables (CASSANDRA-17568)
 * Migrate track_warnings to more standard naming conventions and use latest configuration types rather than long (CASSANDRA-17560)
 * Add support for CONTAINS and CONTAINS KEY in conditional UPDATE and DELETE statement (CASSANDRA-10537)
 * Migrate advanced config parameters to the new Config types (CASSANDRA-17431)
 * Make null to be meaning disabled and leave 0 as a valid value for permissions_update_interval, roles_update_interval, credentials_update_interval (CASSANDRA-17431)
 * Fix typo in Config annotation (CASSANDRA-17431)
 * Made Converters type safe and fixed a few cases where converters used the wrong type (CASSANDRA-17431)
 * Fix null bug in DataStorageSpec and DurationSpec and require units to be added when providing 0 value (CASSANDRA-17431)
 * Shutdown ScheduledExecutors as part of node drainage (CASSANDRA-17493)
 * Provide JMX endpoint to allow transient logging of blocking read repairs (CASSANDRA-17471)
 * Add guardrail for GROUP BY queries (CASSANDRA-17509)
 * make pylib PEP and pylint compliant (CASSANDRA-17546)
 * Add support for vnodes in jvm-dtest (CASSANDRA-17332)
 * Remove guardrails global enable flag (CASSANDRA-17499)
 * Clients using JMX are unable to handle non-standard java types but we leak this into our interfaces (CASSANDRA-17527)
 * Remove stress server functionality (CASSANDRA-17535)
 * Reduce histogram snapshot long[] allocation overhead during speculative read and write threshold updates (CASSANDRA-17523)
 * Add guardrail for creation of secondary indexes (CASSANDRA-17498)
 * Add guardrail to disallow creation of uncompressed tables (CASSANDRA-17504)
 * Add guardrail to disallow creation of new COMPACT STORAGE tables (CASSANDRA-17522)
 * repair vtables should expose a completed field due to lack of filtering options in CQL (CASSANDRA-17520)
 * remove outdated code from cqlsh (CASSANDRA-17490)
 * remove support for deprecated version specific TLS in Python 3.6 (CASSANDRA-17365)
 * Add support for IF EXISTS and IF NOT EXISTS in ALTER statements (CASSANDRA-16916)
 * resolve several pylint issues in cqlsh.py and pylib (CASSANDRA-17480)
 * Streaming sessions longer than 3 minutes fail with timeout (CASSANDRA-17510)
 * Add ability to track state in repair (CASSANDRA-15399)
 * Remove unused 'parse' module (CASSANDRA-17484)
 * change six functions in cqlshlib to native Python 3 (CASSANDRA-17417)
 * reduce hot-path object allocations required to record local/remote requests against the client request metrics (CASSANDRA-17424)
 * Disallow removing DC from system_auth while nodes are active in the DC (CASSANDRA-17478)
 * Add guardrail for the number of fields per UDT (CASSANDRA-17385)
 * Allow users to change cqlsh history location using env variable (CASSANDRA-17448)
 * Add required -f option to use nodetool verify and standalone sstableverify (CASSANDRA-17017)
 * Add support for UUID based sstable generation identifiers (CASSANDRA-17048)
 * Log largest memtable flush at info instead of debug (CASSANDRA-17472)
 * Add native transport rate limiter options to example cassandra.yaml, and expose metric for dispatch rate (CASSANDRA-17423)
 * Add diagnostic events for guardrails (CASSANDRA-17197)
 * Pre hashed passwords in CQL (CASSANDRA-17334)
 * Increase cqlsh version (CASSANDRA-17432)
 * Update SUPPORTED_UPGRADE_PATHS to include 3.0 and 3.x to 4.1 paths and remove obsolete tests (CASSANDRA-17362)
 * Support DELETE in CQLSSTableWriter (CASSANDRA-14797)
 * Failed inbound internode authentication failures generate ugly warning with stack trace (CASSANDRA-17068)
 * Expose gossip information in system_views.gossip_info virtual table (CASSANDRA-17002)
 * Add guardrails for collection items and size (CASSANDRA-17153)
 * Improve guardrails messages (CASSANDRA-17430)
 * Remove all usages of junit.framework and ban them via Checkstyle (CASSANDRA-17316)
 * Add guardrails for read/write consistency levels (CASSANDRA-17188)
 * Add guardrail for SELECT IN terms and their cartesian product (CASSANDRA-17187)
 * remove unused imports in cqlsh.py and cqlshlib (CASSANDRA-17413)
 * deprecate property windows_timer_interval (CASSANDRA-17404)
 * Expose streaming as a vtable (CASSANDRA-17390)
 * Expose all client options via system_views.clients and nodetool clientstats (CASSANDRA-16378)
 * Make startup checks configurable (CASSANDRA-17220)
 * Add guardrail for number of partition keys on IN queries (CASSANDRA-17186)
 * update Python test framework from nose to pytest (CASSANDRA-17293)
 * Fix improper CDC commit log segments deletion in non-blocking mode (CASSANDRA-17233)
 * Add support for string concatenations through the + operator (CASSANDRA-17190)
 * Limit the maximum hints size per host (CASSANDRA-17142)
 * Add a virtual table for exposing batch metrics (CASSANDRA-17225)
 * Flatten guardrails config (CASSANDRA-17353)
 * Instance failed to start up due to NPE in StartupClusterConnectivityChecker (CASSANDRA-17347)
 * add the shorter version of version flag (-v) in cqlsh (CASSANDRA-17236)
 * Make vtables accessible via internode messaging (CASSANDRA-17295)
 * Add support for PEM based key material for SSL (CASSANDRA-17031)
 * Standardize storage configuration parameters' names. Support unit suffixes. (CASSANDRA-15234)
 * Remove support for Windows (CASSANDRA-16956)
 * Runtime-configurable YAML option to prohibit USE statements (CASSANDRA-17318)
 * When streaming sees a ClosedChannelException this triggers the disk failure policy (CASSANDRA-17116)
 * Add a virtual table for exposing prepared statements metrics (CASSANDRA-17224)
 * Remove python 2.x support from cqlsh (CASSANDRA-17242)
 * Prewarm role and credential caches to avoid timeouts at startup (CASSANDRA-16958)
 * Make capacity/validity/updateinterval/activeupdate for Auth Caches configurable via nodetool (CASSANDRA-17063)
 * Added startup check for read_ahead_kb setting (CASSANDRA-16436)
 * Avoid unecessary array allocations and initializations when performing query checks (CASSANDRA-17209)
 * Add guardrail for list operations that require read before write (CASSANDRA-17154)
 * Migrate thresholds for number of keyspaces and tables to guardrails (CASSANDRA-17195)
 * Remove self-reference in SSTableTidier (CASSANDRA-17205)
 * Add guardrail for query page size (CASSANDRA-17189)
 * Allow column_index_size_in_kb to be configurable through nodetool (CASSANDRA-17121)
 * Emit a metric for number of local read and write calls
 * Add non-blocking mode for CDC writes (CASSANDRA-17001)
 * Add guardrails framework (CASSANDRA-17147)
 * Harden resource management on SSTable components to prevent future leaks (CASSANDRA-17174)
 * Make nodes more resilient to local unrelated files during startup (CASSANDRA-17082)
 * repair prepare message would produce a wrong error message if network timeout happened rather than reply wait timeout (CASSANDRA-16992)
 * Log queries that fail on timeout or unavailable errors up to once per minute by default (CASSANDRA-17159)
 * Refactor normal/preview/IR repair to standardize repair cleanup and error handling of failed RepairJobs (CASSANDRA-17069)
 * Log missing peers in StartupClusterConnectivityChecker (CASSANDRA-17130)
 * Introduce separate rate limiting settings for entire SSTable streaming (CASSANDRA-17065)
 * Implement Virtual Tables for Auth Caches (CASSANDRA-16914)
 * Actively update auth cache in the background (CASSANDRA-16957)
 * Add unix time conversion functions (CASSANDRA-17029)
 * JVMStabilityInspector.forceHeapSpaceOomMaybe should handle all non-heap OOMs rather than only supporting direct only (CASSANDRA-17128)
 * Forbid other Future implementations with checkstyle (CASSANDRA-17055)
 * commit log was switched from non-daemon to daemon threads, which causes the JVM to exit in some case as no non-daemon threads are active (CASSANDRA-17085)
 * Add a Denylist to block reads and writes on specific partition keys (CASSANDRA-12106)
 * v4+ protocol did not clean up client warnings, which caused leaking the state (CASSANDRA-17054)
 * Remove duplicate toCQLString in ReadCommand (CASSANDRA-17023)
 * Ensure hint window is persistent across restarts of a node (CASSANDRA-14309)
 * Allow to GRANT or REVOKE multiple permissions in a single statement (CASSANDRA-17030)
 * Allow to grant permission for all tables in a keyspace (CASSANDRA-17027)
 * Log time spent writing keys during compaction (CASSANDRA-17037)
 * Make nodetool compactionstats and sstable_tasks consistent (CASSANDRA-16976)
 * Add metrics and logging around index summary redistribution (CASSANDRA-17036)
 * Add configuration options for minimum allowable replication factor and default replication factor (CASSANDRA-14557)
 * Expose information about stored hints via a nodetool command and a virtual table (CASSANDRA-14795)
 * Add broadcast_rpc_address to system.local (CASSANDRA-11181)
 * Add support for type casting in WHERE clause components and in the values of INSERT/UPDATE statements (CASSANDRA-14337)
 * add credentials file support to CQLSH (CASSANDRA-16983)
 * Skip remaining bytes in the Envelope buffer when a ProtocolException is thrown to avoid double decoding (CASSANDRA-17026)
 * Allow reverse iteration of resources during permissions checking (CASSANDRA-17016)
 * Add feature to verify correct ownership of attached locations on disk at startup (CASSANDRA-16879)
 * Make SSLContext creation pluggable/extensible (CASSANDRA-16666)
 * Add soft/hard limits to local reads to protect against reading too much data in a single query (CASSANDRA-16896)
 * Avoid token cache invalidation for removing a non-member node (CASSANDRA-15290)
 * Allow configuration of consistency levels on auth operations (CASSANDRA-12988)
 * Add number of sstables in a compaction to compactionstats output (CASSANDRA-16844)
 * Upgrade Caffeine to 2.9.2 (CASSANDRA-15153)
 * Allow DELETE and TRUNCATE to work on Virtual Tables if the implementation allows it (CASSANDRA-16806)
 * Include SASI components to snapshots (CASSANDRA-15134)
 * Fix missed wait latencies in the output of `nodetool tpstats -F` (CASSANDRA-16938)
 * Reduce native transport max frame size to 16MB (CASSANDRA-16886)
 * Add support for filtering using IN restrictions (CASSANDRA-14344)
 * Provide a nodetool command to invalidate auth caches (CASSANDRA-16404)
 * Catch read repair timeout exceptions and add metric (CASSANDRA-16880)
 * Exclude Jackson 1.x transitive dependency of hadoop* provided dependencies (CASSANDRA-16854)
 * Add client warnings and abort to tombstone and coordinator reads which go past a low/high watermark (CASSANDRA-16850)
 * Add TTL support to nodetool snapshots (CASSANDRA-16789)
 * Allow CommitLogSegmentReader to optionally skip sync marker CRC checks (CASSANDRA-16842)
 * allow blocking IPs from updating metrics about traffic (CASSANDRA-16859)
 * Request-Based Native Transport Rate-Limiting (CASSANDRA-16663)
 * Implement nodetool getauditlog command (CASSANDRA-16725)
 * Clean up repair code (CASSANDRA-13720)
 * Background schedule to clean up orphaned hints files (CASSANDRA-16815)
 * Modify SecondaryIndexManager#indexPartition() to retrieve only columns for which indexes are actually being built (CASSANDRA-16776)
 * Batch the token metadata update to improve the speed (CASSANDRA-15291)
 * Reduce the log level on "expected" repair exceptions (CASSANDRA-16775)
 * Make JMXTimer expose attributes using consistent time unit (CASSANDRA-16760)
 * Remove check on gossip status from DynamicEndpointSnitch::updateScores (CASSANDRA-11671)
 * Fix AbstractReadQuery::toCQLString not returning valid CQL (CASSANDRA-16510)
 * Log when compacting many tombstones (CASSANDRA-16780)
 * Display bytes per level in tablestats for LCS tables (CASSANDRA-16799)
 * Add isolated flush timer to CommitLogMetrics and ensure writes correspond to single WaitingOnCommit data points (CASSANDRA-16701)
 * GossiperTest.testHasVersion3Nodes didn't take into account trunk version changes, fixed to rely on latest version (CASSANDRA-16651)
 * Update JNA library to 5.9.0 and snappy-java to version 1.1.8.4 (CASSANDRA-17040)
Merged from 4.0:
 * Utilise BTree improvements to reduce garbage and improve throughput (CASSANDRA-15511)
Merged from 3.11:
Merged from 3.0:
 * Fix writetime and ttl functions forbidden for collections instead of multicell columns (CASSANDRA-17628)
 * Fix issue where frozen maps may not be serialized in the correct order (CASSANDRA-17623)
 * Suppress CVE-2022-24823 (CASSANDRA-17633)
 * fsync TOC and digest files (CASSANDRA-10709)


4.0.4
 * Optimise BTree build,update and transform operations (CASSANDRA-15510)
 * Clean up schema migration coordinator and tests (CASSANDRA-17533)
 * Shut repair task executor down without interruption to avoid compromising shared channel proxies (CASSANDRA-17466)
 * Generate valid KEYSPACE / MATERIALIZED VIEW for CQL for views (CASSANDRA-17266)
 * Fix timestamp tz parsing (CASSANDRA-17467)
 * Suppress CVE-2021-44521 from driver (CASSANDRA-17459)
 * Upgrade jackson to 2.13.2 (CASSANDRA-17460)
 * Make sstableloader honour native port option (CASSANDRA-17210)
 * Reject snapshot names with special character (CASSANDRA-15297)
 * Fix ObjectSizes implementation and usages (CASSANDRA-17402)
 * Fix race condition bug during local session repair (CASSANDRA-17335)
 * Fix ignored streaming encryption settings in sstableloader (CASSANDRA-17367)
 * Streaming tasks handle empty SSTables correctly (CASSANDRA-16349)
 * Prevent SSTableLoader from doing unnecessary work (CASSANDRA-16349)
Merged from 3.11:
 * Upgrade jackson-databind to 2.13.2.2 (CASSANDRA-17556)
 * Upgrade slf4j to 1.7.25 (CASSANDRA-17474)
 * Upgrade jackson to 2.13.2 (CASSANDRA-17492)
 * emit warning on keyspace creation when replication factor is bigger than the number of nodes (CASSANDRA-16747)
 * Fix snapshot true size calculation (CASSANDRA-17267)
 * Validate existence of DCs when repairing (CASSANDRA-17407)
 * dropping of a materialized view creates a snapshot with dropped- prefix (CASSANDRA-17415)
Merged from 3.0:
 * fsync TOC and digest files (CASSANDRA-10709)
 * Fix URISyntaxException in nodetool with updated Java (CASSANDRA-17581)
 * Schema mutations may not be completed on drain (CASSANDRA-17524)
 * Fix data corruption in AbstractCompositeType due to static boolean byte buffers (CASSANDRA-14752)
 * Add procps dependency to RPM/Debian packages (CASSANDRA-17516)
 * Suppress CVE-2021-44521 (CASSANDRA-17492)
 * ConnectionLimitHandler may leaks connection count if remote connection drops (CASSANDRA-17252)
 * Require ant >= 1.10 (CASSANDRA-17428)
 * Disallow CONTAINS for UPDATE and DELETE (CASSANDRA-15266)
 * Suppress inapplicable CVEs (CASSANDRA-17368)
 * Fix flaky test - test_cqlsh_completion.TestCqlshCompletion (CASSANDRA-17338)
 * Fixed TestCqlshOutput failing tests (CASSANDRA-17386)
 * Lazy transaction log replica creation allows incorrect replica content divergence during anticompaction (CASSANDRA-17273)
 * LeveledCompactionStrategy disk space check improvements (CASSANDRA-17272)


4.0.3
 * Deprecate otc_coalescing_strategy, otc_coalescing_window_us, otc_coalescing_enough_coalesced_messages,
   otc_backlog_expiration_interval_ms (CASSANDRA-17377)
 * Improve start up processing of Incremental Repair information read from system.repairs (CASSANDRA-17342)
 * Extend operator control over the UDF threading model for CVE-2021-44521 (CASSANDRA-17352)
 * Full Java 11 support (CASSANDRA-16894)
 * Remove unused 'geomet' package from cqlsh path (CASSANDRA-17271)
 * Removed unused 'cql' dependency (CASSANDRA-17247)
 * Don't block gossip when clearing repair snapshots (CASSANDRA-17168)
 * Deduplicate warnings for deprecated parameters (changed names) (CASSANDRA-17160)
 * Update ant-junit to version 1.10.12 (CASSANDRA-17218)
 * Add droppable tombstone metrics to nodetool tablestats (CASSANDRA-16308)
 * Fix disk failure triggered when enabling FQL on an unclean directory (CASSANDRA-17136)
 * Fixed broken classpath when multiple jars in build directory (CASSANDRA-17129)
 * DebuggableThreadPoolExecutor does not propagate client warnings (CASSANDRA-17072)
 * internode_send_buff_size_in_bytes and internode_recv_buff_size_in_bytes have new names. Backward compatibility with the old names added (CASSANDRA-17141)
 * Remove unused configuration parameters from cassandra.yaml (CASSANDRA-17132)
 * Queries performed with NODE_LOCAL consistency level do not update request metrics (CASSANDRA-17052)
 * Fix multiple full sources can be select unexpectedly for bootstrap streaming (CASSANDRA-16945)
 * Fix cassandra.yaml formatting of parameters (CASSANDRA-17131)
 * Add backward compatibility for CQLSSTableWriter Date fields (CASSANDRA-17117)
 * Push initial client connection messages to trace (CASSANDRA-17038)
 * Correct the internode message timestamp if sending node has wrapped (CASSANDRA-16997)
 * Avoid race causing us to return null in RangesAtEndpoint (CASSANDRA-16965)
 * Avoid rewriting all sstables during cleanup when transient replication is enabled (CASSANDRA-16966)
 * Prevent CQLSH from failure on Python 3.10 (CASSANDRA-16987)
 * Avoid trying to acquire 0 permits from the rate limiter when taking snapshot (CASSANDRA-16872)
 * Remove all the state pollution between tests in SSTableReaderTest (CASSANDRA-16888)
 * Delay auth setup until after gossip has settled to avoid unavailables on startup (CASSANDRA-16783)
 * org.apache.cassandra.db.rows.ArrayCell#unsharedHeapSizeExcludingData includes data twice (CASSANDRA-16900)
 * Fix clustering order logic in CREATE MATERIALIZED VIEW (CASSANDRA-16898)
 * Exclude Jackson 1.x transitive dependency of hadoop* provided dependencies (CASSANDRA-16854)
 * Tolerate missing DNS entry when completing a host replacement (CASSANDRA-16873)
 * Harden PrunableArrayQueue against Pruner implementations that might throw exceptions (CASSANDRA-16866)
 * Move RepairedDataInfo to the execution controller rather than the ReadCommand to avoid unintended sharing (CASSANDRA-16721)
 * Bump zstd-jni version to 1.5.0-4 (CASSANDRA-16884)
 * Remove assumption that all urgent messages are small (CASSANDRA-16877)
 * ArrayClustering.unsharedHeapSize does not include the data so undercounts the heap size (CASSANDRA-16845)
 * Improve help, doc and error messages about sstabledump -k and -x arguments (CASSANDRA-16818)
 * Add repaired/unrepaired bytes back to nodetool (CASSANDRA-15282)
 * Upgrade lz4-java to 1.8.0 to add RH6 support back (CASSANDRA-16753)
 * Improve DiagnosticEventService.publish(event) logging message of events (CASSANDRA-16749)
 * Cleanup dependency scopes (CASSANDRA-16704)
 * Make JmxHistogram#getRecentValues() and JmxTimer#getRecentValues() thread-safe (CASSANDRA-16707)
Merged from 3.11:
 * Upgrade jackson-databind to 2.13.2.2 (CASSANDRA-17556)
 * Upgrade slf4j to 1.7.25 (CASSANDRA-17474)
 * Upgrade jackson to 2.13.2 (CASSANDRA-17492)
 * emit warning on keyspace creation when replication factor is bigger than the number of nodes (CASSANDRA-16747)
 * Fix snapshot true size calculation (CASSANDRA-17267)
 * dropping of a materialized view creates a snapshot with dropped- prefix (CASSANDRA-17415)
 * Validate existence of DCs when repairing (CASSANDRA-17407)
 * Add key validation to ssstablescrub (CASSANDRA-16969)
 * Update Jackson from 2.9.10 to 2.12.5 (CASSANDRA-16851)
 * Make assassinate more resilient to missing tokens (CASSANDRA-16847)
 * Validate SASI tokenizer options before adding index to schema (CASSANDRA-15135)
 * Fixup scrub output when no data post-scrub and clear up old use of row, which really means partition (CASSANDRA-16835)
 * Reduce thread contention in CommitLogSegment and HintsBuffer (CASSANDRA-16072)
 * Make cqlsh use the same set of reserved keywords than the server uses (CASSANDRA-15663)
 * Optimize bytes skipping when reading SSTable files (CASSANDRA-14415)
 * Enable tombstone compactions when unchecked_tombstone_compaction is set in TWCS (CASSANDRA-14496)
 * Read only the required SSTables for single partition queries (CASSANDRA-16737)
Merged from 3.0:
 * Schema mutations may not be completed on drain (CASSANDRA-17524)
 * Fix data corruption in AbstractCompositeType due to static boolean byte buffers (CASSANDRA-14752)
 * Add procps dependency to RPM/Debian packages (CASSANDRA-17516)
 * Suppress CVE-2021-44521 (CASSANDRA-17492)
 * ConnectionLimitHandler may leaks connection count if remote connection drops (CASSANDRA-17252)
 * Require ant >= 1.10 (CASSANDRA-17428)
 * Disallow CONTAINS for UPDATE and DELETE (CASSANDRA-15266)
 * Suppress inapplicable CVEs (CASSANDRA-17368)
 * Fix flaky test - test_cqlsh_completion.TestCqlshCompletion (CASSANDRA-17338)
 * Fixed TestCqlshOutput failing tests (CASSANDRA-17386)
 * Lazy transaction log replica creation allows incorrect replica content divergence during anticompaction (CASSANDRA-17273)
 * LeveledCompactionStrategy disk space check improvements (CASSANDRA-17272)
 * Fix conversion from megabits to bytes in streaming rate limiter (CASSANDRA-17243)
 * Upgrade logback to 1.2.9 (CASSANDRA-17204)
 * Avoid race in AbstractReplicationStrategy endpoint caching (CASSANDRA-16673)
 * Fix abort when window resizing during cqlsh COPY (CASSANDRA-15230)
 * Fix slow keycache load which blocks startup for tables with many sstables (CASSANDRA-14898)
 * Fix rare NPE caused by batchlog replay / node decomission races (CASSANDRA-17049)
 * Allow users to view permissions of the roles they created (CASSANDRA-16902)
 * Fix failure handling in inter-node communication (CASSANDRA-16334)
 * Log more information when a node runs out of commitlog space (CASSANDRA-11323)
 * Don't take snapshots when truncating system tables (CASSANDRA-16839)
 * Make -Dtest.methods consistently optional in all Ant test targets (CASSANDRA-17014)
 * Immediately apply stream throughput, considering negative values as unthrottled (CASSANDRA-16959)
 * Do not release new SSTables in offline transactions (CASSANDRA-16975)
 * ArrayIndexOutOfBoundsException in FunctionResource#fromName (CASSANDRA-16977, CASSANDRA-16995)
 * CVE-2015-0886 Security vulnerability in jbcrypt is addressed (CASSANDRA-9384)
 * Avoid useless SSTable reads during single partition queries (CASSANDRA-16944)
 * Debian init respects CASSANDRA_HEAPDUMP_DIR (CASSANDRA-13843)
 * Catch UnsatisfiedLinkError in WindowsTimer (CASSANDRA-16085)
 * Avoid removing batch when it's not created during view replication (CASSANDRA-16175)
 * Make the addition of regular column to COMPACT tables throw an InvalidRequestException (CASSANDRA-14564)
 * Make the addition of regular column to COMPACT tables throw an InvalidRequestException (CASSANDRA-14564)
 * Fix secondary indexes on primary key columns skipping some writes (CASSANDRA-16868)
 * Use JMX to validate nodetool --jobs parameter (CASSANDRA-16104)
 * Handle properly UnsatisfiedLinkError in NativeLibrary#getProcessID() (CASSANDRA-16578)
 * Remove mutation data from error log message (CASSANDRA-16817)
 * Binary releases no longer bundle the apidocs (javadoc) (CASSANDRA-16557)
 * Migrate dependency handling from maven-ant-tasks to resolver-ant-tasks, removing lib/ directory from version control (CASSANDRA-16557)
 * Don't allow seeds to replace without using unsafe (CASSANDRA-14463)
 * Calculate time remaining correctly for all compaction types in compactionstats (CASSANDRA-14701)
 * Receipt of gossip shutdown notification updates TokenMetadata (CASSANDRA-16796)
 * Count bloom filter misses correctly (CASSANDRA-12922)
 * Reject token() in MV WHERE clause (CASSANDRA-13464)
 * Ensure java executable is on the path (CASSANDRA-14325)
 * Clean transaction log leftovers at the beginning of sstablelevelreset and sstableofflinerelevel (CASSANDRA-12519)


4.0.0
 * Avoid signaling DigestResolver until the minimum number of responses are guaranteed to be visible (CASSANDRA-16807)
 * Fix pre-4.0 FWD_FRM parameter serializer (CASSANDRA-16808)
 * Fix fwd to/from headers in DC write forwarding (CASSANDRA-16797)
 * Fix CassandraVersion::compareTo (CASSANDRA-16794)
 * BinLog does not close chronicle queue leaving this to GC to cleanup (CASSANDRA-16774)


4.0-rc2
 * Improved password obfuscation (CASSANDRA-16801)
 * Avoid memoizing the wrong min cluster version during upgrades (CASSANDRA-16759)
 * Obfuscate passwords in statements in QueryEvents (CASSANDRA-16669)
 * Fix queries on empty partitions with static data (CASSANDRA-16686)
 * Keep python driver in artifacts (CASSANDRA-16700)
 * Improve AuditLogging documentation and logback.xml(CASSANDRA-16682)
 * Spin up SEPWorker threads whenever we grow the number of work permits(CASSANDRA-16668)
 * Add a warning to cqlsh 6.0.0 that DESCRIBE does not work with a Cassandra 3.x servers (CASSANDRA-16652)
 * cqlsh: fix DESC TYPE with non-ascii character in the identifier (CASSANDRA-16400)
 * Remove drivers dependency and bring cql_keywords_reserved on server side (CASSANDRA-16659)
 * Fix in-browser "help", Python 3 (CASSANDRA-16658)
 * Fix DROP COMPACT STORAGE for counters (CASSANDRA-16653)
 * Add back validation for AlterTableStatements (CASSANDRA-16643)
 * Fix cqlsh encoding error with unicode in multi-line statement (CASSANDRA-16539)
 * Fix race in fat client removal (CASSANDRA-16238)
 * Test org.apache.cassandra.net.AsyncPromiseTest FAILED (CASSANDRA-16596)
Merged from 3.11:
 * Fix LeveledCompactionStrategy compacts last level throw an ArrayIndexOutOfBoundsException (CASSANDRA-15669)
 * Maps $CASSANDRA_LOG_DIR to cassandra.logdir java property when executing nodetool (CASSANDRA-16199)
 * Nodetool garbagecollect should retain SSTableLevel for LCS (CASSANDRA-16634)
 * Ignore stale acks received in the shadow round (CASSANDRA-16588)
Merged from 3.0:
 * Handle correctly the exceptions thrown by custom QueryHandler constructors (CASSANDRA-16703)
 * Adding columns via ALTER TABLE can generate corrupt sstables (CASSANDRA-16735)
 * Add flag to disable ALTER...DROP COMPACT STORAGE statements (CASSANDRA-16733)
 * CQL shell should prefer newer TLS version by default (CASSANDRA-16695)
 * Ensure that existing empty rows are properly returned (CASSANDRA-16671)
 * Failure to execute queries should emit a KPI other than read timeout/unavailable so it can be alerted/tracked (CASSANDRA-16581)
 * Don't wait on schema versions from replacement target when replacing a node (CASSANDRA-16692)
 * StandaloneVerifier does not fail when unable to verify SSTables, it only fails if Corruption is thrown (CASSANDRA-16683)
 * Fix bloom filter false ratio calculation by including true negatives (CASSANDRA-15834)
 * Prevent loss of commit log data when moving sstables between nodes (CASSANDRA-16619)
 * Fix materialized view builders inserting truncated data (CASSANDRA-16567)


4.0-rc1
 * Allow for setting buffer max capacity to increase it dynamically as needed (CASSANDRA-16524)
 * Harden internode message resource limit accounting against serialization failures (CASSANDRA-16616)
 * Add back the source release of python driver in tree to avoid fetching from GitHub APIs (CASSANDRA-16599)
 * Fix false unavailable for queries due to cluster topology changes (CASSANDRA-16545)
 * Fixed a race condition issue in nodetool repair where we poll for the error before seeing the error notification, leading to a less meaningful message (CASSANDRA-16585)
 * Fix mixed cluster GROUP BY queries (CASSANDRA-16582)
 * Upgrade jflex to 1.8.2 (CASSANDRA-16576)
 * Binary releases no longer bundle the apidocs (javadoc) (CASSANDRA-15561)
 * Fix Streaming Repair metrics (CASSANDRA-16190)
 * Scheduled (delayed) schema pull tasks should not run after MIGRATION stage shutdown during decommission (CASSANDRA-16495)
 * When behind a firewall trunk is not buildable, need to allow overriding URLs (CASSANDRA-16563)
 * Make sure sstables with moved starts are removed correctly in LeveledGenerations (CASSANDRA-16552)
 * Fix race between secondary index building and active compactions tracking (CASSANDRA-16554)
 * Migrate dependency handling from maven-ant-tasks to resolver-ant-tasks, removing lib/ directory from version control (CASSANDRA-16391)
 * Fix 4.0 node sending a repair prepare message to a 3.x node breaking the connection (CASSANDRA-16542)
 * Removed synchronized modifier from StreamSession#onChannelClose to prevent deadlocking on flush (CASSANDRA-15892)
 * Throw IOE in AbstractType.writeValue if value has wrong fixed length (CASSANDRA-16500)
 * Execute background refreshing of auth caches on a dedicated executor (CASSANDRA-15177)
 * Update bundled java and python drivers to 3.11.0 and 3.25.0 respectively (CASSANDRA-13951)
 * Add io.netty.tryReflectionSetAccessible=true to j11 server options in order to enable netty to use Unsafe direct byte buffer construction (CASSANDRA-16493)
 * Make cassandra-stress -node support host:port notation (CASSANDRA-16529)
 * Better handle legacy gossip application states during (and after) upgrades (CASSANDRA-16525)
 * Mark StreamingMetrics.ActiveOutboundStreams as deprecated (CASSANDRA-11174)
 * Increase the cqlsh version number (CASSANDRA-16509)
 * Fix the CQL generated for the views.where_clause column when some identifiers require quoting (CASSANDRA-16479)
 * Send FAILED_SESSION_MSG on shutdown and on in-progress repairs during startup (CASSANDRA-16425)
 * Reinstate removed ApplicationState padding (CASSANDRA-16484)
 * Expose data dirs to ColumnFamilyStoreMBean (CASSANDRA-16335)
 * Add possibility to copy SSTables in SSTableImporter instead of moving them (CASSANDRA-16407)
 * Fix DESCRIBE statement for CUSTOM indices with options (CASSANDRA-16482)
 * Fix cassandra-stress JMX connection (CASSANDRA-16473)
 * Avoid processing redundant application states on endpoint changes (CASSANDRA-16381)
 * Prevent parent repair sessions leak (CASSANDRA-16446)
 * Fix timestamp issue in SinglePartitionSliceCommandTest testPartitionD…eletionRowDeletionTie (CASSANDRA-16443)
 * Promote protocol V5 out of beta (CASSANDRA-14973)
 * Fix incorrect encoding for strings can be UTF8 (CASSANDRA-16429)
 * Fix node unable to join when RF > N in multi-DC with added warning (CASSANDRA-16296)
 * Add an option to nodetool tablestats to check sstable location correctness (CASSANDRA-16344)
 * Unable to ALTER KEYSPACE while decommissioned/assassinated nodes are in gossip (CASSANDRA-16422)
 * Metrics backward compatibility restored after CASSANDRA-15066 (CASSANDRA-16083)
 * Reduce new reserved keywords introduced since 3.0 (CASSANDRA-16439)
 * Improve system tables handling in case of disk failures (CASSANDRA-14793)
 * Add access and datacenters to unreserved keywords (CASSANDRA-16398)
 * Fix nodetool ring, status output when DNS resolution or port printing are in use (CASSANDRA-16283)
 * Upgrade Jacoco to 0.8.6 (for Java 11 support) (CASSANDRA-16365)
 * Move excessive repair debug loggings to trace level (CASSANDRA-16406)
 * Restore validation of each message's protocol version (CASSANDRA-16374)
 * Upgrade netty and chronicle-queue dependencies to get Auditing and native library loading working on arm64 architectures (CASSANDRA-16384,CASSANDRA-16392)
 * Release StreamingTombstoneHistogramBuilder spool when switching writers (CASSANDRA-14834)
 * Correct memtable on-heap size calculations to match actual use (CASSANDRA-16318)
 * Fix client notifications in CQL protocol v5 (CASSANDRA-16353)
 * Too defensive check when picking sstables for preview repair (CASSANDRA-16284)
 * Ensure pre-negotiation native protocol responses have correct stream id (CASSANDRA-16376)
 * Fix check for -Xlog in cassandra-env.sh (CASSANDRA-16279)
 * SSLFactory should initialize SSLContext before setting protocols (CASSANDRA-16362)
 * Restore sasi dependencies jflex, snowball-stemmer, and concurrent-trees, in the cassandra-all pom (CASSANDRA-16303)
 * Fix DecimalDeserializer#toString OOM (CASSANDRA-14925)
Merged from 3.11:
 * Add autocomplete and error messages for provide_overlapping_tombstones (CASSANDRA-16350)
 * Upgrade jackson-databind to 2.9.10.8 (CASSANDRA-16462)
 * Fix digest computation for queries with fetched but non queried columns (CASSANDRA-15962)
 * Reduce amount of allocations during batch statement execution (CASSANDRA-16201)
 * Update jflex-1.6.0.jar to match upstream (CASSANDRA-16393)
Merged from 3.0:
 * Don't wait for schema migrations from removed nodes (CASSANDRA-16577)
 * Ignore trailing zeros in hint files (CASSANDRA-16523)
 * Refuse DROP COMPACT STORAGE if some 2.x sstables are in use (CASSANDRA-15897)
 * Fix ColumnFilter::toString not returning a valid CQL fragment (CASSANDRA-16483)
 * Fix ColumnFilter behaviour to prevent digest mitmatches during upgrades (CASSANDRA-16415)
 * Update debian packaging for python3 (CASSANDRA-16396)
 * Avoid pushing schema mutations when setting up distributed system keyspaces locally (CASSANDRA-16387)
 * Prevent unbounded number of pending flushing tasks (CASSANDRA-16261)
 * Improve empty hint file handling during startup (CASSANDRA-16162)
 * Fix skipping on pre-3.0 created compact storage sstables due to missing primary key liveness (CASSANDRA-16226)
 * Allow empty string in collections with COPY FROM in cqlsh (CASSANDRA-16372)
Merged from 2.2:
 * Remove ant targets list-jvm-dtests and ant list-jvm-upgrade-dtests (CASSANDRA-16519)
 * Fix centos packaging for arm64, >=4.0 rpm's now require python3 (CASSANDRA-16477)
 * Make TokenMetadata's ring version increments atomic (CASSANDRA-16286)


4.0-beta4
 * DROP COMPACT STORAGE should invalidate prepared statements still using CompactTableMetadata (CASSANDRA-16361)
 * Update default num_tokens to 16 and allocate_tokens_for_local_replication_factor to 3 (CASSANDRA-13701)
 * Remove use of String.intern() (CASSANDRA-15810)
 * Fix the missing bb position in ByteBufferAccessor.getUnsignedShort (CASSANDRA-16249)
 * Make sure OOM errors are rethrown on truncation failure (CASSANDRA-16254)
 * Send back client warnings when creating too many tables/keyspaces (CASSANDRA-16309)
 * Add dedicated tcp user timeout for streaming connection (CASSANDRA-16143)
 * Add generatetokens script for offline token allocation strategy generation (CASSANDRA-16205)
 * Remove Windows scripts (CASSANDRA-16171)
 * Improve checksumming and compression in protocol V5 (CASSANDRA-15299)
 * Optimised repair streaming improvements (CASSANDRA-16274)
 * Update jctools dependency to 3.1.0 (CASSANDRA-16255)
 * 'SSLEngine closed already' exception on failed outbound connection (CASSANDRA-16277)
 * Drain and/or shutdown might throw because of slow messaging service shutdown (CASSANDRA-16276)
 * Upgrade JNA to 5.6.0, dropping support for <=glibc-2.6 systems (CASSANDRA-16212)
 * Add saved Host IDs to TokenMetadata at startup (CASSANDRA-16246)
 * Ensure that CacheMetrics.requests is picked up by the metric reporter (CASSANDRA-16228)
 * Add a ratelimiter to snapshot creation and deletion (CASSANDRA-13019)
 * Produce consistent tombstone for reads to avoid digest mistmatch (CASSANDRA-15369)
 * Fix SSTableloader issue when restoring a table named backups (CASSANDRA-16235)
 * Invalid serialized size for responses caused by increasing message time by 1ms which caused extra bytes in size calculation (CASSANDRA-16103)
 * Throw BufferOverflowException from DataOutputBuffer for better visibility (CASSANDRA-16214)
 * TLS connections to the storage port on a node without server encryption configured causes java.io.IOException accessing missing keystore (CASSANDRA-16144)
 * Internode messaging catches OOMs and does not rethrow (CASSANDRA-15214)
 * When a table attempts to clean up metrics, it was cleaning up all global table metrics (CASSANDRA-16095)
 * Bring back the accepted encryption protocols list as configurable option (CASSANDRA-13325)
 * DigestResolver.getData throws AssertionError since dataResponse is null (CASSANDRA-16097)
 * Cannot replace_address /X because it doesn't exist in gossip (CASSANDRA-16213)
 * cqlsh row_id resets on page boundaries (CASSANDRA-16160)
Merged from 3.11:
 * SASI's `max_compaction_flush_memory_in_mb` settings over 100GB revert to default of 1GB (CASSANDRA-16071)
Merged from 3.0:
 * Extend the exclusion of replica filtering protection to other indices instead of just SASI (CASSANDRA-16311)
 * Synchronize transaction logs for JBOD (CASSANDRA-16225)
 * Fix the counting of cells per partition (CASSANDRA-16259)
 * Fix serial read/non-applying CAS linearizability (CASSANDRA-12126)
 * Avoid potential NPE in JVMStabilityInspector (CASSANDRA-16294)
 * Improved check of num_tokens against the length of initial_token (CASSANDRA-14477)
 * Fix a race condition on ColumnFamilyStore and TableMetrics (CASSANDRA-16228)
 * Remove the SEPExecutor blocking behavior (CASSANDRA-16186)
 * Wait for schema agreement when bootstrapping (CASSANDRA-15158)
 * Prevent invoking enable/disable gossip when not in NORMAL (CASSANDRA-16146)
 * Raise Dynamic Snitch Default Badness Threshold to 1.0 (CASSANDRA-16285)
Merged from 2.2:
 * Fix the histogram merge of the table metrics (CASSANDRA-16259)


4.0-beta3
 * Segregate Network and Chunk Cache BufferPools and Recirculate Partially Freed Chunks (CASSANDRA-15229)
 * Fail truncation requests when they fail on a replica (CASSANDRA-16208)
 * Move compact storage validation earlier in startup process (CASSANDRA-16063)
 * Fix ByteBufferAccessor cast exceptions are thrown when trying to query a virtual table (CASSANDRA-16155)
 * Consolidate node liveness check for forced repair (CASSANDRA-16113)
 * Use unsigned short in ValueAccessor.sliceWithShortLength (CASSANDRA-16147)
 * Abort repairs when getting a truncation request (CASSANDRA-15854)
 * Remove bad assert when getting active compactions for an sstable (CASSANDRA-15457)
 * Avoid failing compactions with very large partitions (CASSANDRA-15164)
 * Prevent NPE in StreamMessage in type lookup (CASSANDRA-16131)
 * Avoid invalid state transition exception during incremental repair (CASSANDRA-16067)
 * Allow zero padding in timestamp serialization (CASSANDRA-16105)
 * Add byte array backed cells (CASSANDRA-15393)
 * Correctly handle pending ranges with adjacent range movements (CASSANDRA-14801)
 * Avoid adding locahost when streaming trivial ranges (CASSANDRA-16099)
 * Add nodetool getfullquerylog (CASSANDRA-15988)
 * Fix yaml format and alignment in tpstats (CASSANDRA-11402)
 * Avoid trying to keep track of RTs for endpoints we won't write to during read repair (CASSANDRA-16084)
 * When compaction gets interrupted, the exception should include the compactionId (CASSANDRA-15954)
 * Make Table/Keyspace Metric Names Consistent With Each Other (CASSANDRA-15909)
 * Mutating sstable component may race with entire-sstable-streaming(ZCS) causing checksum validation failure (CASSANDRA-15861)
 * NPE thrown while updating speculative execution time if keyspace is removed during task execution (CASSANDRA-15949)
 * Show the progress of data streaming and index build (CASSANDRA-15406)
 * Add flag to disable chunk cache and disable by default (CASSANDRA-16036)
 * Upgrade to snakeyaml >= 1.26 version for CVE-2017-18640 fix (CASSANDRA-16150)
Merged from 3.11:
 * Fix ColumnFilter to avoid querying cells of unselected complex columns (CASSANDRA-15977)
 * Fix memory leak in CompressedChunkReader (CASSANDRA-15880)
 * Don't attempt value skipping with mixed version cluster (CASSANDRA-15833)
 * Use IF NOT EXISTS for index and UDT create statements in snapshot schema files (CASSANDRA-13935)
 * Make sure LCS handles duplicate sstable added/removed notifications correctly (CASSANDRA-14103)
Merged from 3.0:
 * Avoid marking shutting down nodes as up after receiving gossip shutdown message (CASSANDRA-16094)
 * Handle unexpected columns due to schema races (CASSANDRA-15899)
 * Add flag to ignore unreplicated keyspaces during repair (CASSANDRA-15160)
Merged from 2.2:
 * Package tools/bin scripts as executable (CASSANDRA-16151)
 * Fixed a NullPointerException when calling nodetool enablethrift (CASSANDRA-16127)
 * Automatically drop compact storage on tables for which it is safe (CASSANDRA-16048)
 * Fixed NullPointerException for COMPACT STORAGE tables with null clustering (CASSANDRA-16241)


4.0-beta2
 * Add addition incremental repair visibility to nodetool repair_admin (CASSANDRA-14939)
 * Always access system properties and environment variables via the new CassandraRelevantProperties and CassandraRelevantEnv classes (CASSANDRA-15876)
 * Remove deprecated HintedHandOffManager (CASSANDRA-15939)
 * Prevent repair from overrunning compaction (CASSANDRA-15817)
 * fix cqlsh COPY functions in Python 3.8 on Mac (CASSANDRA-16053)
 * Strip comment blocks from cqlsh input before processing statements (CASSANDRA-15802)
 * Fix unicode chars error input (CASSANDRA-15990)
 * Improved testability for CacheMetrics and ChunkCacheMetrics (CASSANDRA-15788)
 * Handle errors in StreamSession#prepare (CASSANDRA-15852)
 * FQL replay should have options to ignore DDL statements (CASSANDRA-16039)
 * Remove COMPACT STORAGE internals (CASSANDRA-13994)
 * Make TimestampSerializer accept fractional seconds of varying precision (CASSANDRA-15976)
 * Improve cassandra-stress logging when using a profile file that doesn't exist (CASSANDRA-14425)
 * Improve logging for socket connection/disconnection (CASSANDRA-15980)
 * Throw FSWriteError upon write failures in order to apply DiskFailurePolicy (CASSANDRA-15928)
 * Forbid altering UDTs used in partition keys (CASSANDRA-15933)
 * Fix version parsing logic when upgrading from 3.0 (CASSANDRA-15973)
 * Optimize NoSpamLogger use in hot paths (CASSANDRA-15766)
 * Verify sstable components on startup (CASSANDRA-15945)
 * Resolve JMX output inconsistencies from CASSANDRA-7544 storage-port-configurable-per-node (CASSANDRA-15937)
Merged from 3.11:
 * Correctly interpret SASI's `max_compaction_flush_memory_in_mb` setting in megabytes not bytes (CASSANDRA-16071)
 * Fix short read protection for GROUP BY queries (CASSANDRA-15459)
 * stop_paranoid disk failure policy is ignored on CorruptSSTableException after node is up (CASSANDRA-15191)
 * Frozen RawTuple is not annotated with frozen in the toString method (CASSANDRA-15857)
Merged from 3.0:
 * Fix gossip shutdown order (CASSANDRA-15816)
 * Remove broken 'defrag-on-read' optimization (CASSANDRA-15432)
 * Check for endpoint collision with hibernating nodes (CASSANDRA-14599)
 * Operational improvements and hardening for replica filtering protection (CASSANDRA-15907)
 * Fix empty/null json string representation (CASSANDRA-15896)
 * Handle difference in timestamp precision between java8 and java11 in LogFIle.java (CASSANDRA-16050)
Merged from 2.2:
 * Fix CQL parsing of collections when the column type is reversed (CASSANDRA-15814)
Merged from 2.1:
 * Only allow strings to be passed to JMX authentication (CASSANDRA-16077)


4.0-beta1
 * Remove BackPressureStrategy (CASSANDRA-15375)
 * Improve messaging on indexing frozen collections (CASSANDRA-15908)
 * USING_G1 is incorrectly set in cassandra-env.sh if G1 is explicitly disabled with -UseG1GC (CASSANDRA-15931)
 * Update compaction_throughput_mb_per_sec throttle default to 64 (CASSANDRA-14902)
 * Add option to disable compaction at startup (CASSANDRA-15927)
 * FBUtilities.getJustLocalAddress falls back to lo ip on misconfigured nodes (CASSANDRA-15901)
 * Close channel and reduce buffer allocation during entire sstable streaming with SSL (CASSANDRA-15900)
 * Prune expired messages less frequently in internode messaging (CASSANDRA-15700)
 * Fix Ec2Snitch handling of legacy mode for dc names matching both formats, eg "us-west-2" (CASSANDRA-15878)
 * Add support for server side DESCRIBE statements (CASSANDRA-14825)
 * Fail startup if -Xmn is set when the G1 garbage collector is used (CASSANDRA-15839)
 * generateSplits method replaced the generateRandomTokens for ReplicationAwareTokenAllocator. (CASSANDRA-15877)
 * Several mbeans are not unregistered when dropping a keyspace and table (CASSANDRA-14888)
 * Update defaults for server and client TLS settings (CASSANDRA-15262)
 * Differentiate follower/initator in StreamMessageHeader (CASSANDRA-15665)
 * Add a startup check to detect if LZ4 uses java rather than native implementation (CASSANDRA-15884)
 * Fix missing topology events when running multiple nodes on the same network interface (CASSANDRA-15677)
 * Create config.yml.MIDRES (CASSANDRA-15712)
 * Fix handling of fully purged static rows in repaired data tracking (CASSANDRA-15848)
 * Prevent validation request submission from blocking ANTI_ENTROPY stage (CASSANDRA-15812)
 * Add fqltool and auditlogviewer to rpm and deb packages (CASSANDRA-14712)
 * Include DROPPED_COLUMNS in schema digest computation (CASSANDRA-15843)
 * Fix Cassandra restart from rpm install (CASSANDRA-15830)
 * Improve handling of 2i initialization failures (CASSANDRA-13606)
 * Add completion_ratio column to sstable_tasks virtual table (CASANDRA-15759)
 * Add support for adding custom Verbs (CASSANDRA-15725)
 * Speed up entire-file-streaming file containment check and allow entire-file-streaming for all compaction strategies (CASSANDRA-15657,CASSANDRA-15783)
 * Provide ability to configure IAuditLogger (CASSANDRA-15748)
 * Fix nodetool enablefullquerylog blocking param parsing (CASSANDRA-15819)
 * Add isTransient to SSTableMetadataView (CASSANDRA-15806)
 * Fix tools/bin/fqltool for all shells (CASSANDRA-15820)
 * Fix clearing of legacy size_estimates (CASSANDRA-15776)
 * Update port when reconnecting to pre-4.0 SSL storage (CASSANDRA-15727)
 * Only calculate dynamicBadnessThreshold once per loop in DynamicEndpointSnitch (CASSANDRA-15798)
 * Cleanup redundant nodetool commands added in 4.0 (CASSANDRA-15256)
 * Update to Python driver 3.23 for cqlsh (CASSANDRA-15793)
 * Add tunable initial size and growth factor to RangeTombstoneList (CASSANDRA-15763)
 * Improve debug logging in SSTableReader for index summary (CASSANDRA-15755)
 * bin/sstableverify should support user provided token ranges (CASSANDRA-15753)
 * Improve logging when mutation passed to commit log is too large (CASSANDRA-14781)
 * replace LZ4FastDecompressor with LZ4SafeDecompressor (CASSANDRA-15560)
 * Fix buffer pool NPE with concurrent release due to in-progress tiny pool eviction (CASSANDRA-15726)
 * Avoid race condition when completing stream sessions (CASSANDRA-15666)
 * Flush with fast compressors by default (CASSANDRA-15379)
 * Fix CqlInputFormat regression from the switch to system.size_estimates (CASSANDRA-15637)
 * Allow sending Entire SSTables over SSL (CASSANDRA-15740)
 * Fix CQLSH UTF-8 encoding issue for Python 2/3 compatibility (CASSANDRA-15739)
 * Fix batch statement preparation when multiple tables and parameters are used (CASSANDRA-15730)
 * Fix regression with traceOutgoingMessage printing message size (CASSANDRA-15687)
 * Ensure repaired data tracking reads a consistent amount of data across replicas (CASSANDRA-15601)
 * Fix CQLSH to avoid arguments being evaluated (CASSANDRA-15660)
 * Correct Visibility and Improve Safety of Methods in LatencyMetrics (CASSANDRA-15597)
 * Allow cqlsh to run with Python2.7/Python3.6+ (CASSANDRA-15659,CASSANDRA-15573)
 * Improve logging around incremental repair (CASSANDRA-15599)
 * Do not check cdc_raw_directory filesystem space if CDC disabled (CASSANDRA-15688)
 * Replace array iterators with get by index (CASSANDRA-15394)
 * Minimize BTree iterator allocations (CASSANDRA-15389)
Merged from 3.11:
 * Fix cqlsh output when fetching all rows in batch mode (CASSANDRA-15905)
 * Upgrade Jackson to 2.9.10 (CASSANDRA-15867)
 * Fix CQL formatting of read command restrictions for slow query log (CASSANDRA-15503)
Merged from 3.0:
 * Avoid hinted handoff per-host throttle being arounded to 0 in large cluster (CASSANDRA-15859)
 * Avoid emitting empty range tombstones from RangeTombstoneList (CASSANDRA-15924)
 * Avoid thread starvation, and improve compare-and-swap performance, in the slab allocators (CASSANDRA-15922)
 * Add token to tombstone warning and error messages (CASSANDRA-15890)
 * Fixed range read concurrency factor computation and capped as 10 times tpc cores (CASSANDRA-15752)
 * Catch exception on bootstrap resume and init native transport (CASSANDRA-15863)
 * Fix replica-side filtering returning stale data with CL > ONE (CASSANDRA-8272, CASSANDRA-8273)
 * Rely on snapshotted session infos on StreamResultFuture.maybeComplete to avoid race conditions (CASSANDRA-15667)
 * EmptyType doesn't override writeValue so could attempt to write bytes when expected not to (CASSANDRA-15790)
 * Fix index queries on partition key columns when some partitions contains only static data (CASSANDRA-13666)
 * Avoid creating duplicate rows during major upgrades (CASSANDRA-15789)
 * liveDiskSpaceUsed and totalDiskSpaceUsed get corrupted if IndexSummaryRedistribution gets interrupted (CASSANDRA-15674)
 * Fix Debian init start/stop (CASSANDRA-15770)
 * Fix infinite loop on index query paging in tables with clustering (CASSANDRA-14242)
 * Fix chunk index overflow due to large sstable with small chunk length (CASSANDRA-15595)
 * Allow selecting static column only when querying static index (CASSANDRA-14242)
 * cqlsh return non-zero status when STDIN CQL fails (CASSANDRA-15623)
 * Don't skip sstables in slice queries based only on local min/max/deletion timestamp (CASSANDRA-15690)
Merged from 2.2:
 * Fix nomenclature of allow and deny lists (CASSANDRA-15862)
 * Remove generated files from source artifact (CASSANDRA-15849)
 * Remove duplicated tools binaries from tarballs (CASSANDRA-15768)
 * Duplicate results with DISTINCT queries in mixed mode (CASSANDRA-15501)
Merged from 2.1:
 * Fix writing of snapshot manifest when the table has table-backed secondary indexes (CASSANDRA-10968)


4.0-alpha4
 * Add client request size server metrics (CASSANDRA-15704)
 * Add additional logging around FileUtils and compaction leftover cleanup (CASSANDRA-15705)
 * Mark system_views/system_virtual_schema as non-alterable keyspaces in cqlsh (CASSANDRA-15711)
 * Fail incremental repair if an old version sstable is involved (CASSANDRA-15612)
 * Fix overflows on StreamingTombstoneHistogramBuilder produced by large deletion times (CASSANDRA-14773)
 * Mark system_views/system_virtual_schema as system keyspaces in cqlsh (CASSANDRA-15706)
 * Avoid unnecessary collection/iterator allocations during btree construction (CASSANDRA-15390)
 * Repair history tables should have TTL and TWCS (CASSANDRA-12701)
 * Fix cqlsh erroring out on Python 3.7 due to webbrowser module being absent (CASSANDRA-15572)
 * Fix IMH#acquireCapacity() to return correct Outcome when endpoint reserve runs out (CASSANDRA-15607)
 * Fix nodetool describering output (CASSANDRA-15682)
 * Only track ideal CL failure when request CL met (CASSANDRA-15696)
 * Fix flaky CoordinatorMessagingTest and docstring in OutboundSink and ConsistentSession (CASSANDRA-15672)
 * Fix force compaction of wrapping ranges (CASSANDRA-15664)
 * Expose repair streaming metrics (CASSANDRA-15656)
 * Set now in seconds in the future for validation repairs (CASSANDRA-15655)
 * Emit metric on preview repair failure (CASSANDRA-15654)
 * Use more appropriate logging levels (CASSANDRA-15661)
 * Fixed empty check in TrieMemIndex due to potential state inconsistency in ConcurrentSkipListMap (CASSANDRA-15526)
 * Added UnleveledSSTables global and table level metric (CASSANDRA-15620)
 * Added Virtual Table exposing Cassandra relevant system properties (CASSANDRA-15616, CASSANDRA-15643)
 * Improve the algorithmic token allocation in case racks = RF (CASSANDRA-15600)
 * Fix ConnectionTest.testAcquireReleaseOutbound (CASSANDRA-15308)
 * Include finalized pending sstables in preview repair (CASSANDRA-15553)
 * Reverted to the original behavior of CLUSTERING ORDER on CREATE TABLE (CASSANDRA-15271)
 * Correct inaccurate logging message (CASSANDRA-15549)
 * Unset GREP_OPTIONS (CASSANDRA-14487)
 * Update to Python driver 3.21 for cqlsh (CASSANDRA-14872)
 * Fix missing Keyspaces in cqlsh describe output (CASSANDRA-15576)
 * Fix multi DC nodetool status output (CASSANDRA-15305)
 * updateCoordinatorWriteLatencyTableMetric can produce misleading metrics (CASSANDRA-15569)
 * Make cqlsh and cqlshlib Python 2 & 3 compatible (CASSANDRA-10190)
 * Improve the description of nodetool listsnapshots command (CASSANDRA-14587)
 * allow embedded cassandra launched from a one-jar or uno-jar (CASSANDRA-15494)
 * Update hppc library to version 0.8.1 (CASSANDRA-12995)
 * Limit the dependencies used by UDFs/UDAs (CASSANDRA-14737)
 * Make native_transport_max_concurrent_requests_in_bytes updatable (CASSANDRA-15519)
 * Cleanup and improvements to IndexInfo/ColumnIndex (CASSANDRA-15469)
 * Potential Overflow in DatabaseDescriptor Functions That Convert Between KB/MB & Bytes (CASSANDRA-15470)
Merged from 3.11:
 * Allow sstableloader to use SSL on the native port (CASSANDRA-14904)
Merged from 3.0:
 * cqlsh return non-zero status when STDIN CQL fails (CASSANDRA-15623)
 * Don't skip sstables in slice queries based only on local min/max/deletion timestamp (CASSANDRA-15690)
 * Memtable memory allocations may deadlock (CASSANDRA-15367)
 * Run evictFromMembership in GossipStage (CASSANDRA-15592)
Merged from 2.2:
 * Duplicate results with DISTINCT queries in mixed mode (CASSANDRA-15501)
 * Disable JMX rebinding (CASSANDRA-15653)
Merged from 2.1:
 * Fix parse error in cqlsh COPY FROM and formatting for map of blobs (CASSANDRA-15679)
 * Fix Commit log replays when static column clustering keys are collections (CASSANDRA-14365)
 * Fix Red Hat init script on newer systemd versions (CASSANDRA-15273)
 * Allow EXTRA_CLASSPATH to work on tar/source installations (CASSANDRA-15567)


4.0-alpha3
 * Restore monotonic read consistency guarantees for blocking read repair (CASSANDRA-14740)
 * Separate exceptions for CAS write timeout exceptions caused by contention and unkown result (CASSANDRA-15350)
 * Fix in-jvm dtest java 11 compatibility (CASSANDRA-15463)
 * Remove joda time dependency (CASSANDRA-15257)
 * Exclude purgeable tombstones from repaired data tracking (CASSANDRA-15462)
 * Exclude legacy counter shards from repaired data tracking (CASSANDRA-15461)
 * Make it easier to add trace headers to messages (CASSANDRA-15499)
 * Fix and optimise partial compressed sstable streaming (CASSANDRA-13938)
 * Improve error when JVM 11 can't access required modules (CASSANDRA-15468)
 * Better handling of file deletion failures by DiskFailurePolicy (CASSANDRA-15143)
 * Prevent read repair mutations from increasing read timeout (CASSANDRA-15442)
 * Document 4.0 system keyspace changes, bump generations (CASSANDRA-15454)
 * Make it possible to disable STCS-in-L0 during runtime (CASSANDRA-15445)
 * Removed obsolete OldNetworkTopologyStrategy (CASSANDRA-13990)
 * Align record header of FQL and audit binary log (CASSANDRA-15076)
 * Shuffle forwarding replica for messages to non-local DC (CASSANDRA-15318)
 * Optimise native protocol ASCII string encoding (CASSANDRA-15410)
 * Make sure all exceptions are propagated in DebuggableThreadPoolExecutor (CASSANDRA-15332)
 * Make it possible to resize concurrent read / write thread pools at runtime (CASSANDRA-15277)
 * Close channels on error (CASSANDRA-15407)
 * Integrate SJK into nodetool (CASSANDRA-12197)
 * Ensure that empty clusterings with kind==CLUSTERING are Clustering.EMPTY (CASSANDRA-15498)
 * The flag 'cross_node_timeout' has been set as true by default. This change
   is done under the assumption that users have setup NTP on their clusters or
   otherwise synchronize their clocks, and that clocks are mostly in sync, since
   this is a requirement for general correctness of last write wins. (CASSANDRA-15216)
Merged from 3.11:
 * Fix bad UDT sstable metadata serialization headers written by C* 3.0 on upgrade and in sstablescrub (CASSANDRA-15035)
 * Fix nodetool compactionstats showing extra pending task for TWCS - patch implemented (CASSANDRA-15409)
 * Fix SELECT JSON formatting for the "duration" type (CASSANDRA-15075)
 * Update nodetool help stop output (CASSANDRA-15401)
Merged from 3.0:
 * Fix race condition when setting bootstrap flags (CASSANDRA-14878)
 * Run in-jvm upgrade dtests in circleci (CASSANDRA-15506)
 * Include updates to static column in mutation size calculations (CASSANDRA-15293)
 * Fix point-in-time recoevery ignoring timestamp of updates to static columns (CASSANDRA-15292)
 * GC logs are also put under $CASSANDRA_LOG_DIR (CASSANDRA-14306)
 * Fix sstabledump's position key value when partitions have multiple rows (CASSANDRA-14721)
 * Avoid over-scanning data directories in LogFile.verify() (CASSANDRA-15364)
 * Bump generations and document changes to system_distributed and system_traces in 3.0, 3.11
   (CASSANDRA-15441)
 * Fix system_traces creation timestamp; optimise system keyspace upgrades (CASSANDRA-15398)
 * Make sure index summary redistribution does not start when compactions are paused (CASSANDRA-15265)
 * Fix NativeLibrary.tryOpenDirectory callers for Windows (CASSANDRA-15426)
Merged from 2.2:
 * Fix SELECT JSON output for empty blobs (CASSANDRA-15435)
 * In-JVM DTest: Set correct internode message version for upgrade test (CASSANDRA-15371)
 * In-JVM DTest: Support NodeTool in dtest (CASSANDRA-15429)
 * Added data modeling documentation (CASSANDRA-15443)


4.0-alpha2
 * Fix SASI non-literal string comparisons (range operators) (CASSANDRA-15169)
 * Upgrade Guava to 27, and to java-driver 3.6.0 (from 3.4.0-SNAPSHOT) (CASSANDRA-14655)
 * Extract an AbstractCompactionController to allow for custom implementations (CASSANDRA-15286)
 * Move chronicle-core version from snapshot to stable, and include carrotsearch in generated pom.xml (CASSANDRA-15321)
 * Untangle RepairMessage sub-hierarchy of messages, use new messaging (more) correctly (CASSANDRA-15163)
 * Add `allocate_tokens_for_local_replication_factor` option for token allocation (CASSANDRA-15260)
 * Add Alibaba Cloud Platform snitch (CASSANDRA-15092)
Merged from 3.0:
 * Fix various data directory prefix matching issues (CASSANDRA-13974)
 * Minimize clustering values in metadata collector (CASSANDRA-15400)
 * Make sure index summary redistribution does not start when compactions are paused (CASSANDRA-15265)
 * Add ability to cap max negotiable protocol version (CASSANDRA-15193)
 * Gossip tokens on startup if available (CASSANDRA-15335)
 * Fix resource leak in CompressedSequentialWriter (CASSANDRA-15340)
 * Fix bad merge that reverted CASSANDRA-14993 (CASSANDRA-15289)
 * Add support for network topology and query tracing for inJVM dtest (CASSANDRA-15319)


4.0-alpha1
 * Inaccurate exception message with nodetool snapshot (CASSANDRA-15287)
 * Fix InternodeOutboundMetrics overloaded bytes/count mixup (CASSANDRA-15186)
 * Enhance & reenable RepairTest with compression=off and compression=on (CASSANDRA-15272)
 * Improve readability of Table metrics Virtual tables units (CASSANDRA-15194)
 * Fix error with non-existent table for nodetool tablehistograms (CASSANDRA-14410)
 * Avoid result truncation in decimal operations (CASSANDRA-15232)
 * Catch non-IOException in FileUtils.close to make sure that all resources are closed (CASSANDRA-15225)
 * Align load column in nodetool status output (CASSANDRA-14787)
 * CassandraNetworkAuthorizer uses cached roles info (CASSANDRA-15089)
 * Introduce optional timeouts for idle client sessions (CASSANDRA-11097)
 * Fix AlterTableStatement dropped type validation order (CASSANDRA-15203)
 * Update Netty dependencies to latest, clean up SocketFactory (CASSANDRA-15195)
 * Native Transport - Apply noSpamLogger to ConnectionLimitHandler (CASSANDRA-15167)
 * Reduce heap pressure during compactions (CASSANDRA-14654)
 * Support building Cassandra with JDK 11 (CASSANDRA-15108)
 * Use quilt to patch cassandra.in.sh in Debian packaging (CASSANDRA-14710)
 * Take sstable references before calculating approximate key count (CASSANDRA-14647)
 * Restore snapshotting of system keyspaces on version change (CASSANDRA-14412)
 * Fix AbstractBTreePartition locking in java 11 (CASSANDRA-14607)
 * SimpleClient should pass connection properties as options (CASSANDRA-15056)
 * Set repaired data tracking flag on range reads if enabled (CASSANDRA-15019)
 * Calculate pending ranges for BOOTSTRAP_REPLACE correctly (CASSANDRA-14802)
 * Make TableCQLHelper reuse the single quote pattern (CASSANDRA-15033)
 * Add Zstd compressor (CASSANDRA-14482)
 * Fix IR prepare anti-compaction race (CASSANDRA-15027)
 * Fix SimpleStrategy option validation (CASSANDRA-15007)
 * Don't try to cancel 2i compactions when starting anticompaction (CASSANDRA-15024)
 * Avoid NPE in RepairRunnable.recordFailure (CASSANDRA-15025)
 * SSL Cert Hot Reloading should check for sanity of the new keystore/truststore before loading it (CASSANDRA-14991)
 * Avoid leaking threads when failing anticompactions and rate limit anticompactions (CASSANDRA-15002)
 * Validate token() arguments early instead of throwing NPE at execution (CASSANDRA-14989)
 * Add a new tool to dump audit logs (CASSANDRA-14885)
 * Fix generating javadoc with Java11 (CASSANDRA-14988)
 * Only cancel conflicting compactions when starting anticompactions and sub range compactions (CASSANDRA-14935)
 * Use a stub IndexRegistry for non-daemon use cases (CASSANDRA-14938)
 * Don't enable client transports when bootstrap is pending (CASSANDRA-14525)
 * Make antiCompactGroup throw exception on error and anticompaction non cancellable
   again (CASSANDRA-14936)
 * Catch empty/invalid bounds in SelectStatement (CASSANDRA-14849)
 * Auto-expand replication_factor for NetworkTopologyStrategy (CASSANDRA-14303)
 * Transient Replication: support EACH_QUORUM (CASSANDRA-14727)
 * BufferPool: allocating thread for new chunks should acquire directly (CASSANDRA-14832)
 * Send correct messaging version in internode messaging handshake's third message (CASSANDRA-14896)
 * Make Read and Write Latency columns consistent for proxyhistograms and tablehistograms (CASSANDRA-11939)
 * Make protocol checksum type option case insensitive (CASSANDRA-14716)
 * Forbid re-adding static columns as regular and vice versa (CASSANDRA-14913)
 * Audit log allows system keyspaces to be audited via configuration options (CASSANDRA-14498)
 * Lower default chunk_length_in_kb from 64kb to 16kb (CASSANDRA-13241)
 * Startup checker should wait for count rather than percentage (CASSANDRA-14297)
 * Fix incorrect sorting of replicas in SimpleStrategy.calculateNaturalReplicas (CASSANDRA-14862)
 * Partitioned outbound internode TCP connections can occur when nodes restart (CASSANDRA-14358)
 * Don't write to system_distributed.repair_history, system_traces.sessions, system_traces.events in mixed version 3.X/4.0 clusters (CASSANDRA-14841)
 * Avoid running query to self through messaging service (CASSANDRA-14807)
 * Allow using custom script for chronicle queue BinLog archival (CASSANDRA-14373)
 * Transient->Full range movements mishandle consistency level upgrade (CASSANDRA-14759)
 * ReplicaCollection follow-up (CASSANDRA-14726)
 * Transient node receives full data requests (CASSANDRA-14762)
 * Enable snapshot artifacts publish (CASSANDRA-12704)
 * Introduce RangesAtEndpoint.unwrap to simplify StreamSession.addTransferRanges (CASSANDRA-14770)
 * LOCAL_QUORUM may speculate to non-local nodes, resulting in Timeout instead of Unavailable (CASSANDRA-14735)
 * Avoid creating empty compaction tasks after truncate (CASSANDRA-14780)
 * Fail incremental repair prepare phase if it encounters sstables from un-finalized sessions (CASSANDRA-14763)
 * Add a check for receiving digest response from transient node (CASSANDRA-14750)
 * Fail query on transient replica if coordinator only expects full data (CASSANDRA-14704)
 * Remove mentions of transient replication from repair path (CASSANDRA-14698)
 * Fix handleRepairStatusChangedNotification to remove first then add (CASSANDRA-14720)
 * Allow transient node to serve as a repair coordinator (CASSANDRA-14693)
 * DecayingEstimatedHistogramReservoir.EstimatedHistogramReservoirSnapshot returns wrong value for size() and incorrectly calculates count (CASSANDRA-14696)
 * AbstractReplicaCollection equals and hash code should throw due to conflict between order sensitive/insensitive uses (CASSANDRA-14700)
 * Detect inconsistencies in repaired data on the read path (CASSANDRA-14145)
 * Add checksumming to the native protocol (CASSANDRA-13304)
 * Make AuthCache more easily extendable (CASSANDRA-14662)
 * Extend RolesCache to include detailed role info (CASSANDRA-14497)
 * Add fqltool compare (CASSANDRA-14619)
 * Add fqltool replay (CASSANDRA-14618)
 * Log keyspace in full query log (CASSANDRA-14656)
 * Transient Replication and Cheap Quorums (CASSANDRA-14404)
 * Log server-generated timestamp and nowInSeconds used by queries in FQL (CASSANDRA-14675)
 * Add diagnostic events for read repairs (CASSANDRA-14668)
 * Use consistent nowInSeconds and timestamps values within a request (CASSANDRA-14671)
 * Add sampler for query time and expose with nodetool (CASSANDRA-14436)
 * Clean up Message.Request implementations (CASSANDRA-14677)
 * Disable old native protocol versions on demand (CASANDRA-14659)
 * Allow specifying now-in-seconds in native protocol (CASSANDRA-14664)
 * Improve BTree build performance by avoiding data copy (CASSANDRA-9989)
 * Make monotonic read / read repair configurable (CASSANDRA-14635)
 * Refactor CompactionStrategyManager (CASSANDRA-14621)
 * Flush netty client messages immediately by default (CASSANDRA-13651)
 * Improve read repair blocking behavior (CASSANDRA-10726)
 * Add a virtual table to expose settings (CASSANDRA-14573)
 * Fix up chunk cache handling of metrics (CASSANDRA-14628)
 * Extend IAuthenticator to accept peer SSL certificates (CASSANDRA-14652)
 * Incomplete handling of exceptions when decoding incoming messages (CASSANDRA-14574)
 * Add diagnostic events for user audit logging (CASSANDRA-13668)
 * Allow retrieving diagnostic events via JMX (CASSANDRA-14435)
 * Add base classes for diagnostic events (CASSANDRA-13457)
 * Clear view system metadata when dropping keyspace (CASSANDRA-14646)
 * Allocate ReentrantLock on-demand in java11 AtomicBTreePartitionerBase (CASSANDRA-14637)
 * Make all existing virtual tables use LocalPartitioner (CASSANDRA-14640)
 * Revert 4.0 GC alg back to CMS (CASANDRA-14636)
 * Remove hardcoded java11 jvm args in idea workspace files (CASSANDRA-14627)
 * Update netty to 4.1.128 (CASSANDRA-14633)
 * Add a virtual table to expose thread pools (CASSANDRA-14523)
 * Add a virtual table to expose caches (CASSANDRA-14538, CASSANDRA-14626)
 * Fix toDate function for timestamp arguments (CASSANDRA-14502)
 * Stream entire SSTables when possible (CASSANDRA-14556)
 * Cell reconciliation should not depend on nowInSec (CASSANDRA-14592)
 * Add experimental support for Java 11 (CASSANDRA-9608)
 * Make PeriodicCommitLogService.blockWhenSyncLagsNanos configurable (CASSANDRA-14580)
 * Improve logging in MessageInHandler's constructor (CASSANDRA-14576)
 * Set broadcast address in internode messaging handshake (CASSANDRA-14579)
 * Wait for schema agreement prior to building MVs (CASSANDRA-14571)
 * Make all DDL statements idempotent and not dependent on global state (CASSANDRA-13426)
 * Bump the hints messaging version to match the current one (CASSANDRA-14536)
 * OffsetAwareConfigurationLoader doesn't set ssl storage port causing bind errors in CircleCI (CASSANDRA-14546)
 * Report why native_transport_port fails to bind (CASSANDRA-14544)
 * Optimize internode messaging protocol (CASSANDRA-14485)
 * Internode messaging handshake sends wrong messaging version number (CASSANDRA-14540)
 * Add a virtual table to expose active client connections (CASSANDRA-14458)
 * Clean up and refactor client metrics (CASSANDRA-14524)
 * Nodetool import row cache invalidation races with adding sstables to tracker (CASSANDRA-14529)
 * Fix assertions in LWTs after TableMetadata was made immutable (CASSANDRA-14356)
 * Abort compactions quicker (CASSANDRA-14397)
 * Support light-weight transactions in cassandra-stress (CASSANDRA-13529)
 * Make AsyncOneResponse use the correct timeout (CASSANDRA-14509)
 * Add option to sanity check tombstones on reads/compactions (CASSANDRA-14467)
 * Add a virtual table to expose all running sstable tasks (CASSANDRA-14457)
 * Let nodetool import take a list of directories (CASSANDRA-14442)
 * Avoid unneeded memory allocations / cpu for disabled log levels (CASSANDRA-14488)
 * Implement virtual keyspace interface (CASSANDRA-7622)
 * nodetool import cleanup and improvements (CASSANDRA-14417)
 * Bump jackson version to >= 2.9.5 (CASSANDRA-14427)
 * Allow nodetool toppartitions without specifying table (CASSANDRA-14360)
 * Audit logging for database activity (CASSANDRA-12151)
 * Clean up build artifacts in docs container (CASSANDRA-14432)
 * Minor network authz improvements (Cassandra-14413)
 * Automatic sstable upgrades (CASSANDRA-14197)
 * Replace deprecated junit.framework.Assert usages with org.junit.Assert (CASSANDRA-14431)
 * Cassandra-stress throws NPE if insert section isn't specified in user profile (CASSSANDRA-14426)
 * List clients by protocol versions `nodetool clientstats --by-protocol` (CASSANDRA-14335)
 * Improve LatencyMetrics performance by reducing write path processing (CASSANDRA-14281)
 * Add network authz (CASSANDRA-13985)
 * Use the correct IP/Port for Streaming when localAddress is left unbound (CASSANDRA-14389)
 * nodetool listsnapshots is missing local system keyspace snapshots (CASSANDRA-14381)
 * Remove StreamCoordinator.streamExecutor thread pool (CASSANDRA-14402)
 * Rename nodetool --with-port to --print-port to disambiguate from --port (CASSANDRA-14392)
 * Client TOPOLOGY_CHANGE messages have wrong port. (CASSANDRA-14398)
 * Add ability to load new SSTables from a separate directory (CASSANDRA-6719)
 * Eliminate background repair and probablistic read_repair_chance table options
   (CASSANDRA-13910)
 * Bind to correct local address in 4.0 streaming (CASSANDRA-14362)
 * Use standard Amazon naming for datacenter and rack in Ec2Snitch (CASSANDRA-7839)
 * Abstract write path for pluggable storage (CASSANDRA-14118)
 * nodetool describecluster should be more informative (CASSANDRA-13853)
 * Compaction performance improvements (CASSANDRA-14261)
 * Refactor Pair usage to avoid boxing ints/longs (CASSANDRA-14260)
 * Add options to nodetool tablestats to sort and limit output (CASSANDRA-13889)
 * Rename internals to reflect CQL vocabulary (CASSANDRA-14354)
 * Add support for hybrid MIN(), MAX() speculative retry policies
   (CASSANDRA-14293, CASSANDRA-14338, CASSANDRA-14352)
 * Fix some regressions caused by 14058 (CASSANDRA-14353)
 * Abstract repair for pluggable storage (CASSANDRA-14116)
 * Add meaningful toString() impls (CASSANDRA-13653)
 * Add sstableloader option to accept target keyspace name (CASSANDRA-13884)
 * Move processing of EchoMessage response to gossip stage (CASSANDRA-13713)
 * Add coordinator write metric per CF (CASSANDRA-14232)
 * Correct and clarify SSLFactory.getSslContext method and call sites (CASSANDRA-14314)
 * Handle static and partition deletion properly on ThrottledUnfilteredIterator (CASSANDRA-14315)
 * NodeTool clientstats should show SSL Cipher (CASSANDRA-14322)
 * Add ability to specify driver name and version (CASSANDRA-14275)
 * Abstract streaming for pluggable storage (CASSANDRA-14115)
 * Forced incremental repairs should promote sstables if they can (CASSANDRA-14294)
 * Use Murmur3 for validation compactions (CASSANDRA-14002)
 * Comma at the end of the seed list is interpretated as localhost (CASSANDRA-14285)
 * Refactor read executor and response resolver, abstract read repair (CASSANDRA-14058)
 * Add optional startup delay to wait until peers are ready (CASSANDRA-13993)
 * Add a few options to nodetool verify (CASSANDRA-14201)
 * CVE-2017-5929 Security vulnerability and redefine default log rotation policy (CASSANDRA-14183)
 * Use JVM default SSL validation algorithm instead of custom default (CASSANDRA-13259)
 * Better document in code InetAddressAndPort usage post 7544, incorporate port into UUIDGen node (CASSANDRA-14226)
 * Fix sstablemetadata date string for minLocalDeletionTime (CASSANDRA-14132)
 * Make it possible to change neverPurgeTombstones during runtime (CASSANDRA-14214)
 * Remove GossipDigestSynVerbHandler#doSort() (CASSANDRA-14174)
 * Add nodetool clientlist (CASSANDRA-13665)
 * Revert ProtocolVersion changes from CASSANDRA-7544 (CASSANDRA-14211)
 * Non-disruptive seed node list reload (CASSANDRA-14190)
 * Nodetool tablehistograms to print statics for all the tables (CASSANDRA-14185)
 * Migrate dtests to use pytest and python3 (CASSANDRA-14134)
 * Allow storage port to be configurable per node (CASSANDRA-7544)
 * Make sub-range selection for non-frozen collections return null instead of empty (CASSANDRA-14182)
 * BloomFilter serialization format should not change byte ordering (CASSANDRA-9067)
 * Remove unused on-heap BloomFilter implementation (CASSANDRA-14152)
 * Delete temp test files on exit (CASSANDRA-14153)
 * Make PartitionUpdate and Mutation immutable (CASSANDRA-13867)
 * Fix CommitLogReplayer exception for CDC data (CASSANDRA-14066)
 * Fix cassandra-stress startup failure (CASSANDRA-14106)
 * Remove initialDirectories from CFS (CASSANDRA-13928)
 * Fix trivial log format error (CASSANDRA-14015)
 * Allow sstabledump to do a json object per partition (CASSANDRA-13848)
 * Add option to optimise merkle tree comparison across replicas (CASSANDRA-3200)
 * Remove unused and deprecated methods from AbstractCompactionStrategy (CASSANDRA-14081)
 * Fix Distribution.average in cassandra-stress (CASSANDRA-14090)
 * Support a means of logging all queries as they were invoked (CASSANDRA-13983)
 * Presize collections (CASSANDRA-13760)
 * Add GroupCommitLogService (CASSANDRA-13530)
 * Parallelize initial materialized view build (CASSANDRA-12245)
 * Make LWTs send resultset metadata on every request (CASSANDRA-13992)
 * Fix flaky indexWithFailedInitializationIsNotQueryableAfterPartialRebuild (CASSANDRA-13963)
 * Introduce leaf-only iterator (CASSANDRA-9988)
 * Upgrade Guava to 23.3 and Airline to 0.8 (CASSANDRA-13997)
 * Allow only one concurrent call to StatusLogger (CASSANDRA-12182)
 * Refactoring to specialised functional interfaces (CASSANDRA-13982)
 * Speculative retry should allow more friendly params (CASSANDRA-13876)
 * Throw exception if we send/receive repair messages to incompatible nodes (CASSANDRA-13944)
 * Replace usages of MessageDigest with Guava's Hasher (CASSANDRA-13291)
 * Add nodetool cmd to print hinted handoff window (CASSANDRA-13728)
 * Fix some alerts raised by static analysis (CASSANDRA-13799)
 * Checksum sstable metadata (CASSANDRA-13321, CASSANDRA-13593)
 * Add result set metadata to prepared statement MD5 hash calculation (CASSANDRA-10786)
 * Refactor GcCompactionTest to avoid boxing (CASSANDRA-13941)
 * Expose recent histograms in JmxHistograms (CASSANDRA-13642)
 * Fix buffer length comparison when decompressing in netty-based streaming (CASSANDRA-13899)
 * Properly close StreamCompressionInputStream to release any ByteBuf (CASSANDRA-13906)
 * Add SERIAL and LOCAL_SERIAL support for cassandra-stress (CASSANDRA-13925)
 * LCS needlessly checks for L0 STCS candidates multiple times (CASSANDRA-12961)
 * Correctly close netty channels when a stream session ends (CASSANDRA-13905)
 * Update lz4 to 1.4.0 (CASSANDRA-13741)
 * Optimize Paxos prepare and propose stage for local requests (CASSANDRA-13862)
 * Throttle base partitions during MV repair streaming to prevent OOM (CASSANDRA-13299)
 * Use compaction threshold for STCS in L0 (CASSANDRA-13861)
 * Fix problem with min_compress_ratio: 1 and disallow ratio < 1 (CASSANDRA-13703)
 * Add extra information to SASI timeout exception (CASSANDRA-13677)
 * Add incremental repair support for --hosts, --force, and subrange repair (CASSANDRA-13818)
 * Rework CompactionStrategyManager.getScanners synchronization (CASSANDRA-13786)
 * Add additional unit tests for batch behavior, TTLs, Timestamps (CASSANDRA-13846)
 * Add keyspace and table name in schema validation exception (CASSANDRA-13845)
 * Emit metrics whenever we hit tombstone failures and warn thresholds (CASSANDRA-13771)
 * Make netty EventLoopGroups daemon threads (CASSANDRA-13837)
 * Race condition when closing stream sessions (CASSANDRA-13852)
 * NettyFactoryTest is failing in trunk on macOS (CASSANDRA-13831)
 * Allow changing log levels via nodetool for related classes (CASSANDRA-12696)
 * Add stress profile yaml with LWT (CASSANDRA-7960)
 * Reduce memory copies and object creations when acting on ByteBufs (CASSANDRA-13789)
 * Simplify mx4j configuration (Cassandra-13578)
 * Fix trigger example on 4.0 (CASSANDRA-13796)
 * Force minumum timeout value (CASSANDRA-9375)
 * Use netty for streaming (CASSANDRA-12229)
 * Use netty for internode messaging (CASSANDRA-8457)
 * Add bytes repaired/unrepaired to nodetool tablestats (CASSANDRA-13774)
 * Don't delete incremental repair sessions if they still have sstables (CASSANDRA-13758)
 * Fix pending repair manager index out of bounds check (CASSANDRA-13769)
 * Don't use RangeFetchMapCalculator when RF=1 (CASSANDRA-13576)
 * Don't optimise trivial ranges in RangeFetchMapCalculator (CASSANDRA-13664)
 * Use an ExecutorService for repair commands instead of new Thread(..).start() (CASSANDRA-13594)
 * Fix race / ref leak in anticompaction (CASSANDRA-13688)
 * Expose tasks queue length via JMX (CASSANDRA-12758)
 * Fix race / ref leak in PendingRepairManager (CASSANDRA-13751)
 * Enable ppc64le runtime as unsupported architecture (CASSANDRA-13615)
 * Improve sstablemetadata output (CASSANDRA-11483)
 * Support for migrating legacy users to roles has been dropped (CASSANDRA-13371)
 * Introduce error metrics for repair (CASSANDRA-13387)
 * Refactoring to primitive functional interfaces in AuthCache (CASSANDRA-13732)
 * Update metrics to 3.1.5 (CASSANDRA-13648)
 * batch_size_warn_threshold_in_kb can now be set at runtime (CASSANDRA-13699)
 * Avoid always rebuilding secondary indexes at startup (CASSANDRA-13725)
 * Upgrade JMH from 1.13 to 1.19 (CASSANDRA-13727)
 * Upgrade SLF4J from 1.7.7 to 1.7.25 (CASSANDRA-12996)
 * Default for start_native_transport now true if not set in config (CASSANDRA-13656)
 * Don't add localhost to the graph when calculating where to stream from (CASSANDRA-13583)
 * Make CDC availability more deterministic via hard-linking (CASSANDRA-12148)
 * Allow skipping equality-restricted clustering columns in ORDER BY clause (CASSANDRA-10271)
 * Use common nowInSec for validation compactions (CASSANDRA-13671)
 * Improve handling of IR prepare failures (CASSANDRA-13672)
 * Send IR coordinator messages synchronously (CASSANDRA-13673)
 * Flush system.repair table before IR finalize promise (CASSANDRA-13660)
 * Fix column filter creation for wildcard queries (CASSANDRA-13650)
 * Add 'nodetool getbatchlogreplaythrottle' and 'nodetool setbatchlogreplaythrottle' (CASSANDRA-13614)
 * fix race condition in PendingRepairManager (CASSANDRA-13659)
 * Allow noop incremental repair state transitions (CASSANDRA-13658)
 * Run repair with down replicas (CASSANDRA-10446)
 * Added started & completed repair metrics (CASSANDRA-13598)
 * Added started & completed repair metrics (CASSANDRA-13598)
 * Improve secondary index (re)build failure and concurrency handling (CASSANDRA-10130)
 * Improve calculation of available disk space for compaction (CASSANDRA-13068)
 * Change the accessibility of RowCacheSerializer for third party row cache plugins (CASSANDRA-13579)
 * Allow sub-range repairs for a preview of repaired data (CASSANDRA-13570)
 * NPE in IR cleanup when columnfamily has no sstables (CASSANDRA-13585)
 * Fix Randomness of stress values (CASSANDRA-12744)
 * Allow selecting Map values and Set elements (CASSANDRA-7396)
 * Fast and garbage-free Streaming Histogram (CASSANDRA-13444)
 * Update repairTime for keyspaces on completion (CASSANDRA-13539)
 * Add configurable upper bound for validation executor threads (CASSANDRA-13521)
 * Bring back maxHintTTL propery (CASSANDRA-12982)
 * Add testing guidelines (CASSANDRA-13497)
 * Add more repair metrics (CASSANDRA-13531)
 * RangeStreamer should be smarter when picking endpoints for streaming (CASSANDRA-4650)
 * Avoid rewrapping an exception thrown for cache load functions (CASSANDRA-13367)
 * Log time elapsed for each incremental repair phase (CASSANDRA-13498)
 * Add multiple table operation support to cassandra-stress (CASSANDRA-8780)
 * Fix incorrect cqlsh results when selecting same columns multiple times (CASSANDRA-13262)
 * Fix WriteResponseHandlerTest is sensitive to test execution order (CASSANDRA-13421)
 * Improve incremental repair logging (CASSANDRA-13468)
 * Start compaction when incremental repair finishes (CASSANDRA-13454)
 * Add repair streaming preview (CASSANDRA-13257)
 * Cleanup isIncremental/repairedAt usage (CASSANDRA-13430)
 * Change protocol to allow sending key space independent of query string (CASSANDRA-10145)
 * Make gc_log and gc_warn settable at runtime (CASSANDRA-12661)
 * Take number of files in L0 in account when estimating remaining compaction tasks (CASSANDRA-13354)
 * Skip building views during base table streams on range movements (CASSANDRA-13065)
 * Improve error messages for +/- operations on maps and tuples (CASSANDRA-13197)
 * Remove deprecated repair JMX APIs (CASSANDRA-11530)
 * Fix version check to enable streaming keep-alive (CASSANDRA-12929)
 * Make it possible to monitor an ideal consistency level separate from actual consistency level (CASSANDRA-13289)
 * Outbound TCP connections ignore internode authenticator (CASSANDRA-13324)
 * Cleanup ParentRepairSession after repairs (CASSANDRA-13359)
 * Upgrade snappy-java to 1.1.2.6 (CASSANDRA-13336)
 * Incremental repair not streaming correct sstables (CASSANDRA-13328)
 * Upgrade the jna version to 4.3.0 (CASSANDRA-13300)
 * Add the currentTimestamp, currentDate, currentTime and currentTimeUUID functions (CASSANDRA-13132)
 * Remove config option index_interval (CASSANDRA-10671)
 * Reduce lock contention for collection types and serializers (CASSANDRA-13271)
 * Make it possible to override MessagingService.Verb ids (CASSANDRA-13283)
 * Avoid synchronized on prepareForRepair in ActiveRepairService (CASSANDRA-9292)
 * Adds the ability to use uncompressed chunks in compressed files (CASSANDRA-10520)
 * Don't flush sstables when streaming for incremental repair (CASSANDRA-13226)
 * Remove unused method (CASSANDRA-13227)
 * Fix minor bugs related to #9143 (CASSANDRA-13217)
 * Output warning if user increases RF (CASSANDRA-13079)
 * Remove pre-3.0 streaming compatibility code for 4.0 (CASSANDRA-13081)
 * Add support for + and - operations on dates (CASSANDRA-11936)
 * Fix consistency of incrementally repaired data (CASSANDRA-9143)
 * Increase commitlog version (CASSANDRA-13161)
 * Make TableMetadata immutable, optimize Schema (CASSANDRA-9425)
 * Refactor ColumnCondition (CASSANDRA-12981)
 * Parallelize streaming of different keyspaces (CASSANDRA-4663)
 * Improved compactions metrics (CASSANDRA-13015)
 * Speed-up start-up sequence by avoiding un-needed flushes (CASSANDRA-13031)
 * Use Caffeine (W-TinyLFU) for on-heap caches (CASSANDRA-10855)
 * Thrift removal (CASSANDRA-11115)
 * Remove pre-3.0 compatibility code for 4.0 (CASSANDRA-12716)
 * Add column definition kind to dropped columns in schema (CASSANDRA-12705)
 * Add (automate) Nodetool Documentation (CASSANDRA-12672)
 * Update bundled cqlsh python driver to 3.7.0 (CASSANDRA-12736)
 * Reject invalid replication settings when creating or altering a keyspace (CASSANDRA-12681)
 * Clean up the SSTableReader#getScanner API wrt removal of RateLimiter (CASSANDRA-12422)
 * Use new token allocation for non bootstrap case as well (CASSANDRA-13080)
 * Avoid byte-array copy when key cache is disabled (CASSANDRA-13084)
 * Require forceful decommission if number of nodes is less than replication factor (CASSANDRA-12510)
 * Allow IN restrictions on column families with collections (CASSANDRA-12654)
 * Log message size in trace message in OutboundTcpConnection (CASSANDRA-13028)
 * Add timeUnit Days for cassandra-stress (CASSANDRA-13029)
 * Add mutation size and batch metrics (CASSANDRA-12649)
 * Add method to get size of endpoints to TokenMetadata (CASSANDRA-12999)
 * Expose time spent waiting in thread pool queue (CASSANDRA-8398)
 * Conditionally update index built status to avoid unnecessary flushes (CASSANDRA-12969)
 * cqlsh auto completion: refactor definition of compaction strategy options (CASSANDRA-12946)
 * Add support for arithmetic operators (CASSANDRA-11935)
 * Add histogram for delay to deliver hints (CASSANDRA-13234)
 * Fix cqlsh automatic protocol downgrade regression (CASSANDRA-13307)
 * Changing `max_hint_window_in_ms` at runtime (CASSANDRA-11720)
 * Trivial format error in StorageProxy (CASSANDRA-13551)
 * Nodetool repair can hang forever if we lose the notification for the repair completing/failing (CASSANDRA-13480)
 * Anticompaction can cause noisy log messages (CASSANDRA-13684)
 * Switch to client init for sstabledump (CASSANDRA-13683)
 * CQLSH: Don't pause when capturing data (CASSANDRA-13743)
 * nodetool clearsnapshot requires --all to clear all snapshots (CASSANDRA-13391)
 * Correctly count range tombstones in traces and tombstone thresholds (CASSANDRA-8527)
 * cqlshrc.sample uses incorrect option for time formatting (CASSANDRA-14243)
 * Multi-version in-JVM dtests (CASSANDRA-14937)
 * Allow instance class loaders to be garbage collected for inJVM dtest (CASSANDRA-15170)


3.11.6
 * Fix bad UDT sstable metadata serialization headers written by C* 3.0 on upgrade and in sstablescrub (CASSANDRA-15035)
 * Fix nodetool compactionstats showing extra pending task for TWCS - patch implemented (CASSANDRA-15409)
 * Fix SELECT JSON formatting for the "duration" type (CASSANDRA-15075)
 * Fix LegacyLayout to have same behavior as 2.x when handling unknown column names (CASSANDRA-15081)
 * Update nodetool help stop output (CASSANDRA-15401)
Merged from 3.0:
 * Run in-jvm upgrade dtests in circleci (CASSANDRA-15506)
 * Include updates to static column in mutation size calculations (CASSANDRA-15293)
 * Fix point-in-time recoevery ignoring timestamp of updates to static columns (CASSANDRA-15292)
 * GC logs are also put under $CASSANDRA_LOG_DIR (CASSANDRA-14306)
 * Fix sstabledump's position key value when partitions have multiple rows (CASSANDRA-14721)
 * Avoid over-scanning data directories in LogFile.verify() (CASSANDRA-15364)
 * Bump generations and document changes to system_distributed and system_traces in 3.0, 3.11
   (CASSANDRA-15441)
 * Fix system_traces creation timestamp; optimise system keyspace upgrades (CASSANDRA-15398)
 * Fix various data directory prefix matching issues (CASSANDRA-13974)
 * Minimize clustering values in metadata collector (CASSANDRA-15400)
 * Avoid over-trimming of results in mixed mode clusters (CASSANDRA-15405)
 * validate value sizes in LegacyLayout (CASSANDRA-15373)
 * Ensure that tracing doesn't break connections in 3.x/4.0 mixed mode by default (CASSANDRA-15385)
 * Make sure index summary redistribution does not start when compactions are paused (CASSANDRA-15265)
 * Ensure legacy rows have primary key livenessinfo when they contain illegal cells (CASSANDRA-15365)
 * Fix race condition when setting bootstrap flags (CASSANDRA-14878)
Merged from 2.2:
 * Fix SELECT JSON output for empty blobs (CASSANDRA-15435)
 * In-JVM DTest: Set correct internode message version for upgrade test (CASSANDRA-15371)
 * In-JVM DTest: Support NodeTool in dtest (CASSANDRA-15429)
 * Fix NativeLibrary.tryOpenDirectory callers for Windows (CASSANDRA-15426)


3.11.5
 * Fix cassandra-env.sh to use $CASSANDRA_CONF to find cassandra-jaas.config (CASSANDRA-14305)
 * Fixed nodetool cfstats printing index name twice (CASSANDRA-14903)
 * Add flag to disable SASI indexes, and warnings on creation (CASSANDRA-14866)
Merged from 3.0:
 * Fix LegacyLayout RangeTombstoneList IndexOutOfBoundsException when upgrading and RangeTombstone bounds are asymmetric (CASSANDRA-15172)
 * Fix NPE when using allocate_tokens_for_keyspace on new DC/rack (CASSANDRA-14952)
 * Filter sstables earlier when running cleanup (CASSANDRA-15100)
 * Use mean row count instead of mean column count for index selectivity calculation (CASSANDRA-15259)
 * Avoid updating unchanged gossip states (CASSANDRA-15097)
 * Prevent recreation of previously dropped columns with a different kind (CASSANDRA-14948)
 * Prevent client requests from blocking on executor task queue (CASSANDRA-15013)
 * Toughen up column drop/recreate type validations (CASSANDRA-15204)
 * LegacyLayout should handle paging states that cross a collection column (CASSANDRA-15201)
 * Prevent RuntimeException when username or password is empty/null (CASSANDRA-15198)
 * Multiget thrift query returns null records after digest mismatch (CASSANDRA-14812)
 * Handle paging states serialized with a different version than the session's (CASSANDRA-15176)
 * Throw IOE instead of asserting on unsupporter peer versions (CASSANDRA-15066)
 * Update token metadata when handling MOVING/REMOVING_TOKEN events (CASSANDRA-15120)
 * Add ability to customize cassandra log directory using $CASSANDRA_LOG_DIR (CASSANDRA-15090)
 * Fix assorted gossip races and add related runtime checks (CASSANDRA-15059)
 * cassandra-stress works with frozen collections: list and set (CASSANDRA-14907)
 * Fix handling FS errors on writing and reading flat files - LogTransaction and hints (CASSANDRA-15053)
 * Avoid double closing the iterator to avoid overcounting the number of requests (CASSANDRA-15058)
 * Improve `nodetool status -r` speed (CASSANDRA-14847)
 * Improve merkle tree size and time on heap (CASSANDRA-14096)
 * Add missing commands to nodetool_completion (CASSANDRA-14916)
 * Anti-compaction temporarily corrupts sstable state for readers (CASSANDRA-15004)
Merged from 2.2:
 * Handle exceptions during authentication/authorization (CASSANDRA-15041)
 * Support cross version messaging in in-jvm upgrade dtests (CASSANDRA-15078)
 * Fix index summary redistribution cancellation (CASSANDRA-15045)
 * Refactor Circle CI configuration (CASSANDRA-14806)
 * Fixing invalid CQL in security documentation (CASSANDRA-15020)


3.11.4
 * Make stop-server.bat wait for Cassandra to terminate (CASSANDRA-14829)
 * Correct sstable sorting for garbagecollect and levelled compaction (CASSANDRA-14870)
Merged from 3.0:
 * Improve merkle tree size and time on heap (CASSANDRA-14096)
 * Severe concurrency issues in STCS,DTCS,TWCS,TMD.Topology,TypeParser
 * Add a script to make running the cqlsh tests in cassandra repo easier (CASSANDRA-14951)
 * If SizeEstimatesRecorder misses a 'onDropTable' notification, the size_estimates table will never be cleared for that table. (CASSANDRA-14905)
 * Streaming needs to synchronise access to LifecycleTransaction (CASSANDRA-14554)
 * Fix cassandra-stress write hang with default options (CASSANDRA-14616)
 * Netty epoll IOExceptions caused by unclean client disconnects being logged at INFO (CASSANDRA-14909)
 * Unfiltered.isEmpty conflicts with Row extends AbstractCollection.isEmpty (CASSANDRA-14588)
 * RangeTombstoneList doesn't properly clean up mergeable or superseded rts in some cases (CASSANDRA-14894)
 * Fix handling of collection tombstones for dropped columns from legacy sstables (CASSANDRA-14912)
 * Throw exception if Columns serialized subset encode more columns than possible (CASSANDRA-14591)
 * Drop/add column name with different Kind can result in corruption (CASSANDRA-14843)
 * Fix missing rows when reading 2.1 SSTables with static columns in 3.0 (CASSANDRA-14873)
 * Move TWCS message 'No compaction necessary for bucket size' to Trace level (CASSANDRA-14884)
 * Sstable min/max metadata can cause data loss (CASSANDRA-14861)
 * Dropped columns can cause reverse sstable iteration to return prematurely (CASSANDRA-14838)
 * Legacy sstables with  multi block range tombstones create invalid bound sequences (CASSANDRA-14823)
 * Expand range tombstone validation checks to multiple interim request stages (CASSANDRA-14824)
 * Reverse order reads can return incomplete results (CASSANDRA-14803)
 * Avoid calling iter.next() in a loop when notifying indexers about range tombstones (CASSANDRA-14794)
 * Fix purging semi-expired RT boundaries in reversed iterators (CASSANDRA-14672)
 * DESC order reads can fail to return the last Unfiltered in the partition (CASSANDRA-14766)
 * Fix corrupted collection deletions for dropped columns in 3.0 <-> 2.{1,2} messages (CASSANDRA-14568)
 * Fix corrupted static collection deletions in 3.0 <-> 2.{1,2} messages (CASSANDRA-14568)
 * Handle failures in parallelAllSSTableOperation (cleanup/upgradesstables/etc) (CASSANDRA-14657)
 * Improve TokenMetaData cache populating performance avoid long locking (CASSANDRA-14660)
 * Backport: Flush netty client messages immediately (not by default) (CASSANDRA-13651)
 * Fix static column order for SELECT * wildcard queries (CASSANDRA-14638)
 * sstableloader should use discovered broadcast address to connect intra-cluster (CASSANDRA-14522)
 * Fix reading columns with non-UTF names from schema (CASSANDRA-14468)
Merged from 2.2:
 * CircleCI docker image should bake in more dependencies (CASSANDRA-14985)
 * MigrationManager attempts to pull schema from different major version nodes (CASSANDRA-14928)
 * Returns null instead of NaN or Infinity in JSON strings (CASSANDRA-14377)
Merged from 2.1:
 * Paged Range Slice queries with DISTINCT can drop rows from results (CASSANDRA-14956)
 * Update release checksum algorithms to SHA-256, SHA-512 (CASSANDRA-14970)


3.11.3
 * Validate supported column type with SASI analyzer (CASSANDRA-13669)
 * Remove BTree.Builder Recycler to reduce memory usage (CASSANDRA-13929)
 * Reduce nodetool GC thread count (CASSANDRA-14475)
 * Fix New SASI view creation during Index Redistribution (CASSANDRA-14055)
 * Remove string formatting lines from BufferPool hot path (CASSANDRA-14416)
 * Detect OpenJDK jvm type and architecture (CASSANDRA-12793)
 * Don't use guava collections in the non-system keyspace jmx attributes (CASSANDRA-12271)
 * Allow existing nodes to use all peers in shadow round (CASSANDRA-13851)
 * Fix cqlsh to read connection.ssl cqlshrc option again (CASSANDRA-14299)
 * Downgrade log level to trace for CommitLogSegmentManager (CASSANDRA-14370)
 * CQL fromJson(null) throws NullPointerException (CASSANDRA-13891)
 * Serialize empty buffer as empty string for json output format (CASSANDRA-14245)
 * Allow logging implementation to be interchanged for embedded testing (CASSANDRA-13396)
 * SASI tokenizer for simple delimiter based entries (CASSANDRA-14247)
 * Fix Loss of digits when doing CAST from varint/bigint to decimal (CASSANDRA-14170)
 * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163)
 * Fix wildcard GROUP BY queries (CASSANDRA-14209)
Merged from 3.0:
 * Fix corrupted static collection deletions in 3.0 -> 2.{1,2} messages (CASSANDRA-14568)
 * Fix potential IndexOutOfBoundsException with counters (CASSANDRA-14167)
 * Always close RT markers returned by ReadCommand#executeLocally() (CASSANDRA-14515)
 * Reverse order queries with range tombstones can cause data loss (CASSANDRA-14513)
 * Fix regression of lagging commitlog flush log message (CASSANDRA-14451)
 * Add Missing dependencies in pom-all (CASSANDRA-14422)
 * Cleanup StartupClusterConnectivityChecker and PING Verb (CASSANDRA-14447)
 * Cassandra not starting when using enhanced startup scripts in windows (CASSANDRA-14418)
 * Fix progress stats and units in compactionstats (CASSANDRA-12244)
 * Better handle missing partition columns in system_schema.columns (CASSANDRA-14379)
 * Delay hints store excise by write timeout to avoid race with decommission (CASSANDRA-13740)
 * Add missed CQL keywords to documentation (CASSANDRA-14359)
 * Fix unbounded validation compactions on repair / revert CASSANDRA-13797 (CASSANDRA-14332)
 * Avoid deadlock when running nodetool refresh before node is fully up (CASSANDRA-14310)
 * Handle all exceptions when opening sstables (CASSANDRA-14202)
 * Handle incompletely written hint descriptors during startup (CASSANDRA-14080)
 * Handle repeat open bound from SRP in read repair (CASSANDRA-14330)
 * Use zero as default score in DynamicEndpointSnitch (CASSANDRA-14252)
 * Respect max hint window when hinting for LWT (CASSANDRA-14215)
 * Adding missing WriteType enum values to v3, v4, and v5 spec (CASSANDRA-13697)
 * Don't regenerate bloomfilter and summaries on startup (CASSANDRA-11163)
 * Fix NPE when performing comparison against a null frozen in LWT (CASSANDRA-14087)
 * Log when SSTables are deleted (CASSANDRA-14302)
 * Fix batch commitlog sync regression (CASSANDRA-14292)
 * Write to pending endpoint when view replica is also base replica (CASSANDRA-14251)
 * Chain commit log marker potential performance regression in batch commit mode (CASSANDRA-14194)
 * Fully utilise specified compaction threads (CASSANDRA-14210)
 * Pre-create deletion log records to finish compactions quicker (CASSANDRA-12763)
Merged from 2.2:
 * Fix compaction failure caused by reading un-flushed data (CASSANDRA-12743)
 * Use Bounds instead of Range for sstables in anticompaction (CASSANDRA-14411)
 * Fix JSON queries with IN restrictions and ORDER BY clause (CASSANDRA-14286)
 * CQL fromJson(null) throws NullPointerException (CASSANDRA-13891)
Merged from 2.1:
 * Check checksum before decompressing data (CASSANDRA-14284)


3.11.2
 * Fix ReadCommandTest (CASSANDRA-14234)
 * Remove trailing period from latency reports at keyspace level (CASSANDRA-14233)
 * Backport CASSANDRA-13080: Use new token allocation for non bootstrap case as well (CASSANDRA-14212)
 * Remove dependencies on JVM internal classes from JMXServerUtils (CASSANDRA-14173)
 * Add DEFAULT, UNSET, MBEAN and MBEANS to `ReservedKeywords` (CASSANDRA-14205)
 * Print correct snitch info from nodetool describecluster (CASSANDRA-13528)
 * Enable CDC unittest (CASSANDRA-14141)
 * Acquire read lock before accessing CompactionStrategyManager fields (CASSANDRA-14139)
 * Avoid invalidating disk boundaries unnecessarily (CASSANDRA-14083)
 * Avoid exposing compaction strategy index externally (CASSANDRA-14082)
 * Fix imbalanced disks when replacing node with same address with JBOD (CASSANDRA-14084)
 * Reload compaction strategies when disk boundaries are invalidated (CASSANDRA-13948)
 * Remove OpenJDK log warning (CASSANDRA-13916)
 * Prevent compaction strategies from looping indefinitely (CASSANDRA-14079)
 * Cache disk boundaries (CASSANDRA-13215)
 * Add asm jar to build.xml for maven builds (CASSANDRA-11193)
 * Round buffer size to powers of 2 for the chunk cache (CASSANDRA-13897)
 * Update jackson JSON jars (CASSANDRA-13949)
 * Avoid locks when checking LCS fanout and if we should defrag (CASSANDRA-13930)
Merged from 3.0:
 * Fix unit test failures in ViewComplexTest (CASSANDRA-14219)
 * Add MinGW uname check to start scripts (CASSANDRA-12840)
 * Use the correct digest file and reload sstable metadata in nodetool verify (CASSANDRA-14217)
 * Handle failure when mutating repaired status in Verifier (CASSANDRA-13933)
 * Set encoding for javadoc generation (CASSANDRA-14154)
 * Fix index target computation for dense composite tables with dropped compact storage (CASSANDRA-14104)
 * Improve commit log chain marker updating (CASSANDRA-14108)
 * Extra range tombstone bound creates double rows (CASSANDRA-14008)
 * Fix SStable ordering by max timestamp in SinglePartitionReadCommand (CASSANDRA-14010)
 * Accept role names containing forward-slash (CASSANDRA-14088)
 * Optimize CRC check chance probability calculations (CASSANDRA-14094)
 * Fix cleanup on keyspace with no replicas (CASSANDRA-13526)
 * Fix updating base table rows with TTL not removing materialized view entries (CASSANDRA-14071)
 * Reduce garbage created by DynamicSnitch (CASSANDRA-14091)
 * More frequent commitlog chained markers (CASSANDRA-13987)
 * Fix serialized size of DataLimits (CASSANDRA-14057)
 * Add flag to allow dropping oversized read repair mutations (CASSANDRA-13975)
 * Fix SSTableLoader logger message (CASSANDRA-14003)
 * Fix repair race that caused gossip to block (CASSANDRA-13849)
 * Tracing interferes with digest requests when using RandomPartitioner (CASSANDRA-13964)
 * Add flag to disable materialized views, and warnings on creation (CASSANDRA-13959)
 * Don't let user drop or generally break tables in system_distributed (CASSANDRA-13813)
 * Provide a JMX call to sync schema with local storage (CASSANDRA-13954)
 * Mishandling of cells for removed/dropped columns when reading legacy files (CASSANDRA-13939)
 * Deserialise sstable metadata in nodetool verify (CASSANDRA-13922)
Merged from 2.2:
 * Fix the inspectJvmOptions startup check (CASSANDRA-14112)
 * Fix race that prevents submitting compaction for a table when executor is full (CASSANDRA-13801)
 * Rely on the JVM to handle OutOfMemoryErrors (CASSANDRA-13006)
 * Grab refs during scrub/index redistribution/cleanup (CASSANDRA-13873)
Merged from 2.1:
 * Protect against overflow of local expiration time (CASSANDRA-14092)
 * RPM package spec: fix permissions for installed jars and config files (CASSANDRA-14181)
 * More PEP8 compliance for cqlsh


3.11.1
 * Fix the computation of cdc_total_space_in_mb for exabyte filesystems (CASSANDRA-13808)
 * AbstractTokenTreeBuilder#serializedSize returns wrong value when there is a single leaf and overflow collisions (CASSANDRA-13869)
 * Add a compaction option to TWCS to ignore sstables overlapping checks (CASSANDRA-13418)
 * BTree.Builder memory leak (CASSANDRA-13754)
 * Revert CASSANDRA-10368 of supporting non-pk column filtering due to correctness (CASSANDRA-13798)
 * Add a skip read validation flag to cassandra-stress (CASSANDRA-13772)
 * Fix cassandra-stress hang issues when an error during cluster connection happens (CASSANDRA-12938)
 * Better bootstrap failure message when blocked by (potential) range movement (CASSANDRA-13744)
 * "ignore" option is ignored in sstableloader (CASSANDRA-13721)
 * Deadlock in AbstractCommitLogSegmentManager (CASSANDRA-13652)
 * Duplicate the buffer before passing it to analyser in SASI operation (CASSANDRA-13512)
 * Properly evict pstmts from prepared statements cache (CASSANDRA-13641)
Merged from 3.0:
 * Improve TRUNCATE performance (CASSANDRA-13909)
 * Implement short read protection on partition boundaries (CASSANDRA-13595)
 * Fix ISE thrown by UPI.Serializer.hasNext() for some SELECT queries (CASSANDRA-13911)
 * Filter header only commit logs before recovery (CASSANDRA-13918)
 * AssertionError prepending to a list (CASSANDRA-13149)
 * Fix support for SuperColumn tables (CASSANDRA-12373)
 * Handle limit correctly on tables with strict liveness (CASSANDRA-13883)
 * Fix missing original update in TriggerExecutor (CASSANDRA-13894)
 * Remove non-rpc-ready nodes from counter leader candidates (CASSANDRA-13043)
 * Improve short read protection performance (CASSANDRA-13794)
 * Fix sstable reader to support range-tombstone-marker for multi-slices (CASSANDRA-13787)
 * Fix short read protection for tables with no clustering columns (CASSANDRA-13880)
 * Make isBuilt volatile in PartitionUpdate (CASSANDRA-13619)
 * Prevent integer overflow of timestamps in CellTest and RowsTest (CASSANDRA-13866)
 * Fix counter application order in short read protection (CASSANDRA-12872)
 * Don't block RepairJob execution on validation futures (CASSANDRA-13797)
 * Wait for all management tasks to complete before shutting down CLSM (CASSANDRA-13123)
 * INSERT statement fails when Tuple type is used as clustering column with default DESC order (CASSANDRA-13717)
 * Fix pending view mutations handling and cleanup batchlog when there are local and remote paired mutations (CASSANDRA-13069)
 * Improve config validation and documentation on overflow and NPE (CASSANDRA-13622)
 * Range deletes in a CAS batch are ignored (CASSANDRA-13655)
 * Avoid assertion error when IndexSummary > 2G (CASSANDRA-12014)
 * Change repair midpoint logging for tiny ranges (CASSANDRA-13603)
 * Better handle corrupt final commitlog segment (CASSANDRA-11995)
 * StreamingHistogram is not thread safe (CASSANDRA-13756)
 * Fix MV timestamp issues (CASSANDRA-11500)
 * Better tolerate improperly formatted bcrypt hashes (CASSANDRA-13626)
 * Fix race condition in read command serialization (CASSANDRA-13363)
 * Fix AssertionError in short read protection (CASSANDRA-13747)
 * Don't skip corrupted sstables on startup (CASSANDRA-13620)
 * Fix the merging of cells with different user type versions (CASSANDRA-13776)
 * Copy session properties on cqlsh.py do_login (CASSANDRA-13640)
 * Potential AssertionError during ReadRepair of range tombstone and partition deletions (CASSANDRA-13719)
 * Don't let stress write warmup data if n=0 (CASSANDRA-13773)
 * Gossip thread slows down when using batch commit log (CASSANDRA-12966)
 * Randomize batchlog endpoint selection with only 1 or 2 racks (CASSANDRA-12884)
 * Fix digest calculation for counter cells (CASSANDRA-13750)
 * Fix ColumnDefinition.cellValueType() for non-frozen collection and change SSTabledump to use type.toJSONString() (CASSANDRA-13573)
 * Skip materialized view addition if the base table doesn't exist (CASSANDRA-13737)
 * Drop table should remove corresponding entries in dropped_columns table (CASSANDRA-13730)
 * Log warn message until legacy auth tables have been migrated (CASSANDRA-13371)
 * Fix incorrect [2.1 <- 3.0] serialization of counter cells created in 2.0 (CASSANDRA-13691)
 * Fix invalid writetime for null cells (CASSANDRA-13711)
 * Fix ALTER TABLE statement to atomically propagate changes to the table and its MVs (CASSANDRA-12952)
 * Fixed ambiguous output of nodetool tablestats command (CASSANDRA-13722)
 * Fix Digest mismatch Exception if hints file has UnknownColumnFamily (CASSANDRA-13696)
 * Purge tombstones created by expired cells (CASSANDRA-13643)
 * Make concat work with iterators that have different subsets of columns (CASSANDRA-13482)
 * Set test.runners based on cores and memory size (CASSANDRA-13078)
 * Allow different NUMACTL_ARGS to be passed in (CASSANDRA-13557)
 * Allow native function calls in CQLSSTableWriter (CASSANDRA-12606)
 * Fix secondary index queries on COMPACT tables (CASSANDRA-13627)
 * Nodetool listsnapshots output is missing a newline, if there are no snapshots (CASSANDRA-13568)
 * sstabledump reports incorrect usage for argument order (CASSANDRA-13532)
Merged from 2.2:
 * Safely handle empty buffers when outputting to JSON (CASSANDRA-13868)
 * Copy session properties on cqlsh.py do_login (CASSANDRA-13847)
 * Fix load over calculated issue in IndexSummaryRedistribution (CASSANDRA-13738)
 * Fix compaction and flush exception not captured (CASSANDRA-13833)
 * Uncaught exceptions in Netty pipeline (CASSANDRA-13649)
 * Prevent integer overflow on exabyte filesystems (CASSANDRA-13067)
 * Fix queries with LIMIT and filtering on clustering columns (CASSANDRA-11223)
 * Fix potential NPE when resume bootstrap fails (CASSANDRA-13272)
 * Fix toJSONString for the UDT, tuple and collection types (CASSANDRA-13592)
 * Fix nested Tuples/UDTs validation (CASSANDRA-13646)
Merged from 2.1:
 * Clone HeartBeatState when building gossip messages. Make its generation/version volatile (CASSANDRA-13700)


3.11.0
 * Allow native function calls in CQLSSTableWriter (CASSANDRA-12606)
 * Replace string comparison with regex/number checks in MessagingService test (CASSANDRA-13216)
 * Fix formatting of duration columns in CQLSH (CASSANDRA-13549)
 * Fix the problem with duplicated rows when using paging with SASI (CASSANDRA-13302)
 * Allow CONTAINS statements filtering on the partition key and it’s parts (CASSANDRA-13275)
 * Fall back to even ranges calculation in clusters with vnodes when tokens are distributed unevenly (CASSANDRA-13229)
 * Fix duration type validation to prevent overflow (CASSANDRA-13218)
 * Forbid unsupported creation of SASI indexes over partition key columns (CASSANDRA-13228)
 * Reject multiple values for a key in CQL grammar. (CASSANDRA-13369)
 * UDA fails without input rows (CASSANDRA-13399)
 * Fix compaction-stress by using daemonInitialization (CASSANDRA-13188)
 * V5 protocol flags decoding broken (CASSANDRA-13443)
 * Use write lock not read lock for removing sstables from compaction strategies. (CASSANDRA-13422)
 * Use corePoolSize equal to maxPoolSize in JMXEnabledThreadPoolExecutors (CASSANDRA-13329)
 * Avoid rebuilding SASI indexes containing no values (CASSANDRA-12962)
 * Add charset to Analyser input stream (CASSANDRA-13151)
 * Fix testLimitSSTables flake caused by concurrent flush (CASSANDRA-12820)
 * cdc column addition strikes again (CASSANDRA-13382)
 * Fix static column indexes (CASSANDRA-13277)
 * DataOutputBuffer.asNewBuffer broken (CASSANDRA-13298)
 * unittest CipherFactoryTest failed on MacOS (CASSANDRA-13370)
 * Forbid SELECT restrictions and CREATE INDEX over non-frozen UDT columns (CASSANDRA-13247)
 * Default logging we ship will incorrectly print "?:?" for "%F:%L" pattern (CASSANDRA-13317)
 * Possible AssertionError in UnfilteredRowIteratorWithLowerBound (CASSANDRA-13366)
 * Support unaligned memory access for AArch64 (CASSANDRA-13326)
 * Improve SASI range iterator efficiency on intersection with an empty range (CASSANDRA-12915).
 * Fix equality comparisons of columns using the duration type (CASSANDRA-13174)
 * Move to FastThreadLocalThread and FastThreadLocal (CASSANDRA-13034)
 * nodetool stopdaemon errors out (CASSANDRA-13030)
 * Tables in system_distributed should not use gcgs of 0 (CASSANDRA-12954)
 * Fix primary index calculation for SASI (CASSANDRA-12910)
 * More fixes to the TokenAllocator (CASSANDRA-12990)
 * NoReplicationTokenAllocator should work with zero replication factor (CASSANDRA-12983)
 * Address message coalescing regression (CASSANDRA-12676)
 * Delete illegal character from StandardTokenizerImpl.jflex (CASSANDRA-13417)
 * Fix cqlsh automatic protocol downgrade regression (CASSANDRA-13307)
 * Tracing payload not passed from QueryMessage to tracing session (CASSANDRA-12835)
Merged from 3.0:
 * Filter header only commit logs before recovery (CASSANDRA-13918)
 * Ensure int overflow doesn't occur when calculating large partition warning size (CASSANDRA-13172)
 * Ensure consistent view of partition columns between coordinator and replica in ColumnFilter (CASSANDRA-13004)
 * Failed unregistering mbean during drop keyspace (CASSANDRA-13346)
 * nodetool scrub/cleanup/upgradesstables exit code is wrong (CASSANDRA-13542)
 * Fix the reported number of sstable data files accessed per read (CASSANDRA-13120)
 * Fix schema digest mismatch during rolling upgrades from versions before 3.0.12 (CASSANDRA-13559)
 * Upgrade JNA version to 4.4.0 (CASSANDRA-13072)
 * Interned ColumnIdentifiers should use minimal ByteBuffers (CASSANDRA-13533)
 * Fix repair process violating start/end token limits for small ranges (CASSANDRA-13052)
 * Add storage port options to sstableloader (CASSANDRA-13518)
 * Properly handle quoted index names in cqlsh DESCRIBE output (CASSANDRA-12847)
 * Fix NPE in StorageService.excise() (CASSANDRA-13163)
 * Expire OutboundTcpConnection messages by a single Thread (CASSANDRA-13265)
 * Fail repair if insufficient responses received (CASSANDRA-13397)
 * Fix SSTableLoader fail when the loaded table contains dropped columns (CASSANDRA-13276)
 * Avoid name clashes in CassandraIndexTest (CASSANDRA-13427)
 * Handling partially written hint files (CASSANDRA-12728)
 * Interrupt replaying hints on decommission (CASSANDRA-13308)
 * Handling partially written hint files (CASSANDRA-12728)
 * Fix NPE issue in StorageService (CASSANDRA-13060)
 * Make reading of range tombstones more reliable (CASSANDRA-12811)
 * Fix startup problems due to schema tables not completely flushed (CASSANDRA-12213)
 * Fix view builder bug that can filter out data on restart (CASSANDRA-13405)
 * Fix 2i page size calculation when there are no regular columns (CASSANDRA-13400)
 * Fix the conversion of 2.X expired rows without regular column data (CASSANDRA-13395)
 * Fix hint delivery when using ext+internal IPs with prefer_local enabled (CASSANDRA-13020)
 * Legacy deserializer can create empty range tombstones (CASSANDRA-13341)
 * Legacy caching options can prevent 3.0 upgrade (CASSANDRA-13384)
 * Use the Kernel32 library to retrieve the PID on Windows and fix startup checks (CASSANDRA-13333)
 * Fix code to not exchange schema across major versions (CASSANDRA-13274)
 * Dropping column results in "corrupt" SSTable (CASSANDRA-13337)
 * Bugs handling range tombstones in the sstable iterators (CASSANDRA-13340)
 * Fix CONTAINS filtering for null collections (CASSANDRA-13246)
 * Applying: Use a unique metric reservoir per test run when using Cassandra-wide metrics residing in MBeans (CASSANDRA-13216)
 * Propagate row deletions in 2i tables on upgrade (CASSANDRA-13320)
 * Slice.isEmpty() returns false for some empty slices (CASSANDRA-13305)
 * Add formatted row output to assertEmpty in CQL Tester (CASSANDRA-13238)
 * Prevent data loss on upgrade 2.1 - 3.0 by adding component separator to LogRecord absolute path (CASSANDRA-13294)
 * Improve testing on macOS by eliminating sigar logging (CASSANDRA-13233)
 * Cqlsh copy-from should error out when csv contains invalid data for collections (CASSANDRA-13071)
 * Fix "multiple versions of ant detected..." when running ant test (CASSANDRA-13232)
 * Coalescing strategy sleeps too much (CASSANDRA-13090)
 * Faster StreamingHistogram (CASSANDRA-13038)
 * Legacy deserializer can create unexpected boundary range tombstones (CASSANDRA-13237)
 * Remove unnecessary assertion from AntiCompactionTest (CASSANDRA-13070)
 * Fix cqlsh COPY for dates before 1900 (CASSANDRA-13185)
 * Use keyspace replication settings on system.size_estimates table (CASSANDRA-9639)
 * Add vm.max_map_count StartupCheck (CASSANDRA-13008)
 * Obfuscate password in stress-graphs (CASSANDRA-12233)
 * Hint related logging should include the IP address of the destination in addition to
   host ID (CASSANDRA-13205)
 * Reloading logback.xml does not work (CASSANDRA-13173)
 * Lightweight transactions temporarily fail after upgrade from 2.1 to 3.0 (CASSANDRA-13109)
 * Duplicate rows after upgrading from 2.1.16 to 3.0.10/3.9 (CASSANDRA-13125)
 * Fix UPDATE queries with empty IN restrictions (CASSANDRA-13152)
 * Fix handling of partition with partition-level deletion plus
   live rows in sstabledump (CASSANDRA-13177)
 * Provide user workaround when system_schema.columns does not contain entries
   for a table that's in system_schema.tables (CASSANDRA-13180)
 * Nodetool upgradesstables/scrub/compact ignores system tables (CASSANDRA-13410)
 * Fix schema version calculation for rolling upgrades (CASSANDRA-13441)
Merged from 2.2:
 * Nodes started with join_ring=False should be able to serve requests when authentication is enabled (CASSANDRA-11381)
 * cqlsh COPY FROM: increment error count only for failures, not for attempts (CASSANDRA-13209)
 * Avoid starting gossiper in RemoveTest (CASSANDRA-13407)
 * Fix weightedSize() for row-cache reported by JMX and NodeTool (CASSANDRA-13393)
 * Fix JVM metric names (CASSANDRA-13103)
 * Honor truststore-password parameter in cassandra-stress (CASSANDRA-12773)
 * Discard in-flight shadow round responses (CASSANDRA-12653)
 * Don't anti-compact repaired data to avoid inconsistencies (CASSANDRA-13153)
 * Wrong logger name in AnticompactionTask (CASSANDRA-13343)
 * Commitlog replay may fail if last mutation is within 4 bytes of end of segment (CASSANDRA-13282)
 * Fix queries updating multiple time the same list (CASSANDRA-13130)
 * Fix GRANT/REVOKE when keyspace isn't specified (CASSANDRA-13053)
 * Fix flaky LongLeveledCompactionStrategyTest (CASSANDRA-12202)
 * Fix failing COPY TO STDOUT (CASSANDRA-12497)
 * Fix ColumnCounter::countAll behaviour for reverse queries (CASSANDRA-13222)
 * Exceptions encountered calling getSeeds() breaks OTC thread (CASSANDRA-13018)
 * Fix negative mean latency metric (CASSANDRA-12876)
 * Use only one file pointer when creating commitlog segments (CASSANDRA-12539)
Merged from 2.1:
 * Fix 2ndary index queries on partition keys for tables with static columns (CASSANDRA-13147)
 * Fix ParseError unhashable type list in cqlsh copy from (CASSANDRA-13364)
 * Remove unused repositories (CASSANDRA-13278)
 * Log stacktrace of uncaught exceptions (CASSANDRA-13108)
 * Use portable stderr for java error in startup (CASSANDRA-13211)
 * Fix Thread Leak in OutboundTcpConnection (CASSANDRA-13204)
 * Upgrade netty version to fix memory leak with client encryption (CASSANDRA-13114)
 * Coalescing strategy can enter infinite loop (CASSANDRA-13159)


3.10
 * Fix secondary index queries regression (CASSANDRA-13013)
 * Add duration type to the protocol V5 (CASSANDRA-12850)
 * Fix duration type validation (CASSANDRA-13143)
 * Fix flaky GcCompactionTest (CASSANDRA-12664)
 * Fix TestHintedHandoff.hintedhandoff_decom_test (CASSANDRA-13058)
 * Fixed query monitoring for range queries (CASSANDRA-13050)
 * Remove outboundBindAny configuration property (CASSANDRA-12673)
 * Use correct bounds for all-data range when filtering (CASSANDRA-12666)
 * Remove timing window in test case (CASSANDRA-12875)
 * Resolve unit testing without JCE security libraries installed (CASSANDRA-12945)
 * Fix inconsistencies in cassandra-stress load balancing policy (CASSANDRA-12919)
 * Fix validation of non-frozen UDT cells (CASSANDRA-12916)
 * Don't shut down socket input/output on StreamSession (CASSANDRA-12903)
 * Fix Murmur3PartitionerTest (CASSANDRA-12858)
 * Move cqlsh syntax rules into separate module and allow easier customization (CASSANDRA-12897)
 * Fix CommitLogSegmentManagerTest (CASSANDRA-12283)
 * Fix cassandra-stress truncate option (CASSANDRA-12695)
 * Fix crossNode value when receiving messages (CASSANDRA-12791)
 * Don't load MX4J beans twice (CASSANDRA-12869)
 * Extend native protocol request flags, add versions to SUPPORTED, and introduce ProtocolVersion enum (CASSANDRA-12838)
 * Set JOINING mode when running pre-join tasks (CASSANDRA-12836)
 * remove net.mintern.primitive library due to license issue (CASSANDRA-12845)
 * Properly format IPv6 addresses when logging JMX service URL (CASSANDRA-12454)
 * Optimize the vnode allocation for single replica per DC (CASSANDRA-12777)
 * Use non-token restrictions for bounds when token restrictions are overridden (CASSANDRA-12419)
 * Fix CQLSH auto completion for PER PARTITION LIMIT (CASSANDRA-12803)
 * Use different build directories for Eclipse and Ant (CASSANDRA-12466)
 * Avoid potential AttributeError in cqlsh due to no table metadata (CASSANDRA-12815)
 * Fix RandomReplicationAwareTokenAllocatorTest.testExistingCluster (CASSANDRA-12812)
 * Upgrade commons-codec to 1.9 (CASSANDRA-12790)
 * Add duration data type (CASSANDRA-11873)
 * Make the fanout size for LeveledCompactionStrategy to be configurable (CASSANDRA-11550)
 * Fix timeout in ReplicationAwareTokenAllocatorTest (CASSANDRA-12784)
 * Improve sum aggregate functions (CASSANDRA-12417)
 * Make cassandra.yaml docs for batch_size_*_threshold_in_kb reflect changes in CASSANDRA-10876 (CASSANDRA-12761)
 * cqlsh fails to format collections when using aliases (CASSANDRA-11534)
 * Check for hash conflicts in prepared statements (CASSANDRA-12733)
 * Exit query parsing upon first error (CASSANDRA-12598)
 * Fix cassandra-stress to use single seed in UUID generation (CASSANDRA-12729)
 * CQLSSTableWriter does not allow Update statement (CASSANDRA-12450)
 * Config class uses boxed types but DD exposes primitive types (CASSANDRA-12199)
 * Add pre- and post-shutdown hooks to Storage Service (CASSANDRA-12461)
 * Add hint delivery metrics (CASSANDRA-12693)
 * Remove IndexInfo cache from FileIndexInfoRetriever (CASSANDRA-12731)
 * ColumnIndex does not reuse buffer (CASSANDRA-12502)
 * cdc column addition still breaks schema migration tasks (CASSANDRA-12697)
 * Upgrade metrics-reporter dependencies (CASSANDRA-12089)
 * Tune compaction thread count via nodetool (CASSANDRA-12248)
 * Add +=/-= shortcut syntax for update queries (CASSANDRA-12232)
 * Include repair session IDs in repair start message (CASSANDRA-12532)
 * Add a blocking task to Index, run before joining the ring (CASSANDRA-12039)
 * Fix NPE when using CQLSSTableWriter (CASSANDRA-12667)
 * Support optional backpressure strategies at the coordinator (CASSANDRA-9318)
 * Make randompartitioner work with new vnode allocation (CASSANDRA-12647)
 * Fix cassandra-stress graphing (CASSANDRA-12237)
 * Allow filtering on partition key columns for queries without secondary indexes (CASSANDRA-11031)
 * Fix Cassandra Stress reporting thread model and precision (CASSANDRA-12585)
 * Add JMH benchmarks.jar (CASSANDRA-12586)
 * Cleanup uses of AlterTableStatementColumn (CASSANDRA-12567)
 * Add keep-alive to streaming (CASSANDRA-11841)
 * Tracing payload is passed through newSession(..) (CASSANDRA-11706)
 * avoid deleting non existing sstable files and improve related log messages (CASSANDRA-12261)
 * json/yaml output format for nodetool compactionhistory (CASSANDRA-12486)
 * Retry all internode messages once after a connection is
   closed and reopened (CASSANDRA-12192)
 * Add support to rebuild from targeted replica (CASSANDRA-9875)
 * Add sequence distribution type to cassandra stress (CASSANDRA-12490)
 * "SELECT * FROM foo LIMIT ;" does not error out (CASSANDRA-12154)
 * Define executeLocally() at the ReadQuery Level (CASSANDRA-12474)
 * Extend read/write failure messages with a map of replica addresses
   to error codes in the v5 native protocol (CASSANDRA-12311)
 * Fix rebuild of SASI indexes with existing index files (CASSANDRA-12374)
 * Let DatabaseDescriptor not implicitly startup services (CASSANDRA-9054, 12550)
 * Fix clustering indexes in presence of static columns in SASI (CASSANDRA-12378)
 * Fix queries on columns with reversed type on SASI indexes (CASSANDRA-12223)
 * Added slow query log (CASSANDRA-12403)
 * Count full coordinated request against timeout (CASSANDRA-12256)
 * Allow TTL with null value on insert and update (CASSANDRA-12216)
 * Make decommission operation resumable (CASSANDRA-12008)
 * Add support to one-way targeted repair (CASSANDRA-9876)
 * Remove clientutil jar (CASSANDRA-11635)
 * Fix compaction throughput throttle (CASSANDRA-12366, CASSANDRA-12717)
 * Delay releasing Memtable memory on flush until PostFlush has finished running (CASSANDRA-12358)
 * Cassandra stress should dump all setting on startup (CASSANDRA-11914)
 * Make it possible to compact a given token range (CASSANDRA-10643)
 * Allow updating DynamicEndpointSnitch properties via JMX (CASSANDRA-12179)
 * Collect metrics on queries by consistency level (CASSANDRA-7384)
 * Add support for GROUP BY to SELECT statement (CASSANDRA-10707)
 * Deprecate memtable_cleanup_threshold and update default for memtable_flush_writers (CASSANDRA-12228)
 * Upgrade to OHC 0.4.4 (CASSANDRA-12133)
 * Add version command to cassandra-stress (CASSANDRA-12258)
 * Create compaction-stress tool (CASSANDRA-11844)
 * Garbage-collecting compaction operation and schema option (CASSANDRA-7019)
 * Add beta protocol flag for v5 native protocol (CASSANDRA-12142)
 * Support filtering on non-PRIMARY KEY columns in the CREATE
   MATERIALIZED VIEW statement's WHERE clause (CASSANDRA-10368)
 * Unify STDOUT and SYSTEMLOG logback format (CASSANDRA-12004)
 * COPY FROM should raise error for non-existing input files (CASSANDRA-12174)
 * Faster write path (CASSANDRA-12269)
 * Option to leave omitted columns in INSERT JSON unset (CASSANDRA-11424)
 * Support json/yaml output in nodetool tpstats (CASSANDRA-12035)
 * Expose metrics for successful/failed authentication attempts (CASSANDRA-10635)
 * Prepend snapshot name with "truncated" or "dropped" when a snapshot
   is taken before truncating or dropping a table (CASSANDRA-12178)
 * Optimize RestrictionSet (CASSANDRA-12153)
 * cqlsh does not automatically downgrade CQL version (CASSANDRA-12150)
 * Omit (de)serialization of state variable in UDAs (CASSANDRA-9613)
 * Create a system table to expose prepared statements (CASSANDRA-8831)
 * Reuse DataOutputBuffer from ColumnIndex (CASSANDRA-11970)
 * Remove DatabaseDescriptor dependency from SegmentedFile (CASSANDRA-11580)
 * Add supplied username to authentication error messages (CASSANDRA-12076)
 * Remove pre-startup check for open JMX port (CASSANDRA-12074)
 * Remove compaction Severity from DynamicEndpointSnitch (CASSANDRA-11738)
 * Restore resumable hints delivery (CASSANDRA-11960)
 * Properly record CAS contention (CASSANDRA-12626)
Merged from 3.0:
 * Dump threads when unit tests time out (CASSANDRA-13117)
 * Better error when modifying function permissions without explicit keyspace (CASSANDRA-12925)
 * Indexer is not correctly invoked when building indexes over sstables (CASSANDRA-13075)
 * Stress daemon help is incorrect (CASSANDRA-12563)
 * Read repair is not blocking repair to finish in foreground repair (CASSANDRA-13115)
 * Replace empty strings with null values if they cannot be converted (CASSANDRA-12794)
 * Remove support for non-JavaScript UDFs (CASSANDRA-12883)
 * Fix deserialization of 2.x DeletedCells (CASSANDRA-12620)
 * Add parent repair session id to anticompaction log message (CASSANDRA-12186)
 * Improve contention handling on failure to acquire MV lock for streaming and hints (CASSANDRA-12905)
 * Fix DELETE and UPDATE queries with empty IN restrictions (CASSANDRA-12829)
 * Mark MVs as built after successful bootstrap (CASSANDRA-12984)
 * Estimated TS drop-time histogram updated with Cell.NO_DELETION_TIME (CASSANDRA-13040)
 * Nodetool compactionstats fails with NullPointerException (CASSANDRA-13021)
 * Thread local pools never cleaned up (CASSANDRA-13033)
 * Set RPC_READY to false when draining or if a node is marked as shutdown (CASSANDRA-12781)
 * CQL often queries static columns unnecessarily (CASSANDRA-12768)
 * Make sure sstables only get committed when it's safe to discard commit log records (CASSANDRA-12956)
 * Reject default_time_to_live option when creating or altering MVs (CASSANDRA-12868)
 * Nodetool should use a more sane max heap size (CASSANDRA-12739)
 * LocalToken ensures token values are cloned on heap (CASSANDRA-12651)
 * AnticompactionRequestSerializer serializedSize is incorrect (CASSANDRA-12934)
 * Prevent reloading of logback.xml from UDF sandbox (CASSANDRA-12535)
 * Reenable HeapPool (CASSANDRA-12900)
 * Disallow offheap_buffers memtable allocation (CASSANDRA-11039)
 * Fix CommitLogSegmentManagerTest (CASSANDRA-12283)
 * Pass root cause to CorruptBlockException when uncompression failed (CASSANDRA-12889)
 * Batch with multiple conditional updates for the same partition causes AssertionError (CASSANDRA-12867)
 * Make AbstractReplicationStrategy extendable from outside its package (CASSANDRA-12788)
 * Don't tell users to turn off consistent rangemovements during rebuild. (CASSANDRA-12296)
 * Fix CommitLogTest.testDeleteIfNotDirty (CASSANDRA-12854)
 * Avoid deadlock due to MV lock contention (CASSANDRA-12689)
 * Fix for KeyCacheCqlTest flakiness (CASSANDRA-12801)
 * Include SSTable filename in compacting large row message (CASSANDRA-12384)
 * Fix potential socket leak (CASSANDRA-12329, CASSANDRA-12330)
 * Fix ViewTest.testCompaction (CASSANDRA-12789)
 * Improve avg aggregate functions (CASSANDRA-12417)
 * Preserve quoted reserved keyword column names in MV creation (CASSANDRA-11803)
 * nodetool stopdaemon errors out (CASSANDRA-12646)
 * Split materialized view mutations on build to prevent OOM (CASSANDRA-12268)
 * mx4j does not work in 3.0.8 (CASSANDRA-12274)
 * Abort cqlsh copy-from in case of no answer after prolonged period of time (CASSANDRA-12740)
 * Avoid sstable corrupt exception due to dropped static column (CASSANDRA-12582)
 * Make stress use client mode to avoid checking commit log size on startup (CASSANDRA-12478)
 * Fix exceptions with new vnode allocation (CASSANDRA-12715)
 * Unify drain and shutdown processes (CASSANDRA-12509)
 * Fix NPE in ComponentOfSlice.isEQ() (CASSANDRA-12706)
 * Fix failure in LogTransactionTest (CASSANDRA-12632)
 * Fix potentially incomplete non-frozen UDT values when querying with the
   full primary key specified (CASSANDRA-12605)
 * Make sure repaired tombstones are dropped when only_purge_repaired_tombstones is enabled (CASSANDRA-12703)
 * Skip writing MV mutations to commitlog on mutation.applyUnsafe() (CASSANDRA-11670)
 * Establish consistent distinction between non-existing partition and NULL value for LWTs on static columns (CASSANDRA-12060)
 * Extend ColumnIdentifier.internedInstances key to include the type that generated the byte buffer (CASSANDRA-12516)
 * Handle composite prefixes with final EOC=0 as in 2.x and refactor LegacyLayout.decodeBound (CASSANDRA-12423)
 * select_distinct_with_deletions_test failing on non-vnode environments (CASSANDRA-11126)
 * Stack Overflow returned to queries while upgrading (CASSANDRA-12527)
 * Fix legacy regex for temporary files from 2.2 (CASSANDRA-12565)
 * Add option to state current gc_grace_seconds to tools/bin/sstablemetadata (CASSANDRA-12208)
 * Fix file system race condition that may cause LogAwareFileLister to fail to classify files (CASSANDRA-11889)
 * Fix file handle leaks due to simultaneous compaction/repair and
   listing snapshots, calculating snapshot sizes, or making schema
   changes (CASSANDRA-11594)
 * Fix nodetool repair exits with 0 for some errors (CASSANDRA-12508)
 * Do not shut down BatchlogManager twice during drain (CASSANDRA-12504)
 * Disk failure policy should not be invoked on out of space (CASSANDRA-12385)
 * Calculate last compacted key on startup (CASSANDRA-6216)
 * Add schema to snapshot manifest, add USING TIMESTAMP clause to ALTER TABLE statements (CASSANDRA-7190)
 * If CF has no clustering columns, any row cache is full partition cache (CASSANDRA-12499)
 * Correct log message for statistics of offheap memtable flush (CASSANDRA-12776)
 * Explicitly set locale for string validation (CASSANDRA-12541,CASSANDRA-12542,CASSANDRA-12543,CASSANDRA-12545)
Merged from 2.2:
 * Fix speculative retry bugs (CASSANDRA-13009)
 * Fix handling of nulls and unsets in IN conditions (CASSANDRA-12981)
 * Fix race causing infinite loop if Thrift server is stopped before it starts listening (CASSANDRA-12856)
 * CompactionTasks now correctly drops sstables out of compaction when not enough disk space is available (CASSANDRA-12979)
 * Fix DynamicEndpointSnitch noop in multi-datacenter situations (CASSANDRA-13074)
 * cqlsh copy-from: encode column names to avoid primary key parsing errors (CASSANDRA-12909)
 * Temporarily fix bug that creates commit log when running offline tools (CASSANDRA-8616)
 * Reduce granuality of OpOrder.Group during index build (CASSANDRA-12796)
 * Test bind parameters and unset parameters in InsertUpdateIfConditionTest (CASSANDRA-12980)
 * Use saved tokens when setting local tokens on StorageService.joinRing (CASSANDRA-12935)
 * cqlsh: fix DESC TYPES errors (CASSANDRA-12914)
 * Fix leak on skipped SSTables in sstableupgrade (CASSANDRA-12899)
 * Avoid blocking gossip during pending range calculation (CASSANDRA-12281)
 * Fix purgeability of tombstones with max timestamp (CASSANDRA-12792)
 * Fail repair if participant dies during sync or anticompaction (CASSANDRA-12901)
 * cqlsh COPY: unprotected pk values before converting them if not using prepared statements (CASSANDRA-12863)
 * Fix Util.spinAssertEquals (CASSANDRA-12283)
 * Fix potential NPE for compactionstats (CASSANDRA-12462)
 * Prepare legacy authenticate statement if credentials table initialised after node startup (CASSANDRA-12813)
 * Change cassandra.wait_for_tracing_events_timeout_secs default to 0 (CASSANDRA-12754)
 * Clean up permissions when a UDA is dropped (CASSANDRA-12720)
 * Limit colUpdateTimeDelta histogram updates to reasonable deltas (CASSANDRA-11117)
 * Fix leak errors and execution rejected exceptions when draining (CASSANDRA-12457)
 * Fix merkle tree depth calculation (CASSANDRA-12580)
 * Make Collections deserialization more robust (CASSANDRA-12618)
 * Fix exceptions when enabling gossip on nodes that haven't joined the ring (CASSANDRA-12253)
 * Fix authentication problem when invoking cqlsh copy from a SOURCE command (CASSANDRA-12642)
 * Decrement pending range calculator jobs counter in finally block
 * cqlshlib tests: increase default execute timeout (CASSANDRA-12481)
 * Forward writes to replacement node when replace_address != broadcast_address (CASSANDRA-8523)
 * Fail repair on non-existing table (CASSANDRA-12279)
 * Enable repair -pr and -local together (fix regression of CASSANDRA-7450) (CASSANDRA-12522)
 * Better handle invalid system roles table (CASSANDRA-12700)
 * Split consistent range movement flag correction (CASSANDRA-12786)
Merged from 2.1:
 * cqlsh copy-from: sort user type fields in csv (CASSANDRA-12959)
 * Don't skip sstables based on maxLocalDeletionTime (CASSANDRA-12765)


3.8, 3.9
 * Fix value skipping with counter columns (CASSANDRA-11726)
 * Fix nodetool tablestats miss SSTable count (CASSANDRA-12205)
 * Fixed flacky SSTablesIteratedTest (CASSANDRA-12282)
 * Fixed flacky SSTableRewriterTest: check file counts before calling validateCFS (CASSANDRA-12348)
 * cqlsh: Fix handling of $$-escaped strings (CASSANDRA-12189)
 * Fix SSL JMX requiring truststore containing server cert (CASSANDRA-12109)
 * RTE from new CDC column breaks in flight queries (CASSANDRA-12236)
 * Fix hdr logging for single operation workloads (CASSANDRA-12145)
 * Fix SASI PREFIX search in CONTAINS mode with partial terms (CASSANDRA-12073)
 * Increase size of flushExecutor thread pool (CASSANDRA-12071)
 * Partial revert of CASSANDRA-11971, cannot recycle buffer in SP.sendMessagesToNonlocalDC (CASSANDRA-11950)
 * Upgrade netty to 4.0.39 (CASSANDRA-12032, CASSANDRA-12034)
 * Improve details in compaction log message (CASSANDRA-12080)
 * Allow unset values in CQLSSTableWriter (CASSANDRA-11911)
 * Chunk cache to request compressor-compatible buffers if pool space is exhausted (CASSANDRA-11993)
 * Remove DatabaseDescriptor dependencies from SequentialWriter (CASSANDRA-11579)
 * Move skip_stop_words filter before stemming (CASSANDRA-12078)
 * Support seek() in EncryptedFileSegmentInputStream (CASSANDRA-11957)
 * SSTable tools mishandling LocalPartitioner (CASSANDRA-12002)
 * When SEPWorker assigned work, set thread name to match pool (CASSANDRA-11966)
 * Add cross-DC latency metrics (CASSANDRA-11569)
 * Allow terms in selection clause (CASSANDRA-10783)
 * Add bind variables to trace (CASSANDRA-11719)
 * Switch counter shards' clock to timestamps (CASSANDRA-9811)
 * Introduce HdrHistogram and response/service/wait separation to stress tool (CASSANDRA-11853)
 * entry-weighers in QueryProcessor should respect partitionKeyBindIndexes field (CASSANDRA-11718)
 * Support older ant versions (CASSANDRA-11807)
 * Estimate compressed on disk size when deciding if sstable size limit reached (CASSANDRA-11623)
 * cassandra-stress profiles should support case sensitive schemas (CASSANDRA-11546)
 * Remove DatabaseDescriptor dependency from FileUtils (CASSANDRA-11578)
 * Faster streaming (CASSANDRA-9766)
 * Add prepared query parameter to trace for "Execute CQL3 prepared query" session (CASSANDRA-11425)
 * Add repaired percentage metric (CASSANDRA-11503)
 * Add Change-Data-Capture (CASSANDRA-8844)
Merged from 3.0:
 * Fix paging for 2.x to 3.x upgrades (CASSANDRA-11195)
 * Fix clean interval not sent to commit log for empty memtable flush (CASSANDRA-12436)
 * Fix potential resource leak in RMIServerSocketFactoryImpl (CASSANDRA-12331)
 * Make sure compaction stats are updated when compaction is interrupted (CASSANDRA-12100)
 * Change commitlog and sstables to track dirty and clean intervals (CASSANDRA-11828)
 * NullPointerException during compaction on table with static columns (CASSANDRA-12336)
 * Fixed ConcurrentModificationException when reading metrics in GraphiteReporter (CASSANDRA-11823)
 * Fix upgrade of super columns on thrift (CASSANDRA-12335)
 * Fixed flacky BlacklistingCompactionsTest, switched to fixed size types and increased corruption size (CASSANDRA-12359)
 * Rerun ReplicationAwareTokenAllocatorTest on failure to avoid flakiness (CASSANDRA-12277)
 * Exception when computing read-repair for range tombstones (CASSANDRA-12263)
 * Lost counter writes in compact table and static columns (CASSANDRA-12219)
 * AssertionError with MVs on updating a row that isn't indexed due to a null value (CASSANDRA-12247)
 * Disable RR and speculative retry with EACH_QUORUM reads (CASSANDRA-11980)
 * Add option to override compaction space check (CASSANDRA-12180)
 * Faster startup by only scanning each directory for temporary files once (CASSANDRA-12114)
 * Respond with v1/v2 protocol header when responding to driver that attempts
   to connect with too low of a protocol version (CASSANDRA-11464)
 * NullPointerExpception when reading/compacting table (CASSANDRA-11988)
 * Fix problem with undeleteable rows on upgrade to new sstable format (CASSANDRA-12144)
 * Fix potential bad messaging service message for paged range reads
   within mixed-version 3.x clusters (CASSANDRA-12249)
 * Fix paging logic for deleted partitions with static columns (CASSANDRA-12107)
 * Wait until the message is being send to decide which serializer must be used (CASSANDRA-11393)
 * Fix migration of static thrift column names with non-text comparators (CASSANDRA-12147)
 * Fix upgrading sparse tables that are incorrectly marked as dense (CASSANDRA-11315)
 * Fix reverse queries ignoring range tombstones (CASSANDRA-11733)
 * Avoid potential race when rebuilding CFMetaData (CASSANDRA-12098)
 * Avoid missing sstables when getting the canonical sstables (CASSANDRA-11996)
 * Always select the live sstables when getting sstables in bounds (CASSANDRA-11944)
 * Fix column ordering of results with static columns for Thrift requests in
   a mixed 2.x/3.x cluster, also fix potential non-resolved duplication of
   those static columns in query results (CASSANDRA-12123)
 * Avoid digest mismatch with empty but static rows (CASSANDRA-12090)
 * Fix EOF exception when altering column type (CASSANDRA-11820)
 * Fix potential race in schema during new table creation (CASSANDRA-12083)
 * cqlsh: fix error handling in rare COPY FROM failure scenario (CASSANDRA-12070)
 * Disable autocompaction during drain (CASSANDRA-11878)
 * Add a metrics timer to MemtablePool and use it to track time spent blocked on memory in MemtableAllocator (CASSANDRA-11327)
 * Fix upgrading schema with super columns with non-text subcomparators (CASSANDRA-12023)
 * Add TimeWindowCompactionStrategy (CASSANDRA-9666)
 * Fix JsonTransformer output of partition with deletion info (CASSANDRA-12418)
 * Fix NPE in SSTableLoader when specifying partial directory path (CASSANDRA-12609)
Merged from 2.2:
 * Add local address entry in PropertyFileSnitch (CASSANDRA-11332)
 * cqlsh copy: fix missing counter values (CASSANDRA-12476)
 * Move migration tasks to non-periodic queue, assure flush executor shutdown after non-periodic executor (CASSANDRA-12251)
 * cqlsh copy: fixed possible race in initializing feeding thread (CASSANDRA-11701)
 * Only set broadcast_rpc_address on Ec2MultiRegionSnitch if it's not set (CASSANDRA-11357)
 * Update StorageProxy range metrics for timeouts, failures and unavailables (CASSANDRA-9507)
 * Add Sigar to classes included in clientutil.jar (CASSANDRA-11635)
 * Add decay to histograms and timers used for metrics (CASSANDRA-11752)
 * Fix hanging stream session (CASSANDRA-10992)
 * Fix INSERT JSON, fromJson() support of smallint, tinyint types (CASSANDRA-12371)
 * Restore JVM metric export for metric reporters (CASSANDRA-12312)
 * Release sstables of failed stream sessions only when outgoing transfers are finished (CASSANDRA-11345)
 * Wait for tracing events before returning response and query at same consistency level client side (CASSANDRA-11465)
 * cqlsh copyutil should get host metadata by connected address (CASSANDRA-11979)
 * Fixed cqlshlib.test.remove_test_db (CASSANDRA-12214)
 * Synchronize ThriftServer::stop() (CASSANDRA-12105)
 * Use dedicated thread for JMX notifications (CASSANDRA-12146)
 * Improve streaming synchronization and fault tolerance (CASSANDRA-11414)
 * MemoryUtil.getShort() should return an unsigned short also for architectures not supporting unaligned memory accesses (CASSANDRA-11973)
Merged from 2.1:
 * Fix queries with empty ByteBuffer values in clustering column restrictions (CASSANDRA-12127)
 * Disable passing control to post-flush after flush failure to prevent data loss (CASSANDRA-11828)
 * Allow STCS-in-L0 compactions to reduce scope with LCS (CASSANDRA-12040)
 * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850)
 * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907)


3.0.8
 * Fix potential race in schema during new table creation (CASSANDRA-12083)
 * cqlsh: fix error handling in rare COPY FROM failure scenario (CASSANDRA-12070)
 * Disable autocompaction during drain (CASSANDRA-11878)
 * Add a metrics timer to MemtablePool and use it to track time spent blocked on memory in MemtableAllocator (CASSANDRA-11327)
 * Fix upgrading schema with super columns with non-text subcomparators (CASSANDRA-12023)
 * Add TimeWindowCompactionStrategy (CASSANDRA-9666)
Merged from 2.2:
 * Allow nodetool info to run with readonly JMX access (CASSANDRA-11755)
 * Validate bloom_filter_fp_chance against lowest supported
   value when the table is created (CASSANDRA-11920)
 * Don't send erroneous NEW_NODE notifications on restart (CASSANDRA-11038)
 * StorageService shutdown hook should use a volatile variable (CASSANDRA-11984)
Merged from 2.1:
 * Add system property to set the max number of native transport requests in queue (CASSANDRA-11363)
 * Fix queries with empty ByteBuffer values in clustering column restrictions (CASSANDRA-12127)
 * Disable passing control to post-flush after flush failure to prevent data loss (CASSANDRA-11828)
 * Allow STCS-in-L0 compactions to reduce scope with LCS (CASSANDRA-12040)
 * cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850)
 * Fix filtering on clustering columns when 2i is used (CASSANDRA-11907)
 * Avoid stalling paxos when the paxos state expires (CASSANDRA-12043)
 * Remove finished incoming streaming connections from MessagingService (CASSANDRA-11854)
 * Don't try to get sstables for non-repairing column families (CASSANDRA-12077)
 * Avoid marking too many sstables as repaired (CASSANDRA-11696)
 * Prevent select statements with clustering key > 64k (CASSANDRA-11882)
 * Fix clock skew corrupting other nodes with paxos (CASSANDRA-11991)
 * Remove distinction between non-existing static columns and existing but null in LWTs (CASSANDRA-9842)
 * Cache local ranges when calculating repair neighbors (CASSANDRA-11934)
 * Allow LWT operation on static column with only partition keys (CASSANDRA-10532)
 * Create interval tree over canonical sstables to avoid missing sstables during streaming (CASSANDRA-11886)
 * cqlsh COPY FROM: shutdown parent cluster after forking, to avoid corrupting SSL connections (CASSANDRA-11749)


3.7
 * Support multiple folders for user defined compaction tasks (CASSANDRA-11765)
 * Fix race in CompactionStrategyManager's pause/resume (CASSANDRA-11922)
Merged from 3.0:
 * Fix legacy serialization of Thrift-generated non-compound range tombstones
   when communicating with 2.x nodes (CASSANDRA-11930)
 * Fix Directories instantiations where CFS.initialDirectories should be used (CASSANDRA-11849)
 * Avoid referencing DatabaseDescriptor in AbstractType (CASSANDRA-11912)
 * Don't use static dataDirectories field in Directories instances (CASSANDRA-11647)
 * Fix sstables not being protected from removal during index build (CASSANDRA-11905)
 * cqlsh: Suppress stack trace from Read/WriteFailures (CASSANDRA-11032)
 * Remove unneeded code to repair index summaries that have
   been improperly down-sampled (CASSANDRA-11127)
 * Avoid WriteTimeoutExceptions during commit log replay due to materialized
   view lock contention (CASSANDRA-11891)
 * Prevent OOM failures on SSTable corruption, improve tests for corruption detection (CASSANDRA-9530)
 * Use CFS.initialDirectories when clearing snapshots (CASSANDRA-11705)
 * Allow compaction strategies to disable early open (CASSANDRA-11754)
 * Refactor Materialized View code (CASSANDRA-11475)
 * Update Java Driver (CASSANDRA-11615)
Merged from 2.2:
 * Persist local metadata earlier in startup sequence (CASSANDRA-11742)
 * cqlsh: fix tab completion for case-sensitive identifiers (CASSANDRA-11664)
 * Avoid showing estimated key as -1 in tablestats (CASSANDRA-11587)
 * Fix possible race condition in CommitLog.recover (CASSANDRA-11743)
 * Enable client encryption in sstableloader with cli options (CASSANDRA-11708)
 * Possible memory leak in NIODataInputStream (CASSANDRA-11867)
 * Add seconds to cqlsh tracing session duration (CASSANDRA-11753)
 * Fix commit log replay after out-of-order flush completion (CASSANDRA-9669)
 * Prohibit Reversed Counter type as part of the PK (CASSANDRA-9395)
 * cqlsh: correctly handle non-ascii chars in error messages (CASSANDRA-11626)
Merged from 2.1:
 * Run CommitLog tests with different compression settings (CASSANDRA-9039)
 * cqlsh: apply current keyspace to source command (CASSANDRA-11152)
 * Clear out parent repair session if repair coordinator dies (CASSANDRA-11824)
 * Set default streaming_socket_timeout_in_ms to 24 hours (CASSANDRA-11840)
 * Do not consider local node a valid source during replace (CASSANDRA-11848)
 * Add message dropped tasks to nodetool netstats (CASSANDRA-11855)
 * Avoid holding SSTableReaders for duration of incremental repair (CASSANDRA-11739)


3.6
 * Correctly migrate schema for frozen UDTs during 2.x -> 3.x upgrades
   (does not affect any released versions) (CASSANDRA-11613)
 * Allow server startup if JMX is configured directly (CASSANDRA-11725)
 * Prevent direct memory OOM on buffer pool allocations (CASSANDRA-11710)
 * Enhanced Compaction Logging (CASSANDRA-10805)
 * Make prepared statement cache size configurable (CASSANDRA-11555)
 * Integrated JMX authentication and authorization (CASSANDRA-10091)
 * Add units to stress ouput (CASSANDRA-11352)
 * Fix PER PARTITION LIMIT for single and multi partitions queries (CASSANDRA-11603)
 * Add uncompressed chunk cache for RandomAccessReader (CASSANDRA-5863)
 * Clarify ClusteringPrefix hierarchy (CASSANDRA-11213)
 * Always perform collision check before joining ring (CASSANDRA-10134)
 * SSTableWriter output discrepancy (CASSANDRA-11646)
 * Fix potential timeout in NativeTransportService.testConcurrentDestroys (CASSANDRA-10756)
 * Support large partitions on the 3.0 sstable format (CASSANDRA-11206,11763)
 * Add support to rebuild from specific range (CASSANDRA-10406)
 * Optimize the overlapping lookup by calculating all the
   bounds in advance (CASSANDRA-11571)
 * Support json/yaml output in nodetool tablestats (CASSANDRA-5977)
 * (stress) Add datacenter option to -node options (CASSANDRA-11591)
 * Fix handling of empty slices (CASSANDRA-11513)
 * Make number of cores used by cqlsh COPY visible to testing code (CASSANDRA-11437)
 * Allow filtering on clustering columns for queries without secondary indexes (CASSANDRA-11310)
 * Refactor Restriction hierarchy (CASSANDRA-11354)
 * Eliminate allocations in R/W path (CASSANDRA-11421)
 * Update Netty to 4.0.36 (CASSANDRA-11567)
 * Fix PER PARTITION LIMIT for queries requiring post-query ordering (CASSANDRA-11556)
 * Allow instantiation of UDTs and tuples in UDFs (CASSANDRA-10818)
 * Support UDT in CQLSSTableWriter (CASSANDRA-10624)
 * Support for non-frozen user-defined types, updating
   individual fields of user-defined types (CASSANDRA-7423)
 * Make LZ4 compression level configurable (CASSANDRA-11051)
 * Allow per-partition LIMIT clause in CQL (CASSANDRA-7017)
 * Make custom filtering more extensible with UserExpression (CASSANDRA-11295)
 * Improve field-checking and error reporting in cassandra.yaml (CASSANDRA-10649)
 * Print CAS stats in nodetool proxyhistograms (CASSANDRA-11507)
 * More user friendly error when providing an invalid token to nodetool (CASSANDRA-9348)
 * Add static column support to SASI index (CASSANDRA-11183)
 * Support EQ/PREFIX queries in SASI CONTAINS mode without tokenization (CASSANDRA-11434)
 * Support LIKE operator in prepared statements (CASSANDRA-11456)
 * Add a command to see if a Materialized View has finished building (CASSANDRA-9967)
 * Log endpoint and port associated with streaming operation (CASSANDRA-8777)
 * Print sensible units for all log messages (CASSANDRA-9692)
 * Upgrade Netty to version 4.0.34 (CASSANDRA-11096)
 * Break the CQL grammar into separate Parser and Lexer (CASSANDRA-11372)
 * Compress only inter-dc traffic by default (CASSANDRA-8888)
 * Add metrics to track write amplification (CASSANDRA-11420)
 * cassandra-stress: cannot handle "value-less" tables (CASSANDRA-7739)
 * Add/drop multiple columns in one ALTER TABLE statement (CASSANDRA-10411)
 * Add require_endpoint_verification opt for internode encryption (CASSANDRA-9220)
 * Add auto import java.util for UDF code block (CASSANDRA-11392)
 * Add --hex-format option to nodetool getsstables (CASSANDRA-11337)
 * sstablemetadata should print sstable min/max token (CASSANDRA-7159)
 * Do not wrap CassandraException in TriggerExecutor (CASSANDRA-9421)
 * COPY TO should have higher double precision (CASSANDRA-11255)
 * Stress should exit with non-zero status after failure (CASSANDRA-10340)
 * Add client to cqlsh SHOW_SESSION (CASSANDRA-8958)
 * Fix nodetool tablestats keyspace level metrics (CASSANDRA-11226)
 * Store repair options in parent_repair_history (CASSANDRA-11244)
 * Print current leveling in sstableofflinerelevel (CASSANDRA-9588)
 * Change repair message for keyspaces with RF 1 (CASSANDRA-11203)
 * Remove hard-coded SSL cipher suites and protocols (CASSANDRA-10508)
 * Improve concurrency in CompactionStrategyManager (CASSANDRA-10099)
 * (cqlsh) interpret CQL type for formatting blobs (CASSANDRA-11274)
 * Refuse to start and print txn log information in case of disk
   corruption (CASSANDRA-10112)
 * Resolve some eclipse-warnings (CASSANDRA-11086)
 * (cqlsh) Show static columns in a different color (CASSANDRA-11059)
 * Allow to remove TTLs on table with default_time_to_live (CASSANDRA-11207)
Merged from 3.0:
 * Disallow creating view with a static column (CASSANDRA-11602)
 * Reduce the amount of object allocations caused by the getFunctions methods (CASSANDRA-11593)
 * Potential error replaying commitlog with smallint/tinyint/date/time types (CASSANDRA-11618)
 * Fix queries with filtering on counter columns (CASSANDRA-11629)
 * Improve tombstone printing in sstabledump (CASSANDRA-11655)
 * Fix paging for range queries where all clustering columns are specified (CASSANDRA-11669)
 * Don't require HEAP_NEW_SIZE to be set when using G1 (CASSANDRA-11600)
 * Fix sstabledump not showing cells after tombstone marker (CASSANDRA-11654)
 * Ignore all LocalStrategy keyspaces for streaming and other related
   operations (CASSANDRA-11627)
 * Ensure columnfilter covers indexed columns for thrift 2i queries (CASSANDRA-11523)
 * Only open one sstable scanner per sstable (CASSANDRA-11412)
 * Option to specify ProtocolVersion in cassandra-stress (CASSANDRA-11410)
 * ArithmeticException in avgFunctionForDecimal (CASSANDRA-11485)
 * LogAwareFileLister should only use OLD sstable files in current folder to determine disk consistency (CASSANDRA-11470)
 * Notify indexers of expired rows during compaction (CASSANDRA-11329)
 * Properly respond with ProtocolError when a v1/v2 native protocol
   header is received (CASSANDRA-11464)
 * Validate that num_tokens and initial_token are consistent with one another (CASSANDRA-10120)
Merged from 2.2:
 * Exit JVM if JMX server fails to startup (CASSANDRA-11540)
 * Produce a heap dump when exiting on OOM (CASSANDRA-9861)
 * Restore ability to filter on clustering columns when using a 2i (CASSANDRA-11510)
 * JSON datetime formatting needs timezone (CASSANDRA-11137)
 * Fix is_dense recalculation for Thrift-updated tables (CASSANDRA-11502)
 * Remove unnescessary file existence check during anticompaction (CASSANDRA-11660)
 * Add missing files to debian packages (CASSANDRA-11642)
 * Avoid calling Iterables::concat in loops during ModificationStatement::getFunctions (CASSANDRA-11621)
 * cqlsh: COPY FROM should use regular inserts for single statement batches and
   report errors correctly if workers processes crash on initialization (CASSANDRA-11474)
 * Always close cluster with connection in CqlRecordWriter (CASSANDRA-11553)
 * Allow only DISTINCT queries with partition keys restrictions (CASSANDRA-11339)
 * CqlConfigHelper no longer requires both a keystore and truststore to work (CASSANDRA-11532)
 * Make deprecated repair methods backward-compatible with previous notification service (CASSANDRA-11430)
 * IncomingStreamingConnection version check message wrong (CASSANDRA-11462)
Merged from 2.1:
 * Support mlockall on IBM POWER arch (CASSANDRA-11576)
 * Add option to disable use of severity in DynamicEndpointSnitch (CASSANDRA-11737)
 * cqlsh COPY FROM fails for null values with non-prepared statements (CASSANDRA-11631)
 * Make cython optional in pylib/setup.py (CASSANDRA-11630)
 * Change order of directory searching for cassandra.in.sh to favor local one (CASSANDRA-11628)
 * cqlsh COPY FROM fails with []{} chars in UDT/tuple fields/values (CASSANDRA-11633)
 * clqsh: COPY FROM throws TypeError with Cython extensions enabled (CASSANDRA-11574)
 * cqlsh: COPY FROM ignores NULL values in conversion (CASSANDRA-11549)
 * Validate levels when building LeveledScanner to avoid overlaps with orphaned sstables (CASSANDRA-9935)


3.5
 * StaticTokenTreeBuilder should respect posibility of duplicate tokens (CASSANDRA-11525)
 * Correctly fix potential assertion error during compaction (CASSANDRA-11353)
 * Avoid index segment stitching in RAM which lead to OOM on big SSTable files (CASSANDRA-11383)
 * Fix clustering and row filters for LIKE queries on clustering columns (CASSANDRA-11397)
Merged from 3.0:
 * Fix rare NPE on schema upgrade from 2.x to 3.x (CASSANDRA-10943)
 * Improve backoff policy for cqlsh COPY FROM (CASSANDRA-11320)
 * Improve IF NOT EXISTS check in CREATE INDEX (CASSANDRA-11131)
 * Upgrade ohc to 0.4.3
 * Enable SO_REUSEADDR for JMX RMI server sockets (CASSANDRA-11093)
 * Allocate merkletrees with the correct size (CASSANDRA-11390)
 * Support streaming pre-3.0 sstables (CASSANDRA-10990)
 * Add backpressure to compressed or encrypted commit log (CASSANDRA-10971)
 * SSTableExport supports secondary index tables (CASSANDRA-11330)
 * Fix sstabledump to include missing info in debug output (CASSANDRA-11321)
 * Establish and implement canonical bulk reading workload(s) (CASSANDRA-10331)
 * Fix paging for IN queries on tables without clustering columns (CASSANDRA-11208)
 * Remove recursive call from CompositesSearcher (CASSANDRA-11304)
 * Fix filtering on non-primary key columns for queries without index (CASSANDRA-6377)
 * Fix sstableloader fail when using materialized view (CASSANDRA-11275)
Merged from 2.2:
 * DatabaseDescriptor should log stacktrace in case of Eception during seed provider creation (CASSANDRA-11312)
 * Use canonical path for directory in SSTable descriptor (CASSANDRA-10587)
 * Add cassandra-stress keystore option (CASSANDRA-9325)
 * Dont mark sstables as repairing with sub range repairs (CASSANDRA-11451)
 * Notify when sstables change after cancelling compaction (CASSANDRA-11373)
 * cqlsh: COPY FROM should check that explicit column names are valid (CASSANDRA-11333)
 * Add -Dcassandra.start_gossip startup option (CASSANDRA-10809)
 * Fix UTF8Validator.validate() for modified UTF-8 (CASSANDRA-10748)
 * Clarify that now() function is calculated on the coordinator node in CQL documentation (CASSANDRA-10900)
 * Fix bloom filter sizing with LCS (CASSANDRA-11344)
 * (cqlsh) Fix error when result is 0 rows with EXPAND ON (CASSANDRA-11092)
 * Add missing newline at end of bin/cqlsh (CASSANDRA-11325)
 * Unresolved hostname leads to replace being ignored (CASSANDRA-11210)
 * Only log yaml config once, at startup (CASSANDRA-11217)
 * Reference leak with parallel repairs on the same table (CASSANDRA-11215)
Merged from 2.1:
 * Add a -j parameter to scrub/cleanup/upgradesstables to state how
   many threads to use (CASSANDRA-11179)
 * COPY FROM on large datasets: fix progress report and debug performance (CASSANDRA-11053)
 * InvalidateKeys should have a weak ref to key cache (CASSANDRA-11176)


3.4
 * (cqlsh) add cqlshrc option to always connect using ssl (CASSANDRA-10458)
 * Cleanup a few resource warnings (CASSANDRA-11085)
 * Allow custom tracing implementations (CASSANDRA-10392)
 * Extract LoaderOptions to be able to be used from outside (CASSANDRA-10637)
 * fix OnDiskIndexTest to properly treat empty ranges (CASSANDRA-11205)
 * fix TrackerTest to handle new notifications (CASSANDRA-11178)
 * add SASI validation for partitioner and complex columns (CASSANDRA-11169)
 * Add caching of encrypted credentials in PasswordAuthenticator (CASSANDRA-7715)
 * fix SASI memtable switching on flush (CASSANDRA-11159)
 * Remove duplicate offline compaction tracking (CASSANDRA-11148)
 * fix EQ semantics of analyzed SASI indexes (CASSANDRA-11130)
 * Support long name output for nodetool commands (CASSANDRA-7950)
 * Encrypted hints (CASSANDRA-11040)
 * SASI index options validation (CASSANDRA-11136)
 * Optimize disk seek using min/max column name meta data when the LIMIT clause is used
   (CASSANDRA-8180)
 * Add LIKE support to CQL3 (CASSANDRA-11067)
 * Generic Java UDF types (CASSANDRA-10819)
 * cqlsh: Include sub-second precision in timestamps by default (CASSANDRA-10428)
 * Set javac encoding to utf-8 (CASSANDRA-11077)
 * Integrate SASI index into Cassandra (CASSANDRA-10661)
 * Add --skip-flush option to nodetool snapshot
 * Skip values for non-queried columns (CASSANDRA-10657)
 * Add support for secondary indexes on static columns (CASSANDRA-8103)
 * CommitLogUpgradeTestMaker creates broken commit logs (CASSANDRA-11051)
 * Add metric for number of dropped mutations (CASSANDRA-10866)
 * Simplify row cache invalidation code (CASSANDRA-10396)
 * Support user-defined compaction through nodetool (CASSANDRA-10660)
 * Stripe view locks by key and table ID to reduce contention (CASSANDRA-10981)
 * Add nodetool gettimeout and settimeout commands (CASSANDRA-10953)
 * Add 3.0 metadata to sstablemetadata output (CASSANDRA-10838)
Merged from 3.0:
 * MV should only query complex columns included in the view (CASSANDRA-11069)
 * Failed aggregate creation breaks server permanently (CASSANDRA-11064)
 * Add sstabledump tool (CASSANDRA-7464)
 * Introduce backpressure for hints (CASSANDRA-10972)
 * Fix ClusteringPrefix not being able to read tombstone range boundaries (CASSANDRA-11158)
 * Prevent logging in sandboxed state (CASSANDRA-11033)
 * Disallow drop/alter operations of UDTs used by UDAs (CASSANDRA-10721)
 * Add query time validation method on Index (CASSANDRA-11043)
 * Avoid potential AssertionError in mixed version cluster (CASSANDRA-11128)
 * Properly handle hinted handoff after topology changes (CASSANDRA-5902)
 * AssertionError when listing sstable files on inconsistent disk state (CASSANDRA-11156)
 * Fix wrong rack counting and invalid conditions check for TokenAllocation
   (CASSANDRA-11139)
 * Avoid creating empty hint files (CASSANDRA-11090)
 * Fix leak detection strong reference loop using weak reference (CASSANDRA-11120)
 * Configurie BatchlogManager to stop delayed tasks on shutdown (CASSANDRA-11062)
 * Hadoop integration is incompatible with Cassandra Driver 3.0.0 (CASSANDRA-11001)
 * Add dropped_columns to the list of schema table so it gets handled
   properly (CASSANDRA-11050)
 * Fix NPE when using forceRepairRangeAsync without DC (CASSANDRA-11239)
Merged from 2.2:
 * Preserve order for preferred SSL cipher suites (CASSANDRA-11164)
 * Range.compareTo() violates the contract of Comparable (CASSANDRA-11216)
 * Avoid NPE when serializing ErrorMessage with null message (CASSANDRA-11167)
 * Replacing an aggregate with a new version doesn't reset INITCOND (CASSANDRA-10840)
 * (cqlsh) cqlsh cannot be called through symlink (CASSANDRA-11037)
 * fix ohc and java-driver pom dependencies in build.xml (CASSANDRA-10793)
 * Protect from keyspace dropped during repair (CASSANDRA-11065)
 * Handle adding fields to a UDT in SELECT JSON and toJson() (CASSANDRA-11146)
 * Better error message for cleanup (CASSANDRA-10991)
 * cqlsh pg-style-strings broken if line ends with ';' (CASSANDRA-11123)
 * Always persist upsampled index summaries (CASSANDRA-10512)
 * (cqlsh) Fix inconsistent auto-complete (CASSANDRA-10733)
 * Make SELECT JSON and toJson() threadsafe (CASSANDRA-11048)
 * Fix SELECT on tuple relations for mixed ASC/DESC clustering order (CASSANDRA-7281)
 * Use cloned TokenMetadata in size estimates to avoid race against membership check
   (CASSANDRA-10736)
 * (cqlsh) Support utf-8/cp65001 encoding on Windows (CASSANDRA-11030)
 * Fix paging on DISTINCT queries repeats result when first row in partition changes
   (CASSANDRA-10010)
 * (cqlsh) Support timezone conversion using pytz (CASSANDRA-10397)
 * cqlsh: change default encoding to UTF-8 (CASSANDRA-11124)
Merged from 2.1:
 * Checking if an unlogged batch is local is inefficient (CASSANDRA-11529)
 * Fix out-of-space error treatment in memtable flushing (CASSANDRA-11448).
 * Don't do defragmentation if reading from repaired sstables (CASSANDRA-10342)
 * Fix streaming_socket_timeout_in_ms not enforced (CASSANDRA-11286)
 * Avoid dropping message too quickly due to missing unit conversion (CASSANDRA-11302)
 * Don't remove FailureDetector history on removeEndpoint (CASSANDRA-10371)
 * Only notify if repair status changed (CASSANDRA-11172)
 * Use logback setting for 'cassandra -v' command (CASSANDRA-10767)
 * Fix sstableloader to unthrottle streaming by default (CASSANDRA-9714)
 * Fix incorrect warning in 'nodetool status' (CASSANDRA-10176)
 * Properly release sstable ref when doing offline scrub (CASSANDRA-10697)
 * Improve nodetool status performance for large cluster (CASSANDRA-7238)
 * Gossiper#isEnabled is not thread safe (CASSANDRA-11116)
 * Avoid major compaction mixing repaired and unrepaired sstables in DTCS (CASSANDRA-11113)
 * Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
 * (cqlsh) Display milliseconds when datetime overflows (CASSANDRA-10625)


3.3
 * Avoid infinite loop if owned range is smaller than number of
   data dirs (CASSANDRA-11034)
 * Avoid bootstrap hanging when existing nodes have no data to stream (CASSANDRA-11010)
Merged from 3.0:
 * Remove double initialization of newly added tables (CASSANDRA-11027)
 * Filter keys searcher results by target range (CASSANDRA-11104)
 * Fix deserialization of legacy read commands (CASSANDRA-11087)
 * Fix incorrect computation of deletion time in sstable metadata (CASSANDRA-11102)
 * Avoid memory leak when collecting sstable metadata (CASSANDRA-11026)
 * Mutations do not block for completion under view lock contention (CASSANDRA-10779)
 * Invalidate legacy schema tables when unloading them (CASSANDRA-11071)
 * (cqlsh) handle INSERT and UPDATE statements with LWT conditions correctly
   (CASSANDRA-11003)
 * Fix DISTINCT queries in mixed version clusters (CASSANDRA-10762)
 * Migrate build status for indexes along with legacy schema (CASSANDRA-11046)
 * Ensure SSTables for legacy KEYS indexes can be read (CASSANDRA-11045)
 * Added support for IBM zSystems architecture (CASSANDRA-11054)
 * Update CQL documentation (CASSANDRA-10899)
 * Check the column name, not cell name, for dropped columns when reading
   legacy sstables (CASSANDRA-11018)
 * Don't attempt to index clustering values of static rows (CASSANDRA-11021)
 * Remove checksum files after replaying hints (CASSANDRA-10947)
 * Support passing base table metadata to custom 2i validation (CASSANDRA-10924)
 * Ensure stale index entries are purged during reads (CASSANDRA-11013)
 * (cqlsh) Also apply --connect-timeout to control connection
   timeout (CASSANDRA-10959)
 * Fix AssertionError when removing from list using UPDATE (CASSANDRA-10954)
 * Fix UnsupportedOperationException when reading old sstable with range
   tombstone (CASSANDRA-10743)
 * MV should use the maximum timestamp of the primary key (CASSANDRA-10910)
 * Fix potential assertion error during compaction (CASSANDRA-10944)
Merged from 2.2:
 * maxPurgeableTimestamp needs to check memtables too (CASSANDRA-9949)
 * Apply change to compaction throughput in real time (CASSANDRA-10025)
 * (cqlsh) encode input correctly when saving history
 * Fix potential NPE on ORDER BY queries with IN (CASSANDRA-10955)
 * Start L0 STCS-compactions even if there is a L0 -> L1 compaction
   going (CASSANDRA-10979)
 * Make UUID LSB unique per process (CASSANDRA-7925)
 * Avoid NPE when performing sstable tasks (scrub etc.) (CASSANDRA-10980)
 * Make sure client gets tombstone overwhelmed warning (CASSANDRA-9465)
 * Fix error streaming section more than 2GB (CASSANDRA-10961)
 * Histogram buckets exposed in jmx are sorted incorrectly (CASSANDRA-10975)
 * Enable GC logging by default (CASSANDRA-10140)
 * Optimize pending range computation (CASSANDRA-9258)
 * Skip commit log and saved cache directories in SSTable version startup check (CASSANDRA-10902)
 * drop/alter user should be case sensitive (CASSANDRA-10817)
Merged from 2.1:
 * test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
 * Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
 * Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
 * Avoid NPE when incremental repair fails (CASSANDRA-10909)
 * Unmark sstables compacting once they are done in cleanup/scrub/upgradesstables (CASSANDRA-10829)
 * Allow simultaneous bootstrapping with strict consistency when no vnodes are used (CASSANDRA-11005)
 * Log a message when major compaction does not result in a single file (CASSANDRA-10847)
 * (cqlsh) fix cqlsh_copy_tests when vnodes are disabled (CASSANDRA-10997)
 * (cqlsh) Add request timeout option to cqlsh (CASSANDRA-10686)
 * Avoid AssertionError while submitting hint with LWT (CASSANDRA-10477)
 * If CompactionMetadata is not in stats file, use index summary instead (CASSANDRA-10676)
 * Retry sending gossip syn multiple times during shadow round (CASSANDRA-8072)
 * Fix pending range calculation during moves (CASSANDRA-10887)
 * Sane default (200Mbps) for inter-DC streaming througput (CASSANDRA-8708)


3.2
 * Make sure tokens don't exist in several data directories (CASSANDRA-6696)
 * Add requireAuthorization method to IAuthorizer (CASSANDRA-10852)
 * Move static JVM options to conf/jvm.options file (CASSANDRA-10494)
 * Fix CassandraVersion to accept x.y version string (CASSANDRA-10931)
 * Add forceUserDefinedCleanup to allow more flexible cleanup (CASSANDRA-10708)
 * (cqlsh) allow setting TTL with COPY (CASSANDRA-9494)
 * Fix counting of received sstables in streaming (CASSANDRA-10949)
 * Implement hints compression (CASSANDRA-9428)
 * Fix potential assertion error when reading static columns (CASSANDRA-10903)
 * Fix EstimatedHistogram creation in nodetool tablehistograms (CASSANDRA-10859)
 * Establish bootstrap stream sessions sequentially (CASSANDRA-6992)
 * Sort compactionhistory output by timestamp (CASSANDRA-10464)
 * More efficient BTree removal (CASSANDRA-9991)
 * Make tablehistograms accept the same syntax as tablestats (CASSANDRA-10149)
 * Group pending compactions based on table (CASSANDRA-10718)
 * Add compressor name in sstablemetadata output (CASSANDRA-9879)
 * Fix type casting for counter columns (CASSANDRA-10824)
 * Prevent running Cassandra as root (CASSANDRA-8142)
 * bound maximum in-flight commit log replay mutation bytes to 64 megabytes (CASSANDRA-8639)
 * Normalize all scripts (CASSANDRA-10679)
 * Make compression ratio much more accurate (CASSANDRA-10225)
 * Optimize building of Clustering object when only one is created (CASSANDRA-10409)
 * Make index building pluggable (CASSANDRA-10681)
 * Add sstable flush observer (CASSANDRA-10678)
 * Improve NTS endpoints calculation (CASSANDRA-10200)
 * Improve performance of the folderSize function (CASSANDRA-10677)
 * Add support for type casting in selection clause (CASSANDRA-10310)
 * Added graphing option to cassandra-stress (CASSANDRA-7918)
 * Abort in-progress queries that time out (CASSANDRA-7392)
 * Add transparent data encryption core classes (CASSANDRA-9945)
Merged from 3.0:
 * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
 * Avoid NoSuchElementException when executing empty batch (CASSANDRA-10711)
 * Avoid building PartitionUpdate in toString (CASSANDRA-10897)
 * Reduce heap spent when receiving many SSTables (CASSANDRA-10797)
 * Add back support for 3rd party auth providers to bulk loader (CASSANDRA-10873)
 * Eliminate the dependency on jgrapht for UDT resolution (CASSANDRA-10653)
 * (Hadoop) Close Clusters and Sessions in Hadoop Input/Output classes (CASSANDRA-10837)
 * Fix sstableloader not working with upper case keyspace name (CASSANDRA-10806)
Merged from 2.2:
 * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
 * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
 * Add new types to Stress (CASSANDRA-9556)
 * Add property to allow listening on broadcast interface (CASSANDRA-9748)
Merged from 2.1:
 * Match cassandra-loader options in COPY FROM (CASSANDRA-9303)
 * Fix binding to any address in CqlBulkRecordWriter (CASSANDRA-9309)
 * cqlsh fails to decode utf-8 characters for text typed columns (CASSANDRA-10875)
 * Log error when stream session fails (CASSANDRA-9294)
 * Fix bugs in commit log archiving startup behavior (CASSANDRA-10593)
 * (cqlsh) further optimise COPY FROM (CASSANDRA-9302)
 * Allow CREATE TABLE WITH ID (CASSANDRA-9179)
 * Make Stress compiles within eclipse (CASSANDRA-10807)
 * Cassandra Daemon should print JVM arguments (CASSANDRA-10764)
 * Allow cancellation of index summary redistribution (CASSANDRA-8805)


3.1.1
Merged from 3.0:
  * Fix upgrade data loss due to range tombstone deleting more data than then should
    (CASSANDRA-10822)


3.1
Merged from 3.0:
 * Avoid MV race during node decommission (CASSANDRA-10674)
 * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
 * Handle single-column deletions correction in materialized views
   when the column is part of the view primary key (CASSANDRA-10796)
 * Fix issue with datadir migration on upgrade (CASSANDRA-10788)
 * Fix bug with range tombstones on reverse queries and test coverage for
   AbstractBTreePartition (CASSANDRA-10059)
 * Remove 64k limit on collection elements (CASSANDRA-10374)
 * Remove unclear Indexer.indexes() method (CASSANDRA-10690)
 * Fix NPE on stream read error (CASSANDRA-10771)
 * Normalize cqlsh DESC output (CASSANDRA-10431)
 * Rejects partition range deletions when columns are specified (CASSANDRA-10739)
 * Fix error when saving cached key for old format sstable (CASSANDRA-10778)
 * Invalidate prepared statements on DROP INDEX (CASSANDRA-10758)
 * Fix SELECT statement with IN restrictions on partition key,
   ORDER BY and LIMIT (CASSANDRA-10729)
 * Improve stress performance over 1k threads (CASSANDRA-7217)
 * Wait for migration responses to complete before bootstrapping (CASSANDRA-10731)
 * Unable to create a function with argument of type Inet (CASSANDRA-10741)
 * Fix backward incompatibiliy in CqlInputFormat (CASSANDRA-10717)
 * Correctly preserve deletion info on updated rows when notifying indexers
   of single-row deletions (CASSANDRA-10694)
 * Notify indexers of partition delete during cleanup (CASSANDRA-10685)
 * Keep the file open in trySkipCache (CASSANDRA-10669)
 * Updated trigger example (CASSANDRA-10257)
Merged from 2.2:
 * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
 * Fix IllegalArgumentException in DataOutputBuffer.reallocate for large buffers (CASSANDRA-10592)
 * Show CQL help in cqlsh in web browser (CASSANDRA-7225)
 * Serialize on disk the proper SSTable compression ratio (CASSANDRA-10775)
 * Reject index queries while the index is building (CASSANDRA-8505)
 * CQL.textile syntax incorrectly includes optional keyspace for aggregate SFUNC and FINALFUNC (CASSANDRA-10747)
 * Fix JSON update with prepared statements (CASSANDRA-10631)
 * Don't do anticompaction after subrange repair (CASSANDRA-10422)
 * Fix SimpleDateType type compatibility (CASSANDRA-10027)
 * (Hadoop) fix splits calculation (CASSANDRA-10640)
 * (Hadoop) ensure that Cluster instances are always closed (CASSANDRA-10058)
Merged from 2.1:
 * Fix Stress profile parsing on Windows (CASSANDRA-10808)
 * Fix incremental repair hang when replica is down (CASSANDRA-10288)
 * Optimize the way we check if a token is repaired in anticompaction (CASSANDRA-10768)
 * Add proper error handling to stream receiver (CASSANDRA-10774)
 * Warn or fail when changing cluster topology live (CASSANDRA-10243)
 * Status command in debian/ubuntu init script doesn't work (CASSANDRA-10213)
 * Some DROP ... IF EXISTS incorrectly result in exceptions on non-existing KS (CASSANDRA-10658)
 * DeletionTime.compareTo wrong in rare cases (CASSANDRA-10749)
 * Force encoding when computing statement ids (CASSANDRA-10755)
 * Properly reject counters as map keys (CASSANDRA-10760)
 * Fix the sstable-needs-cleanup check (CASSANDRA-10740)
 * (cqlsh) Print column names before COPY operation (CASSANDRA-8935)
 * Fix CompressedInputStream for proper cleanup (CASSANDRA-10012)
 * (cqlsh) Support counters in COPY commands (CASSANDRA-9043)
 * Try next replica if not possible to connect to primary replica on
   ColumnFamilyRecordReader (CASSANDRA-2388)
 * Limit window size in DTCS (CASSANDRA-10280)
 * sstableloader does not use MAX_HEAP_SIZE env parameter (CASSANDRA-10188)
 * (cqlsh) Improve COPY TO performance and error handling (CASSANDRA-9304)
 * Create compression chunk for sending file only (CASSANDRA-10680)
 * Forbid compact clustering column type changes in ALTER TABLE (CASSANDRA-8879)
 * Reject incremental repair with subrange repair (CASSANDRA-10422)
 * Add a nodetool command to refresh size_estimates (CASSANDRA-9579)
 * Invalidate cache after stream receive task is completed (CASSANDRA-10341)
 * Reject counter writes in CQLSSTableWriter (CASSANDRA-10258)
 * Remove superfluous COUNTER_MUTATION stage mapping (CASSANDRA-10605)


3.0
 * Fix AssertionError while flushing memtable due to materialized views
   incorrectly inserting empty rows (CASSANDRA-10614)
 * Store UDA initcond as CQL literal in the schema table, instead of a blob (CASSANDRA-10650)
 * Don't use -1 for the position of partition key in schema (CASSANDRA-10491)
 * Fix distinct queries in mixed version cluster (CASSANDRA-10573)
 * Skip sstable on clustering in names query (CASSANDRA-10571)
 * Remove value skipping as it breaks read-repair (CASSANDRA-10655)
 * Fix bootstrapping with MVs (CASSANDRA-10621)
 * Make sure EACH_QUORUM reads are using NTS (CASSANDRA-10584)
 * Fix MV replica filtering for non-NetworkTopologyStrategy (CASSANDRA-10634)
 * (Hadoop) fix CIF describeSplits() not handling 0 size estimates (CASSANDRA-10600)
 * Fix reading of legacy sstables (CASSANDRA-10590)
 * Use CQL type names in schema metadata tables (CASSANDRA-10365)
 * Guard batchlog replay against integer division by zero (CASSANDRA-9223)
 * Fix bug when adding a column to thrift with the same name than a primary key (CASSANDRA-10608)
 * Add client address argument to IAuthenticator::newSaslNegotiator (CASSANDRA-8068)
 * Fix implementation of LegacyLayout.LegacyBoundComparator (CASSANDRA-10602)
 * Don't use 'names query' read path for counters (CASSANDRA-10572)
 * Fix backward compatibility for counters (CASSANDRA-10470)
 * Remove memory_allocator paramter from cassandra.yaml (CASSANDRA-10581,10628)
 * Execute the metadata reload task of all registered indexes on CFS::reload (CASSANDRA-10604)
 * Fix thrift cas operations with defined columns (CASSANDRA-10576)
 * Fix PartitionUpdate.operationCount()for updates with static column operations (CASSANDRA-10606)
 * Fix thrift get() queries with defined columns (CASSANDRA-10586)
 * Fix marking of indexes as built and removed (CASSANDRA-10601)
 * Skip initialization of non-registered 2i instances, remove Index::getIndexName (CASSANDRA-10595)
 * Fix batches on multiple tables (CASSANDRA-10554)
 * Ensure compaction options are validated when updating KeyspaceMetadata (CASSANDRA-10569)
 * Flatten Iterator Transformation Hierarchy (CASSANDRA-9975)
 * Remove token generator (CASSANDRA-5261)
 * RolesCache should not be created for any authenticator that does not requireAuthentication (CASSANDRA-10562)
 * Fix LogTransaction checking only a single directory for files (CASSANDRA-10421)
 * Fix handling of range tombstones when reading old format sstables (CASSANDRA-10360)
 * Aggregate with Initial Condition fails with C* 3.0 (CASSANDRA-10367)
Merged from 2.2:
 * (cqlsh) show partial trace if incomplete after max_trace_wait (CASSANDRA-7645)
 * Use most up-to-date version of schema for system tables (CASSANDRA-10652)
 * Deprecate memory_allocator in cassandra.yaml (CASSANDRA-10581,10628)
 * Expose phi values from failure detector via JMX and tweak debug
   and trace logging (CASSANDRA-9526)
 * Fix IllegalArgumentException in DataOutputBuffer.reallocate for large buffers (CASSANDRA-10592)
Merged from 2.1:
 * Shutdown compaction in drain to prevent leak (CASSANDRA-10079)
 * (cqlsh) fix COPY using wrong variable name for time_format (CASSANDRA-10633)
 * Do not run SizeEstimatesRecorder if a node is not a member of the ring (CASSANDRA-9912)
 * Improve handling of dead nodes in gossip (CASSANDRA-10298)
 * Fix logback-tools.xml incorrectly configured for outputing to System.err
   (CASSANDRA-9937)
 * Fix streaming to catch exception so retry not fail (CASSANDRA-10557)
 * Add validation method to PerRowSecondaryIndex (CASSANDRA-10092)
 * Support encrypted and plain traffic on the same port (CASSANDRA-10559)
 * Do STCS in DTCS windows (CASSANDRA-10276)
 * Avoid repetition of JVM_OPTS in debian package (CASSANDRA-10251)
 * Fix potential NPE from handling result of SIM.highestSelectivityIndex (CASSANDRA-10550)
 * Fix paging issues with partitions containing only static columns data (CASSANDRA-10381)
 * Fix conditions on static columns (CASSANDRA-10264)
 * AssertionError: attempted to delete non-existing file CommitLog (CASSANDRA-10377)
 * Fix sorting for queries with an IN condition on partition key columns (CASSANDRA-10363)


3.0-rc2
 * Fix SELECT DISTINCT queries between 2.2.2 nodes and 3.0 nodes (CASSANDRA-10473)
 * Remove circular references in SegmentedFile (CASSANDRA-10543)
 * Ensure validation of indexed values only occurs once per-partition (CASSANDRA-10536)
 * Fix handling of static columns for range tombstones in thrift (CASSANDRA-10174)
 * Support empty ColumnFilter for backward compatility on empty IN (CASSANDRA-10471)
 * Remove Pig support (CASSANDRA-10542)
 * Fix LogFile throws Exception when assertion is disabled (CASSANDRA-10522)
 * Revert CASSANDRA-7486, make CMS default GC, move GC config to
   conf/jvm.options (CASSANDRA-10403)
 * Fix TeeingAppender causing some logs to be truncated/empty (CASSANDRA-10447)
 * Allow EACH_QUORUM for reads (CASSANDRA-9602)
 * Fix potential ClassCastException while upgrading (CASSANDRA-10468)
 * Fix NPE in MVs on update (CASSANDRA-10503)
 * Only include modified cell data in indexing deltas (CASSANDRA-10438)
 * Do not load keyspace when creating sstable writer (CASSANDRA-10443)
 * If node is not yet gossiping write all MV updates to batchlog only (CASSANDRA-10413)
 * Re-populate token metadata after commit log recovery (CASSANDRA-10293)
 * Provide additional metrics for materialized views (CASSANDRA-10323)
 * Flush system schema tables after local schema changes (CASSANDRA-10429)
Merged from 2.2:
 * Reduce contention getting instances of CompositeType (CASSANDRA-10433)
 * Fix the regression when using LIMIT with aggregates (CASSANDRA-10487)
 * Avoid NoClassDefFoundError during DataDescriptor initialization on windows (CASSANDRA-10412)
 * Preserve case of quoted Role & User names (CASSANDRA-10394)
 * cqlsh pg-style-strings broken (CASSANDRA-10484)
 * cqlsh prompt includes name of keyspace after failed `use` statement (CASSANDRA-10369)
Merged from 2.1:
 * (cqlsh) Distinguish negative and positive infinity in output (CASSANDRA-10523)
 * (cqlsh) allow custom time_format for COPY TO (CASSANDRA-8970)
 * Don't allow startup if the node's rack has changed (CASSANDRA-10242)
 * (cqlsh) show partial trace if incomplete after max_trace_wait (CASSANDRA-7645)
 * Allow LOCAL_JMX to be easily overridden (CASSANDRA-10275)
 * Mark nodes as dead even if they've already left (CASSANDRA-10205)


3.0.0-rc1
 * Fix mixed version read request compatibility for compact static tables
   (CASSANDRA-10373)
 * Fix paging of DISTINCT with static and IN (CASSANDRA-10354)
 * Allow MATERIALIZED VIEW's SELECT statement to restrict primary key
   columns (CASSANDRA-9664)
 * Move crc_check_chance out of compression options (CASSANDRA-9839)
 * Fix descending iteration past end of BTreeSearchIterator (CASSANDRA-10301)
 * Transfer hints to a different node on decommission (CASSANDRA-10198)
 * Check partition keys for CAS operations during stmt validation (CASSANDRA-10338)
 * Add custom query expressions to SELECT (CASSANDRA-10217)
 * Fix minor bugs in MV handling (CASSANDRA-10362)
 * Allow custom indexes with 0,1 or multiple target columns (CASSANDRA-10124)
 * Improve MV schema representation (CASSANDRA-9921)
 * Add flag to enable/disable coordinator batchlog for MV writes (CASSANDRA-10230)
 * Update cqlsh COPY for new internal driver serialization interface (CASSANDRA-10318)
 * Give index implementations more control over rebuild operations (CASSANDRA-10312)
 * Update index file format (CASSANDRA-10314)
 * Add "shadowable" row tombstones to deal with mv timestamp issues (CASSANDRA-10261)
 * CFS.loadNewSSTables() broken for pre-3.0 sstables
 * Cache selected index in read command to reduce lookups (CASSANDRA-10215)
 * Small optimizations of sstable index serialization (CASSANDRA-10232)
 * Support for both encrypted and unencrypted native transport connections (CASSANDRA-9590)
Merged from 2.2:
 * Configurable page size in cqlsh (CASSANDRA-9855)
 * Defer default role manager setup until all nodes are on 2.2+ (CASSANDRA-9761)
 * Handle missing RoleManager in config after upgrade to 2.2 (CASSANDRA-10209)
Merged from 2.1:
 * Bulk Loader API could not tolerate even node failure (CASSANDRA-10347)
 * Avoid misleading pushed notifications when multiple nodes
   share an rpc_address (CASSANDRA-10052)
 * Fix dropping undroppable when message queue is full (CASSANDRA-10113)
 * Fix potential ClassCastException during paging (CASSANDRA-10352)
 * Prevent ALTER TYPE from creating circular references (CASSANDRA-10339)
 * Fix cache handling of 2i and base tables (CASSANDRA-10155, 10359)
 * Fix NPE in nodetool compactionhistory (CASSANDRA-9758)
 * (Pig) support BulkOutputFormat as a URL parameter (CASSANDRA-7410)
 * BATCH statement is broken in cqlsh (CASSANDRA-10272)
 * (cqlsh) Make cqlsh PEP8 Compliant (CASSANDRA-10066)
 * (cqlsh) Fix error when starting cqlsh with --debug (CASSANDRA-10282)
 * Scrub, Cleanup and Upgrade do not unmark compacting until all operations
   have completed, regardless of the occurence of exceptions (CASSANDRA-10274)


3.0.0-beta2
 * Fix columns returned by AbstractBtreePartitions (CASSANDRA-10220)
 * Fix backward compatibility issue due to AbstractBounds serialization bug (CASSANDRA-9857)
 * Fix startup error when upgrading nodes (CASSANDRA-10136)
 * Base table PRIMARY KEY can be assumed to be NOT NULL in MV creation (CASSANDRA-10147)
 * Improve batchlog write patch (CASSANDRA-9673)
 * Re-apply MaterializedView updates on commitlog replay (CASSANDRA-10164)
 * Require AbstractType.isByteOrderComparable declaration in constructor (CASSANDRA-9901)
 * Avoid digest mismatch on upgrade to 3.0 (CASSANDRA-9554)
 * Fix Materialized View builder when adding multiple MVs (CASSANDRA-10156)
 * Choose better poolingOptions for protocol v4 in cassandra-stress (CASSANDRA-10182)
 * Fix LWW bug affecting Materialized Views (CASSANDRA-10197)
 * Ensures frozen sets and maps are always sorted (CASSANDRA-10162)
 * Don't deadlock when flushing CFS backed custom indexes (CASSANDRA-10181)
 * Fix double flushing of secondary index tables (CASSANDRA-10180)
 * Fix incorrect handling of range tombstones in thrift (CASSANDRA-10046)
 * Only use batchlog when paired materialized view replica is remote (CASSANDRA-10061)
 * Reuse TemporalRow when updating multiple MaterializedViews (CASSANDRA-10060)
 * Validate gc_grace_seconds for batchlog writes and MVs (CASSANDRA-9917)
 * Fix sstablerepairedset (CASSANDRA-10132)
Merged from 2.2:
 * Cancel transaction for sstables we wont redistribute index summary
   for (CASSANDRA-10270)
 * Retry snapshot deletion after compaction and gc on Windows (CASSANDRA-10222)
 * Fix failure to start with space in directory path on Windows (CASSANDRA-10239)
 * Fix repair hang when snapshot failed (CASSANDRA-10057)
 * Fall back to 1/4 commitlog volume for commitlog_total_space on small disks
   (CASSANDRA-10199)
Merged from 2.1:
 * Added configurable warning threshold for GC duration (CASSANDRA-8907)
 * Fix handling of streaming EOF (CASSANDRA-10206)
 * Only check KeyCache when it is enabled
 * Change streaming_socket_timeout_in_ms default to 1 hour (CASSANDRA-8611)
 * (cqlsh) update list of CQL keywords (CASSANDRA-9232)
 * Add nodetool gettraceprobability command (CASSANDRA-10234)
Merged from 2.0:
 * Fix rare race where older gossip states can be shadowed (CASSANDRA-10366)
 * Fix consolidating racks violating the RF contract (CASSANDRA-10238)
 * Disallow decommission when node is in drained state (CASSANDRA-8741)


2.2.1
 * Fix race during construction of commit log (CASSANDRA-10049)
 * Fix LeveledCompactionStrategyTest (CASSANDRA-9757)
 * Fix broken UnbufferedDataOutputStreamPlus.writeUTF (CASSANDRA-10203)
 * (cqlsh) default load-from-file encoding to utf-8 (CASSANDRA-9898)
 * Avoid returning Permission.NONE when failing to query users table (CASSANDRA-10168)
 * (cqlsh) add CLEAR command (CASSANDRA-10086)
 * Support string literals as Role names for compatibility (CASSANDRA-10135)
Merged from 2.1:
 * Only check KeyCache when it is enabled
 * Change streaming_socket_timeout_in_ms default to 1 hour (CASSANDRA-8611)
 * (cqlsh) update list of CQL keywords (CASSANDRA-9232)


3.0.0-beta1
 * Redesign secondary index API (CASSANDRA-9459, 7771, 9041)
 * Fix throwing ReadFailure instead of ReadTimeout on range queries (CASSANDRA-10125)
 * Rewrite hinted handoff (CASSANDRA-6230)
 * Fix query on static compact tables (CASSANDRA-10093)
 * Fix race during construction of commit log (CASSANDRA-10049)
 * Add option to only purge repaired tombstones (CASSANDRA-6434)
 * Change authorization handling for MVs (CASSANDRA-9927)
 * Add custom JMX enabled executor for UDF sandbox (CASSANDRA-10026)
 * Fix row deletion bug for Materialized Views (CASSANDRA-10014)
 * Support mixed-version clusters with Cassandra 2.1 and 2.2 (CASSANDRA-9704)
 * Fix multiple slices on RowSearchers (CASSANDRA-10002)
 * Fix bug in merging of collections (CASSANDRA-10001)
 * Optimize batchlog replay to avoid full scans (CASSANDRA-7237)
 * Repair improvements when using vnodes (CASSANDRA-5220)
 * Disable scripted UDFs by default (CASSANDRA-9889)
 * Bytecode inspection for Java-UDFs (CASSANDRA-9890)
 * Use byte to serialize MT hash length (CASSANDRA-9792)
 * Replace usage of Adler32 with CRC32 (CASSANDRA-8684)
 * Fix migration to new format from 2.1 SSTable (CASSANDRA-10006)
 * SequentialWriter should extend BufferedDataOutputStreamPlus (CASSANDRA-9500)
 * Use the same repairedAt timestamp within incremental repair session (CASSANDRA-9111)
Merged from 2.2:
 * Allow count(*) and count(1) to be use as normal aggregation (CASSANDRA-10114)
 * An NPE is thrown if the column name is unknown for an IN relation (CASSANDRA-10043)
 * Apply commit_failure_policy to more errors on startup (CASSANDRA-9749)
 * Fix histogram overflow exception (CASSANDRA-9973)
 * Route gossip messages over dedicated socket (CASSANDRA-9237)
 * Add checksum to saved cache files (CASSANDRA-9265)
 * Log warning when using an aggregate without partition key (CASSANDRA-9737)
Merged from 2.1:
 * (cqlsh) Allow encoding to be set through command line (CASSANDRA-10004)
 * Add new JMX methods to change local compaction strategy (CASSANDRA-9965)
 * Write hints for paxos commits (CASSANDRA-7342)
 * (cqlsh) Fix timestamps before 1970 on Windows, always
   use UTC for timestamp display (CASSANDRA-10000)
 * (cqlsh) Avoid overwriting new config file with old config
   when both exist (CASSANDRA-9777)
 * Release snapshot selfRef when doing snapshot repair (CASSANDRA-9998)
 * Cannot replace token does not exist - DN node removed as Fat Client (CASSANDRA-9871)
Merged from 2.0:
 * Don't cast expected bf size to an int (CASSANDRA-9959)
 * Make getFullyExpiredSSTables less expensive (CASSANDRA-9882)


3.0.0-alpha1
 * Implement proper sandboxing for UDFs (CASSANDRA-9402)
 * Simplify (and unify) cleanup of compaction leftovers (CASSANDRA-7066)
 * Allow extra schema definitions in cassandra-stress yaml (CASSANDRA-9850)
 * Metrics should use up to date nomenclature (CASSANDRA-9448)
 * Change CREATE/ALTER TABLE syntax for compression (CASSANDRA-8384)
 * Cleanup crc and adler code for java 8 (CASSANDRA-9650)
 * Storage engine refactor (CASSANDRA-8099, 9743, 9746, 9759, 9781, 9808, 9825,
   9848, 9705, 9859, 9867, 9874, 9828, 9801)
 * Update Guava to 18.0 (CASSANDRA-9653)
 * Bloom filter false positive ratio is not honoured (CASSANDRA-8413)
 * New option for cassandra-stress to leave a ratio of columns null (CASSANDRA-9522)
 * Change hinted_handoff_enabled yaml setting, JMX (CASSANDRA-9035)
 * Add algorithmic token allocation (CASSANDRA-7032)
 * Add nodetool command to replay batchlog (CASSANDRA-9547)
 * Make file buffer cache independent of paths being read (CASSANDRA-8897)
 * Remove deprecated legacy Hadoop code (CASSANDRA-9353)
 * Decommissioned nodes will not rejoin the cluster (CASSANDRA-8801)
 * Change gossip stabilization to use endpoit size (CASSANDRA-9401)
 * Change default garbage collector to G1 (CASSANDRA-7486)
 * Populate TokenMetadata early during startup (CASSANDRA-9317)
 * Undeprecate cache recentHitRate (CASSANDRA-6591)
 * Add support for selectively varint encoding fields (CASSANDRA-9499, 9865)
 * Materialized Views (CASSANDRA-6477)
Merged from 2.2:
 * Avoid grouping sstables for anticompaction with DTCS (CASSANDRA-9900)
 * UDF / UDA execution time in trace (CASSANDRA-9723)
 * Fix broken internode SSL (CASSANDRA-9884)
Merged from 2.1:
 * Add new JMX methods to change local compaction strategy (CASSANDRA-9965)
 * Fix handling of enable/disable autocompaction (CASSANDRA-9899)
 * Add consistency level to tracing ouput (CASSANDRA-9827)
 * Remove repair snapshot leftover on startup (CASSANDRA-7357)
 * Use random nodes for batch log when only 2 racks (CASSANDRA-8735)
 * Ensure atomicity inside thrift and stream session (CASSANDRA-7757)
 * Fix nodetool info error when the node is not joined (CASSANDRA-9031)
Merged from 2.0:
 * Log when messages are dropped due to cross_node_timeout (CASSANDRA-9793)
 * Don't track hotness when opening from snapshot for validation (CASSANDRA-9382)


2.2.0
 * Allow the selection of columns together with aggregates (CASSANDRA-9767)
 * Fix cqlsh copy methods and other windows specific issues (CASSANDRA-9795)
 * Don't wrap byte arrays in SequentialWriter (CASSANDRA-9797)
 * sum() and avg() functions missing for smallint and tinyint types (CASSANDRA-9671)
 * Revert CASSANDRA-9542 (allow native functions in UDA) (CASSANDRA-9771)
Merged from 2.1:
 * Fix MarshalException when upgrading superColumn family (CASSANDRA-9582)
 * Fix broken logging for "empty" flushes in Memtable (CASSANDRA-9837)
 * Handle corrupt files on startup (CASSANDRA-9686)
 * Fix clientutil jar and tests (CASSANDRA-9760)
 * (cqlsh) Allow the SSL protocol version to be specified through the
    config file or environment variables (CASSANDRA-9544)
Merged from 2.0:
 * Add tool to find why expired sstables are not getting dropped (CASSANDRA-10015)
 * Remove erroneous pending HH tasks from tpstats/jmx (CASSANDRA-9129)
 * Don't cast expected bf size to an int (CASSANDRA-9959)
 * checkForEndpointCollision fails for legitimate collisions (CASSANDRA-9765)
 * Complete CASSANDRA-8448 fix (CASSANDRA-9519)
 * Don't include auth credentials in debug log (CASSANDRA-9682)
 * Can't transition from write survey to normal mode (CASSANDRA-9740)
 * Scrub (recover) sstables even when -Index.db is missing (CASSANDRA-9591)
 * Fix growing pending background compaction (CASSANDRA-9662)


2.2.0-rc2
 * Re-enable memory-mapped I/O on Windows (CASSANDRA-9658)
 * Warn when an extra-large partition is compacted (CASSANDRA-9643)
 * (cqlsh) Allow setting the initial connection timeout (CASSANDRA-9601)
 * BulkLoader has --transport-factory option but does not use it (CASSANDRA-9675)
 * Allow JMX over SSL directly from nodetool (CASSANDRA-9090)
 * Update cqlsh for UDFs (CASSANDRA-7556)
 * Change Windows kernel default timer resolution (CASSANDRA-9634)
 * Deprected sstable2json and json2sstable (CASSANDRA-9618)
 * Allow native functions in user-defined aggregates (CASSANDRA-9542)
 * Don't repair system_distributed by default (CASSANDRA-9621)
 * Fix mixing min, max, and count aggregates for blob type (CASSANRA-9622)
 * Rename class for DATE type in Java driver (CASSANDRA-9563)
 * Duplicate compilation of UDFs on coordinator (CASSANDRA-9475)
 * Fix connection leak in CqlRecordWriter (CASSANDRA-9576)
 * Mlockall before opening system sstables & remove boot_without_jna option (CASSANDRA-9573)
 * Add functions to convert timeuuid to date or time, deprecate dateOf and unixTimestampOf (CASSANDRA-9229)
 * Make sure we cancel non-compacting sstables from LifecycleTransaction (CASSANDRA-9566)
 * Fix deprecated repair JMX API (CASSANDRA-9570)
 * Add logback metrics (CASSANDRA-9378)
 * Update and refactor ant test/test-compression to run the tests in parallel (CASSANDRA-9583)
 * Fix upgrading to new directory for secondary index (CASSANDRA-9687)
Merged from 2.1:
 * (cqlsh) Fix bad check for CQL compatibility when DESCRIBE'ing
   COMPACT STORAGE tables with no clustering columns
 * Eliminate strong self-reference chains in sstable ref tidiers (CASSANDRA-9656)
 * Ensure StreamSession uses canonical sstable reader instances (CASSANDRA-9700)
 * Ensure memtable book keeping is not corrupted in the event we shrink usage (CASSANDRA-9681)
 * Update internal python driver for cqlsh (CASSANDRA-9064)
 * Fix IndexOutOfBoundsException when inserting tuple with too many
   elements using the string literal notation (CASSANDRA-9559)
 * Enable describe on indices (CASSANDRA-7814)
 * Fix incorrect result for IN queries where column not found (CASSANDRA-9540)
 * ColumnFamilyStore.selectAndReference may block during compaction (CASSANDRA-9637)
 * Fix bug in cardinality check when compacting (CASSANDRA-9580)
 * Fix memory leak in Ref due to ConcurrentLinkedQueue.remove() behaviour (CASSANDRA-9549)
 * Make rebuild only run one at a time (CASSANDRA-9119)
Merged from 2.0:
 * Avoid NPE in AuthSuccess#decode (CASSANDRA-9727)
 * Add listen_address to system.local (CASSANDRA-9603)
 * Bug fixes to resultset metadata construction (CASSANDRA-9636)
 * Fix setting 'durable_writes' in ALTER KEYSPACE (CASSANDRA-9560)
 * Avoids ballot clash in Paxos (CASSANDRA-9649)
 * Improve trace messages for RR (CASSANDRA-9479)
 * Fix suboptimal secondary index selection when restricted
   clustering column is also indexed (CASSANDRA-9631)
 * (cqlsh) Add min_threshold to DTCS option autocomplete (CASSANDRA-9385)
 * Fix error message when attempting to create an index on a column
   in a COMPACT STORAGE table with clustering columns (CASSANDRA-9527)
 * 'WITH WITH' in alter keyspace statements causes NPE (CASSANDRA-9565)
 * Expose some internals of SelectStatement for inspection (CASSANDRA-9532)
 * ArrivalWindow should use primitives (CASSANDRA-9496)
 * Periodically submit background compaction tasks (CASSANDRA-9592)
 * Set HAS_MORE_PAGES flag to false when PagingState is null (CASSANDRA-9571)


2.2.0-rc1
 * Compressed commit log should measure compressed space used (CASSANDRA-9095)
 * Fix comparison bug in CassandraRoleManager#collectRoles (CASSANDRA-9551)
 * Add tinyint,smallint,time,date support for UDFs (CASSANDRA-9400)
 * Deprecates SSTableSimpleWriter and SSTableSimpleUnsortedWriter (CASSANDRA-9546)
 * Empty INITCOND treated as null in aggregate (CASSANDRA-9457)
 * Remove use of Cell in Thrift MapReduce classes (CASSANDRA-8609)
 * Integrate pre-release Java Driver 2.2-rc1, custom build (CASSANDRA-9493)
 * Clean up gossiper logic for old versions (CASSANDRA-9370)
 * Fix custom payload coding/decoding to match the spec (CASSANDRA-9515)
 * ant test-all results incomplete when parsed (CASSANDRA-9463)
 * Disallow frozen<> types in function arguments and return types for
   clarity (CASSANDRA-9411)
 * Static Analysis to warn on unsafe use of Autocloseable instances (CASSANDRA-9431)
 * Update commitlog archiving examples now that commitlog segments are
   not recycled (CASSANDRA-9350)
 * Extend Transactional API to sstable lifecycle management (CASSANDRA-8568)
 * (cqlsh) Add support for native protocol 4 (CASSANDRA-9399)
 * Ensure that UDF and UDAs are keyspace-isolated (CASSANDRA-9409)
 * Revert CASSANDRA-7807 (tracing completion client notifications) (CASSANDRA-9429)
 * Add ability to stop compaction by ID (CASSANDRA-7207)
 * Let CassandraVersion handle SNAPSHOT version (CASSANDRA-9438)
Merged from 2.1:
 * (cqlsh) Fix using COPY through SOURCE or -f (CASSANDRA-9083)
 * Fix occasional lack of `system` keyspace in schema tables (CASSANDRA-8487)
 * Use ProtocolError code instead of ServerError code for native protocol
   error responses to unsupported protocol versions (CASSANDRA-9451)
 * Default commitlog_sync_batch_window_in_ms changed to 2ms (CASSANDRA-9504)
 * Fix empty partition assertion in unsorted sstable writing tools (CASSANDRA-9071)
 * Ensure truncate without snapshot cannot produce corrupt responses (CASSANDRA-9388)
 * Consistent error message when a table mixes counter and non-counter
   columns (CASSANDRA-9492)
 * Avoid getting unreadable keys during anticompaction (CASSANDRA-9508)
 * (cqlsh) Better float precision by default (CASSANDRA-9224)
 * Improve estimated row count (CASSANDRA-9107)
 * Optimize range tombstone memory footprint (CASSANDRA-8603)
 * Use configured gcgs in anticompaction (CASSANDRA-9397)
Merged from 2.0:
 * Don't accumulate more range than necessary in RangeTombstone.Tracker (CASSANDRA-9486)
 * Add broadcast and rpc addresses to system.local (CASSANDRA-9436)
 * Always mark sstable suspect when corrupted (CASSANDRA-9478)
 * Add database users and permissions to CQL3 documentation (CASSANDRA-7558)
 * Allow JVM_OPTS to be passed to standalone tools (CASSANDRA-5969)
 * Fix bad condition in RangeTombstoneList (CASSANDRA-9485)
 * Fix potential StackOverflow when setting CrcCheckChance over JMX (CASSANDRA-9488)
 * Fix null static columns in pages after the first, paged reversed
   queries (CASSANDRA-8502)
 * Fix counting cache serialization in request metrics (CASSANDRA-9466)
 * Add option not to validate atoms during scrub (CASSANDRA-9406)


2.2.0-beta1
 * Introduce Transactional API for internal state changes (CASSANDRA-8984)
 * Add a flag in cassandra.yaml to enable UDFs (CASSANDRA-9404)
 * Better support of null for UDF (CASSANDRA-8374)
 * Use ecj instead of javassist for UDFs (CASSANDRA-8241)
 * faster async logback configuration for tests (CASSANDRA-9376)
 * Add `smallint` and `tinyint` data types (CASSANDRA-8951)
 * Avoid thrift schema creation when native driver is used in stress tool (CASSANDRA-9374)
 * Make Functions.declared thread-safe
 * Add client warnings to native protocol v4 (CASSANDRA-8930)
 * Allow roles cache to be invalidated (CASSANDRA-8967)
 * Upgrade Snappy (CASSANDRA-9063)
 * Don't start Thrift rpc by default (CASSANDRA-9319)
 * Only stream from unrepaired sstables with incremental repair (CASSANDRA-8267)
 * Aggregate UDFs allow SFUNC return type to differ from STYPE if FFUNC specified (CASSANDRA-9321)
 * Remove Thrift dependencies in bundled tools (CASSANDRA-8358)
 * Disable memory mapping of hsperfdata file for JVM statistics (CASSANDRA-9242)
 * Add pre-startup checks to detect potential incompatibilities (CASSANDRA-8049)
 * Distinguish between null and unset in protocol v4 (CASSANDRA-7304)
 * Add user/role permissions for user-defined functions (CASSANDRA-7557)
 * Allow cassandra config to be updated to restart daemon without unloading classes (CASSANDRA-9046)
 * Don't initialize compaction writer before checking if iter is empty (CASSANDRA-9117)
 * Don't execute any functions at prepare-time (CASSANDRA-9037)
 * Share file handles between all instances of a SegmentedFile (CASSANDRA-8893)
 * Make it possible to major compact LCS (CASSANDRA-7272)
 * Make FunctionExecutionException extend RequestExecutionException
   (CASSANDRA-9055)
 * Add support for SELECT JSON, INSERT JSON syntax and new toJson(), fromJson()
   functions (CASSANDRA-7970)
 * Optimise max purgeable timestamp calculation in compaction (CASSANDRA-8920)
 * Constrain internode message buffer sizes, and improve IO class hierarchy (CASSANDRA-8670)
 * New tool added to validate all sstables in a node (CASSANDRA-5791)
 * Push notification when tracing completes for an operation (CASSANDRA-7807)
 * Delay "node up" and "node added" notifications until native protocol server is started (CASSANDRA-8236)
 * Compressed Commit Log (CASSANDRA-6809)
 * Optimise IntervalTree (CASSANDRA-8988)
 * Add a key-value payload for third party usage (CASSANDRA-8553, 9212)
 * Bump metrics-reporter-config dependency for metrics 3.0 (CASSANDRA-8149)
 * Partition intra-cluster message streams by size, not type (CASSANDRA-8789)
 * Add WriteFailureException to native protocol, notify coordinator of
   write failures (CASSANDRA-8592)
 * Convert SequentialWriter to nio (CASSANDRA-8709)
 * Add role based access control (CASSANDRA-7653, 8650, 7216, 8760, 8849, 8761, 8850)
 * Record client ip address in tracing sessions (CASSANDRA-8162)
 * Indicate partition key columns in response metadata for prepared
   statements (CASSANDRA-7660)
 * Merge UUIDType and TimeUUIDType parse logic (CASSANDRA-8759)
 * Avoid memory allocation when searching index summary (CASSANDRA-8793)
 * Optimise (Time)?UUIDType Comparisons (CASSANDRA-8730)
 * Make CRC32Ex into a separate maven dependency (CASSANDRA-8836)
 * Use preloaded jemalloc w/ Unsafe (CASSANDRA-8714, 9197)
 * Avoid accessing partitioner through StorageProxy (CASSANDRA-8244, 8268)
 * Upgrade Metrics library and remove depricated metrics (CASSANDRA-5657)
 * Serializing Row cache alternative, fully off heap (CASSANDRA-7438)
 * Duplicate rows returned when in clause has repeated values (CASSANDRA-6706)
 * Make CassandraException unchecked, extend RuntimeException (CASSANDRA-8560)
 * Support direct buffer decompression for reads (CASSANDRA-8464)
 * DirectByteBuffer compatible LZ4 methods (CASSANDRA-7039)
 * Group sstables for anticompaction correctly (CASSANDRA-8578)
 * Add ReadFailureException to native protocol, respond
   immediately when replicas encounter errors while handling
   a read request (CASSANDRA-7886)
 * Switch CommitLogSegment from RandomAccessFile to nio (CASSANDRA-8308)
 * Allow mixing token and partition key restrictions (CASSANDRA-7016)
 * Support index key/value entries on map collections (CASSANDRA-8473)
 * Modernize schema tables (CASSANDRA-8261)
 * Support for user-defined aggregation functions (CASSANDRA-8053)
 * Fix NPE in SelectStatement with empty IN values (CASSANDRA-8419)
 * Refactor SelectStatement, return IN results in natural order instead
   of IN value list order and ignore duplicate values in partition key IN restrictions (CASSANDRA-7981)
 * Support UDTs, tuples, and collections in user-defined
   functions (CASSANDRA-7563)
 * Fix aggregate fn results on empty selection, result column name,
   and cqlsh parsing (CASSANDRA-8229)
 * Mark sstables as repaired after full repair (CASSANDRA-7586)
 * Extend Descriptor to include a format value and refactor reader/writer
   APIs (CASSANDRA-7443)
 * Integrate JMH for microbenchmarks (CASSANDRA-8151)
 * Keep sstable levels when bootstrapping (CASSANDRA-7460)
 * Add Sigar library and perform basic OS settings check on startup (CASSANDRA-7838)
 * Support for aggregation functions (CASSANDRA-4914)
 * Remove cassandra-cli (CASSANDRA-7920)
 * Accept dollar quoted strings in CQL (CASSANDRA-7769)
 * Make assassinate a first class command (CASSANDRA-7935)
 * Support IN clause on any partition key column (CASSANDRA-7855)
 * Support IN clause on any clustering column (CASSANDRA-4762)
 * Improve compaction logging (CASSANDRA-7818)
 * Remove YamlFileNetworkTopologySnitch (CASSANDRA-7917)
 * Do anticompaction in groups (CASSANDRA-6851)
 * Support user-defined functions (CASSANDRA-7395, 7526, 7562, 7740, 7781, 7929,
   7924, 7812, 8063, 7813, 7708)
 * Permit configurable timestamps with cassandra-stress (CASSANDRA-7416)
 * Move sstable RandomAccessReader to nio2, which allows using the
   FILE_SHARE_DELETE flag on Windows (CASSANDRA-4050)
 * Remove CQL2 (CASSANDRA-5918)
 * Optimize fetching multiple cells by name (CASSANDRA-6933)
 * Allow compilation in java 8 (CASSANDRA-7028)
 * Make incremental repair default (CASSANDRA-7250)
 * Enable code coverage thru JaCoCo (CASSANDRA-7226)
 * Switch external naming of 'column families' to 'tables' (CASSANDRA-4369)
 * Shorten SSTable path (CASSANDRA-6962)
 * Use unsafe mutations for most unit tests (CASSANDRA-6969)
 * Fix race condition during calculation of pending ranges (CASSANDRA-7390)
 * Fail on very large batch sizes (CASSANDRA-8011)
 * Improve concurrency of repair (CASSANDRA-6455, 8208, 9145)
 * Select optimal CRC32 implementation at runtime (CASSANDRA-8614)
 * Evaluate MurmurHash of Token once per query (CASSANDRA-7096)
 * Generalize progress reporting (CASSANDRA-8901)
 * Resumable bootstrap streaming (CASSANDRA-8838, CASSANDRA-8942)
 * Allow scrub for secondary index (CASSANDRA-5174)
 * Save repair data to system table (CASSANDRA-5839)
 * fix nodetool names that reference column families (CASSANDRA-8872)
 Merged from 2.1:
 * Warn on misuse of unlogged batches (CASSANDRA-9282)
 * Failure detector detects and ignores local pauses (CASSANDRA-9183)
 * Add utility class to support for rate limiting a given log statement (CASSANDRA-9029)
 * Add missing consistency levels to cassandra-stess (CASSANDRA-9361)
 * Fix commitlog getCompletedTasks to not increment (CASSANDRA-9339)
 * Fix for harmless exceptions logged as ERROR (CASSANDRA-8564)
 * Delete processed sstables in sstablesplit/sstableupgrade (CASSANDRA-8606)
 * Improve sstable exclusion from partition tombstones (CASSANDRA-9298)
 * Validate the indexed column rather than the cell's contents for 2i (CASSANDRA-9057)
 * Add support for top-k custom 2i queries (CASSANDRA-8717)
 * Fix error when dropping table during compaction (CASSANDRA-9251)
 * cassandra-stress supports validation operations over user profiles (CASSANDRA-8773)
 * Add support for rate limiting log messages (CASSANDRA-9029)
 * Log the partition key with tombstone warnings (CASSANDRA-8561)
 * Reduce runWithCompactionsDisabled poll interval to 1ms (CASSANDRA-9271)
 * Fix PITR commitlog replay (CASSANDRA-9195)
 * GCInspector logs very different times (CASSANDRA-9124)
 * Fix deleting from an empty list (CASSANDRA-9198)
 * Update tuple and collection types that use a user-defined type when that UDT
   is modified (CASSANDRA-9148, CASSANDRA-9192)
 * Use higher timeout for prepair and snapshot in repair (CASSANDRA-9261)
 * Fix anticompaction blocking ANTI_ENTROPY stage (CASSANDRA-9151)
 * Repair waits for anticompaction to finish (CASSANDRA-9097)
 * Fix streaming not holding ref when stream error (CASSANDRA-9295)
 * Fix canonical view returning early opened SSTables (CASSANDRA-9396)
Merged from 2.0:
 * (cqlsh) Add LOGIN command to switch users (CASSANDRA-7212)
 * Clone SliceQueryFilter in AbstractReadCommand implementations (CASSANDRA-8940)
 * Push correct protocol notification for DROP INDEX (CASSANDRA-9310)
 * token-generator - generated tokens too long (CASSANDRA-9300)
 * Fix counting of tombstones for TombstoneOverwhelmingException (CASSANDRA-9299)
 * Fix ReconnectableSnitch reconnecting to peers during upgrade (CASSANDRA-6702)
 * Include keyspace and table name in error log for collections over the size
   limit (CASSANDRA-9286)
 * Avoid potential overlap in LCS with single-partition sstables (CASSANDRA-9322)
 * Log warning message when a table is queried before the schema has fully
   propagated (CASSANDRA-9136)
 * Overload SecondaryIndex#indexes to accept the column definition (CASSANDRA-9314)
 * (cqlsh) Add SERIAL and LOCAL_SERIAL consistency levels (CASSANDRA-8051)
 * Fix index selection during rebuild with certain table layouts (CASSANDRA-9281)
 * Fix partition-level-delete-only workload accounting (CASSANDRA-9194)
 * Allow scrub to handle corrupted compressed chunks (CASSANDRA-9140)
 * Fix assertion error when resetlocalschema is run during repair (CASSANDRA-9249)
 * Disable single sstable tombstone compactions for DTCS by default (CASSANDRA-9234)
 * IncomingTcpConnection thread is not named (CASSANDRA-9262)
 * Close incoming connections when MessagingService is stopped (CASSANDRA-9238)
 * Fix streaming hang when retrying (CASSANDRA-9132)


2.1.5
 * Re-add deprecated cold_reads_to_omit param for backwards compat (CASSANDRA-9203)
 * Make anticompaction visible in compactionstats (CASSANDRA-9098)
 * Improve nodetool getendpoints documentation about the partition
   key parameter (CASSANDRA-6458)
 * Don't check other keyspaces for schema changes when an user-defined
   type is altered (CASSANDRA-9187)
 * Add generate-idea-files target to build.xml (CASSANDRA-9123)
 * Allow takeColumnFamilySnapshot to take a list of tables (CASSANDRA-8348)
 * Limit major sstable operations to their canonical representation (CASSANDRA-8669)
 * cqlsh: Add tests for INSERT and UPDATE tab completion (CASSANDRA-9125)
 * cqlsh: quote column names when needed in COPY FROM inserts (CASSANDRA-9080)
 * Do not load read meter for offline operations (CASSANDRA-9082)
 * cqlsh: Make CompositeType data readable (CASSANDRA-8919)
 * cqlsh: Fix display of triggers (CASSANDRA-9081)
 * Fix NullPointerException when deleting or setting an element by index on
   a null list collection (CASSANDRA-9077)
 * Buffer bloom filter serialization (CASSANDRA-9066)
 * Fix anti-compaction target bloom filter size (CASSANDRA-9060)
 * Make FROZEN and TUPLE unreserved keywords in CQL (CASSANDRA-9047)
 * Prevent AssertionError from SizeEstimatesRecorder (CASSANDRA-9034)
 * Avoid overwriting index summaries for sstables with an older format that
   does not support downsampling; rebuild summaries on startup when this
   is detected (CASSANDRA-8993)
 * Fix potential data loss in CompressedSequentialWriter (CASSANDRA-8949)
 * Make PasswordAuthenticator number of hashing rounds configurable (CASSANDRA-8085)
 * Fix AssertionError when binding nested collections in DELETE (CASSANDRA-8900)
 * Check for overlap with non-early sstables in LCS (CASSANDRA-8739)
 * Only calculate max purgable timestamp if we have to (CASSANDRA-8914)
 * (cqlsh) Greatly improve performance of COPY FROM (CASSANDRA-8225)
 * IndexSummary effectiveIndexInterval is now a guideline, not a rule (CASSANDRA-8993)
 * Use correct bounds for page cache eviction of compressed files (CASSANDRA-8746)
 * SSTableScanner enforces its bounds (CASSANDRA-8946)
 * Cleanup cell equality (CASSANDRA-8947)
 * Introduce intra-cluster message coalescing (CASSANDRA-8692)
 * DatabaseDescriptor throws NPE when rpc_interface is used (CASSANDRA-8839)
 * Don't check if an sstable is live for offline compactions (CASSANDRA-8841)
 * Don't set clientMode in SSTableLoader (CASSANDRA-8238)
 * Fix SSTableRewriter with disabled early open (CASSANDRA-8535)
 * Fix cassandra-stress so it respects the CL passed in user mode (CASSANDRA-8948)
 * Fix rare NPE in ColumnDefinition#hasIndexOption() (CASSANDRA-8786)
 * cassandra-stress reports per-operation statistics, plus misc (CASSANDRA-8769)
 * Add SimpleDate (cql date) and Time (cql time) types (CASSANDRA-7523)
 * Use long for key count in cfstats (CASSANDRA-8913)
 * Make SSTableRewriter.abort() more robust to failure (CASSANDRA-8832)
 * Remove cold_reads_to_omit from STCS (CASSANDRA-8860)
 * Make EstimatedHistogram#percentile() use ceil instead of floor (CASSANDRA-8883)
 * Fix top partitions reporting wrong cardinality (CASSANDRA-8834)
 * Fix rare NPE in KeyCacheSerializer (CASSANDRA-8067)
 * Pick sstables for validation as late as possible inc repairs (CASSANDRA-8366)
 * Fix commitlog getPendingTasks to not increment (CASSANDRA-8862)
 * Fix parallelism adjustment in range and secondary index queries
   when the first fetch does not satisfy the limit (CASSANDRA-8856)
 * Check if the filtered sstables is non-empty in STCS (CASSANDRA-8843)
 * Upgrade java-driver used for cassandra-stress (CASSANDRA-8842)
 * Fix CommitLog.forceRecycleAllSegments() memory access error (CASSANDRA-8812)
 * Improve assertions in Memory (CASSANDRA-8792)
 * Fix SSTableRewriter cleanup (CASSANDRA-8802)
 * Introduce SafeMemory for CompressionMetadata.Writer (CASSANDRA-8758)
 * 'nodetool info' prints exception against older node (CASSANDRA-8796)
 * Ensure SSTableReader.last corresponds exactly with the file end (CASSANDRA-8750)
 * Make SSTableWriter.openEarly more robust and obvious (CASSANDRA-8747)
 * Enforce SSTableReader.first/last (CASSANDRA-8744)
 * Cleanup SegmentedFile API (CASSANDRA-8749)
 * Avoid overlap with early compaction replacement (CASSANDRA-8683)
 * Safer Resource Management++ (CASSANDRA-8707)
 * Write partition size estimates into a system table (CASSANDRA-7688)
 * cqlsh: Fix keys() and full() collection indexes in DESCRIBE output
   (CASSANDRA-8154)
 * Show progress of streaming in nodetool netstats (CASSANDRA-8886)
 * IndexSummaryBuilder utilises offheap memory, and shares data between
   each IndexSummary opened from it (CASSANDRA-8757)
 * markCompacting only succeeds if the exact SSTableReader instances being
   marked are in the live set (CASSANDRA-8689)
 * cassandra-stress support for varint (CASSANDRA-8882)
 * Fix Adler32 digest for compressed sstables (CASSANDRA-8778)
 * Add nodetool statushandoff/statusbackup (CASSANDRA-8912)
 * Use stdout for progress and stats in sstableloader (CASSANDRA-8982)
 * Correctly identify 2i datadir from older versions (CASSANDRA-9116)
Merged from 2.0:
 * Ignore gossip SYNs after shutdown (CASSANDRA-9238)
 * Avoid overflow when calculating max sstable size in LCS (CASSANDRA-9235)
 * Make sstable blacklisting work with compression (CASSANDRA-9138)
 * Do not attempt to rebuild indexes if no index accepts any column (CASSANDRA-9196)
 * Don't initiate snitch reconnection for dead states (CASSANDRA-7292)
 * Fix ArrayIndexOutOfBoundsException in CQLSSTableWriter (CASSANDRA-8978)
 * Add shutdown gossip state to prevent timeouts during rolling restarts (CASSANDRA-8336)
 * Fix running with java.net.preferIPv6Addresses=true (CASSANDRA-9137)
 * Fix failed bootstrap/replace attempts being persisted in system.peers (CASSANDRA-9180)
 * Flush system.IndexInfo after marking index built (CASSANDRA-9128)
 * Fix updates to min/max_compaction_threshold through cassandra-cli
   (CASSANDRA-8102)
 * Don't include tmp files when doing offline relevel (CASSANDRA-9088)
 * Use the proper CAS WriteType when finishing a previous round during Paxos
   preparation (CASSANDRA-8672)
 * Avoid race in cancelling compactions (CASSANDRA-9070)
 * More aggressive check for expired sstables in DTCS (CASSANDRA-8359)
 * Fix ignored index_interval change in ALTER TABLE statements (CASSANDRA-7976)
 * Do more aggressive compaction in old time windows in DTCS (CASSANDRA-8360)
 * java.lang.AssertionError when reading saved cache (CASSANDRA-8740)
 * "disk full" when running cleanup (CASSANDRA-9036)
 * Lower logging level from ERROR to DEBUG when a scheduled schema pull
   cannot be completed due to a node being down (CASSANDRA-9032)
 * Fix MOVED_NODE client event (CASSANDRA-8516)
 * Allow overriding MAX_OUTSTANDING_REPLAY_COUNT (CASSANDRA-7533)
 * Fix malformed JMX ObjectName containing IPv6 addresses (CASSANDRA-9027)
 * (cqlsh) Allow increasing CSV field size limit through
   cqlshrc config option (CASSANDRA-8934)
 * Stop logging range tombstones when exceeding the threshold
   (CASSANDRA-8559)
 * Fix NullPointerException when nodetool getendpoints is run
   against invalid keyspaces or tables (CASSANDRA-8950)
 * Allow specifying the tmp dir (CASSANDRA-7712)
 * Improve compaction estimated tasks estimation (CASSANDRA-8904)
 * Fix duplicate up/down messages sent to native clients (CASSANDRA-7816)
 * Expose commit log archive status via JMX (CASSANDRA-8734)
 * Provide better exceptions for invalid replication strategy parameters
   (CASSANDRA-8909)
 * Fix regression in mixed single and multi-column relation support for
   SELECT statements (CASSANDRA-8613)
 * Add ability to limit number of native connections (CASSANDRA-8086)
 * Fix CQLSSTableWriter throwing exception and spawning threads
   (CASSANDRA-8808)
 * Fix MT mismatch between empty and GC-able data (CASSANDRA-8979)
 * Fix incorrect validation when snapshotting single table (CASSANDRA-8056)
 * Add offline tool to relevel sstables (CASSANDRA-8301)
 * Preserve stream ID for more protocol errors (CASSANDRA-8848)
 * Fix combining token() function with multi-column relations on
   clustering columns (CASSANDRA-8797)
 * Make CFS.markReferenced() resistant to bad refcounting (CASSANDRA-8829)
 * Fix StreamTransferTask abort/complete bad refcounting (CASSANDRA-8815)
 * Fix AssertionError when querying a DESC clustering ordered
   table with ASC ordering and paging (CASSANDRA-8767)
 * AssertionError: "Memory was freed" when running cleanup (CASSANDRA-8716)
 * Make it possible to set max_sstable_age to fractional days (CASSANDRA-8406)
 * Fix some multi-column relations with indexes on some clustering
   columns (CASSANDRA-8275)
 * Fix memory leak in SSTableSimple*Writer and SSTableReader.validate()
   (CASSANDRA-8748)
 * Throw OOM if allocating memory fails to return a valid pointer (CASSANDRA-8726)
 * Fix SSTableSimpleUnsortedWriter ConcurrentModificationException (CASSANDRA-8619)
 * 'nodetool info' prints exception against older node (CASSANDRA-8796)
 * Ensure SSTableSimpleUnsortedWriter.close() terminates if
   disk writer has crashed (CASSANDRA-8807)


2.1.4
 * Bind JMX to localhost unless explicitly configured otherwise (CASSANDRA-9085)


2.1.3
 * Fix HSHA/offheap_objects corruption (CASSANDRA-8719)
 * Upgrade libthrift to 0.9.2 (CASSANDRA-8685)
 * Don't use the shared ref in sstableloader (CASSANDRA-8704)
 * Purge internal prepared statements if related tables or
   keyspaces are dropped (CASSANDRA-8693)
 * (cqlsh) Handle unicode BOM at start of files (CASSANDRA-8638)
 * Stop compactions before exiting offline tools (CASSANDRA-8623)
 * Update tools/stress/README.txt to match current behaviour (CASSANDRA-7933)
 * Fix schema from Thrift conversion with empty metadata (CASSANDRA-8695)
 * Safer Resource Management (CASSANDRA-7705)
 * Make sure we compact highly overlapping cold sstables with
   STCS (CASSANDRA-8635)
 * rpc_interface and listen_interface generate NPE on startup when specified
   interface doesn't exist (CASSANDRA-8677)
 * Fix ArrayIndexOutOfBoundsException in nodetool cfhistograms (CASSANDRA-8514)
 * Switch from yammer metrics for nodetool cf/proxy histograms (CASSANDRA-8662)
 * Make sure we don't add tmplink files to the compaction
   strategy (CASSANDRA-8580)
 * (cqlsh) Handle maps with blob keys (CASSANDRA-8372)
 * (cqlsh) Handle DynamicCompositeType schemas correctly (CASSANDRA-8563)
 * Duplicate rows returned when in clause has repeated values (CASSANDRA-6706)
 * Add tooling to detect hot partitions (CASSANDRA-7974)
 * Fix cassandra-stress user-mode truncation of partition generation (CASSANDRA-8608)
 * Only stream from unrepaired sstables during inc repair (CASSANDRA-8267)
 * Don't allow starting multiple inc repairs on the same sstables (CASSANDRA-8316)
 * Invalidate prepared BATCH statements when related tables
   or keyspaces are dropped (CASSANDRA-8652)
 * Fix missing results in secondary index queries on collections
   with ALLOW FILTERING (CASSANDRA-8421)
 * Expose EstimatedHistogram metrics for range slices (CASSANDRA-8627)
 * (cqlsh) Escape clqshrc passwords properly (CASSANDRA-8618)
 * Fix NPE when passing wrong argument in ALTER TABLE statement (CASSANDRA-8355)
 * Pig: Refactor and deprecate CqlStorage (CASSANDRA-8599)
 * Don't reuse the same cleanup strategy for all sstables (CASSANDRA-8537)
 * Fix case-sensitivity of index name on CREATE and DROP INDEX
   statements (CASSANDRA-8365)
 * Better detection/logging for corruption in compressed sstables (CASSANDRA-8192)
 * Use the correct repairedAt value when closing writer (CASSANDRA-8570)
 * (cqlsh) Handle a schema mismatch being detected on startup (CASSANDRA-8512)
 * Properly calculate expected write size during compaction (CASSANDRA-8532)
 * Invalidate affected prepared statements when a table's columns
   are altered (CASSANDRA-7910)
 * Stress - user defined writes should populate sequentally (CASSANDRA-8524)
 * Fix regression in SSTableRewriter causing some rows to become unreadable
   during compaction (CASSANDRA-8429)
 * Run major compactions for repaired/unrepaired in parallel (CASSANDRA-8510)
 * (cqlsh) Fix compression options in DESCRIBE TABLE output when compression
   is disabled (CASSANDRA-8288)
 * (cqlsh) Fix DESCRIBE output after keyspaces are altered (CASSANDRA-7623)
 * Make sure we set lastCompactedKey correctly (CASSANDRA-8463)
 * (cqlsh) Fix output of CONSISTENCY command (CASSANDRA-8507)
 * (cqlsh) Fixed the handling of LIST statements (CASSANDRA-8370)
 * Make sstablescrub check leveled manifest again (CASSANDRA-8432)
 * Check first/last keys in sstable when giving out positions (CASSANDRA-8458)
 * Disable mmap on Windows (CASSANDRA-6993)
 * Add missing ConsistencyLevels to cassandra-stress (CASSANDRA-8253)
 * Add auth support to cassandra-stress (CASSANDRA-7985)
 * Fix ArrayIndexOutOfBoundsException when generating error message
   for some CQL syntax errors (CASSANDRA-8455)
 * Scale memtable slab allocation logarithmically (CASSANDRA-7882)
 * cassandra-stress simultaneous inserts over same seed (CASSANDRA-7964)
 * Reduce cassandra-stress sampling memory requirements (CASSANDRA-7926)
 * Ensure memtable flush cannot expire commit log entries from its future (CASSANDRA-8383)
 * Make read "defrag" async to reclaim memtables (CASSANDRA-8459)
 * Remove tmplink files for offline compactions (CASSANDRA-8321)
 * Reduce maxHintsInProgress (CASSANDRA-8415)
 * BTree updates may call provided update function twice (CASSANDRA-8018)
 * Release sstable references after anticompaction (CASSANDRA-8386)
 * Handle abort() in SSTableRewriter properly (CASSANDRA-8320)
 * Centralize shared executors (CASSANDRA-8055)
 * Fix filtering for CONTAINS (KEY) relations on frozen collection
   clustering columns when the query is restricted to a single
   partition (CASSANDRA-8203)
 * Do more aggressive entire-sstable TTL expiry checks (CASSANDRA-8243)
 * Add more log info if readMeter is null (CASSANDRA-8238)
 * add check of the system wall clock time at startup (CASSANDRA-8305)
 * Support for frozen collections (CASSANDRA-7859)
 * Fix overflow on histogram computation (CASSANDRA-8028)
 * Have paxos reuse the timestamp generation of normal queries (CASSANDRA-7801)
 * Fix incremental repair not remove parent session on remote (CASSANDRA-8291)
 * Improve JBOD disk utilization (CASSANDRA-7386)
 * Log failed host when preparing incremental repair (CASSANDRA-8228)
 * Force config client mode in CQLSSTableWriter (CASSANDRA-8281)
 * Fix sstableupgrade throws exception (CASSANDRA-8688)
 * Fix hang when repairing empty keyspace (CASSANDRA-8694)
Merged from 2.0:
 * Fix IllegalArgumentException in dynamic snitch (CASSANDRA-8448)
 * Add support for UPDATE ... IF EXISTS (CASSANDRA-8610)
 * Fix reversal of list prepends (CASSANDRA-8733)
 * Prevent non-zero default_time_to_live on tables with counters
   (CASSANDRA-8678)
 * Fix SSTableSimpleUnsortedWriter ConcurrentModificationException
   (CASSANDRA-8619)
 * Round up time deltas lower than 1ms in BulkLoader (CASSANDRA-8645)
 * Add batch remove iterator to ABSC (CASSANDRA-8414, 8666)
 * Round up time deltas lower than 1ms in BulkLoader (CASSANDRA-8645)
 * Fix isClientMode check in Keyspace (CASSANDRA-8687)
 * Use more efficient slice size for querying internal secondary
   index tables (CASSANDRA-8550)
 * Fix potentially returning deleted rows with range tombstone (CASSANDRA-8558)
 * Check for available disk space before starting a compaction (CASSANDRA-8562)
 * Fix DISTINCT queries with LIMITs or paging when some partitions
   contain only tombstones (CASSANDRA-8490)
 * Introduce background cache refreshing to permissions cache
   (CASSANDRA-8194)
 * Fix race condition in StreamTransferTask that could lead to
   infinite loops and premature sstable deletion (CASSANDRA-7704)
 * Add an extra version check to MigrationTask (CASSANDRA-8462)
 * Ensure SSTableWriter cleans up properly after failure (CASSANDRA-8499)
 * Increase bf true positive count on key cache hit (CASSANDRA-8525)
 * Move MeteredFlusher to its own thread (CASSANDRA-8485)
 * Fix non-distinct results in DISTNCT queries on static columns when
   paging is enabled (CASSANDRA-8087)
 * Move all hints related tasks to hints internal executor (CASSANDRA-8285)
 * Fix paging for multi-partition IN queries (CASSANDRA-8408)
 * Fix MOVED_NODE topology event never being emitted when a node
   moves its token (CASSANDRA-8373)
 * Fix validation of indexes in COMPACT tables (CASSANDRA-8156)
 * Avoid StackOverflowError when a large list of IN values
   is used for a clustering column (CASSANDRA-8410)
 * Fix NPE when writetime() or ttl() calls are wrapped by
   another function call (CASSANDRA-8451)
 * Fix NPE after dropping a keyspace (CASSANDRA-8332)
 * Fix error message on read repair timeouts (CASSANDRA-7947)
 * Default DTCS base_time_seconds changed to 60 (CASSANDRA-8417)
 * Refuse Paxos operation with more than one pending endpoint (CASSANDRA-8346, 8640)
 * Throw correct exception when trying to bind a keyspace or table
   name (CASSANDRA-6952)
 * Make HHOM.compact synchronized (CASSANDRA-8416)
 * cancel latency-sampling task when CF is dropped (CASSANDRA-8401)
 * don't block SocketThread for MessagingService (CASSANDRA-8188)
 * Increase quarantine delay on replacement (CASSANDRA-8260)
 * Expose off-heap memory usage stats (CASSANDRA-7897)
 * Ignore Paxos commits for truncated tables (CASSANDRA-7538)
 * Validate size of indexed column values (CASSANDRA-8280)
 * Make LCS split compaction results over all data directories (CASSANDRA-8329)
 * Fix some failing queries that use multi-column relations
   on COMPACT STORAGE tables (CASSANDRA-8264)
 * Fix InvalidRequestException with ORDER BY (CASSANDRA-8286)
 * Disable SSLv3 for POODLE (CASSANDRA-8265)
 * Fix millisecond timestamps in Tracing (CASSANDRA-8297)
 * Include keyspace name in error message when there are insufficient
   live nodes to stream from (CASSANDRA-8221)
 * Avoid overlap in L1 when L0 contains many nonoverlapping
   sstables (CASSANDRA-8211)
 * Improve PropertyFileSnitch logging (CASSANDRA-8183)
 * Add DC-aware sequential repair (CASSANDRA-8193)
 * Use live sstables in snapshot repair if possible (CASSANDRA-8312)
 * Fix hints serialized size calculation (CASSANDRA-8587)


2.1.2
 * (cqlsh) parse_for_table_meta errors out on queries with undefined
   grammars (CASSANDRA-8262)
 * (cqlsh) Fix SELECT ... TOKEN() function broken in C* 2.1.1 (CASSANDRA-8258)
 * Fix Cassandra crash when running on JDK8 update 40 (CASSANDRA-8209)
 * Optimize partitioner tokens (CASSANDRA-8230)
 * Improve compaction of repaired/unrepaired sstables (CASSANDRA-8004)
 * Make cache serializers pluggable (CASSANDRA-8096)
 * Fix issues with CONTAINS (KEY) queries on secondary indexes
   (CASSANDRA-8147)
 * Fix read-rate tracking of sstables for some queries (CASSANDRA-8239)
 * Fix default timestamp in QueryOptions (CASSANDRA-8246)
 * Set socket timeout when reading remote version (CASSANDRA-8188)
 * Refactor how we track live size (CASSANDRA-7852)
 * Make sure unfinished compaction files are removed (CASSANDRA-8124)
 * Fix shutdown when run as Windows service (CASSANDRA-8136)
 * Fix DESCRIBE TABLE with custom indexes (CASSANDRA-8031)
 * Fix race in RecoveryManagerTest (CASSANDRA-8176)
 * Avoid IllegalArgumentException while sorting sstables in
   IndexSummaryManager (CASSANDRA-8182)
 * Shutdown JVM on file descriptor exhaustion (CASSANDRA-7579)
 * Add 'die' policy for commit log and disk failure (CASSANDRA-7927)
 * Fix installing as service on Windows (CASSANDRA-8115)
 * Fix CREATE TABLE for CQL2 (CASSANDRA-8144)
 * Avoid boxing in ColumnStats min/max trackers (CASSANDRA-8109)
Merged from 2.0:
 * Correctly handle non-text column names in cql3 (CASSANDRA-8178)
 * Fix deletion for indexes on primary key columns (CASSANDRA-8206)
 * Add 'nodetool statusgossip' (CASSANDRA-8125)
 * Improve client notification that nodes are ready for requests (CASSANDRA-7510)
 * Handle negative timestamp in writetime method (CASSANDRA-8139)
 * Pig: Remove errant LIMIT clause in CqlNativeStorage (CASSANDRA-8166)
 * Throw ConfigurationException when hsha is used with the default
   rpc_max_threads setting of 'unlimited' (CASSANDRA-8116)
 * Allow concurrent writing of the same table in the same JVM using
   CQLSSTableWriter (CASSANDRA-7463)
 * Fix totalDiskSpaceUsed calculation (CASSANDRA-8205)


2.1.1
 * Fix spin loop in AtomicSortedColumns (CASSANDRA-7546)
 * Dont notify when replacing tmplink files (CASSANDRA-8157)
 * Fix validation with multiple CONTAINS clause (CASSANDRA-8131)
 * Fix validation of collections in TriggerExecutor (CASSANDRA-8146)
 * Fix IllegalArgumentException when a list of IN values containing tuples
   is passed as a single arg to a prepared statement with the v1 or v2
   protocol (CASSANDRA-8062)
 * Fix ClassCastException in DISTINCT query on static columns with
   query paging (CASSANDRA-8108)
 * Fix NPE on null nested UDT inside a set (CASSANDRA-8105)
 * Fix exception when querying secondary index on set items or map keys
   when some clustering columns are specified (CASSANDRA-8073)
 * Send proper error response when there is an error during native
   protocol message decode (CASSANDRA-8118)
 * Gossip should ignore generation numbers too far in the future (CASSANDRA-8113)
 * Fix NPE when creating a table with frozen sets, lists (CASSANDRA-8104)
 * Fix high memory use due to tracking reads on incrementally opened sstable
   readers (CASSANDRA-8066)
 * Fix EXECUTE request with skipMetadata=false returning no metadata
   (CASSANDRA-8054)
 * Allow concurrent use of CQLBulkOutputFormat (CASSANDRA-7776)
 * Shutdown JVM on OOM (CASSANDRA-7507)
 * Upgrade netty version and enable epoll event loop (CASSANDRA-7761)
 * Don't duplicate sstables smaller than split size when using
   the sstablesplitter tool (CASSANDRA-7616)
 * Avoid re-parsing already prepared statements (CASSANDRA-7923)
 * Fix some Thrift slice deletions and updates of COMPACT STORAGE
   tables with some clustering columns omitted (CASSANDRA-7990)
 * Fix filtering for CONTAINS on sets (CASSANDRA-8033)
 * Properly track added size (CASSANDRA-7239)
 * Allow compilation in java 8 (CASSANDRA-7208)
 * Fix Assertion error on RangeTombstoneList diff (CASSANDRA-8013)
 * Release references to overlapping sstables during compaction (CASSANDRA-7819)
 * Send notification when opening compaction results early (CASSANDRA-8034)
 * Make native server start block until properly bound (CASSANDRA-7885)
 * (cqlsh) Fix IPv6 support (CASSANDRA-7988)
 * Ignore fat clients when checking for endpoint collision (CASSANDRA-7939)
 * Make sstablerepairedset take a list of files (CASSANDRA-7995)
 * (cqlsh) Tab completeion for indexes on map keys (CASSANDRA-7972)
 * (cqlsh) Fix UDT field selection in select clause (CASSANDRA-7891)
 * Fix resource leak in event of corrupt sstable
 * (cqlsh) Add command line option for cqlshrc file path (CASSANDRA-7131)
 * Provide visibility into prepared statements churn (CASSANDRA-7921, CASSANDRA-7930)
 * Invalidate prepared statements when their keyspace or table is
   dropped (CASSANDRA-7566)
 * cassandra-stress: fix support for NetworkTopologyStrategy (CASSANDRA-7945)
 * Fix saving caches when a table is dropped (CASSANDRA-7784)
 * Add better error checking of new stress profile (CASSANDRA-7716)
 * Use ThreadLocalRandom and remove FBUtilities.threadLocalRandom (CASSANDRA-7934)
 * Prevent operator mistakes due to simultaneous bootstrap (CASSANDRA-7069)
 * cassandra-stress supports whitelist mode for node config (CASSANDRA-7658)
 * GCInspector more closely tracks GC; cassandra-stress and nodetool report it (CASSANDRA-7916)
 * nodetool won't output bogus ownership info without a keyspace (CASSANDRA-7173)
 * Add human readable option to nodetool commands (CASSANDRA-5433)
 * Don't try to set repairedAt on old sstables (CASSANDRA-7913)
 * Add metrics for tracking PreparedStatement use (CASSANDRA-7719)
 * (cqlsh) tab-completion for triggers (CASSANDRA-7824)
 * (cqlsh) Support for query paging (CASSANDRA-7514)
 * (cqlsh) Show progress of COPY operations (CASSANDRA-7789)
 * Add syntax to remove multiple elements from a map (CASSANDRA-6599)
 * Support non-equals conditions in lightweight transactions (CASSANDRA-6839)
 * Add IF [NOT] EXISTS to create/drop triggers (CASSANDRA-7606)
 * (cqlsh) Display the current logged-in user (CASSANDRA-7785)
 * (cqlsh) Don't ignore CTRL-C during COPY FROM execution (CASSANDRA-7815)
 * (cqlsh) Order UDTs according to cross-type dependencies in DESCRIBE
   output (CASSANDRA-7659)
 * (cqlsh) Fix handling of CAS statement results (CASSANDRA-7671)
 * (cqlsh) COPY TO/FROM improvements (CASSANDRA-7405)
 * Support list index operations with conditions (CASSANDRA-7499)
 * Add max live/tombstoned cells to nodetool cfstats output (CASSANDRA-7731)
 * Validate IPv6 wildcard addresses properly (CASSANDRA-7680)
 * (cqlsh) Error when tracing query (CASSANDRA-7613)
 * Avoid IOOBE when building SyntaxError message snippet (CASSANDRA-7569)
 * SSTableExport uses correct validator to create string representation of partition
   keys (CASSANDRA-7498)
 * Avoid NPEs when receiving type changes for an unknown keyspace (CASSANDRA-7689)
 * Add support for custom 2i validation (CASSANDRA-7575)
 * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 * Add duration mode to cassandra-stress (CASSANDRA-7468)
 * Add listen_interface and rpc_interface options (CASSANDRA-7417)
 * Improve schema merge performance (CASSANDRA-7444)
 * Adjust MT depth based on # of partition validating (CASSANDRA-5263)
 * Optimise NativeCell comparisons (CASSANDRA-6755)
 * Configurable client timeout for cqlsh (CASSANDRA-7516)
 * Include snippet of CQL query near syntax error in messages (CASSANDRA-7111)
 * Make repair -pr work with -local (CASSANDRA-7450)
 * Fix error in sstableloader with -cph > 1 (CASSANDRA-8007)
 * Fix snapshot repair error on indexed tables (CASSANDRA-8020)
 * Do not exit nodetool repair when receiving JMX NOTIF_LOST (CASSANDRA-7909)
 * Stream to private IP when available (CASSANDRA-8084)
Merged from 2.0:
 * Reject conditions on DELETE unless full PK is given (CASSANDRA-6430)
 * Properly reject the token function DELETE (CASSANDRA-7747)
 * Force batchlog replay before decommissioning a node (CASSANDRA-7446)
 * Fix hint replay with many accumulated expired hints (CASSANDRA-6998)
 * Fix duplicate results in DISTINCT queries on static columns with query
   paging (CASSANDRA-8108)
 * Add DateTieredCompactionStrategy (CASSANDRA-6602)
 * Properly validate ascii and utf8 string literals in CQL queries (CASSANDRA-8101)
 * (cqlsh) Fix autocompletion for alter keyspace (CASSANDRA-8021)
 * Create backup directories for commitlog archiving during startup (CASSANDRA-8111)
 * Reduce totalBlockFor() for LOCAL_* consistency levels (CASSANDRA-8058)
 * Fix merging schemas with re-dropped keyspaces (CASSANDRA-7256)
 * Fix counters in supercolumns during live upgrades from 1.2 (CASSANDRA-7188)
 * Notify DT subscribers when a column family is truncated (CASSANDRA-8088)
 * Add sanity check of $JAVA on startup (CASSANDRA-7676)
 * Schedule fat client schema pull on join (CASSANDRA-7993)
 * Don't reset nodes' versions when closing IncomingTcpConnections
   (CASSANDRA-7734)
 * Record the real messaging version in all cases in OutboundTcpConnection
   (CASSANDRA-8057)
 * SSL does not work in cassandra-cli (CASSANDRA-7899)
 * Fix potential exception when using ReversedType in DynamicCompositeType
   (CASSANDRA-7898)
 * Better validation of collection values (CASSANDRA-7833)
 * Track min/max timestamps correctly (CASSANDRA-7969)
 * Fix possible overflow while sorting CL segments for replay (CASSANDRA-7992)
 * Increase nodetool Xmx (CASSANDRA-7956)
 * Archive any commitlog segments present at startup (CASSANDRA-6904)
 * CrcCheckChance should adjust based on live CFMetadata not
   sstable metadata (CASSANDRA-7978)
 * token() should only accept columns in the partitioning
   key order (CASSANDRA-6075)
 * Add method to invalidate permission cache via JMX (CASSANDRA-7977)
 * Allow propagating multiple gossip states atomically (CASSANDRA-6125)
 * Log exceptions related to unclean native protocol client disconnects
   at DEBUG or INFO (CASSANDRA-7849)
 * Allow permissions cache to be set via JMX (CASSANDRA-7698)
 * Include schema_triggers CF in readable system resources (CASSANDRA-7967)
 * Fix RowIndexEntry to report correct serializedSize (CASSANDRA-7948)
 * Make CQLSSTableWriter sync within partitions (CASSANDRA-7360)
 * Potentially use non-local replicas in CqlConfigHelper (CASSANDRA-7906)
 * Explicitly disallow mixing multi-column and single-column
   relations on clustering columns (CASSANDRA-7711)
 * Better error message when condition is set on PK column (CASSANDRA-7804)
 * Don't send schema change responses and events for no-op DDL
   statements (CASSANDRA-7600)
 * (Hadoop) fix cluster initialisation for a split fetching (CASSANDRA-7774)
 * Throw InvalidRequestException when queries contain relations on entire
   collection columns (CASSANDRA-7506)
 * (cqlsh) enable CTRL-R history search with libedit (CASSANDRA-7577)
 * (Hadoop) allow ACFRW to limit nodes to local DC (CASSANDRA-7252)
 * (cqlsh) cqlsh should automatically disable tracing when selecting
   from system_traces (CASSANDRA-7641)
 * (Hadoop) Add CqlOutputFormat (CASSANDRA-6927)
 * Don't depend on cassandra config for nodetool ring (CASSANDRA-7508)
 * (cqlsh) Fix failing cqlsh formatting tests (CASSANDRA-7703)
 * Fix IncompatibleClassChangeError from hadoop2 (CASSANDRA-7229)
 * Add 'nodetool sethintedhandoffthrottlekb' (CASSANDRA-7635)
 * (cqlsh) Add tab-completion for CREATE/DROP USER IF [NOT] EXISTS (CASSANDRA-7611)
 * Catch errors when the JVM pulls the rug out from GCInspector (CASSANDRA-5345)
 * cqlsh fails when version number parts are not int (CASSANDRA-7524)
 * Fix NPE when table dropped during streaming (CASSANDRA-7946)
 * Fix wrong progress when streaming uncompressed (CASSANDRA-7878)
 * Fix possible infinite loop in creating repair range (CASSANDRA-7983)
 * Fix unit in nodetool for streaming throughput (CASSANDRA-7375)
Merged from 1.2:
 * Don't index tombstones (CASSANDRA-7828)
 * Improve PasswordAuthenticator default super user setup (CASSANDRA-7788)


2.1.0
 * (cqlsh) Removed "ALTER TYPE <name> RENAME TO <name>" from tab-completion
   (CASSANDRA-7895)
 * Fixed IllegalStateException in anticompaction (CASSANDRA-7892)
 * cqlsh: DESCRIBE support for frozen UDTs, tuples (CASSANDRA-7863)
 * Avoid exposing internal classes over JMX (CASSANDRA-7879)
 * Add null check for keys when freezing collection (CASSANDRA-7869)
 * Improve stress workload realism (CASSANDRA-7519)
Merged from 2.0:
 * Configure system.paxos with LeveledCompactionStrategy (CASSANDRA-7753)
 * Fix ALTER clustering column type from DateType to TimestampType when
   using DESC clustering order (CASSANRDA-7797)
 * Throw EOFException if we run out of chunks in compressed datafile
   (CASSANDRA-7664)
 * Fix PRSI handling of CQL3 row markers for row cleanup (CASSANDRA-7787)
 * Fix dropping collection when it's the last regular column (CASSANDRA-7744)
 * Make StreamReceiveTask thread safe and gc friendly (CASSANDRA-7795)
 * Validate empty cell names from counter updates (CASSANDRA-7798)
Merged from 1.2:
 * Don't allow compacted sstables to be marked as compacting (CASSANDRA-7145)
 * Track expired tombstones (CASSANDRA-7810)


2.1.0-rc7
 * Add frozen keyword and require UDT to be frozen (CASSANDRA-7857)
 * Track added sstable size correctly (CASSANDRA-7239)
 * (cqlsh) Fix case insensitivity (CASSANDRA-7834)
 * Fix failure to stream ranges when moving (CASSANDRA-7836)
 * Correctly remove tmplink files (CASSANDRA-7803)
 * (cqlsh) Fix column name formatting for functions, CAS operations,
   and UDT field selections (CASSANDRA-7806)
 * (cqlsh) Fix COPY FROM handling of null/empty primary key
   values (CASSANDRA-7792)
 * Fix ordering of static cells (CASSANDRA-7763)
Merged from 2.0:
 * Forbid re-adding dropped counter columns (CASSANDRA-7831)
 * Fix CFMetaData#isThriftCompatible() for PK-only tables (CASSANDRA-7832)
 * Always reject inequality on the partition key without token()
   (CASSANDRA-7722)
 * Always send Paxos commit to all replicas (CASSANDRA-7479)
 * Make disruptor_thrift_server invocation pool configurable (CASSANDRA-7594)
 * Make repair no-op when RF=1 (CASSANDRA-7864)


2.1.0-rc6
 * Fix OOM issue from netty caching over time (CASSANDRA-7743)
 * json2sstable couldn't import JSON for CQL table (CASSANDRA-7477)
 * Invalidate all caches on table drop (CASSANDRA-7561)
 * Skip strict endpoint selection for ranges if RF == nodes (CASSANRA-7765)
 * Fix Thrift range filtering without 2ary index lookups (CASSANDRA-7741)
 * Add tracing entries about concurrent range requests (CASSANDRA-7599)
 * (cqlsh) Fix DESCRIBE for NTS keyspaces (CASSANDRA-7729)
 * Remove netty buffer ref-counting (CASSANDRA-7735)
 * Pass mutated cf to index updater for use by PRSI (CASSANDRA-7742)
 * Include stress yaml example in release and deb (CASSANDRA-7717)
 * workaround for netty issue causing corrupted data off the wire (CASSANDRA-7695)
 * cqlsh DESC CLUSTER fails retrieving ring information (CASSANDRA-7687)
 * Fix binding null values inside UDT (CASSANDRA-7685)
 * Fix UDT field selection with empty fields (CASSANDRA-7670)
 * Bogus deserialization of static cells from sstable (CASSANDRA-7684)
 * Fix NPE on compaction leftover cleanup for dropped table (CASSANDRA-7770)
Merged from 2.0:
 * Fix race condition in StreamTransferTask that could lead to
   infinite loops and premature sstable deletion (CASSANDRA-7704)
 * (cqlsh) Wait up to 10 sec for a tracing session (CASSANDRA-7222)
 * Fix NPE in FileCacheService.sizeInBytes (CASSANDRA-7756)
 * Remove duplicates from StorageService.getJoiningNodes (CASSANDRA-7478)
 * Clone token map outside of hot gossip loops (CASSANDRA-7758)
 * Fix MS expiring map timeout for Paxos messages (CASSANDRA-7752)
 * Do not flush on truncate if durable_writes is false (CASSANDRA-7750)
 * Give CRR a default input_cql Statement (CASSANDRA-7226)
 * Better error message when adding a collection with the same name
   than a previously dropped one (CASSANDRA-6276)
 * Fix validation when adding static columns (CASSANDRA-7730)
 * (Thrift) fix range deletion of supercolumns (CASSANDRA-7733)
 * Fix potential AssertionError in RangeTombstoneList (CASSANDRA-7700)
 * Validate arguments of blobAs* functions (CASSANDRA-7707)
 * Fix potential AssertionError with 2ndary indexes (CASSANDRA-6612)
 * Avoid logging CompactionInterrupted at ERROR (CASSANDRA-7694)
 * Minor leak in sstable2jon (CASSANDRA-7709)
 * Add cassandra.auto_bootstrap system property (CASSANDRA-7650)
 * Update java driver (for hadoop) (CASSANDRA-7618)
 * Remove CqlPagingRecordReader/CqlPagingInputFormat (CASSANDRA-7570)
 * Support connecting to ipv6 jmx with nodetool (CASSANDRA-7669)


2.1.0-rc5
 * Reject counters inside user types (CASSANDRA-7672)
 * Switch to notification-based GCInspector (CASSANDRA-7638)
 * (cqlsh) Handle nulls in UDTs and tuples correctly (CASSANDRA-7656)
 * Don't use strict consistency when replacing (CASSANDRA-7568)
 * Fix min/max cell name collection on 2.0 SSTables with range
   tombstones (CASSANDRA-7593)
 * Tolerate min/max cell names of different lengths (CASSANDRA-7651)
 * Filter cached results correctly (CASSANDRA-7636)
 * Fix tracing on the new SEPExecutor (CASSANDRA-7644)
 * Remove shuffle and taketoken (CASSANDRA-7601)
 * Clean up Windows batch scripts (CASSANDRA-7619)
 * Fix native protocol drop user type notification (CASSANDRA-7571)
 * Give read access to system.schema_usertypes to all authenticated users
   (CASSANDRA-7578)
 * (cqlsh) Fix cqlsh display when zero rows are returned (CASSANDRA-7580)
 * Get java version correctly when JAVA_TOOL_OPTIONS is set (CASSANDRA-7572)
 * Fix NPE when dropping index from non-existent keyspace, AssertionError when
   dropping non-existent index with IF EXISTS (CASSANDRA-7590)
 * Fix sstablelevelresetter hang (CASSANDRA-7614)
 * (cqlsh) Fix deserialization of blobs (CASSANDRA-7603)
 * Use "keyspace updated" schema change message for UDT changes in v1 and
   v2 protocols (CASSANDRA-7617)
 * Fix tracing of range slices and secondary index lookups that are local
   to the coordinator (CASSANDRA-7599)
 * Set -Dcassandra.storagedir for all tool shell scripts (CASSANDRA-7587)
 * Don't swap max/min col names when mutating sstable metadata (CASSANDRA-7596)
 * (cqlsh) Correctly handle paged result sets (CASSANDRA-7625)
 * (cqlsh) Improve waiting for a trace to complete (CASSANDRA-7626)
 * Fix tracing of concurrent range slices and 2ary index queries (CASSANDRA-7626)
 * Fix scrub against collection type (CASSANDRA-7665)
Merged from 2.0:
 * Set gc_grace_seconds to seven days for system schema tables (CASSANDRA-7668)
 * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
 * Always flush on truncate (CASSANDRA-7511)
 * Fix ReversedType(DateType) mapping to native protocol (CASSANDRA-7576)
 * Always merge ranges owned by a single node (CASSANDRA-6930)
 * Track max/min timestamps for range tombstones (CASSANDRA-7647)
 * Fix NPE when listing saved caches dir (CASSANDRA-7632)


2.1.0-rc4
 * Fix word count hadoop example (CASSANDRA-7200)
 * Updated memtable_cleanup_threshold and memtable_flush_writers defaults
   (CASSANDRA-7551)
 * (Windows) fix startup when WMI memory query fails (CASSANDRA-7505)
 * Anti-compaction proceeds if any part of the repair failed (CASSANDRA-7521)
 * Add missing table name to DROP INDEX responses and notifications (CASSANDRA-7539)
 * Bump CQL version to 3.2.0 and update CQL documentation (CASSANDRA-7527)
 * Fix configuration error message when running nodetool ring (CASSANDRA-7508)
 * Support conditional updates, tuple type, and the v3 protocol in cqlsh (CASSANDRA-7509)
 * Handle queries on multiple secondary index types (CASSANDRA-7525)
 * Fix cqlsh authentication with v3 native protocol (CASSANDRA-7564)
 * Fix NPE when unknown prepared statement ID is used (CASSANDRA-7454)
Merged from 2.0:
 * (Windows) force range-based repair to non-sequential mode (CASSANDRA-7541)
 * Fix range merging when DES scores are zero (CASSANDRA-7535)
 * Warn when SSL certificates have expired (CASSANDRA-7528)
 * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
Merged from 1.2:
 * Set correct stream ID on responses when non-Exception Throwables
   are thrown while handling native protocol messages (CASSANDRA-7470)


2.1.0-rc3
 * Consider expiry when reconciling otherwise equal cells (CASSANDRA-7403)
 * Introduce CQL support for stress tool (CASSANDRA-6146)
 * Fix ClassCastException processing expired messages (CASSANDRA-7496)
 * Fix prepared marker for collections inside UDT (CASSANDRA-7472)
 * Remove left-over populate_io_cache_on_flush and replicate_on_write
   uses (CASSANDRA-7493)
 * (Windows) handle spaces in path names (CASSANDRA-7451)
 * Ensure writes have completed after dropping a table, before recycling
   commit log segments (CASSANDRA-7437)
 * Remove left-over rows_per_partition_to_cache (CASSANDRA-7493)
 * Fix error when CONTAINS is used with a bind marker (CASSANDRA-7502)
 * Properly reject unknown UDT field (CASSANDRA-7484)
Merged from 2.0:
 * Fix CC#collectTimeOrderedData() tombstone optimisations (CASSANDRA-7394)
 * Support DISTINCT for static columns and fix behaviour when DISTINC is
   not use (CASSANDRA-7305).
 * Workaround JVM NPE on JMX bind failure (CASSANDRA-7254)
 * Fix race in FileCacheService RemovalListener (CASSANDRA-7278)
 * Fix inconsistent use of consistencyForCommit that allowed LOCAL_QUORUM
   operations to incorrect become full QUORUM (CASSANDRA-7345)
 * Properly handle unrecognized opcodes and flags (CASSANDRA-7440)
 * (Hadoop) close CqlRecordWriter clients when finished (CASSANDRA-7459)
 * Commit disk failure policy (CASSANDRA-7429)
 * Make sure high level sstables get compacted (CASSANDRA-7414)
 * Fix AssertionError when using empty clustering columns and static columns
   (CASSANDRA-7455)
 * Add option to disable STCS in L0 (CASSANDRA-6621)
 * Upgrade to snappy-java 1.0.5.2 (CASSANDRA-7476)


2.1.0-rc2
 * Fix heap size calculation for CompoundSparseCellName and
   CompoundSparseCellName.WithCollection (CASSANDRA-7421)
 * Allow counter mutations in UNLOGGED batches (CASSANDRA-7351)
 * Modify reconcile logic to always pick a tombstone over a counter cell
   (CASSANDRA-7346)
 * Avoid incremental compaction on Windows (CASSANDRA-7365)
 * Fix exception when querying a composite-keyed table with a collection index
   (CASSANDRA-7372)
 * Use node's host id in place of counter ids (CASSANDRA-7366)
 * Fix error when doing reversed queries with static columns (CASSANDRA-7490)
 * Backport CASSANDRA-6747 (CASSANDRA-7560)
 * Track max/min timestamps for range tombstones (CASSANDRA-7647)
 * Fix NPE when listing saved caches dir (CASSANDRA-7632)
 * Fix sstableloader unable to connect encrypted node (CASSANDRA-7585)
Merged from 1.2:
 * Clone token map outside of hot gossip loops (CASSANDRA-7758)
 * Add stop method to EmbeddedCassandraService (CASSANDRA-7595)
 * Support connecting to ipv6 jmx with nodetool (CASSANDRA-7669)
 * Set gc_grace_seconds to seven days for system schema tables (CASSANDRA-7668)
 * SimpleSeedProvider no longer caches seeds forever (CASSANDRA-7663)
 * Set correct stream ID on responses when non-Exception Throwables
   are thrown while handling native protocol messages (CASSANDRA-7470)
 * Fix row size miscalculation in LazilyCompactedRow (CASSANDRA-7543)
 * Fix race in background compaction check (CASSANDRA-7745)
 * Don't clear out range tombstones during compaction (CASSANDRA-7808)


2.1.0-rc1
 * Revert flush directory (CASSANDRA-6357)
 * More efficient executor service for fast operations (CASSANDRA-4718)
 * Move less common tools into a new cassandra-tools package (CASSANDRA-7160)
 * Support more concurrent requests in native protocol (CASSANDRA-7231)
 * Add tab-completion to debian nodetool packaging (CASSANDRA-6421)
 * Change concurrent_compactors defaults (CASSANDRA-7139)
 * Add PowerShell Windows launch scripts (CASSANDRA-7001)
 * Make commitlog archive+restore more robust (CASSANDRA-6974)
 * Fix marking commitlogsegments clean (CASSANDRA-6959)
 * Add snapshot "manifest" describing files included (CASSANDRA-6326)
 * Parallel streaming for sstableloader (CASSANDRA-3668)
 * Fix bugs in supercolumns handling (CASSANDRA-7138)
 * Fix ClassClassException on composite dense tables (CASSANDRA-7112)
 * Cleanup and optimize collation and slice iterators (CASSANDRA-7107)
 * Upgrade NBHM lib (CASSANDRA-7128)
 * Optimize netty server (CASSANDRA-6861)
 * Fix repair hang when given CF does not exist (CASSANDRA-7189)
 * Allow c* to be shutdown in an embedded mode (CASSANDRA-5635)
 * Add server side batching to native transport (CASSANDRA-5663)
 * Make batchlog replay asynchronous (CASSANDRA-6134)
 * remove unused classes (CASSANDRA-7197)
 * Limit user types to the keyspace they are defined in (CASSANDRA-6643)
 * Add validate method to CollectionType (CASSANDRA-7208)
 * New serialization format for UDT values (CASSANDRA-7209, CASSANDRA-7261)
 * Fix nodetool netstats (CASSANDRA-7270)
 * Fix potential ClassCastException in HintedHandoffManager (CASSANDRA-7284)
 * Use prepared statements internally (CASSANDRA-6975)
 * Fix broken paging state with prepared statement (CASSANDRA-7120)
 * Fix IllegalArgumentException in CqlStorage (CASSANDRA-7287)
 * Allow nulls/non-existant fields in UDT (CASSANDRA-7206)
 * Add Thrift MultiSliceRequest (CASSANDRA-6757, CASSANDRA-7027)
 * Handle overlapping MultiSlices (CASSANDRA-7279)
 * Fix DataOutputTest on Windows (CASSANDRA-7265)
 * Embedded sets in user defined data-types are not updating (CASSANDRA-7267)
 * Add tuple type to CQL/native protocol (CASSANDRA-7248)
 * Fix CqlPagingRecordReader on tables with few rows (CASSANDRA-7322)
Merged from 2.0:
 * Copy compaction options to make sure they are reloaded (CASSANDRA-7290)
 * Add option to do more aggressive tombstone compactions (CASSANDRA-6563)
 * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288)
 * Always reallocate buffers in HSHA (CASSANDRA-6285)
 * (Hadoop) support authentication in CqlRecordReader (CASSANDRA-7221)
 * (Hadoop) Close java driver Cluster in CQLRR.close (CASSANDRA-7228)
 * Warn when 'USING TIMESTAMP' is used on a CAS BATCH (CASSANDRA-7067)
 * return all cpu values from BackgroundActivityMonitor.readAndCompute (CASSANDRA-7183)
 * Correctly delete scheduled range xfers (CASSANDRA-7143)
 * return all cpu values from BackgroundActivityMonitor.readAndCompute (CASSANDRA-7183)
 * reduce garbage creation in calculatePendingRanges (CASSANDRA-7191)
 * fix c* launch issues on Russian os's due to output of linux 'free' cmd (CASSANDRA-6162)
 * Fix disabling autocompaction (CASSANDRA-7187)
 * Fix potential NumberFormatException when deserializing IntegerType (CASSANDRA-7088)
 * cqlsh can't tab-complete disabling compaction (CASSANDRA-7185)
 * cqlsh: Accept and execute CQL statement(s) from command-line parameter (CASSANDRA-7172)
 * Fix IllegalStateException in CqlPagingRecordReader (CASSANDRA-7198)
 * Fix the InvertedIndex trigger example (CASSANDRA-7211)
 * Add --resolve-ip option to 'nodetool ring' (CASSANDRA-7210)
 * reduce garbage on codec flag deserialization (CASSANDRA-7244)
 * Fix duplicated error messages on directory creation error at startup (CASSANDRA-5818)
 * Proper null handle for IF with map element access (CASSANDRA-7155)
 * Improve compaction visibility (CASSANDRA-7242)
 * Correctly delete scheduled range xfers (CASSANDRA-7143)
 * Make batchlog replica selection rack-aware (CASSANDRA-6551)
 * Fix CFMetaData#getColumnDefinitionFromColumnName() (CASSANDRA-7074)
 * Fix writetime/ttl functions for static columns (CASSANDRA-7081)
 * Suggest CTRL-C or semicolon after three blank lines in cqlsh (CASSANDRA-7142)
 * Fix 2ndary index queries with DESC clustering order (CASSANDRA-6950)
 * Invalid key cache entries on DROP (CASSANDRA-6525)
 * Fix flapping RecoveryManagerTest (CASSANDRA-7084)
 * Add missing iso8601 patterns for date strings (CASSANDRA-6973)
 * Support selecting multiple rows in a partition using IN (CASSANDRA-6875)
 * Add authentication support to shuffle (CASSANDRA-6484)
 * Swap local and global default read repair chances (CASSANDRA-7320)
 * Add conditional CREATE/DROP USER support (CASSANDRA-7264)
 * Cqlsh counts non-empty lines for "Blank lines" warning (CASSANDRA-7325)
Merged from 1.2:
 * Add Cloudstack snitch (CASSANDRA-7147)
 * Update system.peers correctly when relocating tokens (CASSANDRA-7126)
 * Add Google Compute Engine snitch (CASSANDRA-7132)
 * remove duplicate query for local tokens (CASSANDRA-7182)
 * exit CQLSH with error status code if script fails (CASSANDRA-6344)
 * Fix bug with some IN queries missig results (CASSANDRA-7105)
 * Fix availability validation for LOCAL_ONE CL (CASSANDRA-7319)
 * Hint streaming can cause decommission to fail (CASSANDRA-7219)


2.1.0-beta2
 * Increase default CL space to 8GB (CASSANDRA-7031)
 * Add range tombstones to read repair digests (CASSANDRA-6863)
 * Fix BTree.clear for large updates (CASSANDRA-6943)
 * Fail write instead of logging a warning when unable to append to CL
   (CASSANDRA-6764)
 * Eliminate possibility of CL segment appearing twice in active list
   (CASSANDRA-6557)
 * Apply DONTNEED fadvise to commitlog segments (CASSANDRA-6759)
 * Switch CRC component to Adler and include it for compressed sstables
   (CASSANDRA-4165)
 * Allow cassandra-stress to set compaction strategy options (CASSANDRA-6451)
 * Add broadcast_rpc_address option to cassandra.yaml (CASSANDRA-5899)
 * Auto reload GossipingPropertyFileSnitch config (CASSANDRA-5897)
 * Fix overflow of memtable_total_space_in_mb (CASSANDRA-6573)
 * Fix ABTC NPE and apply update function correctly (CASSANDRA-6692)
 * Allow nodetool to use a file or prompt for password (CASSANDRA-6660)
 * Fix AIOOBE when concurrently accessing ABSC (CASSANDRA-6742)
 * Fix assertion error in ALTER TYPE RENAME (CASSANDRA-6705)
 * Scrub should not always clear out repaired status (CASSANDRA-5351)
 * Improve handling of range tombstone for wide partitions (CASSANDRA-6446)
 * Fix ClassCastException for compact table with composites (CASSANDRA-6738)
 * Fix potentially repairing with wrong nodes (CASSANDRA-6808)
 * Change caching option syntax (CASSANDRA-6745)
 * Fix stress to do proper counter reads (CASSANDRA-6835)
 * Fix help message for stress counter_write (CASSANDRA-6824)
 * Fix stress smart Thrift client to pick servers correctly (CASSANDRA-6848)
 * Add logging levels (minimal, normal or verbose) to stress tool (CASSANDRA-6849)
 * Fix race condition in Batch CLE (CASSANDRA-6860)
 * Improve cleanup/scrub/upgradesstables failure handling (CASSANDRA-6774)
 * ByteBuffer write() methods for serializing sstables (CASSANDRA-6781)
 * Proper compare function for CollectionType (CASSANDRA-6783)
 * Update native server to Netty 4 (CASSANDRA-6236)
 * Fix off-by-one error in stress (CASSANDRA-6883)
 * Make OpOrder AutoCloseable (CASSANDRA-6901)
 * Remove sync repair JMX interface (CASSANDRA-6900)
 * Add multiple memory allocation options for memtables (CASSANDRA-6689, 6694)
 * Remove adjusted op rate from stress output (CASSANDRA-6921)
 * Add optimized CF.hasColumns() implementations (CASSANDRA-6941)
 * Serialize batchlog mutations with the version of the target node
   (CASSANDRA-6931)
 * Optimize CounterColumn#reconcile() (CASSANDRA-6953)
 * Properly remove 1.2 sstable support in 2.1 (CASSANDRA-6869)
 * Lock counter cells, not partitions (CASSANDRA-6880)
 * Track presence of legacy counter shards in sstables (CASSANDRA-6888)
 * Ensure safe resource cleanup when replacing sstables (CASSANDRA-6912)
 * Add failure handler to async callback (CASSANDRA-6747)
 * Fix AE when closing SSTable without releasing reference (CASSANDRA-7000)
 * Clean up IndexInfo on keyspace/table drops (CASSANDRA-6924)
 * Only snapshot relative SSTables when sequential repair (CASSANDRA-7024)
 * Require nodetool rebuild_index to specify index names (CASSANDRA-7038)
 * fix cassandra stress errors on reads with native protocol (CASSANDRA-7033)
 * Use OpOrder to guard sstable references for reads (CASSANDRA-6919)
 * Preemptive opening of compaction result (CASSANDRA-6916)
 * Multi-threaded scrub/cleanup/upgradesstables (CASSANDRA-5547)
 * Optimize cellname comparison (CASSANDRA-6934)
 * Native protocol v3 (CASSANDRA-6855)
 * Optimize Cell liveness checks and clean up Cell (CASSANDRA-7119)
 * Support consistent range movements (CASSANDRA-2434)
 * Display min timestamp in sstablemetadata viewer (CASSANDRA-6767)
Merged from 2.0:
 * Avoid race-prone second "scrub" of system keyspace (CASSANDRA-6797)
 * Pool CqlRecordWriter clients by inetaddress rather than Range
   (CASSANDRA-6665)
 * Fix compaction_history timestamps (CASSANDRA-6784)
 * Compare scores of full replica ordering in DES (CASSANDRA-6683)
 * fix CME in SessionInfo updateProgress affecting netstats (CASSANDRA-6577)
 * Allow repairing between specific replicas (CASSANDRA-6440)
 * Allow per-dc enabling of hints (CASSANDRA-6157)
 * Add compatibility for Hadoop 0.2.x (CASSANDRA-5201)
 * Fix EstimatedHistogram races (CASSANDRA-6682)
 * Failure detector correctly converts initial value to nanos (CASSANDRA-6658)
 * Add nodetool taketoken to relocate vnodes (CASSANDRA-4445)
 * Expose bulk loading progress over JMX (CASSANDRA-4757)
 * Correctly handle null with IF conditions and TTL (CASSANDRA-6623)
 * Account for range/row tombstones in tombstone drop
   time histogram (CASSANDRA-6522)
 * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652)
 * Make commitlog failure handling configurable (CASSANDRA-6364)
 * Avoid overlaps in LCS (CASSANDRA-6688)
 * Improve support for paginating over composites (CASSANDRA-4851)
 * Fix count(*) queries in a mixed cluster (CASSANDRA-6707)
 * Improve repair tasks(snapshot, differencing) concurrency (CASSANDRA-6566)
 * Fix replaying pre-2.0 commit logs (CASSANDRA-6714)
 * Add static columns to CQL3 (CASSANDRA-6561)
 * Optimize single partition batch statements (CASSANDRA-6737)
 * Disallow post-query re-ordering when paging (CASSANDRA-6722)
 * Fix potential paging bug with deleted columns (CASSANDRA-6748)
 * Fix NPE on BulkLoader caused by losing StreamEvent (CASSANDRA-6636)
 * Fix truncating compression metadata (CASSANDRA-6791)
 * Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541)
 * Catch memtable flush exceptions during shutdown (CASSANDRA-6735)
 * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645)
 * Fix UPDATE updating PRIMARY KEY columns implicitly (CASSANDRA-6782)
 * Fix IllegalArgumentException when updating from 1.2 with SuperColumns
   (CASSANDRA-6733)
 * FBUtilities.singleton() should use the CF comparator (CASSANDRA-6778)
 * Fix CQLSStableWriter.addRow(Map<String, Object>) (CASSANDRA-6526)
 * Fix HSHA server introducing corrupt data (CASSANDRA-6285)
 * Fix CAS conditions for COMPACT STORAGE tables (CASSANDRA-6813)
 * Starting threads in OutboundTcpConnectionPool constructor causes race conditions (CASSANDRA-7177)
 * Allow overriding cassandra-rackdc.properties file (CASSANDRA-7072)
 * Set JMX RMI port to 7199 (CASSANDRA-7087)
 * Use LOCAL_QUORUM for data reads at LOCAL_SERIAL (CASSANDRA-6939)
 * Log a warning for large batches (CASSANDRA-6487)
 * Put nodes in hibernate when join_ring is false (CASSANDRA-6961)
 * Avoid early loading of non-system keyspaces before compaction-leftovers
   cleanup at startup (CASSANDRA-6913)
 * Restrict Windows to parallel repairs (CASSANDRA-6907)
 * (Hadoop) Allow manually specifying start/end tokens in CFIF (CASSANDRA-6436)
 * Fix NPE in MeteredFlusher (CASSANDRA-6820)
 * Fix race processing range scan responses (CASSANDRA-6820)
 * Allow deleting snapshots from dropped keyspaces (CASSANDRA-6821)
 * Add uuid() function (CASSANDRA-6473)
 * Omit tombstones from schema digests (CASSANDRA-6862)
 * Include correct consistencyLevel in LWT timeout (CASSANDRA-6884)
 * Lower chances for losing new SSTables during nodetool refresh and
   ColumnFamilyStore.loadNewSSTables (CASSANDRA-6514)
 * Add support for DELETE ... IF EXISTS to CQL3 (CASSANDRA-5708)
 * Update hadoop_cql3_word_count example (CASSANDRA-6793)
 * Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788)
 * Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865)
 * Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864)
 * Fix schema concurrency exceptions (CASSANDRA-6841)
 * Fix leaking validator FH in StreamWriter (CASSANDRA-6832)
 * Fix saving triggers to schema (CASSANDRA-6789)
 * Fix trigger mutations when base mutation list is immutable (CASSANDRA-6790)
 * Fix accounting in FileCacheService to allow re-using RAR (CASSANDRA-6838)
 * Fix static counter columns (CASSANDRA-6827)
 * Restore expiring->deleted (cell) compaction optimization (CASSANDRA-6844)
 * Fix CompactionManager.needsCleanup (CASSANDRA-6845)
 * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779)
 * Read message id as string from earlier versions (CASSANDRA-6840)
 * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837)
 * Add paranoid disk failure option (CASSANDRA-6646)
 * Improve PerRowSecondaryIndex performance (CASSANDRA-6876)
 * Extend triggers to support CAS updates (CASSANDRA-6882)
 * Static columns with IF NOT EXISTS don't always work as expected (CASSANDRA-6873)
 * Fix paging with SELECT DISTINCT (CASSANDRA-6857)
 * Fix UnsupportedOperationException on CAS timeout (CASSANDRA-6923)
 * Improve MeteredFlusher handling of MF-unaffected column families
   (CASSANDRA-6867)
 * Add CqlRecordReader using native pagination (CASSANDRA-6311)
 * Add QueryHandler interface (CASSANDRA-6659)
 * Track liveRatio per-memtable, not per-CF (CASSANDRA-6945)
 * Make sure upgradesstables keeps sstable level (CASSANDRA-6958)
 * Fix LIMIT with static columns (CASSANDRA-6956)
 * Fix clash with CQL column name in thrift validation (CASSANDRA-6892)
 * Fix error with super columns in mixed 1.2-2.0 clusters (CASSANDRA-6966)
 * Fix bad skip of sstables on slice query with composite start/finish (CASSANDRA-6825)
 * Fix unintended update with conditional statement (CASSANDRA-6893)
 * Fix map element access in IF (CASSANDRA-6914)
 * Avoid costly range calculations for range queries on system keyspaces
   (CASSANDRA-6906)
 * Fix SSTable not released if stream session fails (CASSANDRA-6818)
 * Avoid build failure due to ANTLR timeout (CASSANDRA-6991)
 * Queries on compact tables can return more rows that requested (CASSANDRA-7052)
 * USING TIMESTAMP for batches does not work (CASSANDRA-7053)
 * Fix performance regression from CASSANDRA-5614 (CASSANDRA-6949)
 * Ensure that batchlog and hint timeouts do not produce hints (CASSANDRA-7058)
 * Merge groupable mutations in TriggerExecutor#execute() (CASSANDRA-7047)
 * Plug holes in resource release when wiring up StreamSession (CASSANDRA-7073)
 * Re-add parameter columns to tracing session (CASSANDRA-6942)
 * Preserves CQL metadata when updating table from thrift (CASSANDRA-6831)
Merged from 1.2:
 * Fix nodetool display with vnodes (CASSANDRA-7082)
 * Add UNLOGGED, COUNTER options to BATCH documentation (CASSANDRA-6816)
 * add extra SSL cipher suites (CASSANDRA-6613)
 * fix nodetool getsstables for blob PK (CASSANDRA-6803)
 * Fix BatchlogManager#deleteBatch() use of millisecond timestamps
   (CASSANDRA-6822)
 * Continue assassinating even if the endpoint vanishes (CASSANDRA-6787)
 * Schedule schema pulls on change (CASSANDRA-6971)
 * Non-droppable verbs shouldn't be dropped from OTC (CASSANDRA-6980)
 * Shutdown batchlog executor in SS#drain() (CASSANDRA-7025)
 * Fix batchlog to account for CF truncation records (CASSANDRA-6999)
 * Fix CQLSH parsing of functions and BLOB literals (CASSANDRA-7018)
 * Properly load trustore in the native protocol (CASSANDRA-6847)
 * Always clean up references in SerializingCache (CASSANDRA-6994)
 * Don't shut MessagingService down when replacing a node (CASSANDRA-6476)
 * fix npe when doing -Dcassandra.fd_initial_value_ms (CASSANDRA-6751)


2.1.0-beta1
 * Add flush directory distinct from compaction directories (CASSANDRA-6357)
 * Require JNA by default (CASSANDRA-6575)
 * add listsnapshots command to nodetool (CASSANDRA-5742)
 * Introduce AtomicBTreeColumns (CASSANDRA-6271, 6692)
 * Multithreaded commitlog (CASSANDRA-3578)
 * allocate fixed index summary memory pool and resample cold index summaries
   to use less memory (CASSANDRA-5519)
 * Removed multithreaded compaction (CASSANDRA-6142)
 * Parallelize fetching rows for low-cardinality indexes (CASSANDRA-1337)
 * change logging from log4j to logback (CASSANDRA-5883)
 * switch to LZ4 compression for internode communication (CASSANDRA-5887)
 * Stop using Thrift-generated Index* classes internally (CASSANDRA-5971)
 * Remove 1.2 network compatibility code (CASSANDRA-5960)
 * Remove leveled json manifest migration code (CASSANDRA-5996)
 * Remove CFDefinition (CASSANDRA-6253)
 * Use AtomicIntegerFieldUpdater in RefCountedMemory (CASSANDRA-6278)
 * User-defined types for CQL3 (CASSANDRA-5590)
 * Use of o.a.c.metrics in nodetool (CASSANDRA-5871, 6406)
 * Batch read from OTC's queue and cleanup (CASSANDRA-1632)
 * Secondary index support for collections (CASSANDRA-4511, 6383)
 * SSTable metadata(Stats.db) format change (CASSANDRA-6356)
 * Push composites support in the storage engine
   (CASSANDRA-5417, CASSANDRA-6520)
 * Add snapshot space used to cfstats (CASSANDRA-6231)
 * Add cardinality estimator for key count estimation (CASSANDRA-5906)
 * CF id is changed to be non-deterministic. Data dir/key cache are created
   uniquely for CF id (CASSANDRA-5202)
 * New counters implementation (CASSANDRA-6504)
 * Replace UnsortedColumns, EmptyColumns, TreeMapBackedSortedColumns with new
   ArrayBackedSortedColumns (CASSANDRA-6630, CASSANDRA-6662, CASSANDRA-6690)
 * Add option to use row cache with a given amount of rows (CASSANDRA-5357)
 * Avoid repairing already repaired data (CASSANDRA-5351)
 * Reject counter updates with USING TTL/TIMESTAMP (CASSANDRA-6649)
 * Replace index_interval with min/max_index_interval (CASSANDRA-6379)
 * Lift limitation that order by columns must be selected for IN queries (CASSANDRA-4911)


2.0.5
 * Reduce garbage generated by bloom filter lookups (CASSANDRA-6609)
 * Add ks.cf names to tombstone logging (CASSANDRA-6597)
 * Use LOCAL_QUORUM for LWT operations at LOCAL_SERIAL (CASSANDRA-6495)
 * Wait for gossip to settle before accepting client connections (CASSANDRA-4288)
 * Delete unfinished compaction incrementally (CASSANDRA-6086)
 * Allow specifying custom secondary index options in CQL3 (CASSANDRA-6480)
 * Improve replica pinning for cache efficiency in DES (CASSANDRA-6485)
 * Fix LOCAL_SERIAL from thrift (CASSANDRA-6584)
 * Don't special case received counts in CAS timeout exceptions (CASSANDRA-6595)
 * Add support for 2.1 global counter shards (CASSANDRA-6505)
 * Fix NPE when streaming connection is not yet established (CASSANDRA-6210)
 * Avoid rare duplicate read repair triggering (CASSANDRA-6606)
 * Fix paging discardFirst (CASSANDRA-6555)
 * Fix ArrayIndexOutOfBoundsException in 2ndary index query (CASSANDRA-6470)
 * Release sstables upon rebuilding 2i (CASSANDRA-6635)
 * Add AbstractCompactionStrategy.startup() method (CASSANDRA-6637)
 * SSTableScanner may skip rows during cleanup (CASSANDRA-6638)
 * sstables from stalled repair sessions can resurrect deleted data (CASSANDRA-6503)
 * Switch stress to use ITransportFactory (CASSANDRA-6641)
 * Fix IllegalArgumentException during prepare (CASSANDRA-6592)
 * Fix possible loss of 2ndary index entries during compaction (CASSANDRA-6517)
 * Fix direct Memory on architectures that do not support unaligned long access
   (CASSANDRA-6628)
 * Let scrub optionally skip broken counter partitions (CASSANDRA-5930)
Merged from 1.2:
 * fsync compression metadata (CASSANDRA-6531)
 * Validate CF existence on execution for prepared statement (CASSANDRA-6535)
 * Add ability to throttle batchlog replay (CASSANDRA-6550)
 * Fix executing LOCAL_QUORUM with SimpleStrategy (CASSANDRA-6545)
 * Avoid StackOverflow when using large IN queries (CASSANDRA-6567)
 * Nodetool upgradesstables includes secondary indexes (CASSANDRA-6598)
 * Paginate batchlog replay (CASSANDRA-6569)
 * skip blocking on streaming during drain (CASSANDRA-6603)
 * Improve error message when schema doesn't match loaded sstable (CASSANDRA-6262)
 * Add properties to adjust FD initial value and max interval (CASSANDRA-4375)
 * Fix preparing with batch and delete from collection (CASSANDRA-6607)
 * Fix ABSC reverse iterator's remove() method (CASSANDRA-6629)
 * Handle host ID conflicts properly (CASSANDRA-6615)
 * Move handling of migration event source to solve bootstrap race. (CASSANDRA-6648)
 * Make sure compaction throughput value doesn't overflow with int math (CASSANDRA-6647)


2.0.4
 * Allow removing snapshots of no-longer-existing CFs (CASSANDRA-6418)
 * add StorageService.stopDaemon() (CASSANDRA-4268)
 * add IRE for invalid CF supplied to get_count (CASSANDRA-5701)
 * add client encryption support to sstableloader (CASSANDRA-6378)
 * Fix accept() loop for SSL sockets post-shutdown (CASSANDRA-6468)
 * Fix size-tiered compaction in LCS L0 (CASSANDRA-6496)
 * Fix assertion failure in filterColdSSTables (CASSANDRA-6483)
 * Fix row tombstones in larger-than-memory compactions (CASSANDRA-6008)
 * Fix cleanup ClassCastException (CASSANDRA-6462)
 * Reduce gossip memory use by interning VersionedValue strings (CASSANDRA-6410)
 * Allow specifying datacenters to participate in a repair (CASSANDRA-6218)
 * Fix divide-by-zero in PCI (CASSANDRA-6403)
 * Fix setting last compacted key in the wrong level for LCS (CASSANDRA-6284)
 * Add millisecond precision formats to the timestamp parser (CASSANDRA-6395)
 * Expose a total memtable size metric for a CF (CASSANDRA-6391)
 * cqlsh: handle symlinks properly (CASSANDRA-6425)
 * Fix potential infinite loop when paging query with IN (CASSANDRA-6464)
 * Fix assertion error in AbstractQueryPager.discardFirst (CASSANDRA-6447)
 * Fix streaming older SSTable yields unnecessary tombstones (CASSANDRA-6527)
Merged from 1.2:
 * Improved error message on bad properties in DDL queries (CASSANDRA-6453)
 * Randomize batchlog candidates selection (CASSANDRA-6481)
 * Fix thundering herd on endpoint cache invalidation (CASSANDRA-6345, 6485)
 * Improve batchlog write performance with vnodes (CASSANDRA-6488)
 * cqlsh: quote single quotes in strings inside collections (CASSANDRA-6172)
 * Improve gossip performance for typical messages (CASSANDRA-6409)
 * Throw IRE if a prepared statement has more markers than supported
   (CASSANDRA-5598)
 * Expose Thread metrics for the native protocol server (CASSANDRA-6234)
 * Change snapshot response message verb to INTERNAL to avoid dropping it
   (CASSANDRA-6415)
 * Warn when collection read has > 65K elements (CASSANDRA-5428)
 * Fix cache persistence when both row and key cache are enabled
   (CASSANDRA-6413)
 * (Hadoop) add describe_local_ring (CASSANDRA-6268)
 * Fix handling of concurrent directory creation failure (CASSANDRA-6459)
 * Allow executing CREATE statements multiple times (CASSANDRA-6471)
 * Don't send confusing info with timeouts (CASSANDRA-6491)
 * Don't resubmit counter mutation runnables internally (CASSANDRA-6427)
 * Don't drop local mutations without a hint (CASSANDRA-6510)
 * Don't allow null max_hint_window_in_ms (CASSANDRA-6419)
 * Validate SliceRange start and finish lengths (CASSANDRA-6521)


2.0.3
 * Fix FD leak on slice read path (CASSANDRA-6275)
 * Cancel read meter task when closing SSTR (CASSANDRA-6358)
 * free off-heap IndexSummary during bulk (CASSANDRA-6359)
 * Recover from IOException in accept() thread (CASSANDRA-6349)
 * Improve Gossip tolerance of abnormally slow tasks (CASSANDRA-6338)
 * Fix trying to hint timed out counter writes (CASSANDRA-6322)
 * Allow restoring specific columnfamilies from archived CL (CASSANDRA-4809)
 * Avoid flushing compaction_history after each operation (CASSANDRA-6287)
 * Fix repair assertion error when tombstones expire (CASSANDRA-6277)
 * Skip loading corrupt key cache (CASSANDRA-6260)
 * Fixes for compacting larger-than-memory rows (CASSANDRA-6274)
 * Compact hottest sstables first and optionally omit coldest from
   compaction entirely (CASSANDRA-6109)
 * Fix modifying column_metadata from thrift (CASSANDRA-6182)
 * cqlsh: fix LIST USERS output (CASSANDRA-6242)
 * Add IRequestSink interface (CASSANDRA-6248)
 * Update memtable size while flushing (CASSANDRA-6249)
 * Provide hooks around CQL2/CQL3 statement execution (CASSANDRA-6252)
 * Require Permission.SELECT for CAS updates (CASSANDRA-6247)
 * New CQL-aware SSTableWriter (CASSANDRA-5894)
 * Reject CAS operation when the protocol v1 is used (CASSANDRA-6270)
 * Correctly throw error when frame too large (CASSANDRA-5981)
 * Fix serialization bug in PagedRange with 2ndary indexes (CASSANDRA-6299)
 * Fix CQL3 table validation in Thrift (CASSANDRA-6140)
 * Fix bug missing results with IN clauses (CASSANDRA-6327)
 * Fix paging with reversed slices (CASSANDRA-6343)
 * Set minTimestamp correctly to be able to drop expired sstables (CASSANDRA-6337)
 * Support NaN and Infinity as float literals (CASSANDRA-6003)
 * Remove RF from nodetool ring output (CASSANDRA-6289)
 * Fix attempting to flush empty rows (CASSANDRA-6374)
 * Fix potential out of bounds exception when paging (CASSANDRA-6333)
Merged from 1.2:
 * Optimize FD phi calculation (CASSANDRA-6386)
 * Improve initial FD phi estimate when starting up (CASSANDRA-6385)
 * Don't list CQL3 table in CLI describe even if named explicitely
   (CASSANDRA-5750)
 * Invalidate row cache when dropping CF (CASSANDRA-6351)
 * add non-jamm path for cached statements (CASSANDRA-6293)
 * add windows bat files for shell commands (CASSANDRA-6145)
 * Require logging in for Thrift CQL2/3 statement preparation (CASSANDRA-6254)
 * restrict max_num_tokens to 1536 (CASSANDRA-6267)
 * Nodetool gets default JMX port from cassandra-env.sh (CASSANDRA-6273)
 * make calculatePendingRanges asynchronous (CASSANDRA-6244)
 * Remove blocking flushes in gossip thread (CASSANDRA-6297)
 * Fix potential socket leak in connectionpool creation (CASSANDRA-6308)
 * Allow LOCAL_ONE/LOCAL_QUORUM to work with SimpleStrategy (CASSANDRA-6238)
 * cqlsh: handle 'null' as session duration (CASSANDRA-6317)
 * Fix json2sstable handling of range tombstones (CASSANDRA-6316)
 * Fix missing one row in reverse query (CASSANDRA-6330)
 * Fix reading expired row value from row cache (CASSANDRA-6325)
 * Fix AssertionError when doing set element deletion (CASSANDRA-6341)
 * Make CL code for the native protocol match the one in C* 2.0
   (CASSANDRA-6347)
 * Disallow altering CQL3 table from thrift (CASSANDRA-6370)
 * Fix size computation of prepared statement (CASSANDRA-6369)


2.0.2
 * Update FailureDetector to use nanontime (CASSANDRA-4925)
 * Fix FileCacheService regressions (CASSANDRA-6149)
 * Never return WriteTimeout for CL.ANY (CASSANDRA-6132)
 * Fix race conditions in bulk loader (CASSANDRA-6129)
 * Add configurable metrics reporting (CASSANDRA-4430)
 * drop queries exceeding a configurable number of tombstones (CASSANDRA-6117)
 * Track and persist sstable read activity (CASSANDRA-5515)
 * Fixes for speculative retry (CASSANDRA-5932, CASSANDRA-6194)
 * Improve memory usage of metadata min/max column names (CASSANDRA-6077)
 * Fix thrift validation refusing row markers on CQL3 tables (CASSANDRA-6081)
 * Fix insertion of collections with CAS (CASSANDRA-6069)
 * Correctly send metadata on SELECT COUNT (CASSANDRA-6080)
 * Track clients' remote addresses in ClientState (CASSANDRA-6070)
 * Create snapshot dir if it does not exist when migrating
   leveled manifest (CASSANDRA-6093)
 * make sequential nodetool repair the default (CASSANDRA-5950)
 * Add more hooks for compaction strategy implementations (CASSANDRA-6111)
 * Fix potential NPE on composite 2ndary indexes (CASSANDRA-6098)
 * Delete can potentially be skipped in batch (CASSANDRA-6115)
 * Allow alter keyspace on system_traces (CASSANDRA-6016)
 * Disallow empty column names in cql (CASSANDRA-6136)
 * Use Java7 file-handling APIs and fix file moving on Windows (CASSANDRA-5383)
 * Save compaction history to system keyspace (CASSANDRA-5078)
 * Fix NPE if StorageService.getOperationMode() is executed before full startup (CASSANDRA-6166)
 * CQL3: support pre-epoch longs for TimestampType (CASSANDRA-6212)
 * Add reloadtriggers command to nodetool (CASSANDRA-4949)
 * cqlsh: ignore empty 'value alias' in DESCRIBE (CASSANDRA-6139)
 * Fix sstable loader (CASSANDRA-6205)
 * Reject bootstrapping if the node already exists in gossip (CASSANDRA-5571)
 * Fix NPE while loading paxos state (CASSANDRA-6211)
 * cqlsh: add SHOW SESSION <tracing-session> command (CASSANDRA-6228)
Merged from 1.2:
 * (Hadoop) Require CFRR batchSize to be at least 2 (CASSANDRA-6114)
 * Add a warning for small LCS sstable size (CASSANDRA-6191)
 * Add ability to list specific KS/CF combinations in nodetool cfstats (CASSANDRA-4191)
 * Mark CF clean if a mutation raced the drop and got it marked dirty (CASSANDRA-5946)
 * Add a LOCAL_ONE consistency level (CASSANDRA-6202)
 * Limit CQL prepared statement cache by size instead of count (CASSANDRA-6107)
 * Tracing should log write failure rather than raw exceptions (CASSANDRA-6133)
 * lock access to TM.endpointToHostIdMap (CASSANDRA-6103)
 * Allow estimated memtable size to exceed slab allocator size (CASSANDRA-6078)
 * Start MeteredFlusher earlier to prevent OOM during CL replay (CASSANDRA-6087)
 * Avoid sending Truncate command to fat clients (CASSANDRA-6088)
 * Allow where clause conditions to be in parenthesis (CASSANDRA-6037)
 * Do not open non-ssl storage port if encryption option is all (CASSANDRA-3916)
 * Move batchlog replay to its own executor (CASSANDRA-6079)
 * Add tombstone debug threshold and histogram (CASSANDRA-6042, 6057)
 * Enable tcp keepalive on incoming connections (CASSANDRA-4053)
 * Fix fat client schema pull NPE (CASSANDRA-6089)
 * Fix memtable flushing for indexed tables (CASSANDRA-6112)
 * Fix skipping columns with multiple slices (CASSANDRA-6119)
 * Expose connected thrift + native client counts (CASSANDRA-5084)
 * Optimize auth setup (CASSANDRA-6122)
 * Trace index selection (CASSANDRA-6001)
 * Update sstablesPerReadHistogram to use biased sampling (CASSANDRA-6164)
 * Log UnknownColumnfamilyException when closing socket (CASSANDRA-5725)
 * Properly error out on CREATE INDEX for counters table (CASSANDRA-6160)
 * Handle JMX notification failure for repair (CASSANDRA-6097)
 * (Hadoop) Fetch no more than 128 splits in parallel (CASSANDRA-6169)
 * stress: add username/password authentication support (CASSANDRA-6068)
 * Fix indexed queries with row cache enabled on parent table (CASSANDRA-5732)
 * Fix compaction race during columnfamily drop (CASSANDRA-5957)
 * Fix validation of empty column names for compact tables (CASSANDRA-6152)
 * Skip replaying mutations that pass CRC but fail to deserialize (CASSANDRA-6183)
 * Rework token replacement to use replace_address (CASSANDRA-5916)
 * Fix altering column types (CASSANDRA-6185)
 * cqlsh: fix CREATE/ALTER WITH completion (CASSANDRA-6196)
 * add windows bat files for shell commands (CASSANDRA-6145)
 * Fix potential stack overflow during range tombstones insertion (CASSANDRA-6181)
 * (Hadoop) Make LOCAL_ONE the default consistency level (CASSANDRA-6214)


2.0.1
 * Fix bug that could allow reading deleted data temporarily (CASSANDRA-6025)
 * Improve memory use defaults (CASSANDRA-6059)
 * Make ThriftServer more easlly extensible (CASSANDRA-6058)
 * Remove Hadoop dependency from ITransportFactory (CASSANDRA-6062)
 * add file_cache_size_in_mb setting (CASSANDRA-5661)
 * Improve error message when yaml contains invalid properties (CASSANDRA-5958)
 * Improve leveled compaction's ability to find non-overlapping L0 compactions
   to work on concurrently (CASSANDRA-5921)
 * Notify indexer of columns shadowed by range tombstones (CASSANDRA-5614)
 * Log Merkle tree stats (CASSANDRA-2698)
 * Switch from crc32 to adler32 for compressed sstable checksums (CASSANDRA-5862)
 * Improve offheap memcpy performance (CASSANDRA-5884)
 * Use a range aware scanner for cleanup (CASSANDRA-2524)
 * Cleanup doesn't need to inspect sstables that contain only local data
   (CASSANDRA-5722)
 * Add ability for CQL3 to list partition keys (CASSANDRA-4536)
 * Improve native protocol serialization (CASSANDRA-5664)
 * Upgrade Thrift to 0.9.1 (CASSANDRA-5923)
 * Require superuser status for adding triggers (CASSANDRA-5963)
 * Make standalone scrubber handle old and new style leveled manifest
   (CASSANDRA-6005)
 * Fix paxos bugs (CASSANDRA-6012, 6013, 6023)
 * Fix paged ranges with multiple replicas (CASSANDRA-6004)
 * Fix potential AssertionError during tracing (CASSANDRA-6041)
 * Fix NPE in sstablesplit (CASSANDRA-6027)
 * Migrate pre-2.0 key/value/column aliases to system.schema_columns
   (CASSANDRA-6009)
 * Paging filter empty rows too agressively (CASSANDRA-6040)
 * Support variadic parameters for IN clauses (CASSANDRA-4210)
 * cqlsh: return the result of CAS writes (CASSANDRA-5796)
 * Fix validation of IN clauses with 2ndary indexes (CASSANDRA-6050)
 * Support named bind variables in CQL (CASSANDRA-6033)
Merged from 1.2:
 * Allow cache-keys-to-save to be set at runtime (CASSANDRA-5980)
 * Avoid second-guessing out-of-space state (CASSANDRA-5605)
 * Tuning knobs for dealing with large blobs and many CFs (CASSANDRA-5982)
 * (Hadoop) Fix CQLRW for thrift tables (CASSANDRA-6002)
 * Fix possible divide-by-zero in HHOM (CASSANDRA-5990)
 * Allow local batchlog writes for CL.ANY (CASSANDRA-5967)
 * Upgrade metrics-core to version 2.2.0 (CASSANDRA-5947)
 * Fix CqlRecordWriter with composite keys (CASSANDRA-5949)
 * Add snitch, schema version, cluster, partitioner to JMX (CASSANDRA-5881)
 * Allow disabling SlabAllocator (CASSANDRA-5935)
 * Make user-defined compaction JMX blocking (CASSANDRA-4952)
 * Fix streaming does not transfer wrapped range (CASSANDRA-5948)
 * Fix loading index summary containing empty key (CASSANDRA-5965)
 * Correctly handle limits in CompositesSearcher (CASSANDRA-5975)
 * Pig: handle CQL collections (CASSANDRA-5867)
 * Pass the updated cf to the PRSI index() method (CASSANDRA-5999)
 * Allow empty CQL3 batches (as no-op) (CASSANDRA-5994)
 * Support null in CQL3 functions (CASSANDRA-5910)
 * Replace the deprecated MapMaker with CacheLoader (CASSANDRA-6007)
 * Add SSTableDeletingNotification to DataTracker (CASSANDRA-6010)
 * Fix snapshots in use get deleted during snapshot repair (CASSANDRA-6011)
 * Move hints and exception count to o.a.c.metrics (CASSANDRA-6017)
 * Fix memory leak in snapshot repair (CASSANDRA-6047)
 * Fix sstable2sjon for CQL3 tables (CASSANDRA-5852)


2.0.0
 * Fix thrift validation when inserting into CQL3 tables (CASSANDRA-5138)
 * Fix periodic memtable flushing behavior with clean memtables (CASSANDRA-5931)
 * Fix dateOf() function for pre-2.0 timestamp columns (CASSANDRA-5928)
 * Fix SSTable unintentionally loads BF when opened for batch (CASSANDRA-5938)
 * Add stream session progress to JMX (CASSANDRA-4757)
 * Fix NPE during CAS operation (CASSANDRA-5925)
Merged from 1.2:
 * Fix getBloomFilterDiskSpaceUsed for AlwaysPresentFilter (CASSANDRA-5900)
 * Don't announce schema version until we've loaded the changes locally
   (CASSANDRA-5904)
 * Fix to support off heap bloom filters size greater than 2 GB (CASSANDRA-5903)
 * Properly handle parsing huge map and set literals (CASSANDRA-5893)


2.0.0-rc2
 * enable vnodes by default (CASSANDRA-5869)
 * fix CAS contention timeout (CASSANDRA-5830)
 * fix HsHa to respect max frame size (CASSANDRA-4573)
 * Fix (some) 2i on composite components omissions (CASSANDRA-5851)
 * cqlsh: add DESCRIBE FULL SCHEMA variant (CASSANDRA-5880)
Merged from 1.2:
 * Correctly validate sparse composite cells in scrub (CASSANDRA-5855)
 * Add KeyCacheHitRate metric to CF metrics (CASSANDRA-5868)
 * cqlsh: add support for multiline comments (CASSANDRA-5798)
 * Handle CQL3 SELECT duplicate IN restrictions on clustering columns
   (CASSANDRA-5856)


2.0.0-rc1
 * improve DecimalSerializer performance (CASSANDRA-5837)
 * fix potential spurious wakeup in AsyncOneResponse (CASSANDRA-5690)
 * fix schema-related trigger issues (CASSANDRA-5774)
 * Better validation when accessing CQL3 table from thrift (CASSANDRA-5138)
 * Fix assertion error during repair (CASSANDRA-5801)
 * Fix range tombstone bug (CASSANDRA-5805)
 * DC-local CAS (CASSANDRA-5797)
 * Add a native_protocol_version column to the system.local table (CASSANRDA-5819)
 * Use index_interval from cassandra.yaml when upgraded (CASSANDRA-5822)
 * Fix buffer underflow on socket close (CASSANDRA-5792)
Merged from 1.2:
 * Fix reading DeletionTime from 1.1-format sstables (CASSANDRA-5814)
 * cqlsh: add collections support to COPY (CASSANDRA-5698)
 * retry important messages for any IOException (CASSANDRA-5804)
 * Allow empty IN relations in SELECT/UPDATE/DELETE statements (CASSANDRA-5626)
 * cqlsh: fix crashing on Windows due to libedit detection (CASSANDRA-5812)
 * fix bulk-loading compressed sstables (CASSANDRA-5820)
 * (Hadoop) fix quoting in CqlPagingRecordReader and CqlRecordWriter
   (CASSANDRA-5824)
 * update default LCS sstable size to 160MB (CASSANDRA-5727)
 * Allow compacting 2Is via nodetool (CASSANDRA-5670)
 * Hex-encode non-String keys in OPP (CASSANDRA-5793)
 * nodetool history logging (CASSANDRA-5823)
 * (Hadoop) fix support for Thrift tables in CqlPagingRecordReader
   (CASSANDRA-5752)
 * add "all time blocked" to StatusLogger output (CASSANDRA-5825)
 * Future-proof inter-major-version schema migrations (CASSANDRA-5845)
 * (Hadoop) add CqlPagingRecordReader support for ReversedType in Thrift table
   (CASSANDRA-5718)
 * Add -no-snapshot option to scrub (CASSANDRA-5891)
 * Fix to support off heap bloom filters size greater than 2 GB (CASSANDRA-5903)
 * Properly handle parsing huge map and set literals (CASSANDRA-5893)
 * Fix LCS L0 compaction may overlap in L1 (CASSANDRA-5907)
 * New sstablesplit tool to split large sstables offline (CASSANDRA-4766)
 * Fix potential deadlock in native protocol server (CASSANDRA-5926)
 * Disallow incompatible type change in CQL3 (CASSANDRA-5882)
Merged from 1.1:
 * Correctly validate sparse composite cells in scrub (CASSANDRA-5855)


2.0.0-beta2
 * Replace countPendingHints with Hints Created metric (CASSANDRA-5746)
 * Allow nodetool with no args, and with help to run without a server (CASSANDRA-5734)
 * Cleanup AbstractType/TypeSerializer classes (CASSANDRA-5744)
 * Remove unimplemented cli option schema-mwt (CASSANDRA-5754)
 * Support range tombstones in thrift (CASSANDRA-5435)
 * Normalize table-manipulating CQL3 statements' class names (CASSANDRA-5759)
 * cqlsh: add missing table options to DESCRIBE output (CASSANDRA-5749)
 * Fix assertion error during repair (CASSANDRA-5757)
 * Fix bulkloader (CASSANDRA-5542)
 * Add LZ4 compression to the native protocol (CASSANDRA-5765)
 * Fix bugs in the native protocol v2 (CASSANDRA-5770)
 * CAS on 'primary key only' table (CASSANDRA-5715)
 * Support streaming SSTables of old versions (CASSANDRA-5772)
 * Always respect protocol version in native protocol (CASSANDRA-5778)
 * Fix ConcurrentModificationException during streaming (CASSANDRA-5782)
 * Update deletion timestamp in Commit#updatesWithPaxosTime (CASSANDRA-5787)
 * Thrift cas() method crashes if input columns are not sorted (CASSANDRA-5786)
 * Order columns names correctly when querying for CAS (CASSANDRA-5788)
 * Fix streaming retry (CASSANDRA-5775)
Merged from 1.2:
 * if no seeds can be a reached a node won't start in a ring by itself (CASSANDRA-5768)
 * add cassandra.unsafesystem property (CASSANDRA-5704)
 * (Hadoop) quote identifiers in CqlPagingRecordReader (CASSANDRA-5763)
 * Add replace_node functionality for vnodes (CASSANDRA-5337)
 * Add timeout events to query traces (CASSANDRA-5520)
 * Fix serialization of the LEFT gossip value (CASSANDRA-5696)
 * Pig: support for cql3 tables (CASSANDRA-5234)
 * Fix skipping range tombstones with reverse queries (CASSANDRA-5712)
 * Expire entries out of ThriftSessionManager (CASSANDRA-5719)
 * Don't keep ancestor information in memory (CASSANDRA-5342)
 * Expose native protocol server status in nodetool info (CASSANDRA-5735)
 * Fix pathetic performance of range tombstones (CASSANDRA-5677)
 * Fix querying with an empty (impossible) range (CASSANDRA-5573)
 * cqlsh: handle CUSTOM 2i in DESCRIBE output (CASSANDRA-5760)
 * Fix minor bug in Range.intersects(Bound) (CASSANDRA-5771)
 * cqlsh: handle disabled compression in DESCRIBE output (CASSANDRA-5766)
 * Ensure all UP events are notified on the native protocol (CASSANDRA-5769)
 * Fix formatting of sstable2json with multiple -k arguments (CASSANDRA-5781)
 * Don't rely on row marker for queries in general to hide lost markers
   after TTL expires (CASSANDRA-5762)
 * Sort nodetool help output (CASSANDRA-5776)
 * Fix column expiring during 2 phases compaction (CASSANDRA-5799)
 * now() is being rejected in INSERTs when inside collections (CASSANDRA-5795)


2.0.0-beta1
 * Add support for indexing clustered columns (CASSANDRA-5125)
 * Removed on-heap row cache (CASSANDRA-5348)
 * use nanotime consistently for node-local timeouts (CASSANDRA-5581)
 * Avoid unnecessary second pass on name-based queries (CASSANDRA-5577)
 * Experimental triggers (CASSANDRA-1311)
 * JEMalloc support for off-heap allocation (CASSANDRA-3997)
 * Single-pass compaction (CASSANDRA-4180)
 * Removed token range bisection (CASSANDRA-5518)
 * Removed compatibility with pre-1.2.5 sstables and network messages
   (CASSANDRA-5511)
 * removed PBSPredictor (CASSANDRA-5455)
 * CAS support (CASSANDRA-5062, 5441, 5442, 5443, 5619, 5667)
 * Leveled compaction performs size-tiered compactions in L0
   (CASSANDRA-5371, 5439)
 * Add yaml network topology snitch for mixed ec2/other envs (CASSANDRA-5339)
 * Log when a node is down longer than the hint window (CASSANDRA-4554)
 * Optimize tombstone creation for ExpiringColumns (CASSANDRA-4917)
 * Improve LeveledScanner work estimation (CASSANDRA-5250, 5407)
 * Replace compaction lock with runWithCompactionsDisabled (CASSANDRA-3430)
 * Change Message IDs to ints (CASSANDRA-5307)
 * Move sstable level information into the Stats component, removing the
   need for a separate Manifest file (CASSANDRA-4872)
 * avoid serializing to byte[] on commitlog append (CASSANDRA-5199)
 * make index_interval configurable per columnfamily (CASSANDRA-3961, CASSANDRA-5650)
 * add default_time_to_live (CASSANDRA-3974)
 * add memtable_flush_period_in_ms (CASSANDRA-4237)
 * replace supercolumns internally by composites (CASSANDRA-3237, 5123)
 * upgrade thrift to 0.9.0 (CASSANDRA-3719)
 * drop unnecessary keyspace parameter from user-defined compaction API
   (CASSANDRA-5139)
 * more robust solution to incomplete compactions + counters (CASSANDRA-5151)
 * Change order of directory searching for c*.in.sh (CASSANDRA-3983)
 * Add tool to reset SSTable compaction level for LCS (CASSANDRA-5271)
 * Allow custom configuration loader (CASSANDRA-5045)
 * Remove memory emergency pressure valve logic (CASSANDRA-3534)
 * Reduce request latency with eager retry (CASSANDRA-4705)
 * cqlsh: Remove ASSUME command (CASSANDRA-5331)
 * Rebuild BF when loading sstables if bloom_filter_fp_chance
   has changed since compaction (CASSANDRA-5015)
 * remove row-level bloom filters (CASSANDRA-4885)
 * Change Kernel Page Cache skipping into row preheating (disabled by default)
   (CASSANDRA-4937)
 * Improve repair by deciding on a gcBefore before sending
   out TreeRequests (CASSANDRA-4932)
 * Add an official way to disable compactions (CASSANDRA-5074)
 * Reenable ALTER TABLE DROP with new semantics (CASSANDRA-3919)
 * Add binary protocol versioning (CASSANDRA-5436)
 * Swap THshaServer for TThreadedSelectorServer (CASSANDRA-5530)
 * Add alias support to SELECT statement (CASSANDRA-5075)
 * Don't create empty RowMutations in CommitLogReplayer (CASSANDRA-5541)
 * Use range tombstones when dropping cfs/columns from schema (CASSANDRA-5579)
 * cqlsh: drop CQL2/CQL3-beta support (CASSANDRA-5585)
 * Track max/min column names in sstables to be able to optimize slice
   queries (CASSANDRA-5514, CASSANDRA-5595, CASSANDRA-5600)
 * Binary protocol: allow batching already prepared statements (CASSANDRA-4693)
 * Allow preparing timestamp, ttl and limit in CQL3 queries (CASSANDRA-4450)
 * Support native link w/o JNA in Java7 (CASSANDRA-3734)
 * Use SASL authentication in binary protocol v2 (CASSANDRA-5545)
 * Replace Thrift HsHa with LMAX Disruptor based implementation (CASSANDRA-5582)
 * cqlsh: Add row count to SELECT output (CASSANDRA-5636)
 * Include a timestamp with all read commands to determine column expiration
   (CASSANDRA-5149)
 * Streaming 2.0 (CASSANDRA-5286, 5699)
 * Conditional create/drop ks/table/index statements in CQL3 (CASSANDRA-2737)
 * more pre-table creation property validation (CASSANDRA-5693)
 * Redesign repair messages (CASSANDRA-5426)
 * Fix ALTER RENAME post-5125 (CASSANDRA-5702)
 * Disallow renaming a 2ndary indexed column (CASSANDRA-5705)
 * Rename Table to Keyspace (CASSANDRA-5613)
 * Ensure changing column_index_size_in_kb on different nodes don't corrupt the
   sstable (CASSANDRA-5454)
 * Move resultset type information into prepare, not execute (CASSANDRA-5649)
 * Auto paging in binary protocol (CASSANDRA-4415, 5714)
 * Don't tie client side use of AbstractType to JDBC (CASSANDRA-4495)
 * Adds new TimestampType to replace DateType (CASSANDRA-5723, CASSANDRA-5729)
Merged from 1.2:
 * make starting native protocol server idempotent (CASSANDRA-5728)
 * Fix loading key cache when a saved entry is no longer valid (CASSANDRA-5706)
 * Fix serialization of the LEFT gossip value (CASSANDRA-5696)
 * cqlsh: Don't show 'null' in place of empty values (CASSANDRA-5675)
 * Race condition in detecting version on a mixed 1.1/1.2 cluster
   (CASSANDRA-5692)
 * Fix skipping range tombstones with reverse queries (CASSANDRA-5712)
 * Expire entries out of ThriftSessionManager (CASSANRDA-5719)
 * Don't keep ancestor information in memory (CASSANDRA-5342)
 * cqlsh: fix handling of semicolons inside BATCH queries (CASSANDRA-5697)


1.2.6
 * Fix tracing when operation completes before all responses arrive
   (CASSANDRA-5668)
 * Fix cross-DC mutation forwarding (CASSANDRA-5632)
 * Reduce SSTableLoader memory usage (CASSANDRA-5555)
 * Scale hinted_handoff_throttle_in_kb to cluster size (CASSANDRA-5272)
 * (Hadoop) Add CQL3 input/output formats (CASSANDRA-4421, 5622)
 * (Hadoop) Fix InputKeyRange in CFIF (CASSANDRA-5536)
 * Fix dealing with ridiculously large max sstable sizes in LCS (CASSANDRA-5589)
 * Ignore pre-truncate hints (CASSANDRA-4655)
 * Move System.exit on OOM into a separate thread (CASSANDRA-5273)
 * Write row markers when serializing schema (CASSANDRA-5572)
 * Check only SSTables for the requested range when streaming (CASSANDRA-5569)
 * Improve batchlog replay behavior and hint ttl handling (CASSANDRA-5314)
 * Exclude localTimestamp from validation for tombstones (CASSANDRA-5398)
 * cqlsh: add custom prompt support (CASSANDRA-5539)
 * Reuse prepared statements in hot auth queries (CASSANDRA-5594)
 * cqlsh: add vertical output option (see EXPAND) (CASSANDRA-5597)
 * Add a rate limit option to stress (CASSANDRA-5004)
 * have BulkLoader ignore snapshots directories (CASSANDRA-5587)
 * fix SnitchProperties logging context (CASSANDRA-5602)
 * Expose whether jna is enabled and memory is locked via JMX (CASSANDRA-5508)
 * cqlsh: fix COPY FROM with ReversedType (CASSANDRA-5610)
 * Allow creating CUSTOM indexes on collections (CASSANDRA-5615)
 * Evaluate now() function at execution time (CASSANDRA-5616)
 * Expose detailed read repair metrics (CASSANDRA-5618)
 * Correct blob literal + ReversedType parsing (CASSANDRA-5629)
 * Allow GPFS to prefer the internal IP like EC2MRS (CASSANDRA-5630)
 * fix help text for -tspw cassandra-cli (CASSANDRA-5643)
 * don't throw away initial causes exceptions for internode encryption issues
   (CASSANDRA-5644)
 * Fix message spelling errors for cql select statements (CASSANDRA-5647)
 * Suppress custom exceptions thru jmx (CASSANDRA-5652)
 * Update CREATE CUSTOM INDEX syntax (CASSANDRA-5639)
 * Fix PermissionDetails.equals() method (CASSANDRA-5655)
 * Never allow partition key ranges in CQL3 without token() (CASSANDRA-5666)
 * Gossiper incorrectly drops AppState for an upgrading node (CASSANDRA-5660)
 * Connection thrashing during multi-region ec2 during upgrade, due to
   messaging version (CASSANDRA-5669)
 * Avoid over reconnecting in EC2MRS (CASSANDRA-5678)
 * Fix ReadResponseSerializer.serializedSize() for digest reads (CASSANDRA-5476)
 * allow sstable2json on 2i CFs (CASSANDRA-5694)
Merged from 1.1:
 * Remove buggy thrift max message length option (CASSANDRA-5529)
 * Fix NPE in Pig's widerow mode (CASSANDRA-5488)
 * Add split size parameter to Pig and disable split combination (CASSANDRA-5544)


1.2.5
 * make BytesToken.toString only return hex bytes (CASSANDRA-5566)
 * Ensure that submitBackground enqueues at least one task (CASSANDRA-5554)
 * fix 2i updates with identical values and timestamps (CASSANDRA-5540)
 * fix compaction throttling bursty-ness (CASSANDRA-4316)
 * reduce memory consumption of IndexSummary (CASSANDRA-5506)
 * remove per-row column name bloom filters (CASSANDRA-5492)
 * Include fatal errors in trace events (CASSANDRA-5447)
 * Ensure that PerRowSecondaryIndex is notified of row-level deletes
   (CASSANDRA-5445)
 * Allow empty blob literals in CQL3 (CASSANDRA-5452)
 * Fix streaming RangeTombstones at column index boundary (CASSANDRA-5418)
 * Fix preparing statements when current keyspace is not set (CASSANDRA-5468)
 * Fix SemanticVersion.isSupportedBy minor/patch handling (CASSANDRA-5496)
 * Don't provide oldCfId for post-1.1 system cfs (CASSANDRA-5490)
 * Fix primary range ignores replication strategy (CASSANDRA-5424)
 * Fix shutdown of binary protocol server (CASSANDRA-5507)
 * Fix repair -snapshot not working (CASSANDRA-5512)
 * Set isRunning flag later in binary protocol server (CASSANDRA-5467)
 * Fix use of CQL3 functions with descending clustering order (CASSANDRA-5472)
 * Disallow renaming columns one at a time for thrift table in CQL3
   (CASSANDRA-5531)
 * cqlsh: add CLUSTERING ORDER BY support to DESCRIBE (CASSANDRA-5528)
 * Add custom secondary index support to CQL3 (CASSANDRA-5484)
 * Fix repair hanging silently on unexpected error (CASSANDRA-5229)
 * Fix Ec2Snitch regression introduced by CASSANDRA-5171 (CASSANDRA-5432)
 * Add nodetool enablebackup/disablebackup (CASSANDRA-5556)
 * cqlsh: fix DESCRIBE after case insensitive USE (CASSANDRA-5567)
Merged from 1.1
 * Add retry mechanism to OTC for non-droppable_verbs (CASSANDRA-5393)
 * Use allocator information to improve memtable memory usage estimate
   (CASSANDRA-5497)
 * Fix trying to load deleted row into row cache on startup (CASSANDRA-4463)
 * fsync leveled manifest to avoid corruption (CASSANDRA-5535)
 * Fix Bound intersection computation (CASSANDRA-5551)
 * sstablescrub now respects max memory size in cassandra.in.sh (CASSANDRA-5562)


1.2.4
 * Ensure that PerRowSecondaryIndex updates see the most recent values
   (CASSANDRA-5397)
 * avoid duplicate index entries ind PrecompactedRow and
   ParallelCompactionIterable (CASSANDRA-5395)
 * remove the index entry on oldColumn when new column is a tombstone
   (CASSANDRA-5395)
 * Change default stream throughput from 400 to 200 mbps (CASSANDRA-5036)
 * Gossiper logs DOWN for symmetry with UP (CASSANDRA-5187)
 * Fix mixing prepared statements between keyspaces (CASSANDRA-5352)
 * Fix consistency level during bootstrap - strike 3 (CASSANDRA-5354)
 * Fix transposed arguments in AlreadyExistsException (CASSANDRA-5362)
 * Improve asynchronous hint delivery (CASSANDRA-5179)
 * Fix Guava dependency version (12.0 -> 13.0.1) for Maven (CASSANDRA-5364)
 * Validate that provided CQL3 collection value are < 64K (CASSANDRA-5355)
 * Make upgradeSSTable skip current version sstables by default (CASSANDRA-5366)
 * Optimize min/max timestamp collection (CASSANDRA-5373)
 * Invalid streamId in cql binary protocol when using invalid CL
   (CASSANDRA-5164)
 * Fix validation for IN where clauses with collections (CASSANDRA-5376)
 * Copy resultSet on count query to avoid ConcurrentModificationException
   (CASSANDRA-5382)
 * Correctly typecheck in CQL3 even with ReversedType (CASSANDRA-5386)
 * Fix streaming compressed files when using encryption (CASSANDRA-5391)
 * cassandra-all 1.2.0 pom missing netty dependency (CASSANDRA-5392)
 * Fix writetime/ttl functions on null values (CASSANDRA-5341)
 * Fix NPE during cql3 select with token() (CASSANDRA-5404)
 * IndexHelper.skipBloomFilters won't skip non-SHA filters (CASSANDRA-5385)
 * cqlsh: Print maps ordered by key, sort sets (CASSANDRA-5413)
 * Add null syntax support in CQL3 for inserts (CASSANDRA-3783)
 * Allow unauthenticated set_keyspace() calls (CASSANDRA-5423)
 * Fix potential incremental backups race (CASSANDRA-5410)
 * Fix prepared BATCH statements with batch-level timestamps (CASSANDRA-5415)
 * Allow overriding superuser setup delay (CASSANDRA-5430)
 * cassandra-shuffle with JMX usernames and passwords (CASSANDRA-5431)
Merged from 1.1:
 * cli: Quote ks and cf names in schema output when needed (CASSANDRA-5052)
 * Fix bad default for min/max timestamp in SSTableMetadata (CASSANDRA-5372)
 * Fix cf name extraction from manifest in Directories.migrateFile()
   (CASSANDRA-5242)
 * Support pluggable internode authentication (CASSANDRA-5401)


1.2.3
 * add check for sstable overlap within a level on startup (CASSANDRA-5327)
 * replace ipv6 colons in jmx object names (CASSANDRA-5298, 5328)
 * Avoid allocating SSTableBoundedScanner during repair when the range does
   not intersect the sstable (CASSANDRA-5249)
 * Don't lowercase property map keys (this breaks NTS) (CASSANDRA-5292)
 * Fix composite comparator with super columns (CASSANDRA-5287)
 * Fix insufficient validation of UPDATE queries against counter cfs
   (CASSANDRA-5300)
 * Fix PropertyFileSnitch default DC/Rack behavior (CASSANDRA-5285)
 * Handle null values when executing prepared statement (CASSANDRA-5081)
 * Add netty to pom dependencies (CASSANDRA-5181)
 * Include type arguments in Thrift CQLPreparedResult (CASSANDRA-5311)
 * Fix compaction not removing columns when bf_fp_ratio is 1 (CASSANDRA-5182)
 * cli: Warn about missing CQL3 tables in schema descriptions (CASSANDRA-5309)
 * Re-enable unknown option in replication/compaction strategies option for
   backward compatibility (CASSANDRA-4795)
 * Add binary protocol support to stress (CASSANDRA-4993)
 * cqlsh: Fix COPY FROM value quoting and null handling (CASSANDRA-5305)
 * Fix repair -pr for vnodes (CASSANDRA-5329)
 * Relax CL for auth queries for non-default users (CASSANDRA-5310)
 * Fix AssertionError during repair (CASSANDRA-5245)
 * Don't announce migrations to pre-1.2 nodes (CASSANDRA-5334)
Merged from 1.1:
 * Update offline scrub for 1.0 -> 1.1 directory structure (CASSANDRA-5195)
 * add tmp flag to Descriptor hashcode (CASSANDRA-4021)
 * fix logging of "Found table data in data directories" when only system tables
   are present (CASSANDRA-5289)
 * cli: Add JMX authentication support (CASSANDRA-5080)
 * nodetool: ability to repair specific range (CASSANDRA-5280)
 * Fix possible assertion triggered in SliceFromReadCommand (CASSANDRA-5284)
 * cqlsh: Add inet type support on Windows (ipv4-only) (CASSANDRA-4801)
 * Fix race when initializing ColumnFamilyStore (CASSANDRA-5350)
 * Add UseTLAB JVM flag (CASSANDRA-5361)


1.2.2
 * fix potential for multiple concurrent compactions of the same sstables
   (CASSANDRA-5256)
 * avoid no-op caching of byte[] on commitlog append (CASSANDRA-5199)
 * fix symlinks under data dir not working (CASSANDRA-5185)
 * fix bug in compact storage metadata handling (CASSANDRA-5189)
 * Validate login for USE queries (CASSANDRA-5207)
 * cli: remove default username and password (CASSANDRA-5208)
 * configure populate_io_cache_on_flush per-CF (CASSANDRA-4694)
 * allow configuration of internode socket buffer (CASSANDRA-3378)
 * Make sstable directory picking blacklist-aware again (CASSANDRA-5193)
 * Correctly expire gossip states for edge cases (CASSANDRA-5216)
 * Improve handling of directory creation failures (CASSANDRA-5196)
 * Expose secondary indicies to the rest of nodetool (CASSANDRA-4464)
 * Binary protocol: avoid sending notification for 0.0.0.0 (CASSANDRA-5227)
 * add UseCondCardMark XX jvm settings on jdk 1.7 (CASSANDRA-4366)
 * CQL3 refactor to allow conversion function (CASSANDRA-5226)
 * Fix drop of sstables in some circumstance (CASSANDRA-5232)
 * Implement caching of authorization results (CASSANDRA-4295)
 * Add support for LZ4 compression (CASSANDRA-5038)
 * Fix missing columns in wide rows queries (CASSANDRA-5225)
 * Simplify auth setup and make system_auth ks alterable (CASSANDRA-5112)
 * Stop compactions from hanging during bootstrap (CASSANDRA-5244)
 * fix compressed streaming sending extra chunk (CASSANDRA-5105)
 * Add CQL3-based implementations of IAuthenticator and IAuthorizer
   (CASSANDRA-4898)
 * Fix timestamp-based tomstone removal logic (CASSANDRA-5248)
 * cli: Add JMX authentication support (CASSANDRA-5080)
 * Fix forceFlush behavior (CASSANDRA-5241)
 * cqlsh: Add username autocompletion (CASSANDRA-5231)
 * Fix CQL3 composite partition key error (CASSANDRA-5240)
 * Allow IN clause on last clustering key (CASSANDRA-5230)
Merged from 1.1:
 * fix start key/end token validation for wide row iteration (CASSANDRA-5168)
 * add ConfigHelper support for Thrift frame and max message sizes (CASSANDRA-5188)
 * fix nodetool repair not fail on node down (CASSANDRA-5203)
 * always collect tombstone hints (CASSANDRA-5068)
 * Fix error when sourcing file in cqlsh (CASSANDRA-5235)


1.2.1
 * stream undelivered hints on decommission (CASSANDRA-5128)
 * GossipingPropertyFileSnitch loads saved dc/rack info if needed (CASSANDRA-5133)
 * drain should flush system CFs too (CASSANDRA-4446)
 * add inter_dc_tcp_nodelay setting (CASSANDRA-5148)
 * re-allow wrapping ranges for start_token/end_token range pairitspwng (CASSANDRA-5106)
 * fix validation compaction of empty rows (CASSANDRA-5136)
 * nodetool methods to enable/disable hint storage/delivery (CASSANDRA-4750)
 * disallow bloom filter false positive chance of 0 (CASSANDRA-5013)
 * add threadpool size adjustment methods to JMXEnabledThreadPoolExecutor and
   CompactionManagerMBean (CASSANDRA-5044)
 * fix hinting for dropped local writes (CASSANDRA-4753)
 * off-heap cache doesn't need mutable column container (CASSANDRA-5057)
 * apply disk_failure_policy to bad disks on initial directory creation
   (CASSANDRA-4847)
 * Optimize name-based queries to use ArrayBackedSortedColumns (CASSANDRA-5043)
 * Fall back to old manifest if most recent is unparseable (CASSANDRA-5041)
 * pool [Compressed]RandomAccessReader objects on the partitioned read path
   (CASSANDRA-4942)
 * Add debug logging to list filenames processed by Directories.migrateFile
   method (CASSANDRA-4939)
 * Expose black-listed directories via JMX (CASSANDRA-4848)
 * Log compaction merge counts (CASSANDRA-4894)
 * Minimize byte array allocation by AbstractData{Input,Output} (CASSANDRA-5090)
 * Add SSL support for the binary protocol (CASSANDRA-5031)
 * Allow non-schema system ks modification for shuffle to work (CASSANDRA-5097)
 * cqlsh: Add default limit to SELECT statements (CASSANDRA-4972)
 * cqlsh: fix DESCRIBE for 1.1 cfs in CQL3 (CASSANDRA-5101)
 * Correctly gossip with nodes >= 1.1.7 (CASSANDRA-5102)
 * Ensure CL guarantees on digest mismatch (CASSANDRA-5113)
 * Validate correctly selects on composite partition key (CASSANDRA-5122)
 * Fix exception when adding collection (CASSANDRA-5117)
 * Handle states for non-vnode clusters correctly (CASSANDRA-5127)
 * Refuse unrecognized replication and compaction strategy options (CASSANDRA-4795)
 * Pick the correct value validator in sstable2json for cql3 tables (CASSANDRA-5134)
 * Validate login for describe_keyspace, describe_keyspaces and set_keyspace
   (CASSANDRA-5144)
 * Fix inserting empty maps (CASSANDRA-5141)
 * Don't remove tokens from System table for node we know (CASSANDRA-5121)
 * fix streaming progress report for compresed files (CASSANDRA-5130)
 * Coverage analysis for low-CL queries (CASSANDRA-4858)
 * Stop interpreting dates as valid timeUUID value (CASSANDRA-4936)
 * Adds E notation for floating point numbers (CASSANDRA-4927)
 * Detect (and warn) unintentional use of the cql2 thrift methods when cql3 was
   intended (CASSANDRA-5172)
 * cli: Quote ks and cf names in schema output when needed (CASSANDRA-5052)
 * Fix cf name extraction from manifest in Directories.migrateFile() (CASSANDRA-5242)
 * Replace mistaken usage of commons-logging with slf4j (CASSANDRA-5464)
 * Ensure Jackson dependency matches lib (CASSANDRA-5126)
 * Expose droppable tombstone ratio stats over JMX (CASSANDRA-5159)
Merged from 1.1:
 * Simplify CompressedRandomAccessReader to work around JDK FD bug (CASSANDRA-5088)
 * Improve handling a changing target throttle rate mid-compaction (CASSANDRA-5087)
 * Pig: correctly decode row keys in widerow mode (CASSANDRA-5098)
 * nodetool repair command now prints progress (CASSANDRA-4767)
 * fix user defined compaction to run against 1.1 data directory (CASSANDRA-5118)
 * Fix CQL3 BATCH authorization caching (CASSANDRA-5145)
 * fix get_count returns incorrect value with TTL (CASSANDRA-5099)
 * better handling for mid-compaction failure (CASSANDRA-5137)
 * convert default marshallers list to map for better readability (CASSANDRA-5109)
 * fix ConcurrentModificationException in getBootstrapSource (CASSANDRA-5170)
 * fix sstable maxtimestamp for row deletes and pre-1.1.1 sstables (CASSANDRA-5153)
 * Fix thread growth on node removal (CASSANDRA-5175)
 * Make Ec2Region's datacenter name configurable (CASSANDRA-5155)


1.2.0
 * Disallow counters in collections (CASSANDRA-5082)
 * cqlsh: add unit tests (CASSANDRA-3920)
 * fix default bloom_filter_fp_chance for LeveledCompactionStrategy (CASSANDRA-5093)
Merged from 1.1:
 * add validation for get_range_slices with start_key and end_token (CASSANDRA-5089)


1.2.0-rc2
 * fix nodetool ownership display with vnodes (CASSANDRA-5065)
 * cqlsh: add DESCRIBE KEYSPACES command (CASSANDRA-5060)
 * Fix potential infinite loop when reloading CFS (CASSANDRA-5064)
 * Fix SimpleAuthorizer example (CASSANDRA-5072)
 * cqlsh: force CL.ONE for tracing and system.schema* queries (CASSANDRA-5070)
 * Includes cassandra-shuffle in the debian package (CASSANDRA-5058)
Merged from 1.1:
 * fix multithreaded compaction deadlock (CASSANDRA-4492)
 * fix temporarily missing schema after upgrade from pre-1.1.5 (CASSANDRA-5061)
 * Fix ALTER TABLE overriding compression options with defaults
   (CASSANDRA-4996, 5066)
 * fix specifying and altering crc_check_chance (CASSANDRA-5053)
 * fix Murmur3Partitioner ownership% calculation (CASSANDRA-5076)
 * Don't expire columns sooner than they should in 2ndary indexes (CASSANDRA-5079)


1.2-rc1
 * rename rpc_timeout settings to request_timeout (CASSANDRA-5027)
 * add BF with 0.1 FP to LCS by default (CASSANDRA-5029)
 * Fix preparing insert queries (CASSANDRA-5016)
 * Fix preparing queries with counter increment (CASSANDRA-5022)
 * Fix preparing updates with collections (CASSANDRA-5017)
 * Don't generate UUID based on other node address (CASSANDRA-5002)
 * Fix message when trying to alter a clustering key type (CASSANDRA-5012)
 * Update IAuthenticator to match the new IAuthorizer (CASSANDRA-5003)
 * Fix inserting only a key in CQL3 (CASSANDRA-5040)
 * Fix CQL3 token() function when used with strings (CASSANDRA-5050)
Merged from 1.1:
 * reduce log spam from invalid counter shards (CASSANDRA-5026)
 * Improve schema propagation performance (CASSANDRA-5025)
 * Fix for IndexHelper.IndexFor throws OOB Exception (CASSANDRA-5030)
 * cqlsh: make it possible to describe thrift CFs (CASSANDRA-4827)
 * cqlsh: fix timestamp formatting on some platforms (CASSANDRA-5046)


1.2-beta3
 * make consistency level configurable in cqlsh (CASSANDRA-4829)
 * fix cqlsh rendering of blob fields (CASSANDRA-4970)
 * fix cqlsh DESCRIBE command (CASSANDRA-4913)
 * save truncation position in system table (CASSANDRA-4906)
 * Move CompressionMetadata off-heap (CASSANDRA-4937)
 * allow CLI to GET cql3 columnfamily data (CASSANDRA-4924)
 * Fix rare race condition in getExpireTimeForEndpoint (CASSANDRA-4402)
 * acquire references to overlapping sstables during compaction so bloom filter
   doesn't get free'd prematurely (CASSANDRA-4934)
 * Don't share slice query filter in CQL3 SelectStatement (CASSANDRA-4928)
 * Separate tracing from Log4J (CASSANDRA-4861)
 * Exclude gcable tombstones from merkle-tree computation (CASSANDRA-4905)
 * Better printing of AbstractBounds for tracing (CASSANDRA-4931)
 * Optimize mostRecentTombstone check in CC.collectAllData (CASSANDRA-4883)
 * Change stream session ID to UUID to avoid collision from same node (CASSANDRA-4813)
 * Use Stats.db when bulk loading if present (CASSANDRA-4957)
 * Skip repair on system_trace and keyspaces with RF=1 (CASSANDRA-4956)
 * (cql3) Remove arbitrary SELECT limit (CASSANDRA-4918)
 * Correctly handle prepared operation on collections (CASSANDRA-4945)
 * Fix CQL3 LIMIT (CASSANDRA-4877)
 * Fix Stress for CQL3 (CASSANDRA-4979)
 * Remove cassandra specific exceptions from JMX interface (CASSANDRA-4893)
 * (CQL3) Force using ALLOW FILTERING on potentially inefficient queries (CASSANDRA-4915)
 * (cql3) Fix adding column when the table has collections (CASSANDRA-4982)
 * (cql3) Fix allowing collections with compact storage (CASSANDRA-4990)
 * (cql3) Refuse ttl/writetime function on collections (CASSANDRA-4992)
 * Replace IAuthority with new IAuthorizer (CASSANDRA-4874)
 * clqsh: fix KEY pseudocolumn escaping when describing Thrift tables
   in CQL3 mode (CASSANDRA-4955)
 * add basic authentication support for Pig CassandraStorage (CASSANDRA-3042)
 * fix CQL2 ALTER TABLE compaction_strategy_class altering (CASSANDRA-4965)
Merged from 1.1:
 * Fall back to old describe_splits if d_s_ex is not available (CASSANDRA-4803)
 * Improve error reporting when streaming ranges fail (CASSANDRA-5009)
 * Fix cqlsh timestamp formatting of timezone info (CASSANDRA-4746)
 * Fix assertion failure with leveled compaction (CASSANDRA-4799)
 * Check for null end_token in get_range_slice (CASSANDRA-4804)
 * Remove all remnants of removed nodes (CASSANDRA-4840)
 * Add aut-reloading of the log4j file in debian package (CASSANDRA-4855)
 * Fix estimated row cache entry size (CASSANDRA-4860)
 * reset getRangeSlice filter after finishing a row for get_paged_slice
   (CASSANDRA-4919)
 * expunge row cache post-truncate (CASSANDRA-4940)
 * Allow static CF definition with compact storage (CASSANDRA-4910)
 * Fix endless loop/compaction of schema_* CFs due to broken timestamps (CASSANDRA-4880)
 * Fix 'wrong class type' assertion in CounterColumn (CASSANDRA-4976)


1.2-beta2
 * fp rate of 1.0 disables BF entirely; LCS defaults to 1.0 (CASSANDRA-4876)
 * off-heap bloom filters for row keys (CASSANDRA_4865)
 * add extension point for sstable components (CASSANDRA-4049)
 * improve tracing output (CASSANDRA-4852, 4862)
 * make TRACE verb droppable (CASSANDRA-4672)
 * fix BulkLoader recognition of CQL3 columnfamilies (CASSANDRA-4755)
 * Sort commitlog segments for replay by id instead of mtime (CASSANDRA-4793)
 * Make hint delivery asynchronous (CASSANDRA-4761)
 * Pluggable Thrift transport factories for CLI and cqlsh (CASSANDRA-4609, 4610)
 * cassandra-cli: allow Double value type to be inserted to a column (CASSANDRA-4661)
 * Add ability to use custom TServerFactory implementations (CASSANDRA-4608)
 * optimize batchlog flushing to skip successful batches (CASSANDRA-4667)
 * include metadata for system keyspace itself in schema tables (CASSANDRA-4416)
 * add check to PropertyFileSnitch to verify presence of location for
   local node (CASSANDRA-4728)
 * add PBSPredictor consistency modeler (CASSANDRA-4261)
 * remove vestiges of Thrift unframed mode (CASSANDRA-4729)
 * optimize single-row PK lookups (CASSANDRA-4710)
 * adjust blockFor calculation to account for pending ranges due to node
   movement (CASSANDRA-833)
 * Change CQL version to 3.0.0 and stop accepting 3.0.0-beta1 (CASSANDRA-4649)
 * (CQL3) Make prepared statement global instead of per connection
   (CASSANDRA-4449)
 * Fix scrubbing of CQL3 created tables (CASSANDRA-4685)
 * (CQL3) Fix validation when using counter and regular columns in the same
   table (CASSANDRA-4706)
 * Fix bug starting Cassandra with simple authentication (CASSANDRA-4648)
 * Add support for batchlog in CQL3 (CASSANDRA-4545, 4738)
 * Add support for multiple column family outputs in CFOF (CASSANDRA-4208)
 * Support repairing only the local DC nodes (CASSANDRA-4747)
 * Use rpc_address for binary protocol and change default port (CASSANDRA-4751)
 * Fix use of collections in prepared statements (CASSANDRA-4739)
 * Store more information into peers table (CASSANDRA-4351, 4814)
 * Configurable bucket size for size tiered compaction (CASSANDRA-4704)
 * Run leveled compaction in parallel (CASSANDRA-4310)
 * Fix potential NPE during CFS reload (CASSANDRA-4786)
 * Composite indexes may miss results (CASSANDRA-4796)
 * Move consistency level to the protocol level (CASSANDRA-4734, 4824)
 * Fix Subcolumn slice ends not respected (CASSANDRA-4826)
 * Fix Assertion error in cql3 select (CASSANDRA-4783)
 * Fix list prepend logic (CQL3) (CASSANDRA-4835)
 * Add booleans as literals in CQL3 (CASSANDRA-4776)
 * Allow renaming PK columns in CQL3 (CASSANDRA-4822)
 * Fix binary protocol NEW_NODE event (CASSANDRA-4679)
 * Fix potential infinite loop in tombstone compaction (CASSANDRA-4781)
 * Remove system tables accounting from schema (CASSANDRA-4850)
 * (cql3) Force provided columns in clustering key order in
   'CLUSTERING ORDER BY' (CASSANDRA-4881)
 * Fix composite index bug (CASSANDRA-4884)
 * Fix short read protection for CQL3 (CASSANDRA-4882)
 * Add tracing support to the binary protocol (CASSANDRA-4699)
 * (cql3) Don't allow prepared marker inside collections (CASSANDRA-4890)
 * Re-allow order by on non-selected columns (CASSANDRA-4645)
 * Bug when composite index is created in a table having collections (CASSANDRA-4909)
 * log index scan subject in CompositesSearcher (CASSANDRA-4904)
Merged from 1.1:
 * add get[Row|Key]CacheEntries to CacheServiceMBean (CASSANDRA-4859)
 * fix get_paged_slice to wrap to next row correctly (CASSANDRA-4816)
 * fix indexing empty column values (CASSANDRA-4832)
 * allow JdbcDate to compose null Date objects (CASSANDRA-4830)
 * fix possible stackoverflow when compacting 1000s of sstables
   (CASSANDRA-4765)
 * fix wrong leveled compaction progress calculation (CASSANDRA-4807)
 * add a close() method to CRAR to prevent leaking file descriptors (CASSANDRA-4820)
 * fix potential infinite loop in get_count (CASSANDRA-4833)
 * fix compositeType.{get/from}String methods (CASSANDRA-4842)
 * (CQL) fix CREATE COLUMNFAMILY permissions check (CASSANDRA-4864)
 * Fix DynamicCompositeType same type comparison (CASSANDRA-4711)
 * Fix duplicate SSTable reference when stream session failed (CASSANDRA-3306)
 * Allow static CF definition with compact storage (CASSANDRA-4910)
 * Fix endless loop/compaction of schema_* CFs due to broken timestamps (CASSANDRA-4880)
 * Fix 'wrong class type' assertion in CounterColumn (CASSANDRA-4976)


1.2-beta1
 * add atomic_batch_mutate (CASSANDRA-4542, -4635)
 * increase default max_hint_window_in_ms to 3h (CASSANDRA-4632)
 * include message initiation time to replicas so they can more
   accurately drop timed-out requests (CASSANDRA-2858)
 * fix clientutil.jar dependencies (CASSANDRA-4566)
 * optimize WriteResponse (CASSANDRA-4548)
 * new metrics (CASSANDRA-4009)
 * redesign KEYS indexes to avoid read-before-write (CASSANDRA-2897)
 * debug tracing (CASSANDRA-1123)
 * parallelize row cache loading (CASSANDRA-4282)
 * Make compaction, flush JBOD-aware (CASSANDRA-4292)
 * run local range scans on the read stage (CASSANDRA-3687)
 * clean up ioexceptions (CASSANDRA-2116)
 * add disk_failure_policy (CASSANDRA-2118)
 * Introduce new json format with row level deletion (CASSANDRA-4054)
 * remove redundant "name" column from schema_keyspaces (CASSANDRA-4433)
 * improve "nodetool ring" handling of multi-dc clusters (CASSANDRA-3047)
 * update NTS calculateNaturalEndpoints to be O(N log N) (CASSANDRA-3881)
 * split up rpc timeout by operation type (CASSANDRA-2819)
 * rewrite key cache save/load to use only sequential i/o (CASSANDRA-3762)
 * update MS protocol with a version handshake + broadcast address id
   (CASSANDRA-4311)
 * multithreaded hint replay (CASSANDRA-4189)
 * add inter-node message compression (CASSANDRA-3127)
 * remove COPP (CASSANDRA-2479)
 * Track tombstone expiration and compact when tombstone content is
   higher than a configurable threshold, default 20% (CASSANDRA-3442, 4234)
 * update MurmurHash to version 3 (CASSANDRA-2975)
 * (CLI) track elapsed time for `delete' operation (CASSANDRA-4060)
 * (CLI) jline version is bumped to 1.0 to properly  support
   'delete' key function (CASSANDRA-4132)
 * Save IndexSummary into new SSTable 'Summary' component (CASSANDRA-2392, 4289)
 * Add support for range tombstones (CASSANDRA-3708)
 * Improve MessagingService efficiency (CASSANDRA-3617)
 * Avoid ID conflicts from concurrent schema changes (CASSANDRA-3794)
 * Set thrift HSHA server thread limit to unlimited by default (CASSANDRA-4277)
 * Avoids double serialization of CF id in RowMutation messages
   (CASSANDRA-4293)
 * stream compressed sstables directly with java nio (CASSANDRA-4297)
 * Support multiple ranges in SliceQueryFilter (CASSANDRA-3885)
 * Add column metadata to system column families (CASSANDRA-4018)
 * (cql3) Always use composite types by default (CASSANDRA-4329)
 * (cql3) Add support for set, map and list (CASSANDRA-3647)
 * Validate date type correctly (CASSANDRA-4441)
 * (cql3) Allow definitions with only a PK (CASSANDRA-4361)
 * (cql3) Add support for row key composites (CASSANDRA-4179)
 * improve DynamicEndpointSnitch by using reservoir sampling (CASSANDRA-4038)
 * (cql3) Add support for 2ndary indexes (CASSANDRA-3680)
 * (cql3) fix defining more than one PK to be invalid (CASSANDRA-4477)
 * remove schema agreement checking from all external APIs (Thrift, CQL and CQL3) (CASSANDRA-4487)
 * add Murmur3Partitioner and make it default for new installations (CASSANDRA-3772, 4621)
 * (cql3) update pseudo-map syntax to use map syntax (CASSANDRA-4497)
 * Finer grained exceptions hierarchy and provides error code with exceptions (CASSANDRA-3979)
 * Adds events push to binary protocol (CASSANDRA-4480)
 * Rewrite nodetool help (CASSANDRA-2293)
 * Make CQL3 the default for CQL (CASSANDRA-4640)
 * update stress tool to be able to use CQL3 (CASSANDRA-4406)
 * Accept all thrift update on CQL3 cf but don't expose their metadata (CASSANDRA-4377)
 * Replace Throttle with Guava's RateLimiter for HintedHandOff (CASSANDRA-4541)
 * fix counter add/get using CQL2 and CQL3 in stress tool (CASSANDRA-4633)
 * Add sstable count per level to cfstats (CASSANDRA-4537)
 * (cql3) Add ALTER KEYSPACE statement (CASSANDRA-4611)
 * (cql3) Allow defining default consistency levels (CASSANDRA-4448)
 * (cql3) Fix queries using LIMIT missing results (CASSANDRA-4579)
 * fix cross-version gossip messaging (CASSANDRA-4576)
 * added inet data type (CASSANDRA-4627)


1.1.6
 * Wait for writes on synchronous read digest mismatch (CASSANDRA-4792)
 * fix commitlog replay for nanotime-infected sstables (CASSANDRA-4782)
 * preflight check ttl for maximum of 20 years (CASSANDRA-4771)
 * (Pig) fix widerow input with single column rows (CASSANDRA-4789)
 * Fix HH to compact with correct gcBefore, which avoids wiping out
   undelivered hints (CASSANDRA-4772)
 * LCS will merge up to 32 L0 sstables as intended (CASSANDRA-4778)
 * NTS will default unconfigured DC replicas to zero (CASSANDRA-4675)
 * use default consistency level in counter validation if none is
   explicitly provide (CASSANDRA-4700)
 * Improve IAuthority interface by introducing fine-grained
   access permissions and grant/revoke commands (CASSANDRA-4490, 4644)
 * fix assumption error in CLI when updating/describing keyspace
   (CASSANDRA-4322)
 * Adds offline sstablescrub to debian packaging (CASSANDRA-4642)
 * Automatic fixing of overlapping leveled sstables (CASSANDRA-4644)
 * fix error when using ORDER BY with extended selections (CASSANDRA-4689)
 * (CQL3) Fix validation for IN queries for non-PK cols (CASSANDRA-4709)
 * fix re-created keyspace disappering after 1.1.5 upgrade
   (CASSANDRA-4698, 4752)
 * (CLI) display elapsed time in 2 fraction digits (CASSANDRA-3460)
 * add authentication support to sstableloader (CASSANDRA-4712)
 * Fix CQL3 'is reversed' logic (CASSANDRA-4716, 4759)
 * (CQL3) Don't return ReversedType in result set metadata (CASSANDRA-4717)
 * Backport adding AlterKeyspace statement (CASSANDRA-4611)
 * (CQL3) Correcty accept upper-case data types (CASSANDRA-4770)
 * Add binary protocol events for schema changes (CASSANDRA-4684)
Merged from 1.0:
 * Switch from NBHM to CHM in MessagingService's callback map, which
   prevents OOM in long-running instances (CASSANDRA-4708)


1.1.5
 * add SecondaryIndex.reload API (CASSANDRA-4581)
 * use millis + atomicint for commitlog segment creation instead of
   nanotime, which has issues under some hypervisors (CASSANDRA-4601)
 * fix FD leak in slice queries (CASSANDRA-4571)
 * avoid recursion in leveled compaction (CASSANDRA-4587)
 * increase stack size under Java7 to 180K
 * Log(info) schema changes (CASSANDRA-4547)
 * Change nodetool setcachecapacity to manipulate global caches (CASSANDRA-4563)
 * (cql3) fix setting compaction strategy (CASSANDRA-4597)
 * fix broken system.schema_* timestamps on system startup (CASSANDRA-4561)
 * fix wrong skip of cache saving (CASSANDRA-4533)
 * Avoid NPE when lost+found is in data dir (CASSANDRA-4572)
 * Respect five-minute flush moratorium after initial CL replay (CASSANDRA-4474)
 * Adds ntp as recommended in debian packaging (CASSANDRA-4606)
 * Configurable transport in CF Record{Reader|Writer} (CASSANDRA-4558)
 * (cql3) fix potential NPE with both equal and unequal restriction (CASSANDRA-4532)
 * (cql3) improves ORDER BY validation (CASSANDRA-4624)
 * Fix potential deadlock during counter writes (CASSANDRA-4578)
 * Fix cql error with ORDER BY when using IN (CASSANDRA-4612)
Merged from 1.0:
 * increase Xss to 160k to accomodate latest 1.6 JVMs (CASSANDRA-4602)
 * fix toString of hint destination tokens (CASSANDRA-4568)
 * Fix multiple values for CurrentLocal NodeID (CASSANDRA-4626)


1.1.4
 * fix offline scrub to catch >= out of order rows (CASSANDRA-4411)
 * fix cassandra-env.sh on RHEL and other non-dash-based systems
   (CASSANDRA-4494)
Merged from 1.0:
 * (Hadoop) fix setting key length for old-style mapred api (CASSANDRA-4534)
 * (Hadoop) fix iterating through a resultset consisting entirely
   of tombstoned rows (CASSANDRA-4466)


1.1.3
 * (cqlsh) add COPY TO (CASSANDRA-4434)
 * munmap commitlog segments before rename (CASSANDRA-4337)
 * (JMX) rename getRangeKeySample to sampleKeyRange to avoid returning
   multi-MB results as an attribute (CASSANDRA-4452)
 * flush based on data size, not throughput; overwritten columns no
   longer artificially inflate liveRatio (CASSANDRA-4399)
 * update default commitlog segment size to 32MB and total commitlog
   size to 32/1024 MB for 32/64 bit JVMs, respectively (CASSANDRA-4422)
 * avoid using global partitioner to estimate ranges in index sstables
   (CASSANDRA-4403)
 * restore pre-CASSANDRA-3862 approach to removing expired tombstones
   from row cache during compaction (CASSANDRA-4364)
 * (stress) support for CQL prepared statements (CASSANDRA-3633)
 * Correctly catch exception when Snappy cannot be loaded (CASSANDRA-4400)
 * (cql3) Support ORDER BY when IN condition is given in WHERE clause (CASSANDRA-4327)
 * (cql3) delete "component_index" column on DROP TABLE call (CASSANDRA-4420)
 * change nanoTime() to currentTimeInMillis() in schema related code (CASSANDRA-4432)
 * add a token generation tool (CASSANDRA-3709)
 * Fix LCS bug with sstable containing only 1 row (CASSANDRA-4411)
 * fix "Can't Modify Index Name" problem on CF update (CASSANDRA-4439)
 * Fix assertion error in getOverlappingSSTables during repair (CASSANDRA-4456)
 * fix nodetool's setcompactionthreshold command (CASSANDRA-4455)
 * Ensure compacted files are never used, to avoid counter overcount (CASSANDRA-4436)
Merged from 1.0:
 * Push the validation of secondary index values to the SecondaryIndexManager (CASSANDRA-4240)
 * allow dropping columns shadowed by not-yet-expired supercolumn or row
   tombstones in PrecompactedRow (CASSANDRA-4396)


1.1.2
 * Fix cleanup not deleting index entries (CASSANDRA-4379)
 * Use correct partitioner when saving + loading caches (CASSANDRA-4331)
 * Check schema before trying to export sstable (CASSANDRA-2760)
 * Raise a meaningful exception instead of NPE when PFS encounters
   an unconfigured node + no default (CASSANDRA-4349)
 * fix bug in sstable blacklisting with LCS (CASSANDRA-4343)
 * LCS no longer promotes tiny sstables out of L0 (CASSANDRA-4341)
 * skip tombstones during hint replay (CASSANDRA-4320)
 * fix NPE in compactionstats (CASSANDRA-4318)
 * enforce 1m min keycache for auto (CASSANDRA-4306)
 * Have DeletedColumn.isMFD always return true (CASSANDRA-4307)
 * (cql3) exeption message for ORDER BY constraints said primary filter can be
    an IN clause, which is misleading (CASSANDRA-4319)
 * (cql3) Reject (not yet supported) creation of 2ndardy indexes on tables with
   composite primary keys (CASSANDRA-4328)
 * Set JVM stack size to 160k for java 7 (CASSANDRA-4275)
 * cqlsh: add COPY command to load data from CSV flat files (CASSANDRA-4012)
 * CFMetaData.fromThrift to throw ConfigurationException upon error (CASSANDRA-4353)
 * Use CF comparator to sort indexed columns in SecondaryIndexManager
   (CASSANDRA-4365)
 * add strategy_options to the KSMetaData.toString() output (CASSANDRA-4248)
 * (cql3) fix range queries containing unqueried results (CASSANDRA-4372)
 * (cql3) allow updating column_alias types (CASSANDRA-4041)
 * (cql3) Fix deletion bug (CASSANDRA-4193)
 * Fix computation of overlapping sstable for leveled compaction (CASSANDRA-4321)
 * Improve scrub and allow to run it offline (CASSANDRA-4321)
 * Fix assertionError in StorageService.bulkLoad (CASSANDRA-4368)
 * (cqlsh) add option to authenticate to a keyspace at startup (CASSANDRA-4108)
 * (cqlsh) fix ASSUME functionality (CASSANDRA-4352)
 * Fix ColumnFamilyRecordReader to not return progress > 100% (CASSANDRA-3942)
Merged from 1.0:
 * Set gc_grace on index CF to 0 (CASSANDRA-4314)


1.1.1
 * add populate_io_cache_on_flush option (CASSANDRA-2635)
 * allow larger cache capacities than 2GB (CASSANDRA-4150)
 * add getsstables command to nodetool (CASSANDRA-4199)
 * apply parent CF compaction settings to secondary index CFs (CASSANDRA-4280)
 * preserve commitlog size cap when recycling segments at startup
   (CASSANDRA-4201)
 * (Hadoop) fix split generation regression (CASSANDRA-4259)
 * ignore min/max compactions settings in LCS, while preserving
   behavior that min=max=0 disables autocompaction (CASSANDRA-4233)
 * log number of rows read from saved cache (CASSANDRA-4249)
 * calculate exact size required for cleanup operations (CASSANDRA-1404)
 * avoid blocking additional writes during flush when the commitlog
   gets behind temporarily (CASSANDRA-1991)
 * enable caching on index CFs based on data CF cache setting (CASSANDRA-4197)
 * warn on invalid replication strategy creation options (CASSANDRA-4046)
 * remove [Freeable]Memory finalizers (CASSANDRA-4222)
 * include tombstone size in ColumnFamily.size, which can prevent OOM
   during sudden mass delete operations by yielding a nonzero liveRatio
   (CASSANDRA-3741)
 * Open 1 sstableScanner per level for leveled compaction (CASSANDRA-4142)
 * Optimize reads when row deletion timestamps allow us to restrict
   the set of sstables we check (CASSANDRA-4116)
 * add support for commitlog archiving and point-in-time recovery
   (CASSANDRA-3690)
 * avoid generating redundant compaction tasks during streaming
   (CASSANDRA-4174)
 * add -cf option to nodetool snapshot, and takeColumnFamilySnapshot to
   StorageService mbean (CASSANDRA-556)
 * optimize cleanup to drop entire sstables where possible (CASSANDRA-4079)
 * optimize truncate when autosnapshot is disabled (CASSANDRA-4153)
 * update caches to use byte[] keys to reduce memory overhead (CASSANDRA-3966)
 * add column limit to cli (CASSANDRA-3012, 4098)
 * clean up and optimize DataOutputBuffer, used by CQL compression and
   CompositeType (CASSANDRA-4072)
 * optimize commitlog checksumming (CASSANDRA-3610)
 * identify and blacklist corrupted SSTables from future compactions
   (CASSANDRA-2261)
 * Move CfDef and KsDef validation out of thrift (CASSANDRA-4037)
 * Expose API to repair a user provided range (CASSANDRA-3912)
 * Add way to force the cassandra-cli to refresh its schema (CASSANDRA-4052)
 * Avoid having replicate on write tasks stacking up at CL.ONE (CASSANDRA-2889)
 * (cql3) Backwards compatibility for composite comparators in non-cql3-aware
   clients (CASSANDRA-4093)
 * (cql3) Fix order by for reversed queries (CASSANDRA-4160)
 * (cql3) Add ReversedType support (CASSANDRA-4004)
 * (cql3) Add timeuuid type (CASSANDRA-4194)
 * (cql3) Minor fixes (CASSANDRA-4185)
 * (cql3) Fix prepared statement in BATCH (CASSANDRA-4202)
 * (cql3) Reduce the list of reserved keywords (CASSANDRA-4186)
 * (cql3) Move max/min compaction thresholds to compaction strategy options
   (CASSANDRA-4187)
 * Fix exception during move when localhost is the only source (CASSANDRA-4200)
 * (cql3) Allow paging through non-ordered partitioner results (CASSANDRA-3771)
 * (cql3) Fix drop index (CASSANDRA-4192)
 * (cql3) Don't return range ghosts anymore (CASSANDRA-3982)
 * fix re-creating Keyspaces/ColumnFamilies with the same name as dropped
   ones (CASSANDRA-4219)
 * fix SecondaryIndex LeveledManifest save upon snapshot (CASSANDRA-4230)
 * fix missing arrayOffset in FBUtilities.hash (CASSANDRA-4250)
 * (cql3) Add name of parameters in CqlResultSet (CASSANDRA-4242)
 * (cql3) Correctly validate order by queries (CASSANDRA-4246)
 * rename stress to cassandra-stress for saner packaging (CASSANDRA-4256)
 * Fix exception on colum metadata with non-string comparator (CASSANDRA-4269)
 * Check for unknown/invalid compression options (CASSANDRA-4266)
 * (cql3) Adds simple access to column timestamp and ttl (CASSANDRA-4217)
 * (cql3) Fix range queries with secondary indexes (CASSANDRA-4257)
 * Better error messages from improper input in cli (CASSANDRA-3865)
 * Try to stop all compaction upon Keyspace or ColumnFamily drop (CASSANDRA-4221)
 * (cql3) Allow keyspace properties to contain hyphens (CASSANDRA-4278)
 * (cql3) Correctly validate keyspace access in create table (CASSANDRA-4296)
 * Avoid deadlock in migration stage (CASSANDRA-3882)
 * Take supercolumn names and deletion info into account in memtable throughput
   (CASSANDRA-4264)
 * Add back backward compatibility for old style replication factor (CASSANDRA-4294)
 * Preserve compatibility with pre-1.1 index queries (CASSANDRA-4262)
Merged from 1.0:
 * Fix super columns bug where cache is not updated (CASSANDRA-4190)
 * fix maxTimestamp to include row tombstones (CASSANDRA-4116)
 * (CLI) properly handle quotes in create/update keyspace commands (CASSANDRA-4129)
 * Avoids possible deadlock during bootstrap (CASSANDRA-4159)
 * fix stress tool that hangs forever on timeout or error (CASSANDRA-4128)
 * stress tool to return appropriate exit code on failure (CASSANDRA-4188)
 * fix compaction NPE when out of disk space and assertions disabled
   (CASSANDRA-3985)
 * synchronize LCS getEstimatedTasks to avoid CME (CASSANDRA-4255)
 * ensure unique streaming session id's (CASSANDRA-4223)
 * kick off background compaction when min/max thresholds change
   (CASSANDRA-4279)
 * improve ability of STCS.getBuckets to deal with 100s of 1000s of
   sstables, such as when convertinb back from LCS (CASSANDRA-4287)
 * Oversize integer in CQL throws NumberFormatException (CASSANDRA-4291)
 * fix 1.0.x node join to mixed version cluster, other nodes >= 1.1 (CASSANDRA-4195)
 * Fix LCS splitting sstable base on uncompressed size (CASSANDRA-4419)
 * Push the validation of secondary index values to the SecondaryIndexManager (CASSANDRA-4240)
 * Don't purge columns during upgradesstables (CASSANDRA-4462)
 * Make cqlsh work with piping (CASSANDRA-4113)
 * Validate arguments for nodetool decommission (CASSANDRA-4061)
 * Report thrift status in nodetool info (CASSANDRA-4010)


1.1.0-final
 * average a reduced liveRatio estimate with the previous one (CASSANDRA-4065)
 * Allow KS and CF names up to 48 characters (CASSANDRA-4157)
 * fix stress build (CASSANDRA-4140)
 * add time remaining estimate to nodetool compactionstats (CASSANDRA-4167)
 * (cql) fix NPE in cql3 ALTER TABLE (CASSANDRA-4163)
 * (cql) Add support for CL.TWO and CL.THREE in CQL (CASSANDRA-4156)
 * (cql) Fix type in CQL3 ALTER TABLE preventing update (CASSANDRA-4170)
 * (cql) Throw invalid exception from CQL3 on obsolete options (CASSANDRA-4171)
 * (cqlsh) fix recognizing uppercase SELECT keyword (CASSANDRA-4161)
 * Pig: wide row support (CASSANDRA-3909)
Merged from 1.0:
 * avoid streaming empty files with bulk loader if sstablewriter errors out
   (CASSANDRA-3946)


1.1-rc1
 * Include stress tool in binary builds (CASSANDRA-4103)
 * (Hadoop) fix wide row iteration when last row read was deleted
   (CASSANDRA-4154)
 * fix read_repair_chance to really default to 0.1 in the cli (CASSANDRA-4114)
 * Adds caching and bloomFilterFpChange to CQL options (CASSANDRA-4042)
 * Adds posibility to autoconfigure size of the KeyCache (CASSANDRA-4087)
 * fix KEYS index from skipping results (CASSANDRA-3996)
 * Remove sliced_buffer_size_in_kb dead option (CASSANDRA-4076)
 * make loadNewSStable preserve sstable version (CASSANDRA-4077)
 * Respect 1.0 cache settings as much as possible when upgrading
   (CASSANDRA-4088)
 * relax path length requirement for sstable files when upgrading on
   non-Windows platforms (CASSANDRA-4110)
 * fix terminination of the stress.java when errors were encountered
   (CASSANDRA-4128)
 * Move CfDef and KsDef validation out of thrift (CASSANDRA-4037)
 * Fix get_paged_slice (CASSANDRA-4136)
 * CQL3: Support slice with exclusive start and stop (CASSANDRA-3785)
Merged from 1.0:
 * support PropertyFileSnitch in bulk loader (CASSANDRA-4145)
 * add auto_snapshot option allowing disabling snapshot before drop/truncate
   (CASSANDRA-3710)
 * allow short snitch names (CASSANDRA-4130)


1.1-beta2
 * rename loaded sstables to avoid conflicts with local snapshots
   (CASSANDRA-3967)
 * start hint replay as soon as FD notifies that the target is back up
   (CASSANDRA-3958)
 * avoid unproductive deserializing of cached rows during compaction
   (CASSANDRA-3921)
 * fix concurrency issues with CQL keyspace creation (CASSANDRA-3903)
 * Show Effective Owership via Nodetool ring <keyspace> (CASSANDRA-3412)
 * Update ORDER BY syntax for CQL3 (CASSANDRA-3925)
 * Fix BulkRecordWriter to not throw NPE if reducer gets no map data from Hadoop (CASSANDRA-3944)
 * Fix bug with counters in super columns (CASSANDRA-3821)
 * Remove deprecated merge_shard_chance (CASSANDRA-3940)
 * add a convenient way to reset a node's schema (CASSANDRA-2963)
 * fix for intermittent SchemaDisagreementException (CASSANDRA-3884)
 * CLI `list <CF>` to limit number of columns and their order (CASSANDRA-3012)
 * ignore deprecated KsDef/CfDef/ColumnDef fields in native schema (CASSANDRA-3963)
 * CLI to report when unsupported column_metadata pair was given (CASSANDRA-3959)
 * reincarnate removed and deprecated KsDef/CfDef attributes (CASSANDRA-3953)
 * Fix race between writes and read for cache (CASSANDRA-3862)
 * perform static initialization of StorageProxy on start-up (CASSANDRA-3797)
 * support trickling fsync() on writes (CASSANDRA-3950)
 * expose counters for unavailable/timeout exceptions given to thrift clients (CASSANDRA-3671)
 * avoid quadratic startup time in LeveledManifest (CASSANDRA-3952)
 * Add type information to new schema_ columnfamilies and remove thrift
   serialization for schema (CASSANDRA-3792)
 * add missing column validator options to the CLI help (CASSANDRA-3926)
 * skip reading saved key cache if CF's caching strategy is NONE or ROWS_ONLY (CASSANDRA-3954)
 * Unify migration code (CASSANDRA-4017)
Merged from 1.0:
 * cqlsh: guess correct version of Python for Arch Linux (CASSANDRA-4090)
 * (CLI) properly handle quotes in create/update keyspace commands (CASSANDRA-4129)
 * Avoids possible deadlock during bootstrap (CASSANDRA-4159)
 * fix stress tool that hangs forever on timeout or error (CASSANDRA-4128)
 * Fix super columns bug where cache is not updated (CASSANDRA-4190)
 * stress tool to return appropriate exit code on failure (CASSANDRA-4188)


1.0.9
 * improve index sampling performance (CASSANDRA-4023)
 * always compact away deleted hints immediately after handoff (CASSANDRA-3955)
 * delete hints from dropped ColumnFamilies on handoff instead of
   erroring out (CASSANDRA-3975)
 * add CompositeType ref to the CLI doc for create/update column family (CASSANDRA-3980)
 * Pig: support Counter ColumnFamilies (CASSANDRA-3973)
 * Pig: Composite column support (CASSANDRA-3684)
 * Avoid NPE during repair when a keyspace has no CFs (CASSANDRA-3988)
 * Fix division-by-zero error on get_slice (CASSANDRA-4000)
 * don't change manifest level for cleanup, scrub, and upgradesstables
   operations under LeveledCompactionStrategy (CASSANDRA-3989, 4112)
 * fix race leading to super columns assertion failure (CASSANDRA-3957)
 * fix NPE on invalid CQL delete command (CASSANDRA-3755)
 * allow custom types in CLI's assume command (CASSANDRA-4081)
 * fix totalBytes count for parallel compactions (CASSANDRA-3758)
 * fix intermittent NPE in get_slice (CASSANDRA-4095)
 * remove unnecessary asserts in native code interfaces (CASSANDRA-4096)
 * Validate blank keys in CQL to avoid assertion errors (CASSANDRA-3612)
 * cqlsh: fix bad decoding of some column names (CASSANDRA-4003)
 * cqlsh: fix incorrect padding with unicode chars (CASSANDRA-4033)
 * Fix EC2 snitch incorrectly reporting region (CASSANDRA-4026)
 * Shut down thrift during decommission (CASSANDRA-4086)
 * Expose nodetool cfhistograms for 2ndary indexes (CASSANDRA-4063)
Merged from 0.8:
 * Fix ConcurrentModificationException in gossiper (CASSANDRA-4019)


1.1-beta1
 * (cqlsh)
   + add SOURCE and CAPTURE commands, and --file option (CASSANDRA-3479)
   + add ALTER COLUMNFAMILY WITH (CASSANDRA-3523)
   + bundle Python dependencies with Cassandra (CASSANDRA-3507)
   + added to Debian package (CASSANDRA-3458)
   + display byte data instead of erroring out on decode failure
     (CASSANDRA-3874)
 * add nodetool rebuild_index (CASSANDRA-3583)
 * add nodetool rangekeysample (CASSANDRA-2917)
 * Fix streaming too much data during move operations (CASSANDRA-3639)
 * Nodetool and CLI connect to localhost by default (CASSANDRA-3568)
 * Reduce memory used by primary index sample (CASSANDRA-3743)
 * (Hadoop) separate input/output configurations (CASSANDRA-3197, 3765)
 * avoid returning internal Cassandra classes over JMX (CASSANDRA-2805)
 * add row-level isolation via SnapTree (CASSANDRA-2893)
 * Optimize key count estimation when opening sstable on startup
   (CASSANDRA-2988)
 * multi-dc replication optimization supporting CL > ONE (CASSANDRA-3577)
 * add command to stop compactions (CASSANDRA-1740, 3566, 3582)
 * multithreaded streaming (CASSANDRA-3494)
 * removed in-tree redhat spec (CASSANDRA-3567)
 * "defragment" rows for name-based queries under STCS, again (CASSANDRA-2503)
 * Recycle commitlog segments for improved performance
   (CASSANDRA-3411, 3543, 3557, 3615)
 * update size-tiered compaction to prioritize small tiers (CASSANDRA-2407)
 * add message expiration logic to OutboundTcpConnection (CASSANDRA-3005)
 * off-heap cache to use sun.misc.Unsafe instead of JNA (CASSANDRA-3271)
 * EACH_QUORUM is only supported for writes (CASSANDRA-3272)
 * replace compactionlock use in schema migration by checking CFS.isValid
   (CASSANDRA-3116)
 * recognize that "SELECT first ... *" isn't really "SELECT *" (CASSANDRA-3445)
 * Use faster bytes comparison (CASSANDRA-3434)
 * Bulk loader is no longer a fat client, (HADOOP) bulk load output format
   (CASSANDRA-3045)
 * (Hadoop) add support for KeyRange.filter
 * remove assumption that keys and token are in bijection
   (CASSANDRA-1034, 3574, 3604)
 * always remove endpoints from delevery queue in HH (CASSANDRA-3546)
 * fix race between cf flush and its 2ndary indexes flush (CASSANDRA-3547)
 * fix potential race in AES when a repair fails (CASSANDRA-3548)
 * Remove columns shadowed by a deleted container even when we cannot purge
   (CASSANDRA-3538)
 * Improve memtable slice iteration performance (CASSANDRA-3545)
 * more efficient allocation of small bloom filters (CASSANDRA-3618)
 * Use separate writer thread in SSTableSimpleUnsortedWriter (CASSANDRA-3619)
 * fsync the directory after new sstable or commitlog segment are created (CASSANDRA-3250)
 * fix minor issues reported by FindBugs (CASSANDRA-3658)
 * global key/row caches (CASSANDRA-3143, 3849)
 * optimize memtable iteration during range scan (CASSANDRA-3638)
 * introduce 'crc_check_chance' in CompressionParameters to support
   a checksum percentage checking chance similarly to read-repair (CASSANDRA-3611)
 * a way to deactivate global key/row cache on per-CF basis (CASSANDRA-3667)
 * fix LeveledCompactionStrategy broken because of generation pre-allocation
   in LeveledManifest (CASSANDRA-3691)
 * finer-grained control over data directories (CASSANDRA-2749)
 * Fix ClassCastException during hinted handoff (CASSANDRA-3694)
 * Upgrade Thrift to 0.7 (CASSANDRA-3213)
 * Make stress.java insert operation to use microseconds (CASSANDRA-3725)
 * Allows (internally) doing a range query with a limit of columns instead of
   rows (CASSANDRA-3742)
 * Allow rangeSlice queries to be start/end inclusive/exclusive (CASSANDRA-3749)
 * Fix BulkLoader to support new SSTable layout and add stream
   throttling to prevent an NPE when there is no yaml config (CASSANDRA-3752)
 * Allow concurrent schema migrations (CASSANDRA-1391, 3832)
 * Add SnapshotCommand to trigger snapshot on remote node (CASSANDRA-3721)
 * Make CFMetaData conversions to/from thrift/native schema inverses
   (CASSANDRA_3559)
 * Add initial code for CQL 3.0-beta (CASSANDRA-2474, 3781, 3753)
 * Add wide row support for ColumnFamilyInputFormat (CASSANDRA-3264)
 * Allow extending CompositeType comparator (CASSANDRA-3657)
 * Avoids over-paging during get_count (CASSANDRA-3798)
 * Add new command to rebuild a node without (repair) merkle tree calculations
   (CASSANDRA-3483, 3922)
 * respect not only row cache capacity but caching mode when
   trying to read data (CASSANDRA-3812)
 * fix system tests (CASSANDRA-3827)
 * CQL support for altering row key type in ALTER TABLE (CASSANDRA-3781)
 * turn compression on by default (CASSANDRA-3871)
 * make hexToBytes refuse invalid input (CASSANDRA-2851)
 * Make secondary indexes CF inherit compression and compaction from their
   parent CF (CASSANDRA-3877)
 * Finish cleanup up tombstone purge code (CASSANDRA-3872)
 * Avoid NPE on aboarted stream-out sessions (CASSANDRA-3904)
 * BulkRecordWriter throws NPE for counter columns (CASSANDRA-3906)
 * Support compression using BulkWriter (CASSANDRA-3907)


1.0.8
 * fix race between cleanup and flush on secondary index CFSes (CASSANDRA-3712)
 * avoid including non-queried nodes in rangeslice read repair
   (CASSANDRA-3843)
 * Only snapshot CF being compacted for snapshot_before_compaction
   (CASSANDRA-3803)
 * Log active compactions in StatusLogger (CASSANDRA-3703)
 * Compute more accurate compaction score per level (CASSANDRA-3790)
 * Return InvalidRequest when using a keyspace that doesn't exist
   (CASSANDRA-3764)
 * disallow user modification of System keyspace (CASSANDRA-3738)
 * allow using sstable2json on secondary index data (CASSANDRA-3738)
 * (cqlsh) add DESCRIBE COLUMNFAMILIES (CASSANDRA-3586)
 * (cqlsh) format blobs correctly and use colors to improve output
   readability (CASSANDRA-3726)
 * synchronize BiMap of bootstrapping tokens (CASSANDRA-3417)
 * show index options in CLI (CASSANDRA-3809)
 * add optional socket timeout for streaming (CASSANDRA-3838)
 * fix truncate not to leave behind non-CFS backed secondary indexes
   (CASSANDRA-3844)
 * make CLI `show schema` to use output stream directly instead
   of StringBuilder (CASSANDRA-3842)
 * remove the wait on hint future during write (CASSANDRA-3870)
 * (cqlsh) ignore missing CfDef opts (CASSANDRA-3933)
 * (cqlsh) look for cqlshlib relative to realpath (CASSANDRA-3767)
 * Fix short read protection (CASSANDRA-3934)
 * Make sure infered and actual schema match (CASSANDRA-3371)
 * Fix NPE during HH delivery (CASSANDRA-3677)
 * Don't put boostrapping node in 'hibernate' status (CASSANDRA-3737)
 * Fix double quotes in windows bat files (CASSANDRA-3744)
 * Fix bad validator lookup (CASSANDRA-3789)
 * Fix soft reset in EC2MultiRegionSnitch (CASSANDRA-3835)
 * Don't leave zombie connections with THSHA thrift server (CASSANDRA-3867)
 * (cqlsh) fix deserialization of data (CASSANDRA-3874)
 * Fix removetoken force causing an inconsistent state (CASSANDRA-3876)
 * Fix ahndling of some types with Pig (CASSANDRA-3886)
 * Don't allow to drop the system keyspace (CASSANDRA-3759)
 * Make Pig deletes disabled by default and configurable (CASSANDRA-3628)
Merged from 0.8:
 * (Pig) fix CassandraStorage to use correct comparator in Super ColumnFamily
   case (CASSANDRA-3251)
 * fix thread safety issues in commitlog replay, primarily affecting
   systems with many (100s) of CF definitions (CASSANDRA-3751)
 * Fix relevant tombstone ignored with super columns (CASSANDRA-3875)


1.0.7
 * fix regression in HH page size calculation (CASSANDRA-3624)
 * retry failed stream on IOException (CASSANDRA-3686)
 * allow configuring bloom_filter_fp_chance (CASSANDRA-3497)
 * attempt hint delivery every ten minutes, or when failure detector
   notifies us that a node is back up, whichever comes first.  hint
   handoff throttle delay default changed to 1ms, from 50 (CASSANDRA-3554)
 * add nodetool setstreamthroughput (CASSANDRA-3571)
 * fix assertion when dropping a columnfamily with no sstables (CASSANDRA-3614)
 * more efficient allocation of small bloom filters (CASSANDRA-3618)
 * CLibrary.createHardLinkWithExec() to check for errors (CASSANDRA-3101)
 * Avoid creating empty and non cleaned writer during compaction (CASSANDRA-3616)
 * stop thrift service in shutdown hook so we can quiesce MessagingService
   (CASSANDRA-3335)
 * (CQL) compaction_strategy_options and compression_parameters for
   CREATE COLUMNFAMILY statement (CASSANDRA-3374)
 * Reset min/max compaction threshold when creating size tiered compaction
   strategy (CASSANDRA-3666)
 * Don't ignore IOException during compaction (CASSANDRA-3655)
 * Fix assertion error for CF with gc_grace=0 (CASSANDRA-3579)
 * Shutdown ParallelCompaction reducer executor after use (CASSANDRA-3711)
 * Avoid < 0 value for pending tasks in leveled compaction (CASSANDRA-3693)
 * (Hadoop) Support TimeUUID in Pig CassandraStorage (CASSANDRA-3327)
 * Check schema is ready before continuing boostrapping (CASSANDRA-3629)
 * Catch overflows during parsing of chunk_length_kb (CASSANDRA-3644)
 * Improve stream protocol mismatch errors (CASSANDRA-3652)
 * Avoid multiple thread doing HH to the same target (CASSANDRA-3681)
 * Add JMX property for rp_timeout_in_ms (CASSANDRA-2940)
 * Allow DynamicCompositeType to compare component of different types
   (CASSANDRA-3625)
 * Flush non-cfs backed secondary indexes (CASSANDRA-3659)
 * Secondary Indexes should report memory consumption (CASSANDRA-3155)
 * fix for SelectStatement start/end key are not set correctly
   when a key alias is involved (CASSANDRA-3700)
 * fix CLI `show schema` command insert of an extra comma in
   column_metadata (CASSANDRA-3714)
Merged from 0.8:
 * avoid logging (harmless) exception when GC takes < 1ms (CASSANDRA-3656)
 * prevent new nodes from thinking down nodes are up forever (CASSANDRA-3626)
 * use correct list of replicas for LOCAL_QUORUM reads when read repair
   is disabled (CASSANDRA-3696)
 * block on flush before compacting hints (may prevent OOM) (CASSANDRA-3733)


1.0.6
 * (CQL) fix cqlsh support for replicate_on_write (CASSANDRA-3596)
 * fix adding to leveled manifest after streaming (CASSANDRA-3536)
 * filter out unavailable cipher suites when using encryption (CASSANDRA-3178)
 * (HADOOP) add old-style api support for CFIF and CFRR (CASSANDRA-2799)
 * Support TimeUUIDType column names in Stress.java tool (CASSANDRA-3541)
 * (CQL) INSERT/UPDATE/DELETE/TRUNCATE commands should allow CF names to
   be qualified by keyspace (CASSANDRA-3419)
 * always remove endpoints from delevery queue in HH (CASSANDRA-3546)
 * fix race between cf flush and its 2ndary indexes flush (CASSANDRA-3547)
 * fix potential race in AES when a repair fails (CASSANDRA-3548)
 * fix default value validation usage in CLI SET command (CASSANDRA-3553)
 * Optimize componentsFor method for compaction and startup time
   (CASSANDRA-3532)
 * (CQL) Proper ColumnFamily metadata validation on CREATE COLUMNFAMILY
   (CASSANDRA-3565)
 * fix compression "chunk_length_kb" option to set correct kb value for
   thrift/avro (CASSANDRA-3558)
 * fix missing response during range slice repair (CASSANDRA-3551)
 * 'describe ring' moved from CLI to nodetool and available through JMX (CASSANDRA-3220)
 * add back partitioner to sstable metadata (CASSANDRA-3540)
 * fix NPE in get_count for counters (CASSANDRA-3601)
Merged from 0.8:
 * remove invalid assertion that table was opened before dropping it
   (CASSANDRA-3580)
 * range and index scans now only send requests to enough replicas to
   satisfy requested CL + RR (CASSANDRA-3598)
 * use cannonical host for local node in nodetool info (CASSANDRA-3556)
 * remove nonlocal DC write optimization since it only worked with
   CL.ONE or CL.LOCAL_QUORUM (CASSANDRA-3577, 3585)
 * detect misuses of CounterColumnType (CASSANDRA-3422)
 * turn off string interning in json2sstable, take 2 (CASSANDRA-2189)
 * validate compression parameters on add/update of the ColumnFamily
   (CASSANDRA-3573)
 * Check for 0.0.0.0 is incorrect in CFIF (CASSANDRA-3584)
 * Increase vm.max_map_count in debian packaging (CASSANDRA-3563)
 * gossiper will never add itself to saved endpoints (CASSANDRA-3485)


1.0.5
 * revert CASSANDRA-3407 (see CASSANDRA-3540)
 * fix assertion error while forwarding writes to local nodes (CASSANDRA-3539)


1.0.4
 * fix self-hinting of timed out read repair updates and make hinted handoff
   less prone to OOMing a coordinator (CASSANDRA-3440)
 * expose bloom filter sizes via JMX (CASSANDRA-3495)
 * enforce RP tokens 0..2**127 (CASSANDRA-3501)
 * canonicalize paths exposed through JMX (CASSANDRA-3504)
 * fix "liveSize" stat when sstables are removed (CASSANDRA-3496)
 * add bloom filter FP rates to nodetool cfstats (CASSANDRA-3347)
 * record partitioner in sstable metadata component (CASSANDRA-3407)
 * add new upgradesstables nodetool command (CASSANDRA-3406)
 * skip --debug requirement to see common exceptions in CLI (CASSANDRA-3508)
 * fix incorrect query results due to invalid max timestamp (CASSANDRA-3510)
 * make sstableloader recognize compressed sstables (CASSANDRA-3521)
 * avoids race in OutboundTcpConnection in multi-DC setups (CASSANDRA-3530)
 * use SETLOCAL in cassandra.bat (CASSANDRA-3506)
 * fix ConcurrentModificationException in Table.all() (CASSANDRA-3529)
Merged from 0.8:
 * fix concurrence issue in the FailureDetector (CASSANDRA-3519)
 * fix array out of bounds error in counter shard removal (CASSANDRA-3514)
 * avoid dropping tombstones when they might still be needed to shadow
   data in a different sstable (CASSANDRA-2786)


1.0.3
 * revert name-based query defragmentation aka CASSANDRA-2503 (CASSANDRA-3491)
 * fix invalidate-related test failures (CASSANDRA-3437)
 * add next-gen cqlsh to bin/ (CASSANDRA-3188, 3131, 3493)
 * (CQL) fix handling of rows with no columns (CASSANDRA-3424, 3473)
 * fix querying supercolumns by name returning only a subset of
   subcolumns or old subcolumn versions (CASSANDRA-3446)
 * automatically compute sha1 sum for uncompressed data files (CASSANDRA-3456)
 * fix reading metadata/statistics component for version < h (CASSANDRA-3474)
 * add sstable forward-compatibility (CASSANDRA-3478)
 * report compression ratio in CFSMBean (CASSANDRA-3393)
 * fix incorrect size exception during streaming of counters (CASSANDRA-3481)
 * (CQL) fix for counter decrement syntax (CASSANDRA-3418)
 * Fix race introduced by CASSANDRA-2503 (CASSANDRA-3482)
 * Fix incomplete deletion of delivered hints (CASSANDRA-3466)
 * Avoid rescheduling compactions when no compaction was executed
   (CASSANDRA-3484)
 * fix handling of the chunk_length_kb compression options (CASSANDRA-3492)
Merged from 0.8:
 * fix updating CF row_cache_provider (CASSANDRA-3414)
 * CFMetaData.convertToThrift method to set RowCacheProvider (CASSANDRA-3405)
 * acquire compactionlock during truncate (CASSANDRA-3399)
 * fix displaying cfdef entries for super columnfamilies (CASSANDRA-3415)
 * Make counter shard merging thread safe (CASSANDRA-3178)
 * Revert CASSANDRA-2855
 * Fix bug preventing the use of efficient cross-DC writes (CASSANDRA-3472)
 * `describe ring` command for CLI (CASSANDRA-3220)
 * (Hadoop) skip empty rows when entire row is requested, redux (CASSANDRA-2855)


1.0.2
 * "defragment" rows for name-based queries under STCS (CASSANDRA-2503)
 * Add timing information to cassandra-cli GET/SET/LIST queries (CASSANDRA-3326)
 * Only create one CompressionMetadata object per sstable (CASSANDRA-3427)
 * cleanup usage of StorageService.setMode() (CASSANDRA-3388)
 * Avoid large array allocation for compressed chunk offsets (CASSANDRA-3432)
 * fix DecimalType bytebuffer marshalling (CASSANDRA-3421)
 * fix bug that caused first column in per row indexes to be ignored
   (CASSANDRA-3441)
 * add JMX call to clean (failed) repair sessions (CASSANDRA-3316)
 * fix sstableloader reference acquisition bug (CASSANDRA-3438)
 * fix estimated row size regression (CASSANDRA-3451)
 * make sure we don't return more columns than asked (CASSANDRA-3303, 3395)
Merged from 0.8:
 * acquire compactionlock during truncate (CASSANDRA-3399)
 * fix displaying cfdef entries for super columnfamilies (CASSANDRA-3415)


1.0.1
 * acquire references during index build to prevent delete problems
   on Windows (CASSANDRA-3314)
 * describe_ring should include datacenter/topology information (CASSANDRA-2882)
 * Thrift sockets are not properly buffered (CASSANDRA-3261)
 * performance improvement for bytebufferutil compare function (CASSANDRA-3286)
 * add system.versions ColumnFamily (CASSANDRA-3140)
 * reduce network copies (CASSANDRA-3333, 3373)
 * limit nodetool to 32MB of heap (CASSANDRA-3124)
 * (CQL) update parser to accept "timestamp" instead of "date" (CASSANDRA-3149)
 * Fix CLI `show schema` to include "compression_options" (CASSANDRA-3368)
 * Snapshot to include manifest under LeveledCompactionStrategy (CASSANDRA-3359)
 * (CQL) SELECT query should allow CF name to be qualified by keyspace (CASSANDRA-3130)
 * (CQL) Fix internal application error specifying 'using consistency ...'
   in lower case (CASSANDRA-3366)
 * fix Deflate compression when compression actually makes the data bigger
   (CASSANDRA-3370)
 * optimize UUIDGen to avoid lock contention on InetAddress.getLocalHost
   (CASSANDRA-3387)
 * tolerate index being dropped mid-mutation (CASSANDRA-3334, 3313)
 * CompactionManager is now responsible for checking for new candidates
   post-task execution, enabling more consistent leveled compaction
   (CASSANDRA-3391)
 * Cache HSHA threads (CASSANDRA-3372)
 * use CF/KS names as snapshot prefix for drop + truncate operations
   (CASSANDRA-2997)
 * Break bloom filters up to avoid heap fragmentation (CASSANDRA-2466)
 * fix cassandra hanging on jsvc stop (CASSANDRA-3302)
 * Avoid leveled compaction getting blocked on errors (CASSANDRA-3408)
 * Make reloading the compaction strategy safe (CASSANDRA-3409)
 * ignore 0.8 hints even if compaction begins before we try to purge
   them (CASSANDRA-3385)
 * remove procrun (bin\daemon) from Cassandra source tree and
   artifacts (CASSANDRA-3331)
 * make cassandra compile under JDK7 (CASSANDRA-3275)
 * remove dependency of clientutil.jar to FBUtilities (CASSANDRA-3299)
 * avoid truncation errors by using long math on long values (CASSANDRA-3364)
 * avoid clock drift on some Windows machine (CASSANDRA-3375)
 * display cache provider in cli 'describe keyspace' command (CASSANDRA-3384)
 * fix incomplete topology information in describe_ring (CASSANDRA-3403)
 * expire dead gossip states based on time (CASSANDRA-2961)
 * improve CompactionTask extensibility (CASSANDRA-3330)
 * Allow one leveled compaction task to kick off another (CASSANDRA-3363)
 * allow encryption only between datacenters (CASSANDRA-2802)
Merged from 0.8:
 * fix truncate allowing data to be replayed post-restart (CASSANDRA-3297)
 * make iwriter final in IndexWriter to avoid NPE (CASSANDRA-2863)
 * (CQL) update grammar to require key clause in DELETE statement
   (CASSANDRA-3349)
 * (CQL) allow numeric keyspace names in USE statement (CASSANDRA-3350)
 * (Hadoop) skip empty rows when slicing the entire row (CASSANDRA-2855)
 * Fix handling of tombstone by SSTableExport/Import (CASSANDRA-3357)
 * fix ColumnIndexer to use long offsets (CASSANDRA-3358)
 * Improved CLI exceptions (CASSANDRA-3312)
 * Fix handling of tombstone by SSTableExport/Import (CASSANDRA-3357)
 * Only count compaction as active (for throttling) when they have
   successfully acquired the compaction lock (CASSANDRA-3344)
 * Display CLI version string on startup (CASSANDRA-3196)
 * (Hadoop) make CFIF try rpc_address or fallback to listen_address
   (CASSANDRA-3214)
 * (Hadoop) accept comma delimited lists of initial thrift connections
   (CASSANDRA-3185)
 * ColumnFamily min_compaction_threshold should be >= 2 (CASSANDRA-3342)
 * (Pig) add 0.8+ types and key validation type in schema (CASSANDRA-3280)
 * Fix completely removing column metadata using CLI (CASSANDRA-3126)
 * CLI `describe cluster;` output should be on separate lines for separate versions
   (CASSANDRA-3170)
 * fix changing durable_writes keyspace option during CF creation
   (CASSANDRA-3292)
 * avoid locking on update when no indexes are involved (CASSANDRA-3386)
 * fix assertionError during repair with ordered partitioners (CASSANDRA-3369)
 * correctly serialize key_validation_class for avro (CASSANDRA-3391)
 * don't expire counter tombstone after streaming (CASSANDRA-3394)
 * prevent nodes that failed to join from hanging around forever
   (CASSANDRA-3351)
 * remove incorrect optimization from slice read path (CASSANDRA-3390)
 * Fix race in AntiEntropyService (CASSANDRA-3400)


1.0.0-final
 * close scrubbed sstable fd before deleting it (CASSANDRA-3318)
 * fix bug preventing obsolete commitlog segments from being removed
   (CASSANDRA-3269)
 * tolerate whitespace in seed CDL (CASSANDRA-3263)
 * Change default heap thresholds to max(min(1/2 ram, 1G), min(1/4 ram, 8GB))
   (CASSANDRA-3295)
 * Fix broken CompressedRandomAccessReaderTest (CASSANDRA-3298)
 * (CQL) fix type information returned for wildcard queries (CASSANDRA-3311)
 * add estimated tasks to LeveledCompactionStrategy (CASSANDRA-3322)
 * avoid including compaction cache-warming in keycache stats (CASSANDRA-3325)
 * run compaction and hinted handoff threads at MIN_PRIORITY (CASSANDRA-3308)
 * default hsha thrift server to cpu core count in rpc pool (CASSANDRA-3329)
 * add bin\daemon to binary tarball for Windows service (CASSANDRA-3331)
 * Fix places where uncompressed size of sstables was use in place of the
   compressed one (CASSANDRA-3338)
 * Fix hsha thrift server (CASSANDRA-3346)
 * Make sure repair only stream needed sstables (CASSANDRA-3345)


1.0.0-rc2
 * Log a meaningful warning when a node receives a message for a repair session
   that doesn't exist anymore (CASSANDRA-3256)
 * test for NUMA policy support as well as numactl presence (CASSANDRA-3245)
 * Fix FD leak when internode encryption is enabled (CASSANDRA-3257)
 * Remove incorrect assertion in mergeIterator (CASSANDRA-3260)
 * FBUtilities.hexToBytes(String) to throw NumberFormatException when string
   contains non-hex characters (CASSANDRA-3231)
 * Keep SimpleSnitch proximity ordering unchanged from what the Strategy
   generates, as intended (CASSANDRA-3262)
 * remove Scrub from compactionstats when finished (CASSANDRA-3255)
 * fix counter entry in jdbc TypesMap (CASSANDRA-3268)
 * fix full queue scenario for ParallelCompactionIterator (CASSANDRA-3270)
 * fix bootstrap process (CASSANDRA-3285)
 * don't try delivering hints if when there isn't any (CASSANDRA-3176)
 * CLI documentation change for ColumnFamily `compression_options` (CASSANDRA-3282)
 * ignore any CF ids sent by client for adding CF/KS (CASSANDRA-3288)
 * remove obsolete hints on first startup (CASSANDRA-3291)
 * use correct ISortedColumns for time-optimized reads (CASSANDRA-3289)
 * Evict gossip state immediately when a token is taken over by a new IP
   (CASSANDRA-3259)


1.0.0-rc1
 * Update CQL to generate microsecond timestamps by default (CASSANDRA-3227)
 * Fix counting CFMetadata towards Memtable liveRatio (CASSANDRA-3023)
 * Kill server on wrapped OOME such as from FileChannel.map (CASSANDRA-3201)
 * remove unnecessary copy when adding to row cache (CASSANDRA-3223)
 * Log message when a full repair operation completes (CASSANDRA-3207)
 * Fix streamOutSession keeping sstables references forever if the remote end
   dies (CASSANDRA-3216)
 * Remove dynamic_snitch boolean from example configuration (defaulting to
   true) and set default badness threshold to 0.1 (CASSANDRA-3229)
 * Base choice of random or "balanced" token on bootstrap on whether
   schema definitions were found (CASSANDRA-3219)
 * Fixes for LeveledCompactionStrategy score computation, prioritization,
   scheduling, and performance (CASSANDRA-3224, 3234)
 * parallelize sstable open at server startup (CASSANDRA-2988)
 * fix handling of exceptions writing to OutboundTcpConnection (CASSANDRA-3235)
 * Allow using quotes in "USE <keyspace>;" CLI command (CASSANDRA-3208)
 * Don't allow any cache loading exceptions to halt startup (CASSANDRA-3218)
 * Fix sstableloader --ignores option (CASSANDRA-3247)
 * File descriptor limit increased in packaging (CASSANDRA-3206)
 * Fix deadlock in commit log during flush (CASSANDRA-3253)


1.0.0-beta1
 * removed binarymemtable (CASSANDRA-2692)
 * add commitlog_total_space_in_mb to prevent fragmented logs (CASSANDRA-2427)
 * removed commitlog_rotation_threshold_in_mb configuration (CASSANDRA-2771)
 * make AbstractBounds.normalize de-overlapp overlapping ranges (CASSANDRA-2641)
 * replace CollatingIterator, ReducingIterator with MergeIterator
   (CASSANDRA-2062)
 * Fixed the ability to set compaction strategy in cli using create column
   family command (CASSANDRA-2778)
 * clean up tmp files after failed compaction (CASSANDRA-2468)
 * restrict repair streaming to specific columnfamilies (CASSANDRA-2280)
 * don't bother persisting columns shadowed by a row tombstone (CASSANDRA-2589)
 * reset CF and SC deletion times after gc_grace (CASSANDRA-2317)
 * optimize away seek when compacting wide rows (CASSANDRA-2879)
 * single-pass streaming (CASSANDRA-2677, 2906, 2916, 3003)
 * use reference counting for deleting sstables instead of relying on GC
   (CASSANDRA-2521, 3179)
 * store hints as serialized mutations instead of pointers to data row
   (CASSANDRA-2045)
 * store hints in the coordinator node instead of in the closest replica
   (CASSANDRA-2914)
 * add row_cache_keys_to_save CF option (CASSANDRA-1966)
 * check column family validity in nodetool repair (CASSANDRA-2933)
 * use lazy initialization instead of class initialization in NodeId
   (CASSANDRA-2953)
 * add paging to get_count (CASSANDRA-2894)
 * fix "short reads" in [multi]get (CASSANDRA-2643, 3157, 3192)
 * add optional compression for sstables (CASSANDRA-47, 2994, 3001, 3128)
 * add scheduler JMX metrics (CASSANDRA-2962)
 * add block level checksum for compressed data (CASSANDRA-1717)
 * make column family backed column map pluggable and introduce unsynchronized
   ArrayList backed one to speedup reads (CASSANDRA-2843, 3165, 3205)
 * refactoring of the secondary index api (CASSANDRA-2982)
 * make CL > ONE reads wait for digest reconciliation before returning
   (CASSANDRA-2494)
 * fix missing logging for some exceptions (CASSANDRA-2061)
 * refactor and optimize ColumnFamilyStore.files(...) and Descriptor.fromFilename(String)
   and few other places responsible for work with SSTable files (CASSANDRA-3040)
 * Stop reading from sstables once we know we have the most recent columns,
   for query-by-name requests (CASSANDRA-2498)
 * Add query-by-column mode to stress.java (CASSANDRA-3064)
 * Add "install" command to cassandra.bat (CASSANDRA-292)
 * clean up KSMetadata, CFMetadata from unnecessary
   Thrift<->Avro conversion methods (CASSANDRA-3032)
 * Add timeouts to client request schedulers (CASSANDRA-3079, 3096)
 * Cli to use hashes rather than array of hashes for strategy options (CASSANDRA-3081)
 * LeveledCompactionStrategy (CASSANDRA-1608, 3085, 3110, 3087, 3145, 3154, 3182)
 * Improvements of the CLI `describe` command (CASSANDRA-2630)
 * reduce window where dropped CF sstables may not be deleted (CASSANDRA-2942)
 * Expose gossip/FD info to JMX (CASSANDRA-2806)
 * Fix streaming over SSL when compressed SSTable involved (CASSANDRA-3051)
 * Add support for pluggable secondary index implementations (CASSANDRA-3078)
 * remove compaction_thread_priority setting (CASSANDRA-3104)
 * generate hints for replicas that timeout, not just replicas that are known
   to be down before starting (CASSANDRA-2034)
 * Add throttling for internode streaming (CASSANDRA-3080)
 * make the repair of a range repair all replica (CASSANDRA-2610, 3194)
 * expose the ability to repair the first range (as returned by the
   partitioner) of a node (CASSANDRA-2606)
 * Streams Compression (CASSANDRA-3015)
 * add ability to use multiple threads during a single compaction
   (CASSANDRA-2901)
 * make AbstractBounds.normalize support overlapping ranges (CASSANDRA-2641)
 * fix of the CQL count() behavior (CASSANDRA-3068)
 * use TreeMap backed column families for the SSTable simple writers
   (CASSANDRA-3148)
 * fix inconsistency of the CLI syntax when {} should be used instead of [{}]
   (CASSANDRA-3119)
 * rename CQL type names to match expected SQL behavior (CASSANDRA-3149, 3031)
 * Arena-based allocation for memtables (CASSANDRA-2252, 3162, 3163, 3168)
 * Default RR chance to 0.1 (CASSANDRA-3169)
 * Add RowLevel support to secondary index API (CASSANDRA-3147)
 * Make SerializingCacheProvider the default if JNA is available (CASSANDRA-3183)
 * Fix backwards compatibilty for CQL memtable properties (CASSANDRA-3190)
 * Add five-minute delay before starting compactions on a restarted server
   (CASSANDRA-3181)
 * Reduce copies done for intra-host messages (CASSANDRA-1788, 3144)
 * support of compaction strategy option for stress.java (CASSANDRA-3204)
 * make memtable throughput and column count thresholds no-ops (CASSANDRA-2449)
 * Return schema information along with the resultSet in CQL (CASSANDRA-2734)
 * Add new DecimalType (CASSANDRA-2883)
 * Fix assertion error in RowRepairResolver (CASSANDRA-3156)
 * Reduce unnecessary high buffer sizes (CASSANDRA-3171)
 * Pluggable compaction strategy (CASSANDRA-1610)
 * Add new broadcast_address config option (CASSANDRA-2491)


0.8.7
 * Kill server on wrapped OOME such as from FileChannel.map (CASSANDRA-3201)
 * Allow using quotes in "USE <keyspace>;" CLI command (CASSANDRA-3208)
 * Log message when a full repair operation completes (CASSANDRA-3207)
 * Don't allow any cache loading exceptions to halt startup (CASSANDRA-3218)
 * Fix sstableloader --ignores option (CASSANDRA-3247)
 * File descriptor limit increased in packaging (CASSANDRA-3206)
 * Log a meaningfull warning when a node receive a message for a repair session
   that doesn't exist anymore (CASSANDRA-3256)
 * Fix FD leak when internode encryption is enabled (CASSANDRA-3257)
 * FBUtilities.hexToBytes(String) to throw NumberFormatException when string
   contains non-hex characters (CASSANDRA-3231)
 * Keep SimpleSnitch proximity ordering unchanged from what the Strategy
   generates, as intended (CASSANDRA-3262)
 * remove Scrub from compactionstats when finished (CASSANDRA-3255)
 * Fix tool .bat files when CASSANDRA_HOME contains spaces (CASSANDRA-3258)
 * Force flush of status table when removing/updating token (CASSANDRA-3243)
 * Evict gossip state immediately when a token is taken over by a new IP (CASSANDRA-3259)
 * Fix bug where the failure detector can take too long to mark a host
   down (CASSANDRA-3273)
 * (Hadoop) allow wrapping ranges in queries (CASSANDRA-3137)
 * (Hadoop) check all interfaces for a match with split location
   before falling back to random replica (CASSANDRA-3211)
 * (Hadoop) Make Pig storage handle implements LoadMetadata (CASSANDRA-2777)
 * (Hadoop) Fix exception during PIG 'dump' (CASSANDRA-2810)
 * Fix stress COUNTER_GET option (CASSANDRA-3301)
 * Fix missing fields in CLI `show schema` output (CASSANDRA-3304)
 * Nodetool no longer leaks threads and closes JMX connections (CASSANDRA-3309)
 * fix truncate allowing data to be replayed post-restart (CASSANDRA-3297)
 * Move SimpleAuthority and SimpleAuthenticator to examples (CASSANDRA-2922)
 * Fix handling of tombstone by SSTableExport/Import (CASSANDRA-3357)
 * Fix transposition in cfHistograms (CASSANDRA-3222)
 * Allow using number as DC name when creating keyspace in CQL (CASSANDRA-3239)
 * Force flush of system table after updating/removing a token (CASSANDRA-3243)


0.8.6
 * revert CASSANDRA-2388
 * change TokenRange.endpoints back to listen/broadcast address to match
   pre-1777 behavior, and add TokenRange.rpc_endpoints instead (CASSANDRA-3187)
 * avoid trying to watch cassandra-topology.properties when loaded from jar
   (CASSANDRA-3138)
 * prevent users from creating keyspaces with LocalStrategy replication
   (CASSANDRA-3139)
 * fix CLI `show schema;` to output correct keyspace definition statement
   (CASSANDRA-3129)
 * CustomTThreadPoolServer to log TTransportException at DEBUG level
   (CASSANDRA-3142)
 * allow topology sort to work with non-unique rack names between
   datacenters (CASSANDRA-3152)
 * Improve caching of same-version Messages on digest and repair paths
   (CASSANDRA-3158)
 * Randomize choice of first replica for counter increment (CASSANDRA-2890)
 * Fix using read_repair_chance instead of merge_shard_change (CASSANDRA-3202)
 * Avoid streaming data to nodes that already have it, on move as well as
   decommission (CASSANDRA-3041)
 * Fix divide by zero error in GCInspector (CASSANDRA-3164)
 * allow quoting of the ColumnFamily name in CLI `create column family`
   statement (CASSANDRA-3195)
 * Fix rolling upgrade from 0.7 to 0.8 problem (CASSANDRA-3166)
 * Accomodate missing encryption_options in IncomingTcpConnection.stream
   (CASSANDRA-3212)


0.8.5
 * fix NPE when encryption_options is unspecified (CASSANDRA-3007)
 * include column name in validation failure exceptions (CASSANDRA-2849)
 * make sure truncate clears out the commitlog so replay won't re-
   populate with truncated data (CASSANDRA-2950)
 * fix NPE when debug logging is enabled and dropped CF is present
   in a commitlog segment (CASSANDRA-3021)
 * fix cassandra.bat when CASSANDRA_HOME contains spaces (CASSANDRA-2952)
 * fix to SSTableSimpleUnsortedWriter bufferSize calculation (CASSANDRA-3027)
 * make cleanup and normal compaction able to skip empty rows
   (rows containing nothing but expired tombstones) (CASSANDRA-3039)
 * work around native memory leak in com.sun.management.GarbageCollectorMXBean
   (CASSANDRA-2868)
 * validate that column names in column_metadata are not equal to key_alias
   on create/update of the ColumnFamily and CQL 'ALTER' statement (CASSANDRA-3036)
 * return an InvalidRequestException if an indexed column is assigned
   a value larger than 64KB (CASSANDRA-3057)
 * fix of numeric-only and string column names handling in CLI "drop index"
   (CASSANDRA-3054)
 * prune index scan resultset back to original request for lazy
   resultset expansion case (CASSANDRA-2964)
 * (Hadoop) fail jobs when Cassandra node has failed but TaskTracker
   has not (CASSANDRA-2388)
 * fix dynamic snitch ignoring nodes when read_repair_chance is zero
   (CASSANDRA-2662)
 * avoid retaining references to dropped CFS objects in
   CompactionManager.estimatedCompactions (CASSANDRA-2708)
 * expose rpc timeouts per host in MessagingServiceMBean (CASSANDRA-2941)
 * avoid including cwd in classpath for deb and rpm packages (CASSANDRA-2881)
 * remove gossip state when a new IP takes over a token (CASSANDRA-3071)
 * allow sstable2json to work on index sstable files (CASSANDRA-3059)
 * always hint counters (CASSANDRA-3099)
 * fix log4j initialization in EmbeddedCassandraService (CASSANDRA-2857)
 * remove gossip state when a new IP takes over a token (CASSANDRA-3071)
 * work around native memory leak in com.sun.management.GarbageCollectorMXBean
    (CASSANDRA-2868)
 * fix UnavailableException with writes at CL.EACH_QUORM (CASSANDRA-3084)
 * fix parsing of the Keyspace and ColumnFamily names in numeric
   and string representations in CLI (CASSANDRA-3075)
 * fix corner cases in Range.differenceToFetch (CASSANDRA-3084)
 * fix ip address String representation in the ring cache (CASSANDRA-3044)
 * fix ring cache compatibility when mixing pre-0.8.4 nodes with post-
   in the same cluster (CASSANDRA-3023)
 * make repair report failure when a node participating dies (instead of
   hanging forever) (CASSANDRA-2433)
 * fix handling of the empty byte buffer by ReversedType (CASSANDRA-3111)
 * Add validation that Keyspace names are case-insensitively unique (CASSANDRA-3066)
 * catch invalid key_validation_class before instantiating UpdateColumnFamily (CASSANDRA-3102)
 * make Range and Bounds objects client-safe (CASSANDRA-3108)
 * optionally skip log4j configuration (CASSANDRA-3061)
 * bundle sstableloader with the debian package (CASSANDRA-3113)
 * don't try to build secondary indexes when there is none (CASSANDRA-3123)
 * improve SSTableSimpleUnsortedWriter speed for large rows (CASSANDRA-3122)
 * handle keyspace arguments correctly in nodetool snapshot (CASSANDRA-3038)
 * Fix SSTableImportTest on windows (CASSANDRA-3043)
 * expose compactionThroughputMbPerSec through JMX (CASSANDRA-3117)
 * log keyspace and CF of large rows being compacted


0.8.4
 * change TokenRing.endpoints to be a list of rpc addresses instead of
   listen/broadcast addresses (CASSANDRA-1777)
 * include files-to-be-streamed in StreamInSession.getSources (CASSANDRA-2972)
 * use JAVA env var in cassandra-env.sh (CASSANDRA-2785, 2992)
 * avoid doing read for no-op replicate-on-write at CL=1 (CASSANDRA-2892)
 * refuse counter write for CL.ANY (CASSANDRA-2990)
 * switch back to only logging recent dropped messages (CASSANDRA-3004)
 * always deserialize RowMutation for counters (CASSANDRA-3006)
 * ignore saved replication_factor strategy_option for NTS (CASSANDRA-3011)
 * make sure pre-truncate CL segments are discarded (CASSANDRA-2950)


0.8.3
 * add ability to drop local reads/writes that are going to timeout
   (CASSANDRA-2943)
 * revamp token removal process, keep gossip states for 3 days (CASSANDRA-2496)
 * don't accept extra args for 0-arg nodetool commands (CASSANDRA-2740)
 * log unavailableexception details at debug level (CASSANDRA-2856)
 * expose data_dir though jmx (CASSANDRA-2770)
 * don't include tmp files as sstable when create cfs (CASSANDRA-2929)
 * log Java classpath on startup (CASSANDRA-2895)
 * keep gossipped version in sync with actual on migration coordinator
   (CASSANDRA-2946)
 * use lazy initialization instead of class initialization in NodeId
   (CASSANDRA-2953)
 * check column family validity in nodetool repair (CASSANDRA-2933)
 * speedup bytes to hex conversions dramatically (CASSANDRA-2850)
 * Flush memtables on shutdown when durable writes are disabled
   (CASSANDRA-2958)
 * improved POSIX compatibility of start scripts (CASsANDRA-2965)
 * add counter support to Hadoop InputFormat (CASSANDRA-2981)
 * fix bug where dirty commitlog segments were removed (and avoid keeping
   segments with no post-flush activity permanently dirty) (CASSANDRA-2829)
 * fix throwing exception with batch mutation of counter super columns
   (CASSANDRA-2949)
 * ignore system tables during repair (CASSANDRA-2979)
 * throw exception when NTS is given replication_factor as an option
   (CASSANDRA-2960)
 * fix assertion error during compaction of counter CFs (CASSANDRA-2968)
 * avoid trying to create index names, when no index exists (CASSANDRA-2867)
 * don't sample the system table when choosing a bootstrap token
   (CASSANDRA-2825)
 * gossiper notifies of local state changes (CASSANDRA-2948)
 * add asynchronous and half-sync/half-async (hsha) thrift servers
   (CASSANDRA-1405)
 * fix potential use of free'd native memory in SerializingCache
   (CASSANDRA-2951)
 * prune index scan resultset back to original request for lazy
   resultset expansion case (CASSANDRA-2964)
 * (Hadoop) fail jobs when Cassandra node has failed but TaskTracker
    has not (CASSANDRA-2388)


0.8.2
 * CQL:
   - include only one row per unique key for IN queries (CASSANDRA-2717)
   - respect client timestamp on full row deletions (CASSANDRA-2912)
 * improve thread-safety in StreamOutSession (CASSANDRA-2792)
 * allow deleting a row and updating indexed columns in it in the
   same mutation (CASSANDRA-2773)
 * Expose number of threads blocked on submitting memtable to flush
   in JMX (CASSANDRA-2817)
 * add ability to return "endpoints" to nodetool (CASSANDRA-2776)
 * Add support for multiple (comma-delimited) coordinator addresses
   to ColumnFamilyInputFormat (CASSANDRA-2807)
 * fix potential NPE while scheduling read repair for range slice
   (CASSANDRA-2823)
 * Fix race in SystemTable.getCurrentLocalNodeId (CASSANDRA-2824)
 * Correctly set default for replicate_on_write (CASSANDRA-2835)
 * improve nodetool compactionstats formatting (CASSANDRA-2844)
 * fix index-building status display (CASSANDRA-2853)
 * fix CLI perpetuating obsolete KsDef.replication_factor (CASSANDRA-2846)
 * improve cli treatment of multiline comments (CASSANDRA-2852)
 * handle row tombstones correctly in EchoedRow (CASSANDRA-2786)
 * add MessagingService.get[Recently]DroppedMessages and
   StorageService.getExceptionCount (CASSANDRA-2804)
 * fix possibility of spurious UnavailableException for LOCAL_QUORUM
   reads with dynamic snitch + read repair disabled (CASSANDRA-2870)
 * add ant-optional as dependence for the debian package (CASSANDRA-2164)
 * add option to specify limit for get_slice in the CLI (CASSANDRA-2646)
 * decrease HH page size (CASSANDRA-2832)
 * reset cli keyspace after dropping the current one (CASSANDRA-2763)
 * add KeyRange option to Hadoop inputformat (CASSANDRA-1125)
 * fix protocol versioning (CASSANDRA-2818, 2860)
 * support spaces in path to log4j configuration (CASSANDRA-2383)
 * avoid including inferred types in CF update (CASSANDRA-2809)
 * fix JMX bulkload call (CASSANDRA-2908)
 * fix updating KS with durable_writes=false (CASSANDRA-2907)
 * add simplified facade to SSTableWriter for bulk loading use
   (CASSANDRA-2911)
 * fix re-using index CF sstable names after drop/recreate (CASSANDRA-2872)
 * prepend CF to default index names (CASSANDRA-2903)
 * fix hint replay (CASSANDRA-2928)
 * Properly synchronize repair's merkle tree computation (CASSANDRA-2816)


0.8.1
 * CQL:
   - support for insert, delete in BATCH (CASSANDRA-2537)
   - support for IN to SELECT, UPDATE (CASSANDRA-2553)
   - timestamp support for INSERT, UPDATE, and BATCH (CASSANDRA-2555)
   - TTL support (CASSANDRA-2476)
   - counter support (CASSANDRA-2473)
   - ALTER COLUMNFAMILY (CASSANDRA-1709)
   - DROP INDEX (CASSANDRA-2617)
   - add SCHEMA/TABLE as aliases for KS/CF (CASSANDRA-2743)
   - server handles wait-for-schema-agreement (CASSANDRA-2756)
   - key alias support (CASSANDRA-2480)
 * add support for comparator parameters and a generic ReverseType
   (CASSANDRA-2355)
 * add CompositeType and DynamicCompositeType (CASSANDRA-2231)
 * optimize batches containing multiple updates to the same row
   (CASSANDRA-2583)
 * adjust hinted handoff page size to avoid OOM with large columns
   (CASSANDRA-2652)
 * mark BRAF buffer invalid post-flush so we don't re-flush partial
   buffers again, especially on CL writes (CASSANDRA-2660)
 * add DROP INDEX support to CLI (CASSANDRA-2616)
 * don't perform HH to client-mode [storageproxy] nodes (CASSANDRA-2668)
 * Improve forceDeserialize/getCompactedRow encapsulation (CASSANDRA-2659)
 * Don't write CounterUpdateColumn to disk in tests (CASSANDRA-2650)
 * Add sstable bulk loading utility (CASSANDRA-1278)
 * avoid replaying hints to dropped columnfamilies (CASSANDRA-2685)
 * add placeholders for missing rows in range query pseudo-RR (CASSANDRA-2680)
 * remove no-op HHOM.renameHints (CASSANDRA-2693)
 * clone super columns to avoid modifying them during flush (CASSANDRA-2675)
 * allow writes to bypass the commitlog for certain keyspaces (CASSANDRA-2683)
 * avoid NPE when bypassing commitlog during memtable flush (CASSANDRA-2781)
 * Added support for making bootstrap retry if nodes flap (CASSANDRA-2644)
 * Added statusthrift to nodetool to report if thrift server is running (CASSANDRA-2722)
 * Fixed rows being cached if they do not exist (CASSANDRA-2723)
 * Support passing tableName and cfName to RowCacheProviders (CASSANDRA-2702)
 * close scrub file handles (CASSANDRA-2669)
 * throttle migration replay (CASSANDRA-2714)
 * optimize column serializer creation (CASSANDRA-2716)
 * Added support for making bootstrap retry if nodes flap (CASSANDRA-2644)
 * Added statusthrift to nodetool to report if thrift server is running
   (CASSANDRA-2722)
 * Fixed rows being cached if they do not exist (CASSANDRA-2723)
 * fix truncate/compaction race (CASSANDRA-2673)
 * workaround large resultsets causing large allocation retention
   by nio sockets (CASSANDRA-2654)
 * fix nodetool ring use with Ec2Snitch (CASSANDRA-2733)
 * fix removing columns and subcolumns that are supressed by a row or
   supercolumn tombstone during replica resolution (CASSANDRA-2590)
 * support sstable2json against snapshot sstables (CASSANDRA-2386)
 * remove active-pull schema requests (CASSANDRA-2715)
 * avoid marking entire list of sstables as actively being compacted
   in multithreaded compaction (CASSANDRA-2765)
 * seek back after deserializing a row to update cache with (CASSANDRA-2752)
 * avoid skipping rows in scrub for counter column family (CASSANDRA-2759)
 * fix ConcurrentModificationException in repair when dealing with 0.7 node
   (CASSANDRA-2767)
 * use threadsafe collections for StreamInSession (CASSANDRA-2766)
 * avoid infinite loop when creating merkle tree (CASSANDRA-2758)
 * avoids unmarking compacting sstable prematurely in cleanup (CASSANDRA-2769)
 * fix NPE when the commit log is bypassed (CASSANDRA-2718)
 * don't throw an exception in SS.isRPCServerRunning (CASSANDRA-2721)
 * make stress.jar executable (CASSANDRA-2744)
 * add daemon mode to java stress (CASSANDRA-2267)
 * expose the DC and rack of a node through JMX and nodetool ring (CASSANDRA-2531)
 * fix cache mbean getSize (CASSANDRA-2781)
 * Add Date, Float, Double, and Boolean types (CASSANDRA-2530)
 * Add startup flag to renew counter node id (CASSANDRA-2788)
 * add jamm agent to cassandra.bat (CASSANDRA-2787)
 * fix repair hanging if a neighbor has nothing to send (CASSANDRA-2797)
 * purge tombstone even if row is in only one sstable (CASSANDRA-2801)
 * Fix wrong purge of deleted cf during compaction (CASSANDRA-2786)
 * fix race that could result in Hadoop writer failing to throw an
   exception encountered after close() (CASSANDRA-2755)
 * fix scan wrongly throwing assertion error (CASSANDRA-2653)
 * Always use even distribution for merkle tree with RandomPartitionner
   (CASSANDRA-2841)
 * fix describeOwnership for OPP (CASSANDRA-2800)
 * ensure that string tokens do not contain commas (CASSANDRA-2762)


0.8.0-final
 * fix CQL grammar warning and cqlsh regression from CASSANDRA-2622
 * add ant generate-cql-html target (CASSANDRA-2526)
 * update CQL consistency levels (CASSANDRA-2566)
 * debian packaging fixes (CASSANDRA-2481, 2647)
 * fix UUIDType, IntegerType for direct buffers (CASSANDRA-2682, 2684)
 * switch to native Thrift for Hadoop map/reduce (CASSANDRA-2667)
 * fix StackOverflowError when building from eclipse (CASSANDRA-2687)
 * only provide replication_factor to strategy_options "help" for
   SimpleStrategy, OldNetworkTopologyStrategy (CASSANDRA-2678, 2713)
 * fix exception adding validators to non-string columns (CASSANDRA-2696)
 * avoid instantiating DatabaseDescriptor in JDBC (CASSANDRA-2694)
 * fix potential stack overflow during compaction (CASSANDRA-2626)
 * clone super columns to avoid modifying them during flush (CASSANDRA-2675)
 * reset underlying iterator in EchoedRow constructor (CASSANDRA-2653)


0.8.0-rc1
 * faster flushes and compaction from fixing excessively pessimistic
   rebuffering in BRAF (CASSANDRA-2581)
 * fix returning null column values in the python cql driver (CASSANDRA-2593)
 * fix merkle tree splitting exiting early (CASSANDRA-2605)
 * snapshot_before_compaction directory name fix (CASSANDRA-2598)
 * Disable compaction throttling during bootstrap (CASSANDRA-2612)
 * fix CQL treatment of > and < operators in range slices (CASSANDRA-2592)
 * fix potential double-application of counter updates on commitlog replay
   by moving replay position from header to sstable metadata (CASSANDRA-2419)
 * JDBC CQL driver exposes getColumn for access to timestamp
 * JDBC ResultSetMetadata properties added to AbstractType
 * r/m clustertool (CASSANDRA-2607)
 * add support for presenting row key as a column in CQL result sets
   (CASSANDRA-2622)
 * Don't allow {LOCAL|EACH}_QUORUM unless strategy is NTS (CASSANDRA-2627)
 * validate keyspace strategy_options during CQL create (CASSANDRA-2624)
 * fix empty Result with secondary index when limit=1 (CASSANDRA-2628)
 * Fix regression where bootstrapping a node with no schema fails
   (CASSANDRA-2625)
 * Allow removing LocationInfo sstables (CASSANDRA-2632)
 * avoid attempting to replay mutations from dropped keyspaces (CASSANDRA-2631)
 * avoid using cached position of a key when GT is requested (CASSANDRA-2633)
 * fix counting bloom filter true positives (CASSANDRA-2637)
 * initialize local ep state prior to gossip startup if needed (CASSANDRA-2638)
 * fix counter increment lost after restart (CASSANDRA-2642)
 * add quote-escaping via backslash to CLI (CASSANDRA-2623)
 * fix pig example script (CASSANDRA-2487)
 * fix dynamic snitch race in adding latencies (CASSANDRA-2618)
 * Start/stop cassandra after more important services such as mdadm in
   debian packaging (CASSANDRA-2481)


0.8.0-beta2
 * fix NPE compacting index CFs (CASSANDRA-2528)
 * Remove checking all column families on startup for compaction candidates
   (CASSANDRA-2444)
 * validate CQL create keyspace options (CASSANDRA-2525)
 * fix nodetool setcompactionthroughput (CASSANDRA-2550)
 * move	gossip heartbeat back to its own thread (CASSANDRA-2554)
 * validate cql TRUNCATE columnfamily before truncating (CASSANDRA-2570)
 * fix batch_mutate for mixed standard-counter mutations (CASSANDRA-2457)
 * disallow making schema changes to system keyspace (CASSANDRA-2563)
 * fix sending mutation messages multiple times (CASSANDRA-2557)
 * fix incorrect use of NBHM.size in ReadCallback that could cause
   reads to time out even when responses were received (CASSANDRA-2552)
 * trigger read repair correctly for LOCAL_QUORUM reads (CASSANDRA-2556)
 * Allow configuring the number of compaction thread (CASSANDRA-2558)
 * forceUserDefinedCompaction will attempt to compact what it is given
   even if the pessimistic estimate is that there is not enough disk space;
   automatic compactions will only compact 2 or more sstables (CASSANDRA-2575)
 * refuse to apply migrations with older timestamps than the current
   schema (CASSANDRA-2536)
 * remove unframed Thrift transport option
 * include indexes in snapshots (CASSANDRA-2596)
 * improve ignoring of obsolete mutations in index maintenance (CASSANDRA-2401)
 * recognize attempt to drop just the index while leaving the column
   definition alone (CASSANDRA-2619)


0.8.0-beta1
 * remove Avro RPC support (CASSANDRA-926)
 * support for columns that act as incr/decr counters
   (CASSANDRA-1072, 1937, 1944, 1936, 2101, 2093, 2288, 2105, 2384, 2236, 2342,
   2454)
 * CQL (CASSANDRA-1703, 1704, 1705, 1706, 1707, 1708, 1710, 1711, 1940,
   2124, 2302, 2277, 2493)
 * avoid double RowMutation serialization on write path (CASSANDRA-1800)
 * make NetworkTopologyStrategy the default (CASSANDRA-1960)
 * configurable internode encryption (CASSANDRA-1567, 2152)
 * human readable column names in sstable2json output (CASSANDRA-1933)
 * change default JMX port to 7199 (CASSANDRA-2027)
 * backwards compatible internal messaging (CASSANDRA-1015)
 * atomic switch of memtables and sstables (CASSANDRA-2284)
 * add pluggable SeedProvider (CASSANDRA-1669)
 * Fix clustertool to not throw exception when calling get_endpoints (CASSANDRA-2437)
 * upgrade to thrift 0.6 (CASSANDRA-2412)
 * repair works on a token range instead of full ring (CASSANDRA-2324)
 * purge tombstones from row cache (CASSANDRA-2305)
 * push replication_factor into strategy_options (CASSANDRA-1263)
 * give snapshots the same name on each node (CASSANDRA-1791)
 * remove "nodetool loadbalance" (CASSANDRA-2448)
 * multithreaded compaction (CASSANDRA-2191)
 * compaction throttling (CASSANDRA-2156)
 * add key type information and alias (CASSANDRA-2311, 2396)
 * cli no longer divides read_repair_chance by 100 (CASSANDRA-2458)
 * made CompactionInfo.getTaskType return an enum (CASSANDRA-2482)
 * add a server-wide cap on measured memtable memory usage and aggressively
   flush to keep under that threshold (CASSANDRA-2006)
 * add unified UUIDType (CASSANDRA-2233)
 * add off-heap row cache support (CASSANDRA-1969)


0.7.5
 * improvements/fixes to PIG driver (CASSANDRA-1618, CASSANDRA-2387,
   CASSANDRA-2465, CASSANDRA-2484)
 * validate index names (CASSANDRA-1761)
 * reduce contention on Table.flusherLock (CASSANDRA-1954)
 * try harder to detect failures during streaming, cleaning up temporary
   files more reliably (CASSANDRA-2088)
 * shut down server for OOM on a Thrift thread (CASSANDRA-2269)
 * fix tombstone handling in repair and sstable2json (CASSANDRA-2279)
 * preserve version when streaming data from old sstables (CASSANDRA-2283)
 * don't start repair if a neighboring node is marked as dead (CASSANDRA-2290)
 * purge tombstones from row cache (CASSANDRA-2305)
 * Avoid seeking when sstable2json exports the entire file (CASSANDRA-2318)
 * clear Built flag in system table when dropping an index (CASSANDRA-2320)
 * don't allow arbitrary argument for stress.java (CASSANDRA-2323)
 * validate values for index predicates in get_indexed_slice (CASSANDRA-2328)
 * queue secondary indexes for flush before the parent (CASSANDRA-2330)
 * allow job configuration to set the CL used in Hadoop jobs (CASSANDRA-2331)
 * add memtable_flush_queue_size defaulting to 4 (CASSANDRA-2333)
 * Allow overriding of initial_token, storage_port and rpc_port from system
   properties (CASSANDRA-2343)
 * fix comparator used for non-indexed secondary expressions in index scan
   (CASSANDRA-2347)
 * ensure size calculation and write phase of large-row compaction use
   the same threshold for TTL expiration (CASSANDRA-2349)
 * fix race when iterating CFs during add/drop (CASSANDRA-2350)
 * add ConsistencyLevel command to CLI (CASSANDRA-2354)
 * allow negative numbers in the cli (CASSANDRA-2358)
 * hard code serialVersionUID for tokens class (CASSANDRA-2361)
 * fix potential infinite loop in ByteBufferUtil.inputStream (CASSANDRA-2365)
 * fix encoding bugs in HintedHandoffManager, SystemTable when default
   charset is not UTF8 (CASSANDRA-2367)
 * avoids having removed node reappearing in Gossip (CASSANDRA-2371)
 * fix incorrect truncation of long to int when reading columns via block
   index (CASSANDRA-2376)
 * fix NPE during stream session (CASSANDRA-2377)
 * fix race condition that could leave orphaned data files when dropping CF or
   KS (CASSANDRA-2381)
 * fsync statistics component on write (CASSANDRA-2382)
 * fix duplicate results from CFS.scan (CASSANDRA-2406)
 * add IntegerType to CLI help (CASSANDRA-2414)
 * avoid caching token-only decoratedkeys (CASSANDRA-2416)
 * convert mmap assertion to if/throw so scrub can catch it (CASSANDRA-2417)
 * don't overwrite gc log (CASSANDR-2418)
 * invalidate row cache for streamed row to avoid inconsitencies
   (CASSANDRA-2420)
 * avoid copies in range/index scans (CASSANDRA-2425)
 * make sure we don't wipe data during cleanup if the node has not join
   the ring (CASSANDRA-2428)
 * Try harder to close files after compaction (CASSANDRA-2431)
 * re-set bootstrapped flag after move finishes (CASSANDRA-2435)
 * display validation_class in CLI 'describe keyspace' (CASSANDRA-2442)
 * make cleanup compactions cleanup the row cache (CASSANDRA-2451)
 * add column fields validation to scrub (CASSANDRA-2460)
 * use 64KB flush buffer instead of in_memory_compaction_limit (CASSANDRA-2463)
 * fix backslash substitutions in CLI (CASSANDRA-2492)
 * disable cache saving for system CFS (CASSANDRA-2502)
 * fixes for verifying destination availability under hinted conditions
   so UE can be thrown intead of timing out (CASSANDRA-2514)
 * fix update of validation class in column metadata (CASSANDRA-2512)
 * support LOCAL_QUORUM, EACH_QUORUM CLs outside of NTS (CASSANDRA-2516)
 * preserve version when streaming data from old sstables (CASSANDRA-2283)
 * fix backslash substitutions in CLI (CASSANDRA-2492)
 * count a row deletion as one operation towards memtable threshold
   (CASSANDRA-2519)
 * support LOCAL_QUORUM, EACH_QUORUM CLs outside of NTS (CASSANDRA-2516)


0.7.4
 * add nodetool join command (CASSANDRA-2160)
 * fix secondary indexes on pre-existing or streamed data (CASSANDRA-2244)
 * initialize endpoint in gossiper earlier (CASSANDRA-2228)
 * add ability to write to Cassandra from Pig (CASSANDRA-1828)
 * add rpc_[min|max]_threads (CASSANDRA-2176)
 * add CL.TWO, CL.THREE (CASSANDRA-2013)
 * avoid exporting an un-requested row in sstable2json, when exporting
   a key that does not exist (CASSANDRA-2168)
 * add incremental_backups option (CASSANDRA-1872)
 * add configurable row limit to Pig loadfunc (CASSANDRA-2276)
 * validate column values in batches as well as single-Column inserts
   (CASSANDRA-2259)
 * move sample schema from cassandra.yaml to schema-sample.txt,
   a cli scripts (CASSANDRA-2007)
 * avoid writing empty rows when scrubbing tombstoned rows (CASSANDRA-2296)
 * fix assertion error in range and index scans for CL < ALL
   (CASSANDRA-2282)
 * fix commitlog replay when flush position refers to data that didn't
   get synced before server died (CASSANDRA-2285)
 * fix fd leak in sstable2json with non-mmap'd i/o (CASSANDRA-2304)
 * reduce memory use during streaming of multiple sstables (CASSANDRA-2301)
 * purge tombstoned rows from cache after GCGraceSeconds (CASSANDRA-2305)
 * allow zero replicas in a NTS datacenter (CASSANDRA-1924)
 * make range queries respect snitch for local replicas (CASSANDRA-2286)
 * fix HH delivery when column index is larger than 2GB (CASSANDRA-2297)
 * make 2ary indexes use parent CF flush thresholds during initial build
   (CASSANDRA-2294)
 * update memtable_throughput to be a long (CASSANDRA-2158)


0.7.3
 * Keep endpoint state until aVeryLongTime (CASSANDRA-2115)
 * lower-latency read repair (CASSANDRA-2069)
 * add hinted_handoff_throttle_delay_in_ms option (CASSANDRA-2161)
 * fixes for cache save/load (CASSANDRA-2172, -2174)
 * Handle whole-row deletions in CFOutputFormat (CASSANDRA-2014)
 * Make memtable_flush_writers flush in parallel (CASSANDRA-2178)
 * Add compaction_preheat_key_cache option (CASSANDRA-2175)
 * refactor stress.py to have only one copy of the format string
   used for creating row keys (CASSANDRA-2108)
 * validate index names for \w+ (CASSANDRA-2196)
 * Fix Cassandra cli to respect timeout if schema does not settle
   (CASSANDRA-2187)
 * fix for compaction and cleanup writing old-format data into new-version
   sstable (CASSANDRA-2211, -2216)
 * add nodetool scrub (CASSANDRA-2217, -2240)
 * fix sstable2json large-row pagination (CASSANDRA-2188)
 * fix EOFing on requests for the last bytes in a file (CASSANDRA-2213)
 * fix BufferedRandomAccessFile bugs (CASSANDRA-2218, -2241)
 * check for memtable flush_after_mins exceeded every 10s (CASSANDRA-2183)
 * fix cache saving on Windows (CASSANDRA-2207)
 * add validateSchemaAgreement call + synchronization to schema
   modification operations (CASSANDRA-2222)
 * fix for reversed slice queries on large rows (CASSANDRA-2212)
 * fat clients were writing local data (CASSANDRA-2223)
 * set DEFAULT_MEMTABLE_LIFETIME_IN_MINS to 24h
 * improve detection and cleanup of partially-written sstables
   (CASSANDRA-2206)
 * fix supercolumn de/serialization when subcolumn comparator is different
   from supercolumn's (CASSANDRA-2104)
 * fix starting up on Windows when CASSANDRA_HOME contains whitespace
   (CASSANDRA-2237)
 * add [get|set][row|key]cacheSavePeriod to JMX (CASSANDRA-2100)
 * fix Hadoop ColumnFamilyOutputFormat dropping of mutations
   when batch fills up (CASSANDRA-2255)
 * move file deletions off of scheduledtasks executor (CASSANDRA-2253)


0.7.2
 * copy DecoratedKey.key when inserting into caches to avoid retaining
   a reference to the underlying buffer (CASSANDRA-2102)
 * format subcolumn names with subcomparator (CASSANDRA-2136)
 * fix column bloom filter deserialization (CASSANDRA-2165)


0.7.1
 * refactor MessageDigest creation code. (CASSANDRA-2107)
 * buffer network stack to avoid inefficient small TCP messages while avoiding
   the nagle/delayed ack problem (CASSANDRA-1896)
 * check log4j configuration for changes every 10s (CASSANDRA-1525, 1907)
 * more-efficient cross-DC replication (CASSANDRA-1530, -2051, -2138)
 * avoid polluting page cache with commitlog or sstable writes
   and seq scan operations (CASSANDRA-1470)
 * add RMI authentication options to nodetool (CASSANDRA-1921)
 * make snitches configurable at runtime (CASSANDRA-1374)
 * retry hadoop split requests on connection failure (CASSANDRA-1927)
 * implement describeOwnership for BOP, COPP (CASSANDRA-1928)
 * make read repair behave as expected for ConsistencyLevel > ONE
   (CASSANDRA-982, 2038)
 * distributed test harness (CASSANDRA-1859, 1964)
 * reduce flush lock contention (CASSANDRA-1930)
 * optimize supercolumn deserialization (CASSANDRA-1891)
 * fix CFMetaData.apply to only compare objects of the same class
   (CASSANDRA-1962)
 * allow specifying specific SSTables to compact from JMX (CASSANDRA-1963)
 * fix race condition in MessagingService.targets (CASSANDRA-1959, 2094, 2081)
 * refuse to open sstables from a future version (CASSANDRA-1935)
 * zero-copy reads (CASSANDRA-1714)
 * fix copy bounds for word Text in wordcount demo (CASSANDRA-1993)
 * fixes for contrib/javautils (CASSANDRA-1979)
 * check more frequently for memtable expiration (CASSANDRA-2000)
 * fix writing SSTable column count statistics (CASSANDRA-1976)
 * fix streaming of multiple CFs during bootstrap (CASSANDRA-1992)
 * explicitly set JVM GC new generation size with -Xmn (CASSANDRA-1968)
 * add short options for CLI flags (CASSANDRA-1565)
 * make keyspace argument to "describe keyspace" in CLI optional
   when authenticated to keyspace already (CASSANDRA-2029)
 * added option to specify -Dcassandra.join_ring=false on startup
   to allow "warm spare" nodes or performing JMX maintenance before
   joining the ring (CASSANDRA-526)
 * log migrations at INFO (CASSANDRA-2028)
 * add CLI verbose option in file mode (CASSANDRA-2030)
 * add single-line "--" comments to CLI (CASSANDRA-2032)
 * message serialization tests (CASSANDRA-1923)
 * switch from ivy to maven-ant-tasks (CASSANDRA-2017)
 * CLI attempts to block for new schema to propagate (CASSANDRA-2044)
 * fix potential overflow in nodetool cfstats (CASSANDRA-2057)
 * add JVM shutdownhook to sync commitlog (CASSANDRA-1919)
 * allow nodes to be up without being part of  normal traffic (CASSANDRA-1951)
 * fix CLI "show keyspaces" with null options on NTS (CASSANDRA-2049)
 * fix possible ByteBuffer race conditions (CASSANDRA-2066)
 * reduce garbage generated by MessagingService to prevent load spikes
   (CASSANDRA-2058)
 * fix math in RandomPartitioner.describeOwnership (CASSANDRA-2071)
 * fix deletion of sstable non-data components (CASSANDRA-2059)
 * avoid blocking gossip while deleting handoff hints (CASSANDRA-2073)
 * ignore messages from newer versions, keep track of nodes in gossip
   regardless of version (CASSANDRA-1970)
 * cache writing moved to CompactionManager to reduce i/o contention and
   updated to use non-cache-polluting writes (CASSANDRA-2053)
 * page through large rows when exporting to JSON (CASSANDRA-2041)
 * add flush_largest_memtables_at and reduce_cache_sizes_at options
   (CASSANDRA-2142)
 * add cli 'describe cluster' command (CASSANDRA-2127)
 * add cli support for setting username/password at 'connect' command
   (CASSANDRA-2111)
 * add -D option to Stress.java to allow reading hosts from a file
   (CASSANDRA-2149)
 * bound hints CF throughput between 32M and 256M (CASSANDRA-2148)
 * continue starting when invalid saved cache entries are encountered
   (CASSANDRA-2076)
 * add max_hint_window_in_ms option (CASSANDRA-1459)


0.7.0-final
 * fix offsets to ByteBuffer.get (CASSANDRA-1939)


0.7.0-rc4
 * fix cli crash after backgrounding (CASSANDRA-1875)
 * count timeouts in storageproxy latencies, and include latency
   histograms in StorageProxyMBean (CASSANDRA-1893)
 * fix CLI get recognition of supercolumns (CASSANDRA-1899)
 * enable keepalive on intra-cluster sockets (CASSANDRA-1766)
 * count timeouts towards dynamicsnitch latencies (CASSANDRA-1905)
 * Expose index-building status in JMX + cli schema description
   (CASSANDRA-1871)
 * allow [LOCAL|EACH]_QUORUM to be used with non-NetworkTopology
   replication Strategies
 * increased amount of index locks for faster commitlog replay
 * collect secondary index tombstones immediately (CASSANDRA-1914)
 * revert commitlog changes from #1780 (CASSANDRA-1917)
 * change RandomPartitioner min token to -1 to avoid collision w/
   tokens on actual nodes (CASSANDRA-1901)
 * examine the right nibble when validating TimeUUID (CASSANDRA-1910)
 * include secondary indexes in cleanup (CASSANDRA-1916)
 * CFS.scrubDataDirectories should also cleanup invalid secondary indexes
   (CASSANDRA-1904)
 * ability to disable/enable gossip on nodes to force them down
   (CASSANDRA-1108)


0.7.0-rc3
 * expose getNaturalEndpoints in StorageServiceMBean taking byte[]
   key; RMI cannot serialize ByteBuffer (CASSANDRA-1833)
 * infer org.apache.cassandra.locator for replication strategy classes
   when not otherwise specified
 * validation that generates less garbage (CASSANDRA-1814)
 * add TTL support to CLI (CASSANDRA-1838)
 * cli defaults to bytestype for subcomparator when creating
   column families (CASSANDRA-1835)
 * unregister index MBeans when index is dropped (CASSANDRA-1843)
 * make ByteBufferUtil.clone thread-safe (CASSANDRA-1847)
 * change exception for read requests during bootstrap from
   InvalidRequest to Unavailable (CASSANDRA-1862)
 * respect row-level tombstones post-flush in range scans
   (CASSANDRA-1837)
 * ReadResponseResolver check digests against each other (CASSANDRA-1830)
 * return InvalidRequest when remove of subcolumn without supercolumn
   is requested (CASSANDRA-1866)
 * flush before repair (CASSANDRA-1748)
 * SSTableExport validates key order (CASSANDRA-1884)
 * large row support for SSTableExport (CASSANDRA-1867)
 * Re-cache hot keys post-compaction without hitting disk (CASSANDRA-1878)
 * manage read repair in coordinator instead of data source, to
   provide latency information to dynamic snitch (CASSANDRA-1873)


0.7.0-rc2
 * fix live-column-count of slice ranges including tombstoned supercolumn
   with live subcolumn (CASSANDRA-1591)
 * rename o.a.c.internal.AntientropyStage -> AntiEntropyStage,
   o.a.c.request.Request_responseStage -> RequestResponseStage,
   o.a.c.internal.Internal_responseStage -> InternalResponseStage
 * add AbstractType.fromString (CASSANDRA-1767)
 * require index_type to be present when specifying index_name
   on ColumnDef (CASSANDRA-1759)
 * fix add/remove index bugs in CFMetadata (CASSANDRA-1768)
 * rebuild Strategy during system_update_keyspace (CASSANDRA-1762)
 * cli updates prompt to ... in continuation lines (CASSANDRA-1770)
 * support multiple Mutations per key in hadoop ColumnFamilyOutputFormat
   (CASSANDRA-1774)
 * improvements to Debian init script (CASSANDRA-1772)
 * use local classloader to check for version.properties (CASSANDRA-1778)
 * Validate that column names in column_metadata are valid for the
   defined comparator, and decode properly in cli (CASSANDRA-1773)
 * use cross-platform newlines in cli (CASSANDRA-1786)
 * add ExpiringColumn support to sstable import/export (CASSANDRA-1754)
 * add flush for each append to periodic commitlog mode; added
   periodic_without_flush option to disable this (CASSANDRA-1780)
 * close file handle used for post-flush truncate (CASSANDRA-1790)
 * various code cleanup (CASSANDRA-1793, -1794, -1795)
 * fix range queries against wrapped range (CASSANDRA-1781)
 * fix consistencylevel calculations for NetworkTopologyStrategy
   (CASSANDRA-1804)
 * cli support index type enum names (CASSANDRA-1810)
 * improved validation of column_metadata (CASSANDRA-1813)
 * reads at ConsistencyLevel > 1 throw UnavailableException
   immediately if insufficient live nodes exist (CASSANDRA-1803)
 * copy bytebuffers for local writes to avoid retaining the entire
   Thrift frame (CASSANDRA-1801)
 * fix NPE adding index to column w/o prior metadata (CASSANDRA-1764)
 * reduce fat client timeout (CASSANDRA-1730)
 * fix botched merge of CASSANDRA-1316


0.7.0-rc1
 * fix compaction and flush races with schema updates (CASSANDRA-1715)
 * add clustertool, config-converter, sstablekeys, and schematool
   Windows .bat files (CASSANDRA-1723)
 * reject range queries received during bootstrap (CASSANDRA-1739)
 * fix wrapping-range queries on non-minimum token (CASSANDRA-1700)
 * add nodetool cfhistogram (CASSANDRA-1698)
 * limit repaired ranges to what the nodes have in common (CASSANDRA-1674)
 * index scan treats missing columns as not matching secondary
   expressions (CASSANDRA-1745)
 * Fix misuse of DataOutputBuffer.getData in AntiEntropyService
   (CASSANDRA-1729)
 * detect and warn when obsolete version of JNA is present (CASSANDRA-1760)
 * reduce fat client timeout (CASSANDRA-1730)
 * cleanup smallest CFs first to increase free temp space for larger ones
   (CASSANDRA-1811)
 * Update windows .bat files to work outside of main Cassandra
   directory (CASSANDRA-1713)
 * fix read repair regression from 0.6.7 (CASSANDRA-1727)
 * more-efficient read repair (CASSANDRA-1719)
 * fix hinted handoff replay (CASSANDRA-1656)
 * log type of dropped messages (CASSANDRA-1677)
 * upgrade to SLF4J 1.6.1
 * fix ByteBuffer bug in ExpiringColumn.updateDigest (CASSANDRA-1679)
 * fix IntegerType.getString (CASSANDRA-1681)
 * make -Djava.net.preferIPv4Stack=true the default (CASSANDRA-628)
 * add INTERNAL_RESPONSE verb to differentiate from responses related
   to client requests (CASSANDRA-1685)
 * log tpstats when dropping messages (CASSANDRA-1660)
 * include unreachable nodes in describeSchemaVersions (CASSANDRA-1678)
 * Avoid dropping messages off the client request path (CASSANDRA-1676)
 * fix jna errno reporting (CASSANDRA-1694)
 * add friendlier error for UnknownHostException on startup (CASSANDRA-1697)
 * include jna dependency in RPM package (CASSANDRA-1690)
 * add --skip-keys option to stress.py (CASSANDRA-1696)
 * improve cli handling of non-string keys and column names
   (CASSANDRA-1701, -1693)
 * r/m extra subcomparator line in cli keyspaces output (CASSANDRA-1712)
 * add read repair chance to cli "show keyspaces"
 * upgrade to ConcurrentLinkedHashMap 1.1 (CASSANDRA-975)
 * fix index scan routing (CASSANDRA-1722)
 * fix tombstoning of supercolumns in range queries (CASSANDRA-1734)
 * clear endpoint cache after updating keyspace metadata (CASSANDRA-1741)
 * fix wrapping-range queries on non-minimum token (CASSANDRA-1700)
 * truncate includes secondary indexes (CASSANDRA-1747)
 * retain reference to PendingFile sstables (CASSANDRA-1749)
 * fix sstableimport regression (CASSANDRA-1753)
 * fix for bootstrap when no non-system tables are defined (CASSANDRA-1732)
 * handle replica unavailability in index scan (CASSANDRA-1755)
 * fix service initialization order deadlock (CASSANDRA-1756)
 * multi-line cli commands (CASSANDRA-1742)
 * fix race between snapshot and compaction (CASSANDRA-1736)
 * add listEndpointsPendingHints, deleteHintsForEndpoint JMX methods
   (CASSANDRA-1551)


0.7.0-beta3
 * add strategy options to describe_keyspace output (CASSANDRA-1560)
 * log warning when using randomly generated token (CASSANDRA-1552)
 * re-organize JMX into .db, .net, .internal, .request (CASSANDRA-1217)
 * allow nodes to change IPs between restarts (CASSANDRA-1518)
 * remember ring state between restarts by default (CASSANDRA-1518)
 * flush index built flag so we can read it before log replay (CASSANDRA-1541)
 * lock row cache updates to prevent race condition (CASSANDRA-1293)
 * remove assertion causing rare (and harmless) error messages in
   commitlog (CASSANDRA-1330)
 * fix moving nodes with no keyspaces defined (CASSANDRA-1574)
 * fix unbootstrap when no data is present in a transfer range (CASSANDRA-1573)
 * take advantage of AVRO-495 to simplify our avro IDL (CASSANDRA-1436)
 * extend authorization hierarchy to column family (CASSANDRA-1554)
 * deletion support in secondary indexes (CASSANDRA-1571)
 * meaningful error message for invalid replication strategy class
   (CASSANDRA-1566)
 * allow keyspace creation with RF > N (CASSANDRA-1428)
 * improve cli error handling (CASSANDRA-1580)
 * add cache save/load ability (CASSANDRA-1417, 1606, 1647)
 * add StorageService.getDrainProgress (CASSANDRA-1588)
 * Disallow bootstrap to an in-use token (CASSANDRA-1561)
 * Allow dynamic secondary index creation and destruction (CASSANDRA-1532)
 * log auto-guessed memtable thresholds (CASSANDRA-1595)
 * add ColumnDef support to cli (CASSANDRA-1583)
 * reduce index sample time by 75% (CASSANDRA-1572)
 * add cli support for column, strategy metadata (CASSANDRA-1578, 1612)
 * add cli support for schema modification (CASSANDRA-1584)
 * delete temp files on failed compactions (CASSANDRA-1596)
 * avoid blocking for dead nodes during removetoken (CASSANDRA-1605)
 * remove ConsistencyLevel.ZERO (CASSANDRA-1607)
 * expose in-progress compaction type in jmx (CASSANDRA-1586)
 * removed IClock & related classes from internals (CASSANDRA-1502)
 * fix removing tokens from SystemTable on decommission and removetoken
   (CASSANDRA-1609)
 * include CF metadata in cli 'show keyspaces' (CASSANDRA-1613)
 * switch from Properties to HashMap in PropertyFileSnitch to
   avoid synchronization bottleneck (CASSANDRA-1481)
 * PropertyFileSnitch configuration file renamed to
   cassandra-topology.properties
 * add cli support for get_range_slices (CASSANDRA-1088, CASSANDRA-1619)
 * Make memtable flush thresholds per-CF instead of global
   (CASSANDRA-1007, 1637)
 * add cli support for binary data without CfDef hints (CASSANDRA-1603)
 * fix building SSTable statistics post-stream (CASSANDRA-1620)
 * fix potential infinite loop in 2ary index queries (CASSANDRA-1623)
 * allow creating NTS keyspaces with no replicas configured (CASSANDRA-1626)
 * add jmx histogram of sstables accessed per read (CASSANDRA-1624)
 * remove system_rename_column_family and system_rename_keyspace from the
   client API until races can be fixed (CASSANDRA-1630, CASSANDRA-1585)
 * add cli sanity tests (CASSANDRA-1582)
 * update GC settings in cassandra.bat (CASSANDRA-1636)
 * cli support for index queries (CASSANDRA-1635)
 * cli support for updating schema memtable settings (CASSANDRA-1634)
 * cli --file option (CASSANDRA-1616)
 * reduce automatically chosen memtable sizes by 50% (CASSANDRA-1641)
 * move endpoint cache from snitch to strategy (CASSANDRA-1643)
 * fix commitlog recovery deleting the newly-created segment as well as
   the old ones (CASSANDRA-1644)
 * upgrade to Thrift 0.5 (CASSANDRA-1367)
 * renamed CL.DCQUORUM to LOCAL_QUORUM and DCQUORUMSYNC to EACH_QUORUM
 * cli truncate support (CASSANDRA-1653)
 * update GC settings in cassandra.bat (CASSANDRA-1636)
 * avoid logging when a node's ip/token is gossipped back to it (CASSANDRA-1666)


0.7-beta2
 * always use UTF-8 for hint keys (CASSANDRA-1439)
 * remove cassandra.yaml dependency from Hadoop and Pig (CASSADRA-1322)
 * expose CfDef metadata in describe_keyspaces (CASSANDRA-1363)
 * restore use of mmap_index_only option (CASSANDRA-1241)
 * dropping a keyspace with no column families generated an error
   (CASSANDRA-1378)
 * rename RackAwareStrategy to OldNetworkTopologyStrategy, RackUnawareStrategy
   to SimpleStrategy, DatacenterShardStrategy to NetworkTopologyStrategy,
   AbstractRackAwareSnitch to AbstractNetworkTopologySnitch (CASSANDRA-1392)
 * merge StorageProxy.mutate, mutateBlocking (CASSANDRA-1396)
 * faster UUIDType, LongType comparisons (CASSANDRA-1386, 1393)
 * fix setting read_repair_chance from CLI addColumnFamily (CASSANDRA-1399)
 * fix updates to indexed columns (CASSANDRA-1373)
 * fix race condition leaving to FileNotFoundException (CASSANDRA-1382)
 * fix sharded lock hash on index write path (CASSANDRA-1402)
 * add support for GT/E, LT/E in subordinate index clauses (CASSANDRA-1401)
 * cfId counter got out of sync when CFs were added (CASSANDRA-1403)
 * less chatty schema updates (CASSANDRA-1389)
 * rename column family mbeans. 'type' will now include either
   'IndexColumnFamilies' or 'ColumnFamilies' depending on the CFS type.
   (CASSANDRA-1385)
 * disallow invalid keyspace and column family names. This includes name that
   matches a '^\w+' regex. (CASSANDRA-1377)
 * use JNA, if present, to take snapshots (CASSANDRA-1371)
 * truncate hints if starting 0.7 for the first time (CASSANDRA-1414)
 * fix FD leak in single-row slicepredicate queries (CASSANDRA-1416)
 * allow index expressions against columns that are not part of the
   SlicePredicate (CASSANDRA-1410)
 * config-converter properly handles snitches and framed support
   (CASSANDRA-1420)
 * remove keyspace argument from multiget_count (CASSANDRA-1422)
 * allow specifying cassandra.yaml location as (local or remote) URL
   (CASSANDRA-1126)
 * fix using DynamicEndpointSnitch with NetworkTopologyStrategy
   (CASSANDRA-1429)
 * Add CfDef.default_validation_class (CASSANDRA-891)
 * fix EstimatedHistogram.max (CASSANDRA-1413)
 * quorum read optimization (CASSANDRA-1622)
 * handle zero-length (or missing) rows during HH paging (CASSANDRA-1432)
 * include secondary indexes during schema migrations (CASSANDRA-1406)
 * fix commitlog header race during schema change (CASSANDRA-1435)
 * fix ColumnFamilyStoreMBeanIterator to use new type name (CASSANDRA-1433)
 * correct filename generated by xml->yaml converter (CASSANDRA-1419)
 * add CMSInitiatingOccupancyFraction=75 and UseCMSInitiatingOccupancyOnly
   to default JVM options
 * decrease jvm heap for cassandra-cli (CASSANDRA-1446)
 * ability to modify keyspaces and column family definitions on a live cluster
   (CASSANDRA-1285)
 * support for Hadoop Streaming [non-jvm map/reduce via stdin/out]
   (CASSANDRA-1368)
 * Move persistent sstable stats from the system table to an sstable component
   (CASSANDRA-1430)
 * remove failed bootstrap attempt from pending ranges when gossip times
   it out after 1h (CASSANDRA-1463)
 * eager-create tcp connections to other cluster members (CASSANDRA-1465)
 * enumerate stages and derive stage from message type instead of
   transmitting separately (CASSANDRA-1465)
 * apply reversed flag during collation from different data sources
   (CASSANDRA-1450)
 * make failure to remove commitlog segment non-fatal (CASSANDRA-1348)
 * correct ordering of drain operations so CL.recover is no longer
   necessary (CASSANDRA-1408)
 * removed keyspace from describe_splits method (CASSANDRA-1425)
 * rename check_schema_agreement to describe_schema_versions
   (CASSANDRA-1478)
 * fix QUORUM calculation for RF > 3 (CASSANDRA-1487)
 * remove tombstones during non-major compactions when bloom filter
   verifies that row does not exist in other sstables (CASSANDRA-1074)
 * nodes that coordinated a loadbalance in the past could not be seen by
   newly added nodes (CASSANDRA-1467)
 * exposed endpoint states (gossip details) via jmx (CASSANDRA-1467)
 * ensure that compacted sstables are not included when new readers are
   instantiated (CASSANDRA-1477)
 * by default, calculate heap size and memtable thresholds at runtime (CASSANDRA-1469)
 * fix races dealing with adding/dropping keyspaces and column families in
   rapid succession (CASSANDRA-1477)
 * clean up of Streaming system (CASSANDRA-1503, 1504, 1506)
 * add options to configure Thrift socket keepalive and buffer sizes (CASSANDRA-1426)
 * make contrib CassandraServiceDataCleaner recursive (CASSANDRA-1509)
 * min, max compaction threshold are configurable and persistent
   per-ColumnFamily (CASSANDRA-1468)
 * fix replaying the last mutation in a commitlog unnecessarily
   (CASSANDRA-1512)
 * invoke getDefaultUncaughtExceptionHandler from DTPE with the original
   exception rather than the ExecutionException wrapper (CASSANDRA-1226)
 * remove Clock from the Thrift (and Avro) API (CASSANDRA-1501)
 * Close intra-node sockets when connection is broken (CASSANDRA-1528)
 * RPM packaging spec file (CASSANDRA-786)
 * weighted request scheduler (CASSANDRA-1485)
 * treat expired columns as deleted (CASSANDRA-1539)
 * make IndexInterval configurable (CASSANDRA-1488)
 * add describe_snitch to Thrift API (CASSANDRA-1490)
 * MD5 authenticator compares plain text submitted password with MD5'd
   saved property, instead of vice versa (CASSANDRA-1447)
 * JMX MessagingService pending and completed counts (CASSANDRA-1533)
 * fix race condition processing repair responses (CASSANDRA-1511)
 * make repair blocking (CASSANDRA-1511)
 * create EndpointSnitchInfo and MBean to expose rack and DC (CASSANDRA-1491)
 * added option to contrib/word_count to output results back to Cassandra
   (CASSANDRA-1342)
 * rewrite Hadoop ColumnFamilyRecordWriter to pool connections, retry to
   multiple Cassandra nodes, and smooth impact on the Cassandra cluster
   by using smaller batch sizes (CASSANDRA-1434)
 * fix setting gc_grace_seconds via CLI (CASSANDRA-1549)
 * support TTL'd index values (CASSANDRA-1536)
 * make removetoken work like decommission (CASSANDRA-1216)
 * make cli comparator-aware and improve quote rules (CASSANDRA-1523,-1524)
 * make nodetool compact and cleanup blocking (CASSANDRA-1449)
 * add memtable, cache information to GCInspector logs (CASSANDRA-1558)
 * enable/disable HintedHandoff via JMX (CASSANDRA-1550)
 * Ignore stray files in the commit log directory (CASSANDRA-1547)
 * Disallow bootstrap to an in-use token (CASSANDRA-1561)


0.7-beta1
 * sstable versioning (CASSANDRA-389)
 * switched to slf4j logging (CASSANDRA-625)
 * add (optional) expiration time for column (CASSANDRA-699)
 * access levels for authentication/authorization (CASSANDRA-900)
 * add ReadRepairChance to CF definition (CASSANDRA-930)
 * fix heisenbug in system tests, especially common on OS X (CASSANDRA-944)
 * convert to byte[] keys internally and all public APIs (CASSANDRA-767)
 * ability to alter schema definitions on a live cluster (CASSANDRA-44)
 * renamed configuration file to cassandra.xml, and log4j.properties to
   log4j-server.properties, which must now be loaded from
   the classpath (which is how our scripts in bin/ have always done it)
   (CASSANDRA-971)
 * change get_count to require a SlicePredicate. create multi_get_count
   (CASSANDRA-744)
 * re-organized endpointsnitch implementations and added SimpleSnitch
   (CASSANDRA-994)
 * Added preload_row_cache option (CASSANDRA-946)
 * add CRC to commitlog header (CASSANDRA-999)
 * removed deprecated batch_insert and get_range_slice methods (CASSANDRA-1065)
 * add truncate thrift method (CASSANDRA-531)
 * http mini-interface using mx4j (CASSANDRA-1068)
 * optimize away copy of sliced row on memtable read path (CASSANDRA-1046)
 * replace constant-size 2GB mmaped segments and special casing for index
   entries spanning segment boundaries, with SegmentedFile that computes
   segments that always contain entire entries/rows (CASSANDRA-1117)
 * avoid reading large rows into memory during compaction (CASSANDRA-16)
 * added hadoop OutputFormat (CASSANDRA-1101)
 * efficient Streaming (no more anticompaction) (CASSANDRA-579)
 * split commitlog header into separate file and add size checksum to
   mutations (CASSANDRA-1179)
 * avoid allocating a new byte[] for each mutation on replay (CASSANDRA-1219)
 * revise HH schema to be per-endpoint (CASSANDRA-1142)
 * add joining/leaving status to nodetool ring (CASSANDRA-1115)
 * allow multiple repair sessions per node (CASSANDRA-1190)
 * optimize away MessagingService for local range queries (CASSANDRA-1261)
 * make framed transport the default so malformed requests can't OOM the
   server (CASSANDRA-475)
 * significantly faster reads from row cache (CASSANDRA-1267)
 * take advantage of row cache during range queries (CASSANDRA-1302)
 * make GCGraceSeconds a per-ColumnFamily value (CASSANDRA-1276)
 * keep persistent row size and column count statistics (CASSANDRA-1155)
 * add IntegerType (CASSANDRA-1282)
 * page within a single row during hinted handoff (CASSANDRA-1327)
 * push DatacenterShardStrategy configuration into keyspace definition,
   eliminating datacenter.properties. (CASSANDRA-1066)
 * optimize forward slices starting with '' and single-index-block name
   queries by skipping the column index (CASSANDRA-1338)
 * streaming refactor (CASSANDRA-1189)
 * faster comparison for UUID types (CASSANDRA-1043)
 * secondary index support (CASSANDRA-749 and subtasks)
 * make compaction buckets deterministic (CASSANDRA-1265)


0.6.6
 * Allow using DynamicEndpointSnitch with RackAwareStrategy (CASSANDRA-1429)
 * remove the remaining vestiges of the unfinished DatacenterShardStrategy
   (replaced by NetworkTopologyStrategy in 0.7)


0.6.5
 * fix key ordering in range query results with RandomPartitioner
   and ConsistencyLevel > ONE (CASSANDRA-1145)
 * fix for range query starting with the wrong token range (CASSANDRA-1042)
 * page within a single row during hinted handoff (CASSANDRA-1327)
 * fix compilation on non-sun JDKs (CASSANDRA-1061)
 * remove String.trim() call on row keys in batch mutations (CASSANDRA-1235)
 * Log summary of dropped messages instead of spamming log (CASSANDRA-1284)
 * add dynamic endpoint snitch (CASSANDRA-981)
 * fix streaming for keyspaces with hyphens in their name (CASSANDRA-1377)
 * fix errors in hard-coded bloom filter optKPerBucket by computing it
   algorithmically (CASSANDRA-1220
 * remove message deserialization stage, and uncap read/write stages
   so slow reads/writes don't block gossip processing (CASSANDRA-1358)
 * add jmx port configuration to Debian package (CASSANDRA-1202)
 * use mlockall via JNA, if present, to prevent Linux from swapping
   out parts of the JVM (CASSANDRA-1214)


0.6.4
 * avoid queuing multiple hint deliveries for the same endpoint
   (CASSANDRA-1229)
 * better performance for and stricter checking of UTF8 column names
   (CASSANDRA-1232)
 * extend option to lower compaction priority to hinted handoff
   as well (CASSANDRA-1260)
 * log errors in gossip instead of re-throwing (CASSANDRA-1289)
 * avoid aborting commitlog replay prematurely if a flushed-but-
   not-removed commitlog segment is encountered (CASSANDRA-1297)
 * fix duplicate rows being read during mapreduce (CASSANDRA-1142)
 * failure detection wasn't closing command sockets (CASSANDRA-1221)
 * cassandra-cli.bat works on windows (CASSANDRA-1236)
 * pre-emptively drop requests that cannot be processed within RPCTimeout
   (CASSANDRA-685)
 * add ack to Binary write verb and update CassandraBulkLoader
   to wait for acks for each row (CASSANDRA-1093)
 * added describe_partitioner Thrift method (CASSANDRA-1047)
 * Hadoop jobs no longer require the Cassandra storage-conf.xml
   (CASSANDRA-1280, CASSANDRA-1047)
 * log thread pool stats when GC is excessive (CASSANDRA-1275)
 * remove gossip message size limit (CASSANDRA-1138)
 * parallelize local and remote reads during multiget, and respect snitch
   when determining whether to do local read for CL.ONE (CASSANDRA-1317)
 * fix read repair to use requested consistency level on digest mismatch,
   rather than assuming QUORUM (CASSANDRA-1316)
 * process digest mismatch re-reads in parallel (CASSANDRA-1323)
 * switch hints CF comparator to BytesType (CASSANDRA-1274)


0.6.3
 * retry to make streaming connections up to 8 times. (CASSANDRA-1019)
 * reject describe_ring() calls on invalid keyspaces (CASSANDRA-1111)
 * fix cache size calculation for size of 100% (CASSANDRA-1129)
 * fix cache capacity only being recalculated once (CASSANDRA-1129)
 * remove hourly scan of all hints on the off chance that the gossiper
   missed a status change; instead, expose deliverHintsToEndpoint to JMX
   so it can be done manually, if necessary (CASSANDRA-1141)
 * don't reject reads at CL.ALL (CASSANDRA-1152)
 * reject deletions to supercolumns in CFs containing only standard
   columns (CASSANDRA-1139)
 * avoid preserving login information after client disconnects
   (CASSANDRA-1057)
 * prefer sun jdk to openjdk in debian init script (CASSANDRA-1174)
 * detect partioner config changes between restarts and fail fast
   (CASSANDRA-1146)
 * use generation time to resolve node token reassignment disagreements
   (CASSANDRA-1118)
 * restructure the startup ordering of Gossiper and MessageService to avoid
   timing anomalies (CASSANDRA-1160)
 * detect incomplete commit log hearders (CASSANDRA-1119)
 * force anti-entropy service to stream files on the stream stage to avoid
   sending streams out of order (CASSANDRA-1169)
 * remove inactive stream managers after AES streams files (CASSANDRA-1169)
 * allow removing entire row through batch_mutate Deletion (CASSANDRA-1027)
 * add JMX metrics for row-level bloom filter false positives (CASSANDRA-1212)
 * added a redhat init script to contrib (CASSANDRA-1201)
 * use midpoint when bootstrapping a new machine into range with not
   much data yet instead of random token (CASSANDRA-1112)
 * kill server on OOM in executor stage as well as Thrift (CASSANDRA-1226)
 * remove opportunistic repairs, when two machines with overlapping replica
   responsibilities happen to finish major compactions of the same CF near
   the same time.  repairs are now fully manual (CASSANDRA-1190)
 * add ability to lower compaction priority (default is no change from 0.6.2)
   (CASSANDRA-1181)


0.6.2
 * fix contrib/word_count build. (CASSANDRA-992)
 * split CommitLogExecutorService into BatchCommitLogExecutorService and
   PeriodicCommitLogExecutorService (CASSANDRA-1014)
 * add latency histograms to CFSMBean (CASSANDRA-1024)
 * make resolving timestamp ties deterministic by using value bytes
   as a tiebreaker (CASSANDRA-1039)
 * Add option to turn off Hinted Handoff (CASSANDRA-894)
 * fix windows startup (CASSANDRA-948)
 * make concurrent_reads, concurrent_writes configurable at runtime via JMX
   (CASSANDRA-1060)
 * disable GCInspector on non-Sun JVMs (CASSANDRA-1061)
 * fix tombstone handling in sstable rows with no other data (CASSANDRA-1063)
 * fix size of row in spanned index entries (CASSANDRA-1056)
 * install json2sstable, sstable2json, and sstablekeys to Debian package
 * StreamingService.StreamDestinations wouldn't empty itself after streaming
   finished (CASSANDRA-1076)
 * added Collections.shuffle(splits) before returning the splits in
   ColumnFamilyInputFormat (CASSANDRA-1096)
 * do not recalculate cache capacity post-compaction if it's been manually
   modified (CASSANDRA-1079)
 * better defaults for flush sorter + writer executor queue sizes
   (CASSANDRA-1100)
 * windows scripts for SSTableImport/Export (CASSANDRA-1051)
 * windows script for nodetool (CASSANDRA-1113)
 * expose PhiConvictThreshold (CASSANDRA-1053)
 * make repair of RF==1 a no-op (CASSANDRA-1090)
 * improve default JVM GC options (CASSANDRA-1014)
 * fix SlicePredicate serialization inside Hadoop jobs (CASSANDRA-1049)
 * close Thrift sockets in Hadoop ColumnFamilyRecordReader (CASSANDRA-1081)


0.6.1
 * fix NPE in sstable2json when no excluded keys are given (CASSANDRA-934)
 * keep the replica set constant throughout the read repair process
   (CASSANDRA-937)
 * allow querying getAllRanges with empty token list (CASSANDRA-933)
 * fix command line arguments inversion in clustertool (CASSANDRA-942)
 * fix race condition that could trigger a false-positive assertion
   during post-flush discard of old commitlog segments (CASSANDRA-936)
 * fix neighbor calculation for anti-entropy repair (CASSANDRA-924)
 * perform repair even for small entropy differences (CASSANDRA-924)
 * Use hostnames in CFInputFormat to allow Hadoop's naive string-based
   locality comparisons to work (CASSANDRA-955)
 * cache read-only BufferedRandomAccessFile length to avoid
   3 system calls per invocation (CASSANDRA-950)
 * nodes with IPv6 (and no IPv4) addresses could not join cluster
   (CASSANDRA-969)
 * Retrieve the correct number of undeleted columns, if any, from
   a supercolumn in a row that had been deleted previously (CASSANDRA-920)
 * fix index scans that cross the 2GB mmap boundaries for both mmap
   and standard i/o modes (CASSANDRA-866)
 * expose drain via nodetool (CASSANDRA-978)


0.6.0-RC1
 * JMX drain to flush memtables and run through commit log (CASSANDRA-880)
 * Bootstrapping can skip ranges under the right conditions (CASSANDRA-902)
 * fix merging row versions in range_slice for CL > ONE (CASSANDRA-884)
 * default write ConsistencyLeven chaned from ZERO to ONE
 * fix for index entries spanning mmap buffer boundaries (CASSANDRA-857)
 * use lexical comparison if time part of TimeUUIDs are the same
   (CASSANDRA-907)
 * bound read, mutation, and response stages to fix possible OOM
   during log replay (CASSANDRA-885)
 * Use microseconds-since-epoch (UTC) in cli, instead of milliseconds
 * Treat batch_mutate Deletion with null supercolumn as "apply this predicate
   to top level supercolumns" (CASSANDRA-834)
 * Streaming destination nodes do not update their JMX status (CASSANDRA-916)
 * Fix internal RPC timeout calculation (CASSANDRA-911)
 * Added Pig loadfunc to contrib/pig (CASSANDRA-910)


0.6.0-beta3
 * fix compaction bucketing bug (CASSANDRA-814)
 * update windows batch file (CASSANDRA-824)
 * deprecate KeysCachedFraction configuration directive in favor
   of KeysCached; move to unified-per-CF key cache (CASSANDRA-801)
 * add invalidateRowCache to ColumnFamilyStoreMBean (CASSANDRA-761)
 * send Handoff hints to natural locations to reduce load on
   remaining nodes in a failure scenario (CASSANDRA-822)
 * Add RowWarningThresholdInMB configuration option to warn before very
   large rows get big enough to threaten node stability, and -x option to
   be able to remove them with sstable2json if the warning is unheeded
   until it's too late (CASSANDRA-843)
 * Add logging of GC activity (CASSANDRA-813)
 * fix ConcurrentModificationException in commitlog discard (CASSANDRA-853)
 * Fix hardcoded row count in Hadoop RecordReader (CASSANDRA-837)
 * Add a jmx status to the streaming service and change several DEBUG
   messages to INFO (CASSANDRA-845)
 * fix classpath in cassandra-cli.bat for Windows (CASSANDRA-858)
 * allow re-specifying host, port to cassandra-cli if invalid ones
   are first tried (CASSANDRA-867)
 * fix race condition handling rpc timeout in the coordinator
   (CASSANDRA-864)
 * Remove CalloutLocation and StagingFileDirectory from storage-conf files
   since those settings are no longer used (CASSANDRA-878)
 * Parse a long from RowWarningThresholdInMB instead of an int (CASSANDRA-882)
 * Remove obsolete ControlPort code from DatabaseDescriptor (CASSANDRA-886)
 * move skipBytes side effect out of assert (CASSANDRA-899)
 * add "double getLoad" to StorageServiceMBean (CASSANDRA-898)
 * track row stats per CF at compaction time (CASSANDRA-870)
 * disallow CommitLogDirectory matching a DataFileDirectory (CASSANDRA-888)
 * default key cache size is 200k entries, changed from 10% (CASSANDRA-863)
 * add -Dcassandra-foreground=yes to cassandra.bat
 * exit if cluster name is changed unexpectedly (CASSANDRA-769)


0.6.0-beta1/beta2
 * add batch_mutate thrift command, deprecating batch_insert (CASSANDRA-336)
 * remove get_key_range Thrift API, deprecated in 0.5 (CASSANDRA-710)
 * add optional login() Thrift call for authentication (CASSANDRA-547)
 * support fat clients using gossiper and StorageProxy to perform
   replication in-process [jvm-only] (CASSANDRA-535)
 * support mmapped I/O for reads, on by default on 64bit JVMs
   (CASSANDRA-408, CASSANDRA-669)
 * improve insert concurrency, particularly during Hinted Handoff
   (CASSANDRA-658)
 * faster network code (CASSANDRA-675)
 * stress.py moved to contrib (CASSANDRA-635)
 * row caching [must be explicitly enabled per-CF in config] (CASSANDRA-678)
 * present a useful measure of compaction progress in JMX (CASSANDRA-599)
 * add bin/sstablekeys (CASSNADRA-679)
 * add ConsistencyLevel.ANY (CASSANDRA-687)
 * make removetoken remove nodes from gossip entirely (CASSANDRA-644)
 * add ability to set cache sizes at runtime (CASSANDRA-708)
 * report latency and cache hit rate statistics with lifetime totals
   instead of average over the last minute (CASSANDRA-702)
 * support get_range_slice for RandomPartitioner (CASSANDRA-745)
 * per-keyspace replication factory and replication strategy (CASSANDRA-620)
 * track latency in microseconds (CASSANDRA-733)
 * add describe_ Thrift methods, deprecating get_string_property and
   get_string_list_property
 * jmx interface for tracking operation mode and streams in general.
   (CASSANDRA-709)
 * keep memtables in sorted order to improve range query performance
   (CASSANDRA-799)
 * use while loop instead of recursion when trimming sstables compaction list
   to avoid blowing stack in pathological cases (CASSANDRA-804)
 * basic Hadoop map/reduce support (CASSANDRA-342)


0.5.1
 * ensure all files for an sstable are streamed to the same directory.
   (CASSANDRA-716)
 * more accurate load estimate for bootstrapping (CASSANDRA-762)
 * tolerate dead or unavailable bootstrap target on write (CASSANDRA-731)
 * allow larger numbers of keys (> 140M) in a sstable bloom filter
   (CASSANDRA-790)
 * include jvm argument improvements from CASSANDRA-504 in debian package
 * change streaming chunk size to 32MB to accomodate Windows XP limitations
   (was 64MB) (CASSANDRA-795)
 * fix get_range_slice returning results in the wrong order (CASSANDRA-781)


0.5.0 final
 * avoid attempting to delete temporary bootstrap files twice (CASSANDRA-681)
 * fix bogus NaN in nodeprobe cfstats output (CASSANDRA-646)
 * provide a policy for dealing with single thread executors w/ a full queue
   (CASSANDRA-694)
 * optimize inner read in MessagingService, vastly improving multiple-node
   performance (CASSANDRA-675)
 * wait for table flush before streaming data back to a bootstrapping node.
   (CASSANDRA-696)
 * keep track of bootstrapping sources by table so that bootstrapping doesn't
   give the indication of finishing early (CASSANDRA-673)


0.5.0 RC3
 * commit the correct version of the patch for CASSANDRA-663


0.5.0 RC2 (unreleased)
 * fix bugs in converting get_range_slice results to Thrift
   (CASSANDRA-647, CASSANDRA-649)
 * expose java.util.concurrent.TimeoutException in StorageProxy methods
   (CASSANDRA-600)
 * TcpConnectionManager was holding on to disconnected connections,
   giving the false indication they were being used. (CASSANDRA-651)
 * Remove duplicated write. (CASSANDRA-662)
 * Abort bootstrap if IP is already in the token ring (CASSANDRA-663)
 * increase default commitlog sync period, and wait for last sync to
   finish before submitting another (CASSANDRA-668)


0.5.0 RC1
 * Fix potential NPE in get_range_slice (CASSANDRA-623)
 * add CRC32 to commitlog entries (CASSANDRA-605)
 * fix data streaming on windows (CASSANDRA-630)
 * GC compacted sstables after cleanup and compaction (CASSANDRA-621)
 * Speed up anti-entropy validation (CASSANDRA-629)
 * Fix anti-entropy assertion error (CASSANDRA-639)
 * Fix pending range conflicts when bootstapping or moving
   multiple nodes at once (CASSANDRA-603)
 * Handle obsolete gossip related to node movement in the case where
   one or more nodes is down when the movement occurs (CASSANDRA-572)
 * Include dead nodes in gossip to avoid a variety of problems
   and fix HH to removed nodes (CASSANDRA-634)
 * return an InvalidRequestException for mal-formed SlicePredicates
   (CASSANDRA-643)
 * fix bug determining closest neighbor for use in multiple datacenters
   (CASSANDRA-648)
 * Vast improvements in anticompaction speed (CASSANDRA-607)
 * Speed up log replay and writes by avoiding redundant serializations
   (CASSANDRA-652)


0.5.0 beta 2
 * Bootstrap improvements (several tickets)
 * add nodeprobe repair anti-entropy feature (CASSANDRA-193, CASSANDRA-520)
 * fix possibility of partition when many nodes restart at once
   in clusters with multiple seeds (CASSANDRA-150)
 * fix NPE in get_range_slice when no data is found (CASSANDRA-578)
 * fix potential NPE in hinted handoff (CASSANDRA-585)
 * fix cleanup of local "system" keyspace (CASSANDRA-576)
 * improve computation of cluster load balance (CASSANDRA-554)
 * added super column read/write, column count, and column/row delete to
   cassandra-cli (CASSANDRA-567, CASSANDRA-594)
 * fix returning live subcolumns of deleted supercolumns (CASSANDRA-583)
 * respect JAVA_HOME in bin/ scripts (several tickets)
 * add StorageService.initClient for fat clients on the JVM (CASSANDRA-535)
   (see contrib/client_only for an example of use)
 * make consistency_level functional in get_range_slice (CASSANDRA-568)
 * optimize key deserialization for RandomPartitioner (CASSANDRA-581)
 * avoid GCing tombstones except on major compaction (CASSANDRA-604)
 * increase failure conviction threshold, resulting in less nodes
   incorrectly (and temporarily) marked as down (CASSANDRA-610)
 * respect memtable thresholds during log replay (CASSANDRA-609)
 * support ConsistencyLevel.ALL on read (CASSANDRA-584)
 * add nodeprobe removetoken command (CASSANDRA-564)


0.5.0 beta
 * Allow multiple simultaneous flushes, improving flush throughput
   on multicore systems (CASSANDRA-401)
 * Split up locks to improve write and read throughput on multicore systems
   (CASSANDRA-444, CASSANDRA-414)
 * More efficient use of memory during compaction (CASSANDRA-436)
 * autobootstrap option: when enabled, all non-seed nodes will attempt
   to bootstrap when started, until bootstrap successfully
   completes. -b option is removed.  (CASSANDRA-438)
 * Unless a token is manually specified in the configuration xml,
   a bootstraping node will use a token that gives it half the
   keys from the most-heavily-loaded node in the cluster,
   instead of generating a random token.
   (CASSANDRA-385, CASSANDRA-517)
 * Miscellaneous bootstrap fixes (several tickets)
 * Ability to change a node's token even after it has data on it
   (CASSANDRA-541)
 * Ability to decommission a live node from the ring (CASSANDRA-435)
 * Semi-automatic loadbalancing via nodeprobe (CASSANDRA-192)
 * Add ability to set compaction thresholds at runtime via
   JMX / nodeprobe.  (CASSANDRA-465)
 * Add "comment" field to ColumnFamily definition. (CASSANDRA-481)
 * Additional JMX metrics (CASSANDRA-482)
 * JSON based export and import tools (several tickets)
 * Hinted Handoff fixes (several tickets)
 * Add key cache to improve read performance (CASSANDRA-423)
 * Simplified construction of custom ReplicationStrategy classes
   (CASSANDRA-497)
 * Graphical application (Swing) for ring integrity verification and
   visualization was added to contrib (CASSANDRA-252)
 * Add DCQUORUM, DCQUORUMSYNC consistency levels and corresponding
   ReplicationStrategy / EndpointSnitch classes.  Experimental.
   (CASSANDRA-492)
 * Web client interface added to contrib (CASSANDRA-457)
 * More-efficient flush for Random, CollatedOPP partitioners
   for normal writes (CASSANDRA-446) and bulk load (CASSANDRA-420)
 * Add MemtableFlushAfterMinutes, a global replacement for the old
   per-CF FlushPeriodInMinutes setting (CASSANDRA-463)
 * optimizations to slice reading (CASSANDRA-350) and supercolumn
   queries (CASSANDRA-510)
 * force binding to given listenaddress for nodes with multiple
   interfaces (CASSANDRA-546)
 * stress.py benchmarking tool improvements (several tickets)
 * optimized replica placement code (CASSANDRA-525)
 * faster log replay on restart (CASSANDRA-539, CASSANDRA-540)
 * optimized local-node writes (CASSANDRA-558)
 * added get_range_slice, deprecating get_key_range (CASSANDRA-344)
 * expose TimedOutException to thrift (CASSANDRA-563)


0.4.2
 * Add validation disallowing null keys (CASSANDRA-486)
 * Fix race conditions in TCPConnectionManager (CASSANDRA-487)
 * Fix using non-utf8-aware comparison as a sanity check.
   (CASSANDRA-493)
 * Improve default garbage collector options (CASSANDRA-504)
 * Add "nodeprobe flush" (CASSANDRA-505)
 * remove NotFoundException from get_slice throws list (CASSANDRA-518)
 * fix get (not get_slice) of entire supercolumn (CASSANDRA-508)
 * fix null token during bootstrap (CASSANDRA-501)


0.4.1
 * Fix FlushPeriod columnfamily configuration regression
   (CASSANDRA-455)
 * Fix long column name support (CASSANDRA-460)
 * Fix for serializing a row that only contains tombstones
   (CASSANDRA-458)
 * Fix for discarding unneeded commitlog segments (CASSANDRA-459)
 * Add SnapshotBeforeCompaction configuration option (CASSANDRA-426)
 * Fix compaction abort under insufficient disk space (CASSANDRA-473)
 * Fix reading subcolumn slice from tombstoned CF (CASSANDRA-484)
 * Fix race condition in RVH causing occasional NPE (CASSANDRA-478)


0.4.0
 * fix get_key_range problems when a node is down (CASSANDRA-440)
   and add UnavailableException to more Thrift methods
 * Add example EndPointSnitch contrib code (several tickets)


0.4.0 RC2
 * fix SSTable generation clash during compaction (CASSANDRA-418)
 * reject method calls with null parameters (CASSANDRA-308)
 * properly order ranges in nodeprobe output (CASSANDRA-421)
 * fix logging of certain errors on executor threads (CASSANDRA-425)


0.4.0 RC1
 * Bootstrap feature is live; use -b on startup (several tickets)
 * Added multiget api (CASSANDRA-70)
 * fix Deadlock with SelectorManager.doProcess and TcpConnection.write
   (CASSANDRA-392)
 * remove key cache b/c of concurrency bugs in third-party
   CLHM library (CASSANDRA-405)
 * update non-major compaction logic to use two threshold values
   (CASSANDRA-407)
 * add periodic / batch commitlog sync modes (several tickets)
 * inline BatchMutation into batch_insert params (CASSANDRA-403)
 * allow setting the logging level at runtime via mbean (CASSANDRA-402)
 * change default comparator to BytesType (CASSANDRA-400)
 * add forwards-compatible ConsistencyLevel parameter to get_key_range
   (CASSANDRA-322)
 * r/m special case of blocking for local destination when writing with
   ConsistencyLevel.ZERO (CASSANDRA-399)
 * Fixes to make BinaryMemtable [bulk load interface] useful (CASSANDRA-337);
   see contrib/bmt_example for an example of using it.
 * More JMX properties added (several tickets)
 * Thrift changes (several tickets)
    - Merged _super get methods with the normal ones; return values
      are now of ColumnOrSuperColumn.
    - Similarly, merged batch_insert_super into batch_insert.


0.4.0 beta
 * On-disk data format has changed to allow billions of keys/rows per
   node instead of only millions
 * Multi-keyspace support
 * Scan all sstables for all queries to avoid situations where
   different types of operation on the same ColumnFamily could
   disagree on what data was present
 * Snapshot support via JMX
 * Thrift API has changed a _lot_:
    - removed time-sorted CFs; instead, user-defined comparators
      may be defined on the column names, which are now byte arrays.
      Default comparators are provided for UTF8, Bytes, Ascii, Long (i64),
      and UUID types.
    - removed colon-delimited strings in thrift api in favor of explicit
      structs such as ColumnPath, ColumnParent, etc.  Also normalized
      thrift struct and argument naming.
    - Added columnFamily argument to get_key_range.
    - Change signature of get_slice to accept starting and ending
      columns as well as an offset.  (This allows use of indexes.)
      Added "ascending" flag to allow reasonably-efficient reverse
      scans as well.  Removed get_slice_by_range as redundant.
    - get_key_range operates on one CF at a time
    - changed `block` boolean on insert methods to ConsistencyLevel enum,
      with options of NONE, ONE, QUORUM, and ALL.
    - added similar consistency_level parameter to read methods
    - column-name-set slice with no names given now returns zero columns
      instead of all of them.  ("all" can run your server out of memory.
      use a range-based slice with a high max column count instead.)
 * Removed the web interface. Node information can now be obtained by
   using the newly introduced nodeprobe utility.
 * More JMX stats
 * Remove magic values from internals (e.g. special key to indicate
   when to flush memtables)
 * Rename configuration "table" to "keyspace"
 * Moved to crash-only design; no more shutdown (just kill the process)
 * Lots of bug fixes
Full list of issues resolved in 0.4 is at https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&&pid=12310865&fixfor=12313862&resolution=1&sorter/field=issuekey&sorter/order=DESC


0.3.0 RC3
 * Fix potential deadlock under load in TCPConnection.
   (CASSANDRA-220)


0.3.0 RC2
 * Fix possible data loss when server is stopped after replaying
   log but before new inserts force memtable flush.
   (CASSANDRA-204)
 * Added BUGS file


0.3.0 RC1
 * Range queries on keys, including user-defined key collation
 * Remove support
 * Workarounds for a weird bug in JDK select/register that seems
   particularly common on VM environments. Cassandra should deploy
   fine on EC2 now
 * Much improved infrastructure: the beginnings of a decent test suite
   ("ant test" for unit tests; "nosetests" for system tests), code
   coverage reporting, etc.
 * Expanded node status reporting via JMX
 * Improved error reporting/logging on both server and client
 * Reduced memory footprint in default configuration
 * Combined blocking and non-blocking versions of insert APIs
 * Added FlushPeriodInMinutes configuration parameter to force
   flushing of infrequently-updated ColumnFamilies

