Skip to content

1.0.0

Latest
Compare
Choose a tag to compare
@amotl amotl released this 06 Nov 12:22
· 2 commits to main since this release

What's Changed

  • BREAKING CHANGE: The SQLAlchemy dialect has been split off into
    the sqlalchemy-cratedb package, see notice below.
  • Feature: Returned Python datetime objects 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" Python datetime objects from now
    on, i.e. instances with or without the tzinfo attribute set.
    When no time_zone information is specified when creating a database
    connection or cursor, datetime objects 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_trace to string representation of an Error,
    to relay server stacktraces into exception messages.
  • Refactoring: The module namespace crate.client.test_util has been
    renamed to crate.testing.util.
  • Error handling: At two spots in cursor / value converter handling, where
    assert statements have been used, ValueError exceptions are raised
    now.
  • Python: Migrated to use "implicit namespace packages" instead of "declared
    namespaces" for the crate namespace package, see PEP 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