1.0.0
What's Changed
- BREAKING CHANGE: The SQLAlchemy dialect has been split off into
the sqlalchemy-cratedb package, see notice below. - Feature: Returned Python
datetimeobjects are now always timezone-aware,
using UTC by default.
It may be a breaking change for some users of the library that don't expect
to receive "aware" instead of "naive" Pythondatetimeobjects from now
on, i.e. instances with or without thetzinfoattribute set.
When notime_zoneinformation is specified when creating a database
connection or cursor,datetimeobjects will now use Coordinated
Universal Time (UTC), like CrateDB is storing timestamp values in this
format.
This update is coming from a deprecation of Python's
datetime.utcfromtimestamp(), which is effectively also phasing out
the use of "naive" timestamp objects in Python, in favor of using
timezone-aware objects, also to represent datetimes in UTC. - Feature: Configured DB API interface attribute
threadsafety = 1,
which signals "Threads may share the module, but not connections." - Feature: Added
error_traceto string representation of an Error,
to relay server stacktraces into exception messages. - Refactoring: The module namespace
crate.client.test_utilhas been
renamed tocrate.testing.util. - Error handling: At two spots in cursor / value converter handling, where
assertstatements have been used,ValueErrorexceptions are raised
now. - Python: Migrated to use "implicit namespace packages" instead of "declared
namespaces" for thecratenamespace package, seePEP 420_.
Note:
For learning about the transition to sqlalchemy-cratedb,
we recommend to read the enumeration of necessary migration steps
at Migrate from crate.client to sqlalchemy-cratedb.
Full Changelog: 0.35.2...1.0.0