Skip to content

What's New in Version 0.12.0

November 4, 2025 4:43 PM UTC

Version 0.12.0 of the relationalai Python package is now available!

To upgrade, activate your virtual environment and run the following command:

Terminal window
pip install --upgrade relationalai
  • This release raises the minimum supported Python version for the relationalai package to Python 3.10 and updates the command-line framework dependency to Click 8.2.1. This lets us rely on a more modern, better-supported Python baseline and a newer CLI library, improving long-term stability and making it easier to deliver new features and fixes.

    What this means for you:

    • You now need Python 3.10 or later to install or upgrade to this version of relationalai. On Python 3.9, installation will fail with a message that Python 3.10+ is required.
    • If you cannot upgrade from Python 3.9 yet, please pin relationalai to a version released before this change.
    • If you manage CI or automation, update your pipelines to run on Python 3.10 or 3.11 instead of 3.9.
  • RelationalAI now installs with fewer dependencies by default. If you only use Snowflake, you can simply run pip install relationalai as before; Snowflake features and the CLI will continue to work, and you’ll benefit from a lighter, more reliable installation.

    If you use RAI Azure, you now need to explicitly enable legacy Azure support. When your configuration sets platform = "azure" and the required legacy package is missing, you’ll see a clear error message explaining what to do.

    To enable Azure support, install with the [legacy] extra:

    Terminal window
    pip install "relationalai[legacy]"

    Or, to upgrade your existing installation:

    Terminal window
    pip install --upgrade "relationalai[legacy]"

    This change prevents legacy RAI Azure-related issues from affecting Snowflake-only users, while giving RAI Azure users straightforward guidance to get the required components installed.

  • When a query takes longer than its allowed time, the Python client will clearly tell you what happened instead of quietly returning an empty result. In these cases, it raises a QueryTimeoutExceededException with a helpful message that includes how long the timeout was, the query or transaction ID (when available), and where your config file is located, along with guidance on how to increase query_timeout_mins. This makes it much easier to tell the difference between “no data found” and “the query ran out of time,” and helps you quickly adjust your settings or query as needed.

    You may want to update your code to catch this exception. For example, wrap your query calls in a try/except QueryTimeoutExceededException block and decide whether to treat a timeout as “no results,” retry with a higher timeout, or show an error to your users.