Skip to content

What's New in Version 1.23.1

July 22, 20267:36 PM UTC

Version 1.23.1 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
  • A new project you create with rai models init now deploys to Snowflake without you having to add a refresh schedule by hand. Before this release, rai models deploy failed on a brand-new project with an Unscheduled Outputs error, because the generated raiconfig.yaml didn’t say how often to refresh the deployed tables and views. The config now includes a default refresh schedule with interval_s: 0, which refreshes the outputs each time you deploy but not on a fixed interval, so the deploy succeeds.
  • If you haven’t filled in your Snowflake connection details yet, PyRel now stops with a clear error message naming the values you need to fill in, instead of a confusing raw Snowflake error. For example, a new project’s raiconfig.yaml might still have the placeholder account: myorg-myaccount. PyRel runs this check the first time it opens a Snowflake connection, so you see the message early, whether you run a script, run a query, or deploy your model.

  • The rai debugger can now open the logs from large programs without freezing. The debugger also has a new Collapse all button that closes every open section at once, and opening one section no longer expands the other sections with the same name.

  • Pulling or merging a shared model now correctly rebuilds models that earlier releases could rebuild incorrectly. When you run rai models pull or rai models merge, PyRel regenerates the shared model’s code from your team’s changes. Before this release, pull and merging a shared a model could sometimes result in models that failed to build.

  • You can now call solve() again on the same prescriptive Problem while asking for fewer of its optional sensitivity and conflict results. Before this release, re-solving without a sensitivity or conflict result you had requested earlier raised an error. Now the re-solve succeeds. On current RelationalAI platform versions, it also clears the results you no longer request, so you don’t see stale numbers from an earlier solve. You still can’t switch between a plain solve and a sensitivity or conflict solve on the same Problem. Create a new Problem for that.