3.11.19
Merged from 3.0:
 * Minimise expensive reads during authz flow in 3.0/3.11 (CASSANDRA-20293)


3.11.18
Merged from 3.0:
 * Tighten up permissions on system keyspaces (CASSANDRA-20090)
 * Upgrade OWASP to 10.0.0 (CASSANDRA-19738)
Merged from 2.2:
 * Add termin-8-jdk as a valid jdk8 candidate in the debian package (CASSANDRA-19752)

3.11.17
 * Move ClientWarn.State#warnings to a thread-safe list (CASSANDRA-19427)
 * Fix delayed SSTable release with unsafe_aggressive_sstable_expiration (CASSANDRA-18756)
 * Revert CASSANDRA-18543 (CASSANDRA-18854)
 * Fix NPE when using udfContext in UDF after a restart of a node (CASSANDRA-18739)
Merged from 3.0:
 * Fix SCM URL link (CASSANDRA-19422)
 * Backport CASSANDRA-16418 to 3.x (CASSANDRA-18824)
 * 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)
 * 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)
 * 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)
 * Backport of CASSANDRA-16905 Further restrict schema column drop/recreate conversions (CASSANDRA-18760)
 * CQLSH emits a warning when the server version doesn't match (CASSANDRA-18745)
 * Fix missing speculative retries in tablestats (CASSANDRA-18767)


3.11.16
 * 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)
 * Remove unnecessary String.format invocation in QueryProcessor when getting a prepared statement from cache (CASSANDRA-17202)
Merged from 3.0:
 * Fix Requires for Java for RPM package (CASSANDRA-18751)
 * Fix CQLSH online help topic link (CASSANDRA-17534)
 * Remove unused suppressions (CASSANDRA-18724)
 * Upgrade OWASP to 8.3.1 (CASSANDRA-18650)
 * 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)
 * Suppress CVE-2023-34455, CVE-2023-34454, CVE-2023-34453 (CASSANDRA-18608)
 * 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)
 * 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)


3.11.15
 * Fix the capital P usage in the CQL parser (CASSANDRA-17919)
 * 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)
 * Fix RepairJob unnecessarily reporting cancellation error (CASSANDRA-17701)
 * 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)
 * Fix incorrect resource name in LIST PERMISSION output (CASSANDRA-17848)
 * Suppress CVE-2022-41854 and similar (CASSANDRA-18083)
 * Fix running Ant rat targets without git (CASSANDRA-17974)


3.11.14
 * Suppress CVE-2022-42003 and CVE-2022-42004 (CASSANDRA-17966)
 * Make LongBufferPoolTest insensitive to timing (CASSANDRA-16681)
 * Suppress CVE-2022-25857 and other snakeyaml CVEs (CASSANDRA-17907)
 * 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)
 * Only use statically defined subcolumns when determining column definition for supercolumn cell (CASSANDRA-14113)
Merged from 3.0:
 * 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)
 * Fix scrubber falling into infinite loop when the last partition is broken (CASSANDRA-17862)
 * Improve libjemalloc resolution in bin/cassandra (CASSANDRA-15767)
 * Fix restarting of services on gossipping-only member (CASSANDRA-17752)
 * Fix writetime and ttl functions forbidden for collections instead of multicell columns (CASSANDRA-17628)
 * Supress CVE-2020-7238 (CASSANDRA-17697)
 * 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)


3.11.13
 * 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:
 * 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)
 * filter out NULL_VERSION entries from peers table in ConfiguredLimit (CASSANDRA-16518)
 * 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)


3.11.12
 * Extend operator control over the UDF threading model for CVE-2021-44521 (CASSANDRA-17352)
 * Upgrade snakeyaml to 1.26 in 3.11 (CASSANDRA=17028)
 * Add key validation to ssstablescrub (CASSANDRA-16969)
 * Update Jackson from 2.9.10 to 2.12.5 (CASSANDRA-16851)
 * Include SASI components to snapshots (CASSANDRA-15134)
 * Make assassinate more resilient to missing tokens (CASSANDRA-16847)
 * Exclude Jackson 1.x transitive dependency of hadoop* provided dependencies (CASSANDRA-16854)
 * 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)
 * Fix ant-junit dependency issue (CASSANDRA-16827)
 * Reduce thread contention in CommitLogSegment and HintsBuffer (CASSANDRA-16072)
 * Avoid sending CDC column if not enabled (CASSANDRA-16770)
Merged from 3.0:
 * 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)
 * Fix materialized view schema backup as table (CASSANDRA-12734)
 * Avoid signaling DigestResolver until the minimum number of responses are guaranteed to be visible (CASSANDRA-16883)
 * Fix secondary indexes on primary key columns skipping some writes (CASSANDRA-16868)
 * Fix incorrect error message in LegacyLayout (CASSANDRA-15136)
 * 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)
 * Race in CompactionExecutorTest (CASSANDRA-17239)
Merged from 2.2:
 * Add python2 location to RPMs (CASSANDRA-16822)


3.11.11
 * 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)
 * 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)
 * Add autocomplete and error messages for provide_overlapping_tombstones (CASSANDRA-16350)
 * Add StorageServiceMBean.getKeyspaceReplicationInfo(keyspaceName) (CASSANDRA-16447)
 * Make sure sstables with moved starts are removed correctly in LeveledGenerations (CASSANDRA-16552)
 * Upgrade jackson-databind to 2.9.10.8 (CASSANDRA-16462)
Merged from 3.0:
 * 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)
 * Make speculative retry parameter case-insensitive for backward compatibility with 2.1 (CASSANDRA-16467)
 * Push digest mismatch exceptions to trace (CASSANDRA-14900)
 * 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)
 * Clean transaction log leftovers at the beginning of sstablelevelreset and sstableofflinerelevel (CASSANDRA-12519)
 * CQL shell should prefer newer TLS version by default (CASSANDRA-16695)
 * Ensure that existing empty rows are properly returned (CASSANDRA-16671)
 * Invalidate prepared statements on DROP COMPACT (CASSANDRA-16712)
 * 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)
 * Don't wait for schema migrations from removed nodes (CASSANDRA-16577)
 * Scheduled (delayed) schema pull tasks should not run after MIGRATION stage shutdown during decommission (CASSANDRA-16495)
 * 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)
 * Avoid pushing schema mutations when setting up distributed system keyspaces locally (CASSANDRA-16387)
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)


3.11.10
 * 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)
 * Fix DecimalDeserializer#toString OOM (CASSANDRA-14925)
 * Rate limit validation compactions using compaction_throughput_mb_per_sec (CASSANDRA-16161)
 * SASI's `max_compaction_flush_memory_in_mb` settings over 100GB revert to default of 1GB (CASSANDRA-16071)
Merged from 3.0:
 * Prevent unbounded number of pending flushing tasks (CASSANDRA-16261)
 * Improve empty hint file handling during startup (CASSANDRA-16162)
 * Allow empty string in collections with COPY FROM in cqlsh (CASSANDRA-16372)
 * Fix skipping on pre-3.0 created compact storage sstables due to missing primary key liveness (CASSANDRA-16226)
 * 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)
 * Fix invalid cell value skipping when reading from disk (CASSANDRA-16223)
 * Prevent invoking enable/disable gossip when not in NORMAL (CASSANDRA-16146)
 * Wait for schema agreement when bootstrapping (CASSANDRA-15158)
Merged from 2.2:
 * Fix the histogram merge of the table metrics (CASSANDRA-16259)


3.11.9
 * Synchronize Keyspace instance store/clear (CASSANDRA-16210)
 * 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)
 * Avoid failing compactions with very large partitions (CASSANDRA-15164)
 * Make sure LCS handles duplicate sstable added/removed notifications correctly (CASSANDRA-14103)
Merged from 3.0:
 * Fix OOM when terminating repair session (CASSANDRA-15902)
 * Avoid marking shutting down nodes as up after receiving gossip shutdown message (CASSANDRA-16094)
 * Check SSTables for latest version before dropping compact storage (CASSANDRA-16063)
 * 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)


3.11.8
 * 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)
 * Frozen RawTuple is not annotated with frozen in the toString method (CASSANDRA-15857)
Merged from 3.0:
 * Use IF NOT EXISTS for index and UDT create statements in snapshot schema files (CASSANDRA-13935)
 * 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)
 * stop_paranoid disk failure policy is ignored on CorruptSSTableException after node is up (CASSANDRA-15191)
 * Forbid altering UDTs used in partition keys (CASSANDRA-15933)
 * Fix empty/null json string representation (CASSANDRA-15896)
 * 3.x fails to start if commit log has range tombstones from a column which is also deleted (CASSANDRA-15970)
 * 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)


3.11.7
 * 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)
 * Allow sstableloader to use SSL on the native port (CASSANDRA-14904)
Merged from 3.0:
 * Backport CASSANDRA-12189: escape string literals (CASSANDRA-15948)
 * 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)
 * Fix duplicated row on 2.x upgrades when multi-rows range tombstones interact with collection ones (CASSANDRA-15805)
 * 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)
 * Memtable memory allocations may deadlock (CASSANDRA-15367)
 * Run evictFromMembership in GossipStage (CASSANDRA-15592)
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)
 * Disable JMX rebinding (CASSANDRA-15653)
Merged from 2.1:
 * Fix writing of snapshot manifest when the table has table-backed secondary indexes (CASSANDRA-10968)
 * 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)


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)
 * 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)
 * Fix NativeLibrary.tryOpenDirectory callers for Windows (CASSANDRA-15426)


3.11.5
 * Fix SASI non-literal string comparisons (range operators) (CASSANDRA-15169)
 * Make sure user defined compaction transactions are always closed (CASSANDRA-15123)
 * 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:
 * 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)
 * 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)
 * Skipping illegal legacy cells can break reverse iteration of indexed partitions (CASSANDRA-15178)
 * 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)
 * Skip cells with illegal column names when reading legacy sstables (CASSANDRA-15086)
 * Fix assorted gossip races and add related runtime checks (CASSANDRA-15059)
 * Fix mixed mode partition range scans with limit (CASSANDRA-15072)
 * 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:
 * Catch non-IOException in FileUtils.close to make sure that all resources are closed (CASSANDRA-15225)
 * 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)
 * Multi-version in-JVM dtests (CASSANDRA-14937)
 * Allow instance class loaders to be garbage collected for inJVM dtest (CASSANDRA-15170)
 * Add support for network topology and query tracing for inJVM dtest (CASSANDRA-15319)


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:
 * 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)
 * Counters fail to increment in 2.1/2.2 to 3.X mixed version clusters (CASSANDRA-14958)
 * Streaming needs to synchronise access to LifecycleTransaction (CASSANDRA-14554)
 * Fix cassandra-stress write hang with default options (CASSANDRA-14616)
 * Differentiate between slices and RTs when decoding legacy bounds (CASSANDRA-14919)
 * 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)
 * Don't enable client transports when bootstrap is pending (CASSANDRA-14525)
 * MigrationManager attempts to pull schema from different major version nodes (CASSANDRA-14928)
 * Fix incorrect cqlsh results when selecting same columns multiple times (CASSANDRA-13262)
 * 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)
 * Update metrics to 3.1.5 (CASSANDRA-12924)
 * 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)
 * Fix deprecated repair error notifications from 3.x clusters to legacy JMX clients (CASSANDRA-13121)
 * 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)
 * Deprecate background repair and probablistic read_repair_chance table options
   (CASSANDRA-13910)
 * 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)
 * 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 bug that prevented compaction of SSTables after full repairs (CASSANDRA-14423)
 * Incorrect counting of pending messages in OutboundTcpConnection (CASSANDRA-11551)
 * 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)
 * Backport circleci yaml (CASSANDRA-14240)
Merged from 2.1:
 * Check checksum before decompressing data (CASSANDRA-14284)
 * CVE-2017-5929 Security vulnerability in Logback warning in NEWS.txt (CASSANDRA-14183)


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)
 * Add Unittest for schema migration fix (CASSANDRA-14140)
 * Print correct snitch info from nodetool describecluster (CASSANDRA-13528)
 * Close socket on error during connect on OutboundTcpConnection (CASSANDRA-9630)
 * Enable CDC unittest (CASSANDRA-14141)
 * Acquire read lock before accessing CompactionStrategyManager fields (CASSANDRA-14139)
 * Split CommitLogStressTest to avoid timeout (CASSANDRA-14143)
 * Avoid invalidating disk boundaries unnecessarily (CASSANDRA-14083)
 * Avoid exposing compaction strategy index externally (CASSANDRA-14082)
 * Prevent continuous schema exchange between 3.0 and 3.11 nodes (CASSANDRA-14109)
 * 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)
 * Correctly count range tombstones in traces and tombstone thresholds (CASSANDRA-8527)
Merged from 3.0:
 * 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 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 compiance for cqlsh (CASSANDRA-14021)


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)
 * Obfuscate password in stress-graphs (CASSANDRA-12233)
 * 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:
 * 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)
 * ReverseIndexedReader may drop rows during 2.1 to 3.0 upgrade (CASSANDRA-13525)
 * 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)
 * Avoid reading static row twice from old format sstables (CASSANDRA-13236)
 * 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)
 * Fix possible NPE on upgrade to 3.0/3.X in case of IO errors (CASSANDRA-13389)
 * 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)
 * 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)
 * 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)
 * Make the fanout size for LeveledCompactionStrategy to be configurable (CASSANDRA-11550)
 * Add duration data type (CASSANDRA-11873)
 * 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 report LWT 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)
 * Read repair is not blocking repair to finish in foreground repair (CASSANDRA-13115)
 * Stress daemon help is incorrect(CASSANDRA-12563)
 * Remove ALTER TYPE support (CASSANDRA-12443)
 * Fix assertion for certain legacy range tombstone pattern (CASSANDRA-12203)
 * Replace empty strings with null values if they cannot be converted (CASSANDRA-12794)
 * 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)
 * Remove support for non-JavaScript UDFs (CASSANDRA-12883)
 * 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)
 * Better handle invalid system roles table (CASSANDRA-12700)
 * 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)
 * Split consistent range movement flag correction (CASSANDRA-12786)
Merged from 2.1:
 * Upgrade netty version to fix memory leak with client encryption (CASSANDRA-13114)
 * 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 setcachecapcity 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


