Changelog History
Page 4
-
v3.2.2 Changes
April 19, 2016
- ๐ Fix counter save-after-no-update (PYTHON-547)
-
v3.2.1 Changes
April 13, 2016
- ๐ Introduced an update to allow deserializer compilation with recently released Cython 0.24 (PYTHON-542)
-
v3.2.0 Changes
April 12, 2016
๐ Features
- ๐ cqlengine: Warn on sync_schema type mismatch (PYTHON-260)
- cqlengine: Automatically defer fields with the '=' operator (and immutable values) in select queries (PYTHON-520)
- ๐ cqlengine: support non-equal conditions for LWT (PYTHON-528)
- ๐ cqlengine: sync_table should validate the primary key composition (PYTHON-532)
- cqlengine: token-aware routing for mapper statements (PYTHON-535)
๐ Bug Fixes
- Deleting a column in a lightweight transaction raises a SyntaxException #325 (PYTHON-249)
- cqlengine: make Token function works with named tables/columns #86 (PYTHON-272)
- comparing models with datetime fields fail #79 (PYTHON-273)
- cython date deserializer integer math should be aligned with CPython (PYTHON-480)
- โก๏ธ db_field is not always respected with UpdateStatement (PYTHON-530)
- ๐ Sync_table fails on column.Set with secondary index (PYTHON-533)
-
v3.1.1 Changes
March 14, 2016
๐ Bug Fixes
- ๐ cqlengine: Fix performance issue related to additional "COUNT" queries (PYTHON-522)
-
v3.1.0 Changes
March 10, 2016
๐ Features
- Pass name of server auth class to AuthProvider (PYTHON-454)
- Surface schema agreed flag for DDL statements (PYTHON-458)
- Automatically convert float and int to Decimal on serialization (PYTHON-468)
- Eventlet Reactor IO improvement (PYTHON-495)
- ๐ Make pure Python ProtocolHandler available even when Cython is present (PYTHON-501)
- Optional Cython deserializer for bytes as bytearray (PYTHON-503)
- Add Session.default_serial_consistency_level (github #510)
- cqlengine: Expose prior state information via cqlengine LWTException (github #343, PYTHON-336)
- ๐ cqlengine: Collection datatype "contains" operators support (Cassandra 2.1) #278 (PYTHON-258)
- cqlengine: Add DISTINCT query operator (PYTHON-266)
- cqlengine: Tuple cqlengine api (PYTHON-306)
- โก๏ธ cqlengine: Add support for UPDATE/DELETE ... IF EXISTS statements (PYTHON-432)
- cqlengine: Allow nested container types (PYTHON-478)
- cqlengine: Add ability to set query's fetch_size and limit (PYTHON-323)
- 0๏ธโฃ cqlengine: Internalize default keyspace from successive set_session (PYTHON-486)
- ๐ cqlengine: Warn when Model.create() on Counters (to be deprecated) (PYTHON-333)
๐ Bug Fixes
- Bus error (alignment issues) when running cython on some ARM platforms (PYTHON-450)
- Overflow when decoding large collections (cython) (PYTHON-459)
- Timer heap comparison issue with Python 3 (github #466)
- Cython deserializer date overflow at 231 - 1 (PYTHON-452)
- Decode error encountered when cython deserializing large map results (PYTHON-459)
- ๐ Don't require Cython for build if compiler or Python header not present (PYTHON-471)
- โฑ Unorderable types in task scheduling with Python 3 (h(PYTHON-473)
- โก๏ธ cqlengine: Fix crash when updating a UDT column with a None value (github #467)
- cqlengine: Race condition in ..connection.execute with lazy_connect (PYTHON-310)
- ๐ cqlengine: doesn't support case sensitive column family names (PYTHON-337)
- โก๏ธ cqlengine: UserDefinedType mandatory in create or update (PYTHON-344)
- cqlengine: db_field breaks UserType (PYTHON-346)
- cqlengine: UDT badly quoted (PYTHON-347)
- cqlengine: Use of db_field on primary key prevents querying except while tracing. (PYTHON-351)
- cqlengine: DateType.deserialize being called with one argument vs two (PYTHON-354)
- cqlengine: Querying without setting up connection now throws AttributeError and not CQLEngineException (PYTHON-395)
- cqlengine: BatchQuery multiple time executing execute statements. (PYTHON-445)
- ๐ cqlengine: Better error for management functions when no connection set (PYTHON-451)
- cqlengine: Handle None values for UDT attributes in cqlengine (PYTHON-470)
- cqlengine: Fix inserting None for model save (PYTHON-475)
- cqlengine: EQ doesn't map to a QueryOperator (setup race condition) (PYTHON-476)
- cqlengine: class.MultipleObjectsReturned has DoesNotExist as base class (PYTHON-489)
- cqlengine: Typo in cqlengine UserType len breaks attribute assignment (PYTHON-502)
Other
cqlengine: a major improvement on queryset has been introduced. It is a lot more efficient to iterate large datasets: the rows are now fetched on demand using the driver pagination.
cqlengine: the queryset len() and count() behaviors have changed. It now executes a "SELECT COUNT(*)" of the query rather than returning the size of the internal result_cache (loaded rows). On large queryset, you might want to avoid using them due to the performance cost. Note that trying to access objects using list index/slicing with negative indices also requires a count to be executed.
-
v3.0.0 Changes
November 24, 2015
๐ Features
- ๐ Support datetime.date objects as a DateType (PYTHON-212)
- Add Cluster.update_view_metadata (PYTHON-407)
- QueryTrace option to populate partial trace sessions (PYTHON-438)
- Attach column names to ResultSet (PYTHON-439)
- ๐ Change default consistency level to LOCAL_ONE
๐ Bug Fixes
- Properly SerDes nested collections when protocol_version < 3 (PYTHON-215)
- Evict UDTs from UserType cache on change (PYTHON-226)
- ๐ Make sure query strings are always encoded UTF-8 (PYTHON-334)
- Track previous value of columns at instantiation in CQLengine (PYTHON-348)
- UDT CQL encoding does not work for unicode values (PYTHON-353)
- NetworkTopologyStrategy#make_token_replica_map does not account for multiple racks in a DC (PYTHON-378)
- Cython integer overflow on decimal type deserialization (PYTHON-433)
- ๐ป Query trace: if session hasn't been logged, query trace can throw exception (PYTHON-442)
-
v3.0.0.rc1 Changes
November 9, 2015
๐ Features
- ๐จ Process Modernized Schema Tables for Cassandra 3.0 (PYTHON-276, PYTHON-408, PYTHON-400, PYTHON-422)
- โ Remove deprecated features (PYTHON-292)
- Don't assign trace data to Statements (PYTHON-318)
- Normalize results return (PYTHON-368)
- ๐ Process Materialized View Metadata/Events (PYTHON-371)
- โ Remove blist as soft dependency (PYTHON-385)
- ๐ Change default consistency level to LOCAL_QUORUM (PYTHON-416)
- ๐ Normalize CQL query/export in metadata model (PYTHON-405)
๐ Bug Fixes
- Implementation of named arguments bind is non-pythonic (PYTHON-178)
- CQL encoding is incorrect for NaN and Infinity floats (PYTHON-282)
- โฌ๏ธ Protocol downgrade issue with C* 2.0.x, 2.1.x, and python3, with non-default logging (PYTHON-409)
- ValueError when accessing usertype with non-alphanumeric field names (PYTHON-413)
- NumpyProtocolHandler does not play well with PagedResult (PYTHON-430)
-
v2.7.2 Changes
September 14, 2015
๐ Bug Fixes
- Resolve CQL export error for UDF with zero parameters (PYTHON-392)
- โ Remove futures dep. for Python 3 (PYTHON-393)
- ๐ Avoid Python closure in cdef (supports earlier Cython compiler) (PYTHON-396)
- โ Unit test runtime issues (PYTHON-397,398)
-
v2.7.1 Changes
August 25, 2015
๐ Bug Fixes
- Explicitly include extension source files in Manifest
-
v2.7.0 Changes
August 25, 2015
Cython is introduced, providing compiled extensions for core modules, and โก๏ธ extensions for optimized results deserialization.
๐ Features
- ๐ General Performance Improvements for Throughput (PYTHON-283)
- ๐ Improve synchronous request performance with Timers (PYTHON-108)
- Enable C Extensions for PyPy Runtime (PYTHON-357)
- ๐จ Refactor SerDes functionality for pluggable interface (PYTHON-313)
- Cython SerDes Extension (PYTHON-377)
- Accept iterators/generators for execute_concurrent() (PYTHON-123)
- cythonize existing modules (PYTHON-342)
- Pure Python murmur3 implementation (PYTHON-363)
- ๐ Make driver tolerant of inconsistent metadata (PYTHON-370)
๐ Bug Fixes
- โฌ๏ธ Drop Events out-of-order Cause KeyError on Processing (PYTHON-358)
- โฌ๏ธ DowngradingConsistencyRetryPolicy doesn't check response count on write timeouts (PYTHON-338)
- Blocking connect does not use connect_timeout (PYTHON-381)
- Properly protect partition key in CQL export (PYTHON-375)
- โฑ Trigger error callbacks on timeout (PYTHON-294)