<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>SDK changelog</title>
<link>https://docs.everruns.com/changelog/sdk/</link>
<atom:link href="https://docs.everruns.com/changelog/sdk/rss.xml" rel="self" type="application/rss+xml"/>
<description>What changed in SDK, one short entry per change.</description>
<language>en</language>
<lastBuildDate>Sun, 11 Oct 2026 00:00:00 GMT</lastBuildDate>
<item><title>SDK 0.3.0 release</title><link>https://docs.everruns.com/changelog/2026-10-11-sdk-0-3-0/</link><guid isPermaLink="true">https://docs.everruns.com/changelog/2026-10-11-sdk-0-3-0/</guid><pubDate>Sun, 11 Oct 2026 00:00:00 GMT</pubDate><description>SDKs default to the Everruns Cloud API URL, record why a change was made, and add an AgentClient for calling one agent through the Agent API.</description><content:encoded><![CDATA[<div class="sl-heading-wrapper level-h2"><h2 id="highlights">Highlights</h2><a class="sl-anchor-link" href="#highlights"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 1 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 0 0-1.42-1.42m8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 1 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l3.88-3.89a4.49 4.49 0 0 0 0-6.33M8.83 15.17a1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.92-4.92a1 1 0 1 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “Highlights”</span></a></div>
<ul>
<li>New <code dir="auto">AgentClient</code> in the Python, TypeScript, and Rust SDKs for calling one agent through the Agent Execution API with an agent key (<code dir="auto">EVERRUNS_AGENT_URL</code> / <code dir="auto">EVERRUNS_AGENT_KEY</code>). It covers <code dir="auto">run()</code>, sessions, events and SSE streaming, cancel, questions, tool approvals, runtime tokens, <code dir="auto">for_end_user</code>, and idempotency keys. The management client is now deprecated in favor of <code dir="auto">AgentClient</code>.</li>
<li>Change reasons: all SDKs gain <code dir="auto">with_reason</code> / <code dir="auto">withReason</code>, a derived client that sends the <code dir="auto">Everruns-Change-Reason</code> header so the server records the reason in entity change history.</li>
<li>The default base URL is now Everruns Cloud (<code dir="auto">https://app.everruns.com/api</code>) instead of a placeholder, so a client created with only <code dir="auto">EVERRUNS_API_KEY</code> works. <code dir="auto">EVERRUNS_API_URL</code> still overrides it for self-hosted.</li>
<li>Docs: how to connect an AG-UI client to an Everruns endpoint.</li>
<li>OpenAPI examples no longer name the sunset Claude Sonnet 4.5.</li>
</ul>
<div class="sl-heading-wrapper level-h2"><h2 id="in-the-changelog">In the changelog</h2><a class="sl-anchor-link" href="#in-the-changelog"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 1 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 0 0-1.42-1.42m8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 1 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l3.88-3.89a4.49 4.49 0 0 0 0-6.33M8.83 15.17a1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.92-4.92a1 1 0 1 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “In the changelog”</span></a></div>
<ul>
<li><a href="https://docs.everruns.com/changelog/2026-10-02-sdk-default-cloud-base-url/">Everruns SDKs default to the Everruns Cloud API URL</a></li>
<li><a href="https://docs.everruns.com/changelog/2026-10-08-sdk-change-reasons/">Everruns SDKs record why a change was made</a></li>
<li><a href="https://docs.everruns.com/changelog/2026-10-10-sdk-agent-client/">Everruns SDKs add AgentClient to call one agent with a key</a></li>
</ul>
<p>See the <a href="https://github.com/everruns/sdk/releases/tag/v0.3.0">GitHub release</a> and the <a href="https://github.com/everruns/sdk/blob/main/CHANGELOG.md#030---2026-10-11">full release notes</a> for every pull request in this version.</p>]]></content:encoded><category>SDK</category><category>Release</category></item>
<item><title>Everruns SDKs add AgentClient to call one agent with a key</title><link>https://docs.everruns.com/changelog/2026-10-10-sdk-agent-client/</link><guid isPermaLink="true">https://docs.everruns.com/changelog/2026-10-10-sdk-agent-client/</guid><pubDate>Sat, 10 Oct 2026 00:00:00 GMT</pubDate><description>The Python, TypeScript and Rust SDKs gain AgentClient, which calls a single agent through the Agent Execution API with an agent key, including SSE streaming.</description><content:encoded><![CDATA[<p><code dir="auto">AgentClient</code> in the Python, TypeScript and Rust SDKs calls one agent through the
Agent Execution API with an agent key (<code dir="auto">evr_ak_...</code>). It reads
<code dir="auto">EVERRUNS_AGENT_URL</code> and <code dir="auto">EVERRUNS_AGENT_KEY</code> and covers <code dir="auto">run()</code>, sessions,
messages, events with SSE streaming, cancel, questions, tool approvals, runtime
tokens, <code dir="auto">for_end_user</code> and idempotency keys.</p>
<div class="expressive-code"><link rel="stylesheet" href="https://docs.everruns.com/_astro/ec.aiyd6.css"><script type="module" src="https://docs.everruns.com/_astro/ec.0vx5m.js"></script><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="python" class="wrap" style="--ecMaxLine:57ch"><code><div class="ec-line"><div class="code"><span style="--0:#BF3441;--1:#F97583">from</span><span style="--0:#24292E;--1:#E1E4E8"> everruns_sdk </span><span style="--0:#BF3441;--1:#F97583">import</span><span style="--0:#24292E;--1:#E1E4E8"> AgentClient</span></div></div><div class="ec-line"><div class="code">
</div></div><div class="ec-line"><div class="code"><span style="--0:#24292E;--1:#E1E4E8">agent </span><span style="--0:#BF3441;--1:#F97583">=</span><span style="--0:#24292E;--1:#E1E4E8"> AgentClient()</span></div></div><div class="ec-line"><div class="code"><span style="--0:#005CC5;--1:#79B8FF">print</span><span style="--0:#24292E;--1:#E1E4E8">(</span><span style="--0:#BF3441;--1:#F97583">await</span><span style="--0:#24292E;--1:#E1E4E8"> agent.run(</span><span style="--0:#032F62;--1:#9ECBFF">"What is the status of order 42?"</span><span style="--0:#24292E;--1:#E1E4E8">))</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="from everruns_sdk import AgentClientagent = AgentClient()print(await agent.run(&#x22;What is the status of order 42?&#x22;))"><div></div></button></div></figure></div>
<p>Calling an agent through the management client’s <code dir="auto">sessions.create</code> and
<code dir="auto">messages.create</code> still works but is deprecated: Python warns once, and
TypeScript marks the methods <code dir="auto">@deprecated</code>.</p>
<p>See <a href="https://docs.everruns.com/how-to/call-your-agent-from-code/">Call your agent from code</a>, <a href="https://docs.everruns.com/features/sdk/">SDKs</a> and <a href="https://github.com/everruns/sdk/pull/116">#116</a>.</p>]]></content:encoded><category>SDK</category><category>Feature</category></item>
<item><title>Everruns SDKs record why a change was made</title><link>https://docs.everruns.com/changelog/2026-10-08-sdk-change-reasons/</link><guid isPermaLink="true">https://docs.everruns.com/changelog/2026-10-08-sdk-change-reasons/</guid><pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate><description>All three Everruns SDKs add with_reason, a derived client that sends a change reason the server stores in the changed entity's change history.</description><content:encoded><![CDATA[<p>Rust, Python and TypeScript clients gain <code dir="auto">with_reason</code> (<code dir="auto">withReason</code> in
TypeScript). It returns a derived client that sends the reason in the
<code dir="auto">Everruns-Change-Reason</code> header with every request, and the server stores it in
the changed entity’s history. The original client is unchanged, and a blank
reason sends no header.</p>
<div class="expressive-code"><link rel="stylesheet" href="https://docs.everruns.com/_astro/ec.aiyd6.css"><script type="module" src="https://docs.everruns.com/_astro/ec.0vx5m.js"></script><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="python" class="wrap" style="--ecMaxLine:78ch"><code><div class="ec-line"><div class="code"><span style="--0:#BF3441;--1:#F97583">await</span><span style="--0:#24292E;--1:#E1E4E8"> client.with_reason(</span><span style="--0:#032F62;--1:#9ECBFF">"retire the unused agent"</span><span style="--0:#24292E;--1:#E1E4E8">).agents.delete(</span><span style="--0:#032F62;--1:#9ECBFF">"agent_123"</span><span style="--0:#24292E;--1:#E1E4E8">)</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="await client.with_reason(&#x22;retire the unused agent&#x22;).agents.delete(&#x22;agent_123&#x22;)"><div></div></button></div></figure></div>
<p>The server rejects a reason longer than 1000 characters, one with control
characters other than newline and tab, or one that looks like a credential,
with HTTP 400 <code dir="auto">invalid_change_reason</code>.</p>
<p>See <a href="https://docs.everruns.com/features/change-history/">Change history</a>, <a href="https://docs.everruns.com/features/sdk/">SDKs</a> and <a href="https://github.com/everruns/sdk/pull/115">#115</a>.</p>]]></content:encoded><category>SDK</category><category>Feature</category></item>
<item><title>Everruns SDKs default to the Everruns Cloud API URL</title><link>https://docs.everruns.com/changelog/2026-10-02-sdk-default-cloud-base-url/</link><guid isPermaLink="true">https://docs.everruns.com/changelog/2026-10-02-sdk-default-cloud-base-url/</guid><pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate><description>An Everruns SDK client created with only EVERRUNS_API_KEY now reaches Everruns Cloud instead of a placeholder URL; EVERRUNS_API_URL still overrides it.</description><content:encoded><![CDATA[<p>The Python, TypeScript and Rust SDKs defaulted to the placeholder
<code dir="auto">https://custom.example.com/api</code>, so a client created with only
<code dir="auto">EVERRUNS_API_KEY</code> could not reach anything. The default is now
<code dir="auto">https://app.everruns.com/api</code>.</p>
<p>Self-hosted deployments keep pointing the client at their server with
<code dir="auto">EVERRUNS_API_URL</code>:</p>
<div class="expressive-code"><link rel="stylesheet" href="https://docs.everruns.com/_astro/ec.aiyd6.css"><script type="module" src="https://docs.everruns.com/_astro/ec.0vx5m.js"></script><figure class="frame is-terminal not-content"><figcaption class="header"><span class="title"></span><span class="sr-only">Terminal window</span></figcaption><pre data-language="bash" class="wrap" style="--ecMaxLine:61ch"><code><div class="ec-line"><div class="code"><span style="--0:#BF3441;--1:#F97583">export</span><span style="--0:#24292E;--1:#E1E4E8"> EVERRUNS_API_URL</span><span style="--0:#BF3441;--1:#F97583">=</span><span style="--0:#24292E;--1:#E1E4E8">https://everruns.example.internal/api</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="export EVERRUNS_API_URL=https://everruns.example.internal/api"><div></div></button></div></figure></div>
<p>See <a href="https://docs.everruns.com/features/sdk/">SDKs</a> and <a href="https://github.com/everruns/sdk/pull/114">#114</a>.</p>]]></content:encoded><category>SDK</category><category>Fix</category></item>
<item><title>Everruns Rust SDK can use native TLS for smaller binaries</title><link>https://docs.everruns.com/changelog/2026-08-19-sdk-rust-native-tls-feature/</link><guid isPermaLink="true">https://docs.everruns.com/changelog/2026-08-19-sdk-rust-native-tls-feature/</guid><pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate><description>TLS in the Everruns Rust SDK is now a Cargo feature: keep the default rustls-tls or pick native-tls, which cuts a minimal client from 6.5 MiB to 3.0 MiB.</description><content:encoded><![CDATA[<p>TLS in the <code dir="auto">everruns-sdk</code> crate is now a Cargo feature. The default
<code dir="auto">rustls-tls</code> bundles rustls and needs no system TLS library. <code dir="auto">native-tls</code> links
the platform TLS stack instead, which needs OpenSSL or the platform equivalent
on the build and target machines.</p>
<div class="expressive-code"><link rel="stylesheet" href="https://docs.everruns.com/_astro/ec.aiyd6.css"><script type="module" src="https://docs.everruns.com/_astro/ec.0vx5m.js"></script><figure class="frame not-content"><figcaption class="header"></figcaption><pre data-language="toml" class="wrap" style="--ecMaxLine:87ch"><code><div class="ec-line"><div class="code"><span style="--0:#24292E;--1:#E1E4E8">everruns-sdk = { version = </span><span style="--0:#032F62;--1:#9ECBFF">"0.2"</span><span style="--0:#24292E;--1:#E1E4E8">, default-features = </span><span style="--0:#005CC5;--1:#79B8FF">false</span><span style="--0:#24292E;--1:#E1E4E8">, features = [</span><span style="--0:#032F62;--1:#9ECBFF">"native-tls"</span><span style="--0:#24292E;--1:#E1E4E8">] }</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="everruns-sdk = { version = &#x22;0.2&#x22;, default-features = false, features = [&#x22;native-tls&#x22;] }"><div></div></button></div></figure></div>
<p>On a minimal client that creates a session and streams events, a stripped
release build is 6.5 MiB with <code dir="auto">rustls-tls</code> and 3.0 MiB with <code dir="auto">native-tls</code>.
Leaner tokio, futures and reqwest feature sets also trim the default build, and
the SDK moves to reqwest 0.13.</p>
<p>See <a href="https://docs.everruns.com/features/sdk/">SDKs</a>, <a href="https://github.com/everruns/sdk/pull/110">#110</a> and <a href="https://github.com/everruns/sdk/pull/109">#109</a>.</p>]]></content:encoded><category>SDK</category><category>Improvement</category></item>
<item><title>SDK 0.2.1 release</title><link>https://docs.everruns.com/changelog/2026-08-19-sdk-0-2-1/</link><guid isPermaLink="true">https://docs.everruns.com/changelog/2026-08-19-sdk-0-2-1/</guid><pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate><description>The Rust SDK can use native TLS for smaller binaries and moves to reqwest 0.13, with dependency and security updates across all three SDKs.</description><content:encoded><![CDATA[<div class="sl-heading-wrapper level-h2"><h2 id="highlights">Highlights</h2><a class="sl-anchor-link" href="#highlights"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 1 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 0 0-1.42-1.42m8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 1 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l3.88-3.89a4.49 4.49 0 0 0 0-6.33M8.83 15.17a1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.92-4.92a1 1 0 1 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “Highlights”</span></a></div>
<ul>
<li>Rust SDK footprint trimmed for consumer binaries: leaner tokio/futures/reqwest feature sets, and TLS is now a Cargo feature (default <code dir="auto">rustls-tls</code>, or <code dir="auto">native-tls</code> for a much smaller binary).</li>
<li>Rust SDK upgraded to reqwest 0.13.</li>
<li>Dependency and security updates across all SDKs.</li>
<li>Documentation polish: Everruns logo in the README, plainer punctuation in prose.</li>
</ul>
<div class="sl-heading-wrapper level-h2"><h2 id="in-the-changelog">In the changelog</h2><a class="sl-anchor-link" href="#in-the-changelog"><span aria-hidden="true" class="sl-anchor-icon"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="m12.11 15.39-3.88 3.88a2.52 2.52 0 0 1-3.5 0 2.47 2.47 0 0 1 0-3.5l3.88-3.88a1 1 0 1 0-1.42-1.42l-3.88 3.89a4.48 4.48 0 0 0 6.33 6.33l3.89-3.88a1 1 0 0 0-1.42-1.42m8.58-12.08a4.49 4.49 0 0 0-6.33 0l-3.89 3.88a1 1 0 1 0 1.42 1.42l3.88-3.88a2.52 2.52 0 0 1 3.5 0 2.47 2.47 0 0 1 0 3.5l-3.88 3.88a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l3.88-3.89a4.49 4.49 0 0 0 0-6.33M8.83 15.17a1 1 0 0 0 .71.29 1 1 0 0 0 .71-.29l4.92-4.92a1 1 0 1 0-1.42-1.42l-4.92 4.92a1 1 0 0 0 0 1.42"></path></svg></span><span class="sr-only" data-pagefind-ignore="">Section titled “In the changelog”</span></a></div>
<ul>
<li><a href="https://docs.everruns.com/changelog/2026-08-19-sdk-rust-native-tls-feature/">Everruns Rust SDK can use native TLS for smaller binaries</a></li>
</ul>
<p>See the <a href="https://github.com/everruns/sdk/releases/tag/v0.2.1">GitHub release</a> and the <a href="https://github.com/everruns/sdk/blob/main/CHANGELOG.md#021---2026-08-19">full release notes</a> for every pull request in this version.</p>]]></content:encoded><category>SDK</category><category>Release</category></item>
</channel>
</rss>