All Versions
69
Latest Version
Avg Release Cycle
53 days
Latest Release
-

Changelog History
Page 3

  • v3.9.0 Changes

    ๐Ÿ”‹ Features

    • ๐Ÿšš cqlengine: remove elements by key from a map (PYTHON-688)

    ๐Ÿ› Bug Fixes

    • ๐Ÿ‘Œ improve error handling when connecting to non-existent keyspace (PYTHON-665)
    • Sockets associated with sessions not getting cleaned up on session.shutdown() (PYTHON-673)
    • โœ… rare flake on integration.standard.test_cluster.ClusterTests.test_clone_shared_lbp (PYTHON-727)
    • MontonicTimestampGenerator.init ignores class defaults (PYTHON-728)
    • race where callback or errback for request may not be called (PYTHON-733)
    • โšก๏ธ cqlengine: model.update() should not update columns with a default value that hasn't changed (PYTHON-657)
    • cqlengine: field value manager's explicit flag is True when queried back from cassandra (PYTHON-719)

    Other

    • Connection not closed in example_mapper (PYTHON-723)
    • โœ‚ Remove mention of pre-2.0 C* versions from OSS 3.0+ docs (PYTHON-710)
  • v3.8.1 Changes

    March 16, 2017

    ๐Ÿ› Bug Fixes

    • implement le/ge/ne on some custom types (PYTHON-714)
    • ๐Ÿ›  Fix bug in eventlet and gevent reactors that could cause hangs (PYTHON-721)
    • ๐Ÿ›  Fix DecimalType regression (PYTHON-724)
  • v3.8.0 Changes

    ๐Ÿ”‹ Features

    • ๐Ÿ“‡ Quote index names in metadata CQL generation (PYTHON-616)
    • On column deserialization failure, keep error message consistent between python and cython (PYTHON-631)
    • TokenAwarePolicy always sends requests to the same replica for a given key (PYTHON-643)
    • โž• Added cql types to result set (PYTHON-648)
    • Add len to BatchStatement (PYTHON-650)
    • Duration Type for Cassandra (PYTHON-655)
    • Send flags with PREPARE message in v5 (PYTHON-684)

    ๐Ÿ› Bug Fixes

    • Potential Timing issue if application exits prior to session pool initialization (PYTHON-636)
    • "Host X.X.X.X has been marked down" without any exceptions (PYTHON-640)
    • NoHostAvailable or OperationTimedOut when using execute_concurrent with a generator that inserts into more than one table (PYTHON-642)
    • ResponseFuture creates Timers and don't cancel them even when result is received which leads to memory leaks (PYTHON-644)
    • Driver cannot connect to Cassandra version > 3 (PYTHON-646)
    • Unable to import model using UserType without setuping connection since 3.7 (PYTHON-649)
    • Don't prepare queries on ignored hosts on_up (PYTHON-669)
    • Sockets associated with sessions not getting cleaned up on session.shutdown() (PYTHON-673)
    • ๐Ÿ‘‰ Make client timestamps strictly monotonic (PYTHON-676)
    • cassandra.cqlengine.connection.register_connection broken when hosts=None (PYTHON-692)

    Other

    • Create a cqlengine doc section explaining None semantics (PYTHON-623)
    • ๐Ÿ“š Resolve warnings in documentation generation (PYTHON-645)
    • Cython dependency (PYTHON-686)
    • โฌ‡๏ธ Drop Support for Python 2.6 (PYTHON-690)
  • v3.7.1 Changes

    October 26, 2016

    ๐Ÿ› Bug Fixes

    • โฌ†๏ธ Cython upgrade has broken stable version of cassandra-driver (PYTHON-656)
  • v3.7.0 Changes

    September 13, 2016

    ๐Ÿ”‹ Features

    • โž• Add v5 protocol failure map (PYTHON-619)
    • Don't return from initial connect on first error (PYTHON-617)
    • Indicate failed column when deserialization fails (PYTHON-361)
    • Let Cluster.refresh_nodes force a token map rebuild (PYTHON-349)
    • โšก๏ธ Refresh UDTs after "keyspace updated" event with v1/v2 protocol (PYTHON-106)
    • EC2 Address Resolver (PYTHON-198)
    • Speculative query retries (PYTHON-218)
    • ๐Ÿ”ฆ Expose paging state in API (PYTHON-200)
    • Don't mark host down while one connection is active (PYTHON-498)
    • Query request size information (PYTHON-284)
    • Avoid quadratic ring processing with invalid replication factors (PYTHON-379)
    • ๐Ÿ‘Œ Improve Connection/Pool creation concurrency on startup (PYTHON-82)
    • โž• Add beta version native protocol flag (PYTHON-614)
    • ๐Ÿ‘ cqlengine: Connections: support of multiple keyspaces and sessions (PYTHON-613)

    ๐Ÿ› Bug Fixes

    • Race when adding a pool while setting keyspace (PYTHON-628)
    • ๐Ÿ“‡ Update results_metadata when prepared statement is reprepared (PYTHON-621)
    • CQL Export for Thrift Tables (PYTHON-213)
    • 0๏ธโƒฃ cqlengine: default value not applied to UserDefinedType (PYTHON-606)
    • cqlengine: columns are no longer hashable (PYTHON-618)
    • ๐Ÿšš cqlengine: remove clustering keys from where clause when deleting only static columns (PYTHON-608)
  • v3.6.0 Changes

    August 1, 2016

    ๐Ÿ”‹ Features

    • ๐Ÿ– Handle null values in NumpyProtocolHandler (PYTHON-553)
    • Collect greplin scales stats per cluster (PYTHON-561)
    • โšก๏ธ Update mock unit test dependency requirement (PYTHON-591)
    • ๐Ÿ“‡ Handle Missing CompositeType metadata following C* upgrade (PYTHON-562)
    • ๐Ÿ‘Œ Improve Host.is_up state for HostDistance.IGNORED hosts (PYTHON-551)
    • ๐Ÿ“‡ Utilize v2 protocol's ability to skip result set metadata for prepared statement execution (PYTHON-71)
    • Return from Cluster.connect() when first contact point connection(pool) is opened (PYTHON-105)
    • cqlengine: Add ContextQuery to allow cqlengine models to switch the keyspace context easily (PYTHON-598)
    • Standardize Validation between Ascii and Text types in Cqlengine (PYTHON-609)

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fix geventreactor with SSL support (PYTHON-600)
    • โฌ‡๏ธ Don't downgrade protocol version if explicitly set (PYTHON-537)
    • Nonexistent contact point tries to connect indefinitely (PYTHON-549)
    • Execute_concurrent can exceed max recursion depth in failure mode (PYTHON-585)
    • Libev loop shutdown race (PYTHON-578)
    • Include aliases in DCT type string (PYTHON-579)
    • cqlengine: Comparison operators for Columns (PYTHON-595)
    • cqlengine: disentangle default_time_to_live table option from model query default TTL (PYTHON-538)
    • cqlengine: pk__token column name issue with the equality operator (PYTHON-584)
    • cqlengine: Fix "__in" filtering operator converts True to string "True" automatically (PYTHON-596)
    • โšก๏ธ cqlengine: Avoid LWTExceptions when updating columns that are part of the condition (PYTHON-580)
    • cqlengine: Cannot execute a query when the filter contains all columns (PYTHON-599)
    • cqlengine: routing key computation issue when a primary key column is overriden by model inheritance (PYTHON-576)
  • v3.5.0 Changes

    June 27, 2016

    ๐Ÿ”‹ Features

    • Optional Execution Profiles for the core driver (PYTHON-569)
    • ๐Ÿ“‡ API to get the host metadata associated with the control connection node (PYTHON-583)
    • ๐Ÿ“‡ Expose CDC option in table metadata CQL (PYTHON-593)

    ๐Ÿ› Bug Fixes

    • Clean up Asyncore socket map when fork is detected (PYTHON-577)
    • cqlengine: QuerySet only() is not respected when there are deferred fields (PYTHON-560)
  • v3.4.1 Changes

    May 26, 2016

    ๐Ÿ› Bug Fixes

    • โฑ Gevent connection closes on IO timeout (PYTHON-573)
    • "dictionary changed size during iteration" with Python 3 (PYTHON-572)
  • v3.4.0 Changes

    May 24, 2016

    ๐Ÿ”‹ Features

    • Include DSE version and workload in Host data (PYTHON-555)
    • Add a context manager to Cluster and Session (PYTHON-521)
    • ๐Ÿ‘ Better Error Message for Unsupported Protocol Version (PYTHON-157)
    • Make the error message explicitly state when an error comes from the server (PYTHON-412)
    • Short Circuit meta refresh on topo change if NEW_NODE already exists (PYTHON-557)
    • โš  Show warning when the wrong config is passed to SimpleStatement (PYTHON-219)
    • Return namedtuple result pairs from execute_concurrent (PYTHON-362)
    • ๐Ÿ‘ BatchStatement should enforce batch size limit in a better way (PYTHON-151)
    • Validate min/max request thresholds for connection pool scaling (PYTHON-220)
    • Handle or warn about multiple hosts with the same rpc_address (PYTHON-365)
    • ๐Ÿ“„ Write docs around working with datetime and timezones (PYTHON-394)

    ๐Ÿ› Bug Fixes

    • High CPU utilization when using asyncore event loop (PYTHON-239)
    • Fix CQL Export for non-ASCII Identifiers (PYTHON-447)
    • Make stress scripts Python 2.6 compatible (PYTHON-434)
    • UnicodeDecodeError when unicode characters in key in BOP (PYTHON-559)
    • WhiteListRoundRobinPolicy should resolve hosts (PYTHON-565)
    • Cluster and Session do not GC after leaving scope (PYTHON-135)
    • Don't wait for schema agreement on ignored nodes (PYTHON-531)
    • Reprepare on_up with many clients causes node overload (PYTHON-556)
    • None inserted into host map when control connection node is decommissioned (PYTHON-548)
    • weakref.ref does not accept keyword arguments (github #585)
  • v3.3.0 Changes

    May 2, 2016

    ๐Ÿ”‹ Features

    • โž• Add an AddressTranslator interface (PYTHON-69)
    • ๐Ÿ†• New Retry Policy Decision - try next host (PYTHON-285)
    • โฑ Don't mark host down on timeout (PYTHON-286)
    • SSL hostname verification (PYTHON-296)
    • โž• Add C* version to metadata or cluster objects (PYTHON-301)
    • ๐Ÿ“‡ Options to Disable Schema, Token Metadata Processing (PYTHON-327)
    • ๐Ÿ”ฆ Expose listen_address of node we get ring information from (PYTHON-332)
    • ๐Ÿ‘‰ Use A-record with multiple IPs for contact points (PYTHON-415)
    • Custom consistency level for populating query traces (PYTHON-435)
    • ๐Ÿ‘ป Normalize Server Exception Types (PYTHON-443)
    • ๐Ÿ‘ป Propagate exception message when DDL schema agreement fails (PYTHON-444)
    • ๐Ÿ“‡ Specialized exceptions for metadata refresh methods failure (PYTHON-527)

    ๐Ÿ› Bug Fixes

    • Resolve contact point hostnames to avoid duplicate hosts (PYTHON-103)
    • GeventConnection stalls requests when read is a multiple of the input buffer size (PYTHON-429)
    • named_tuple_factory breaks with duplicate "cleaned" col names (PYTHON-467)
    • Connection leak if Cluster.shutdown() happens during reconnection (PYTHON-482)
    • HostConnection.borrow_connection does not block when all request ids are used (PYTHON-514)
    • Empty field not being handled by the NumpyProtocolHandler (PYTHON-550)