Skip to content

0.27.0

Compare
Choose a tag to compare
@amotl amotl released this 03 Jun 14:21
  • Added support for Python 3.9 and 3.10.
  • Dropped support for Python 3.4, 3.5 and 3.6.
  • Dropped support for SQLAlchemy 1.1 and 1.2.
  • Dropped support for CrateDB < 2.0.0.
  • Adjusted connect arguments to accept credentials within the HTTP URI.
  • Added support for enabling SSL using SQLAlchemy DB URI with parameter ?ssl=true.
  • Added support for SQLAlchemy 1.4
    Note: For learning about the transition to SQLAlchemy 1.4, we recommend the
    corresponding documentation What’s New in SQLAlchemy 1.4?.

Breaking changes

Other than the changes on dropping support for various EOL software components, there are two behavioral changes which might affect "userspace".

SSL certificate verification

The driver now verifies SSL certificates when connecting via HTTP by default. Previously, this setting defaulted to false. This setting can be changed via the verify_ssl_cert connection parameter.

Textual column expressions

SQLAlchemy 1.4 became stricter on some details. It requires to wrap CrateDB system columns like _score in a SQLAlchemy literal_column type. Before, it was possible to use a query like this::

session.query(Character.name, '_score')

It must now be written like::

session.query(Character.name, sa.literal_column('_score'))

Otherwise, SQLAlchemy will complain like::

sqlalchemy.exc.ArgumentError: Textual column expression '_score' should be
explicitly declared with text('_score'), or use column('_score') for more
specificity

Full Changelog: 0.26.0...0.27.0