Crate

Latest version: v0.35.2

Safety actively analyzes 630169 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 20 of 20

0.27.0

- 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**: https://github.com/crate/crate-python/compare/0.26.0...0.27.0

[CrateDB system columns]: https://crate.io/docs/crate/reference/en/4.8/general/ddl/system-columns.html
[SQLAlchemy literal_column]: https://docs.sqlalchemy.org/en/14/core/sqlelement.html#sqlalchemy.sql.expression.literal_column
[What’s New in SQLAlchemy 1.4?]: https://docs.sqlalchemy.org/en/14/changelog/migration_14.html

0.26.0

- Enabled TCP keepalive on socket level and support for setting socket options
when creating the connection. The supported options are:

- ``TCP_KEEPIDLE`` (overriding ``net.ipv4.tcp_keepalive_time``)
- ``TCP_KEEPINTVL`` (overriding ``net.ipv4.tcp_keepalive_intvl``)
- ``TCP_KEEPCNT`` (overriding ``net.ipv4.tcp_keepalive_probes``)

- Propagate connect parameter ``pool_size`` to urllib3 as ``maxsize`` parameter
in order to make the connection pool size configurable.


**Full Changelog**: https://github.com/crate/crate-python/compare/0.25.0...0.26.0

0.25.0

- Added support for the ``RETURNING`` clause to the SQLAlchemy dialect. This
requires CrateDB 4.2 or greater. In case you use any server side generated
columns in your primary key constraint with earlier CrateDB versions, you can
turn this feature off by passing ``implicit_returning=False`` in the
``create_engine()`` call.
- Added support for ``geo_point`` and ``geo_json`` types to the SQLAlchemy
dialect.

**Full Changelog**: https://github.com/crate/crate-python/compare/0.24.0...0.25.0

0.24.0

- Upgraded SQLAlchemy support to 1.3.
- Added ``backoff_factor`` in connection to configure retry interval.
- Added official Python 3.8 support.
- Made it so that the SQLAlchemy dialect is now aware of the return type of the
``date_trunc`` function.
- Added driver attribute, as SQLAlchemy relies on interfaces having that string for identification.


**Full Changelog**: https://github.com/crate/crate-python/compare/0.23.2...0.24.0

0.19.2

Page 20 of 20

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.