> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plurai.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# SDK changelog

> What changed in each plurai SDK release that affects you, with breaking changes called out.

Releases that change behavior you rely on, newest first. Upgrade by installing the version your plugin release names; see
[Install the SDK](https://docs.plurai.ai/sdk/install.md#upgrade).

**1.0.0**

First public release

The first release of the Plurai simulation SDK, published on PyPI as `plurai-simulation-sdk`. The import name and
the command lines are `plurai`, `plurai-run-simulation` and `plurai-scan-contract`. The plugin pins the exact SDK
version it was tested with, so update the plugin to move to a new SDK version.

**Install**

* `pip install plurai-simulation-sdk`, on Python 3.12 or 3.13, on macOS, Linux and Windows.
* A small base install, with everything heavier as an extra: document readers, corpus extraction and one driver per
  source, local anonymization, and the LangSmith, Langfuse, Arize and Braintrust sinks. See [Install](https://docs.plurai.ai/sdk/install.md#extras).
* Your agent's environment needs `langchain-core` 1.3.3 or newer.

**Sign in**

* `plurai login` signs you in through your browser, creates a key for the organization you pick and saves it in
  `~/.plurai/credentials.json`. The key is never shown.
* `plurai login --status` shows the backend, the key's name and its expiry. `plurai logout` revokes the key and
  removes the file.
* For CI and machines without a browser, export `PLURAI_URL` and `PLURAI_TOKEN`. There is no URL or token flag. See
  [Sign in](https://docs.plurai.ai/sdk/overview.md#sign-in).

**Runs**

* `plurai-run-simulation` plays your scenarios against your agent, writes one folder per scenario and a
  `run_summary.json`, and prints the verdicts.
* One shared [exit code table](https://docs.plurai.ai/sdk/run-simulations.md#exit-codes) for all three command lines. A run that completed with
  failing evals exits `1`.
* Credit, capacity and outages stop a run cleanly with exit `20` and one plain sentence. Finished scenarios keep
  their verdicts; the rest are marked incomplete, never failed. A short outage is retried and costs no scenario.
* A hosted mock that can't answer stops the run with exit `11` and the fix, instead of finishing on stub answers.
* Ctrl-C exits `130` and keeps what was already written.
* `--command-run-id` groups the jobs of one command.

**Uploads and privacy**

* Every `plurai ingest-*` upload prints a disclosure first and is logged in `.plurai/uploads/audit.log`.
* With `anonymize: true`, personal data is replaced locally before upload, and the scrub fails closed.
* The SDK sends no telemetry. `plurai diagnose` prints a support bundle that never includes your token.

**Compatibility**

* The public names, the command-line flags, the exit codes, the credentials file, the `PLURAI_*` variables and the
  `plurai capabilities` keys stay compatible within a major version. See the [stability contract](https://docs.plurai.ai/sdk/overview.md#stability-contract).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.