<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Tempr changelog</title>
  <subtitle>What's new in Tempr: every release of the Tempr Gateway, the VS Code, JetBrains and Visual Studio extensions, the CLI and the Portal, newest first.</subtitle>
  <id>https://temprhq.io/changelog</id>
  <link rel="alternate" type="text/html" href="https://temprhq.io/changelog"/>
  <link rel="self" type="application/atom+xml" href="https://temprhq.io/changelog.xml"/>
  <icon>https://temprhq.io/assets/favicon.svg</icon>
  <author><name>Tempr</name><uri>https://temprhq.io/</uri></author>
  <updated>2026-09-22T00:00:00Z</updated>
  <entry>
    <title>Gateway update, Sep 22, 2026</title>
    <id>https://temprhq.io/changelog#gateway-2026-09-22</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#gateway-2026-09-22"/>
    <updated>2026-09-22T00:00:00Z</updated>
    <category term="gateway" label="Gateway"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Other labs' reasoning on &lt;code&gt;/v1/messages&lt;/code&gt;&lt;/strong&gt; — when a Messages API request runs on a model that reasons outside Claude, such as DeepSeek, Z.AI, Moonshot or Xiaomi MiMo, its reasoning now comes back as a &lt;code&gt;thinking&lt;/code&gt; block ahead of the text and tool calls, with &lt;code&gt;thinking_delta&lt;/code&gt; events when streaming. Those blocks carry the signature &lt;code&gt;tempr:reasoning&lt;/code&gt;. Send them back unchanged, as Claude Code does, and models that need their earlier reasoning across tool calls get it back as &lt;code&gt;reasoning_content&lt;/code&gt;. When a later turn goes to Claude, Tempr leaves these blocks out, because Claude would reject their signature. See the &lt;a href=&quot;https://temprhq.io/docs/gateway-chat-completions&quot;&gt;Messages API section&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Perplexity&lt;/strong&gt; now runs on Perplexity's Agent API, which replaces the Sonar chat completions it retires on 2026-09-27. Perplexity already refuses Sonar requests from newer API keys. The models are now its presets: &lt;code&gt;perplexity/fast&lt;/code&gt;, &lt;code&gt;low&lt;/code&gt;, &lt;code&gt;medium&lt;/code&gt;, &lt;code&gt;high&lt;/code&gt; and &lt;code&gt;xhigh&lt;/code&gt;. The Sonar ids keep working, including in virtual-key allowlists, and run as the matching preset: &lt;code&gt;sonar&lt;/code&gt; as &lt;code&gt;fast&lt;/code&gt;, &lt;code&gt;sonar-pro&lt;/code&gt; as &lt;code&gt;low&lt;/code&gt;, &lt;code&gt;sonar-reasoning-pro&lt;/code&gt; as &lt;code&gt;medium&lt;/code&gt;, &lt;code&gt;sonar-deep-research&lt;/code&gt; as &lt;code&gt;high&lt;/code&gt;. Answers still return &lt;code&gt;citations&lt;/code&gt; and &lt;code&gt;search_results&lt;/code&gt; as Sonar did. Usage is billed at the cost Perplexity reports, which includes its web-search fees, and is returned as &lt;code&gt;usage.cost&lt;/code&gt;. Presets set their own reasoning, so these models don't offer a reasoning level. See &lt;a href=&quot;https://temprhq.io/docs/providers#perplexity&quot;&gt;Perplexity&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Claude's thinking blocks on &lt;code&gt;/v1/messages&lt;/code&gt; now keep Claude's own signature when Tempr translates the request: Claude on AWS Bedrock, OpenRouter's &lt;code&gt;anthropic/…&lt;/code&gt; models, and Anthropic models with response caching. Claude 4.7 and later, whose thinking text is empty, now return their block instead of none, and redacted thinking comes back as a &lt;code&gt;redacted_thinking&lt;/code&gt; block. Blocks you send back reach Claude on the next turn, so its reasoning carries through a tool call.&lt;/li&gt;&lt;li&gt;When Claude on AWS Bedrock or OpenRouter rejects a thinking block's signature sent back in a later turn, Tempr now retries once without that thinking instead of returning the 400, as it already did for Anthropic.&lt;/li&gt;&lt;li&gt;A response-cache hit for a request that was first answered as a stream now replays the model's reasoning along with the answer.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>VS Code 1.1.7</title>
    <id>https://temprhq.io/changelog#vscode-1-1-7</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#vscode-1-1-7"/>
    <updated>2026-09-22T00:00:00Z</updated>
    <category term="vscode" label="VS Code"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Perplexity's Sonar models are now its Agent API presets&lt;/strong&gt;, &lt;code&gt;perplexity/fast&lt;/code&gt;, &lt;code&gt;low&lt;/code&gt;, &lt;code&gt;medium&lt;/code&gt;, &lt;code&gt;high&lt;/code&gt; and &lt;code&gt;xhigh&lt;/code&gt;, since Perplexity retires Sonar chat completions on 2026-09-27. A Sonar model you had picked moves to its replacement by itself, so it stays selected: &lt;code&gt;sonar&lt;/code&gt; becomes &lt;code&gt;fast&lt;/code&gt;, &lt;code&gt;sonar-pro&lt;/code&gt; becomes &lt;code&gt;low&lt;/code&gt;, &lt;code&gt;sonar-reasoning-pro&lt;/code&gt; becomes &lt;code&gt;medium&lt;/code&gt;, and &lt;code&gt;sonar-deep-research&lt;/code&gt; becomes &lt;code&gt;high&lt;/code&gt;. That covers your chat model, inline-completion model, per-agent models and each saved chat's model.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;The extension's Marketplace description now says what it does with your data: requests go through Tempr's server to the model you picked, on your own provider key, and chat history syncs to your Tempr account unless you turn Cloud sync off. It used to say chat history stayed on your machine. It also lists Teams plans as available, from $35 per seat per month (10-seat minimum), instead of coming soon.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>JetBrains 1.1.7</title>
    <id>https://temprhq.io/changelog#jetbrains-1-1-7</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#jetbrains-1-1-7"/>
    <updated>2026-09-22T00:00:00Z</updated>
    <category term="jetbrains" label="JetBrains"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Perplexity's Sonar models are now its Agent API presets&lt;/strong&gt;, &lt;code&gt;perplexity/fast&lt;/code&gt;, &lt;code&gt;low&lt;/code&gt;, &lt;code&gt;medium&lt;/code&gt;, &lt;code&gt;high&lt;/code&gt; and &lt;code&gt;xhigh&lt;/code&gt;, since Perplexity retires Sonar chat completions on 2026-09-27. A Sonar model you had picked moves to its replacement by itself, so it stays selected: &lt;code&gt;sonar&lt;/code&gt; becomes &lt;code&gt;fast&lt;/code&gt;, &lt;code&gt;sonar-pro&lt;/code&gt; becomes &lt;code&gt;low&lt;/code&gt;, &lt;code&gt;sonar-reasoning-pro&lt;/code&gt; becomes &lt;code&gt;medium&lt;/code&gt;, and &lt;code&gt;sonar-deep-research&lt;/code&gt; becomes &lt;code&gt;high&lt;/code&gt;. That covers your chat model, inline-completion model and per-agent models.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;The plugin's Marketplace description now says what it does with your data: requests go through Tempr's server to the model you picked, on your own provider key; chat history syncs to your Tempr account unless you turn Cloud sync off; and error reports are sent automatically unless you turn them off. It used to say chat history stayed on your machine.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>JetBrains 1.1.6</title>
    <id>https://temprhq.io/changelog#jetbrains-1-1-6</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#jetbrains-1-1-6"/>
    <updated>2026-09-22T00:00:00Z</updated>
    <category term="jetbrains" label="JetBrains"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Cloud sync switch&lt;/strong&gt; — Tempr Settings now has a Cloud sync switch in the Account card. Turn it off and Tempr stops storing your chats, custom agents and tool preferences on your Tempr account; your chats stay on this machine. The switch belongs to your account, so it covers every machine and every Tempr extension signed in to it, and you can also change it in the Tempr Portal. Turning it off offers to delete what's already stored, and &lt;strong&gt;Delete synced data&lt;/strong&gt; does that at any time. Sync stays on unless you turn it off.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Visual Studio 2.2.31</title>
    <id>https://temprhq.io/changelog#visual-studio-2-2-31</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#visual-studio-2-2-31"/>
    <updated>2026-09-22T00:00:00Z</updated>
    <category term="visual-studio" label="Visual Studio"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Perplexity's Sonar models are now its Agent API presets&lt;/strong&gt;, &lt;code&gt;perplexity/fast&lt;/code&gt;, &lt;code&gt;low&lt;/code&gt;, &lt;code&gt;medium&lt;/code&gt;, &lt;code&gt;high&lt;/code&gt; and &lt;code&gt;xhigh&lt;/code&gt;, since Perplexity retires Sonar chat completions on 2026-09-27. A Sonar model you had picked moves to its replacement on its own, so it stays selected: &lt;code&gt;sonar&lt;/code&gt; becomes &lt;code&gt;fast&lt;/code&gt;, &lt;code&gt;sonar-pro&lt;/code&gt; becomes &lt;code&gt;low&lt;/code&gt;, &lt;code&gt;sonar-reasoning-pro&lt;/code&gt; becomes &lt;code&gt;medium&lt;/code&gt;, and &lt;code&gt;sonar-deep-research&lt;/code&gt; becomes &lt;code&gt;high&lt;/code&gt;. That covers your chat model, inline-completion model and per-persona models.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Visual Studio 2.2.30</title>
    <id>https://temprhq.io/changelog#visual-studio-2-2-30</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#visual-studio-2-2-30"/>
    <updated>2026-09-22T00:00:00Z</updated>
    <category term="visual-studio" label="Visual Studio"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Cloud sync switch&lt;/strong&gt; — Tools &amp;gt; Options &amp;gt; Tempr &amp;gt; General has a new setting, &lt;strong&gt;Sync chats and settings to your Tempr account&lt;/strong&gt;. Turn it off and Tempr stops storing your chats, tool preferences, custom agents and code search index on your Tempr account. Your chats stay on this machine. The setting belongs to your account, so it covers every machine and every Tempr extension signed in to it, and it takes effect as soon as you change it. When you turn it off, Tempr asks whether to also delete what's already stored. &lt;strong&gt;Delete synced data...&lt;/strong&gt; does that at any time and ends any share links. Sync stays on unless you turn it off.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Your solution's code search index never reached your Tempr account: every upload failed without a message. Uploads now work, and each solution's existing local index is uploaded once. Until the synced index has caught up, search keeps ranking with the index on your machine, so results never get worse while it fills.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>CLI 0.9.1</title>
    <id>https://temprhq.io/changelog#cli-0-9-1</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#cli-0-9-1"/>
    <updated>2026-09-22T00:00:00Z</updated>
    <category term="cli" label="CLI"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;An unknown flag is an error&lt;/strong&gt; — a mistyped option such as &lt;code&gt;--aproval-mode bypass&lt;/code&gt; now stops with &amp;quot;Unknown option&amp;quot; and exit code 2. Before, the CLI dropped it silently and ran anyway, in this case in the default approval mode. To send a prompt that starts with a dash, put &lt;code&gt;--&lt;/code&gt; before it.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;A command line that doesn't parse, such as an extra word after the prompt, now exits 2 as documented. It exited 255 (127 from Git Bash).&lt;/li&gt;&lt;li&gt;A run whose saved session can't be used, because it has no token or expired and couldn't be refreshed, now exits 3 (not signed in) instead of 1.&lt;/li&gt;&lt;li&gt;When &lt;code&gt;tempr doctor&lt;/code&gt; can't reach the server, it now names the variable that sets it, &lt;code&gt;TEMPRAPP_SERVER_URL&lt;/code&gt; (or &lt;code&gt;serverUrl&lt;/code&gt; in &lt;code&gt;config.json&lt;/code&gt;). It named &lt;code&gt;TEMPR_SERVER_URL&lt;/code&gt;, which the CLI doesn't read.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Gateway update, Sep 21, 2026</title>
    <id>https://temprhq.io/changelog#gateway-2026-09-21</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#gateway-2026-09-21"/>
    <updated>2026-09-21T00:00:00Z</updated>
    <category term="gateway" label="Gateway"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;code&gt;POST /v1/embeddings&lt;/code&gt;&lt;/strong&gt; — OpenAI's embeddings API on your own provider keys: OpenAI, Azure OpenAI, Azure AI Foundry, Google, Mistral, Cohere, AWS Bedrock (Titan Text and Cohere Embed), DeepInfra, Together AI, Fireworks AI, Nscale, OpenRouter and custom models. &lt;code&gt;encoding_format: &amp;quot;base64&amp;quot;&lt;/code&gt; works on every provider, and &lt;code&gt;input_type&lt;/code&gt; passes the document or query hint to Cohere and Gemini. The same keys, allowlists, limits, budgets, fallback chains and request logs apply as for chat, and cost is input tokens only. See &lt;a href=&quot;https://temprhq.io/docs/gateway-embeddings&quot;&gt;Embeddings&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;OpenAI's pro and codex models&lt;/strong&gt; — OpenAI serves models such as &lt;code&gt;gpt-5-pro&lt;/code&gt;, &lt;code&gt;o3-pro&lt;/code&gt; and &lt;code&gt;gpt-5.3-codex&lt;/code&gt; only on its Responses API, so they used to fail on &lt;code&gt;/v1/chat/completions&lt;/code&gt; and &lt;code&gt;/v1/messages&lt;/code&gt;. Tempr now bridges those calls to the Responses API and back, streaming included.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Xiaomi MiMo v2.6&lt;/strong&gt; — MiMo v2.6 models are listed and priced.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;code&gt;/v1/models&lt;/code&gt; lists chat models only by default&lt;/strong&gt; — tools that fill a chat model picker from it no longer get embedding models. Add &lt;code&gt;?type=embedding&lt;/code&gt; for the embedding models, or &lt;code&gt;?type=all&lt;/code&gt; for both. Each model now has a &lt;code&gt;type&lt;/code&gt; of &lt;code&gt;language&lt;/code&gt; or &lt;code&gt;embedding&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Reasoning effort &lt;code&gt;max&lt;/code&gt; on newer OpenAI models&lt;/strong&gt; — &lt;code&gt;gpt-5.6&lt;/code&gt;, its &lt;code&gt;luna&lt;/code&gt;, &lt;code&gt;sol&lt;/code&gt; and &lt;code&gt;terra&lt;/code&gt; variants, and &lt;code&gt;gpt-6-astra&lt;/code&gt; take &lt;code&gt;max&lt;/code&gt; only on OpenAI's Responses API. A request at &lt;code&gt;max&lt;/code&gt; now goes there, and gets the deepest reasoning, instead of quietly running at the model's default.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Function tools on those models&lt;/strong&gt; — a request with function tools and reasoning on now goes straight to the Responses API. The same model's other requests stay on chat completions, where parameters like &lt;code&gt;stop&lt;/code&gt; and &lt;code&gt;seed&lt;/code&gt; still apply.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;When a provider rejects the reasoning level you asked for, Tempr now retries at the nearest level the provider lists instead of dropping reasoning altogether. &lt;code&gt;x-tempr-reasoning-effort&lt;/code&gt; reports what the retry sent.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;OpenAI models past their shutdown date, and OpenAI's completions-only models, are no longer listed.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;Xiaomi's speech and transcription models are no longer listed, since they don't chat.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-deprecated cl-extra&quot;&gt;Deprecated&lt;/h4&gt;&lt;ul&gt;&lt;li class=&quot;cl-extra&quot;&gt;&lt;strong&gt;Xiaomi MiMo v2.5&lt;/strong&gt; — &lt;code&gt;mimo-v2.5&lt;/code&gt; and &lt;code&gt;mimo-v2.5-pro&lt;/code&gt; stop working at Xiaomi on 2026-10-21 at 02:00 UTC and leave the model list then. Move to MiMo v2.6.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed cl-extra&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li class=&quot;cl-extra&quot;&gt;Tool calls from Google's Gemini and Gemma models came back with &lt;code&gt;finish_reason: &amp;quot;stop&amp;quot;&lt;/code&gt; (&lt;code&gt;end_turn&lt;/code&gt; on &lt;code&gt;/v1/messages&lt;/code&gt;), so agent loops ended the turn instead of running the tool. They now return &lt;code&gt;tool_calls&lt;/code&gt; (&lt;code&gt;tool_use&lt;/code&gt;).&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;Turning reasoning off for Gemma 4 on the Gemini API failed with a 400, and turning it on had no effect. Both now work.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;A connection to a provider that dropped before it answered ended in a 500. Tempr now retries it like a provider 5xx, and then answers &lt;code&gt;502 upstream_unreachable&lt;/code&gt;, so fallback chains and backup keys take over.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;Usage on Xiaomi MiMo models was recorded at $0. It's now priced.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;&lt;code&gt;/v1/messages&lt;/code&gt; requests to &lt;code&gt;gpt-6&lt;/code&gt; models failed on &lt;code&gt;max_tokens&lt;/code&gt;. GPT-6 models now get &lt;code&gt;max_completion_tokens&lt;/code&gt; and no &lt;code&gt;temperature&lt;/code&gt;, as GPT-5 models do.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>VS Code 1.1.6</title>
    <id>https://temprhq.io/changelog#vscode-1-1-6</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#vscode-1-1-6"/>
    <updated>2026-09-21T00:00:00Z</updated>
    <category term="vscode" label="VS Code"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Cloud sync switch&lt;/strong&gt; — Tempr: Open Settings now has a Cloud sync switch in the Account card. Turn it off and Tempr stops storing your chats, custom agents and tool preferences on your Tempr account; your chats stay on this machine. The switch belongs to your account, so it covers every machine and every Tempr extension signed in to it, and you can also change it in the Tempr Portal. Turning it off offers to delete what's already stored, and &lt;strong&gt;Delete synced data&lt;/strong&gt; does that at any time. Sync stays on unless you turn it off.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>JetBrains 1.1.5</title>
    <id>https://temprhq.io/changelog#jetbrains-1-1-5</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#jetbrains-1-1-5"/>
    <updated>2026-09-21T00:00:00Z</updated>
    <category term="jetbrains" label="JetBrains"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;If your IDE can't run its built-in browser (JCEF), for example because it was started on a Java runtime without it, Tempr no longer raises an IDE error every time a project opens. The Tempr panel instead explains why the chat can't start, with a link to &lt;strong&gt;Choose Boot Java Runtime for the IDE&lt;/strong&gt; so you can switch to a runtime that includes JCEF.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Visual Studio 2.2.29</title>
    <id>https://temprhq.io/changelog#visual-studio-2-2-29</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#visual-studio-2-2-29"/>
    <updated>2026-09-21T00:00:00Z</updated>
    <category term="visual-studio" label="Visual Studio"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-security&quot;&gt;Security&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Automatic error reports no longer include your license key. A report is now linked to your account by your signed-in session. It carries only that session's activation ID, the error message and the stack trace.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Portal update, Sep 21, 2026</title>
    <id>https://temprhq.io/changelog#portal-2026-09-21</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#portal-2026-09-21"/>
    <updated>2026-09-21T00:00:00Z</updated>
    <category term="portal" label="Portal"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Cloud sync switch&lt;/strong&gt; — the Profile page has a Cloud sync card. Turn it off and the Visual Studio, VS Code and JetBrains extensions stop storing your chats, tool preferences, custom agents and code search index on Tempr's servers. It's one setting for your whole account, so it covers every machine and every extension signed in to it. Sync stays on unless you turn it off, and &lt;strong&gt;Delete synced data&lt;/strong&gt; removes what's already stored at any time.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Team request logs&lt;/strong&gt; — organization owners and admins can now read the requests made with the organization's keys, under Organization &amp;gt; Team request logs. The list shows metadata only; opening a request that holds captured content is recorded in the organization's audit log.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Closing your account takes effect straight away&lt;/strong&gt; — Close account has moved to the Profile page, where every user can reach it. It now deletes your account and everything tied to it at once: license keys, synced chats and settings, provider keys, Gateway keys and logs, MCP credentials, prompt templates, sign-in history and usage history. Your subscriptions are cancelled, and any unbilled Gateway overage is charged first. If you own an organization, it closes too and its members are emailed; their own accounts stay. To use the rest of a paid period, cancel from the Plan page first and close your account later. See the &lt;a href=&quot;https://temprhq.io/privacy&quot;&gt;privacy policy&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Sign-in locations on the Security page are now worked out on Tempr's own servers, so your sign-in IP addresses are no longer sent to an outside lookup service. The page also loads faster.&lt;/li&gt;&lt;li&gt;Very small Gateway costs now read &amp;quot;&amp;lt;$0.0001&amp;quot; instead of &amp;quot;$0.0000&amp;quot;.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Saving a custom model endpoint that answers slowly now shows a spinner while it's checked, ignores a second click, and ends with a clear timeout message naming the step that ran out of time. An endpoint that's out of credit says so.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;The Playground's model list no longer repeats the provider name in model ids (such as &lt;code&gt;openai/openai/gpt-5&lt;/code&gt;), which made those requests fail.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;Azure OpenAI deployments that only work through OpenAI's Responses API can now be saved.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;The org-wide Sessions and End users pages no longer link to a detail page that couldn't open.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-security cl-extra&quot;&gt;Security&lt;/h4&gt;&lt;ul&gt;&lt;li class=&quot;cl-extra&quot;&gt;Captured Gateway request content is now redacted in every case where redaction applies.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;When a Team subscription ends, or an owner removes a member, that member's Team access and signed-in devices end straight away.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;Organization invitations can only grant the Member or Admin role.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Gateway update, Sep 20, 2026</title>
    <id>https://temprhq.io/changelog#gateway-2026-09-20</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#gateway-2026-09-20"/>
    <updated>2026-09-20T00:00:00Z</updated>
    <category term="gateway" label="Gateway"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Nscale&lt;/strong&gt; — Nscale's hosted open-weight models are available with your Nscale key as &lt;code&gt;nscale/…&lt;/code&gt;, and usage is priced from Nscale's catalog.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Reasoning control on inference hosts&lt;/strong&gt; — the &lt;code&gt;reasoning&lt;/code&gt; object and &lt;code&gt;reasoning_effort&lt;/code&gt; now work on DeepInfra, AWS Bedrock, Together AI and Fireworks AI, each in the host's own format. On Bedrock, Claude gets thinking and effort, and Amazon Nova 2 gets its reasoning config. A few models report no levels because their host can't steer them reliably, such as GLM on Together AI. Hugging Face reports none because it routes each model to a host it picks. &lt;code&gt;GET /v1/models&lt;/code&gt; shows each model's &lt;code&gt;reasoning_options&lt;/code&gt;. See &lt;a href=&quot;https://temprhq.io/docs/gateway-chat-completions&quot;&gt;Reasoning&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Claude on AWS Bedrock now returns its reasoning as &lt;code&gt;reasoning&lt;/code&gt; and &lt;code&gt;reasoning_details&lt;/code&gt;, and reasoning you send back reaches the model, which a thinking Claude needs across a tool call.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>JetBrains 1.1.4</title>
    <id>https://temprhq.io/changelog#jetbrains-1-1-4</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#jetbrains-1-1-4"/>
    <updated>2026-09-20T00:00:00Z</updated>
    <category term="jetbrains" label="JetBrains"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Google's Gemini models are now listed as &lt;code&gt;google/…&lt;/code&gt;&lt;/strong&gt; instead of &lt;code&gt;gemini/…&lt;/code&gt;, the same name OpenRouter, Vercel's AI Gateway and models.dev give them, so a model id copied from any of those works in Tempr as it is. Nothing you have set needs changing: your chat model, inline-completion model, per-agent models and reasoning levels follow the new name by themselves, and the old &lt;code&gt;gemini/…&lt;/code&gt; name keeps working everywhere.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Visual Studio 2.2.28</title>
    <id>https://temprhq.io/changelog#visual-studio-2-2-28</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#visual-studio-2-2-28"/>
    <updated>2026-09-20T00:00:00Z</updated>
    <category term="visual-studio" label="Visual Studio"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Google's Gemini models are now listed as &lt;code&gt;google/…&lt;/code&gt;&lt;/strong&gt; instead of &lt;code&gt;gemini/…&lt;/code&gt;. That's the name OpenRouter, Vercel's AI Gateway and models.dev give them, so a model ID copied from any of those works in Tempr as it is. You don't need to change anything: your chat model, inline-completion model, per-persona models and reasoning levels move to the new name on their own, and the old &lt;code&gt;gemini/…&lt;/code&gt; name still works everywhere.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>CLI 0.9.0</title>
    <id>https://temprhq.io/changelog#cli-0-9-0</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#cli-0-9-0"/>
    <updated>2026-09-20T00:00:00Z</updated>
    <category term="cli" label="CLI"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;First public release&lt;/strong&gt; — Tempr's bring-your-own-key coding agent in the terminal, on the same license, provider keys and models as the IDE extensions. Sign in with &lt;code&gt;tempr auth&lt;/code&gt;, pick a default model with &lt;code&gt;tempr config set-model &amp;lt;id&amp;gt;&lt;/code&gt;, and &lt;code&gt;tempr doctor&lt;/code&gt; checks that everything is set up. The &lt;a href=&quot;https://temprhq.io/docs/quickstart-cli&quot;&gt;quickstart&lt;/a&gt; walks through it, and the &lt;a href=&quot;https://temprhq.io/docs/cli-reference&quot;&gt;command reference&lt;/a&gt; lists every command and flag.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Install in one line&lt;/strong&gt; — &lt;code&gt;curl -fsSL https://temprhq.io/cli/install.sh | sh&lt;/code&gt; on macOS and Linux, or &lt;code&gt;irm https://temprhq.io/cli/install.ps1 | iex&lt;/code&gt; on Windows. The builds are self-contained, so nothing needs installing first. Direct downloads for Windows, macOS and Linux on x64 and Arm64 are on the &lt;a href=&quot;https://temprhq.io/cli&quot;&gt;CLI page&lt;/a&gt;, each with a &lt;code&gt;.sha256&lt;/code&gt; beside it, and &lt;code&gt;tempr update&lt;/code&gt; tells you when a newer release is out and how to install it.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Three ways to run&lt;/strong&gt; — &lt;code&gt;tempr &amp;quot;&amp;lt;prompt&amp;gt;&amp;quot;&lt;/code&gt; runs one agent turn and exits, &lt;code&gt;tempr&lt;/code&gt; on its own opens an interactive session with persistent history, line editing and Tab completion, and &lt;code&gt;&amp;lt;something&amp;gt; | tempr&lt;/code&gt; reads its prompt from piped input for scripts. &lt;code&gt;tempr --ask &amp;quot;&amp;lt;prompt&amp;gt;&amp;quot;&lt;/code&gt; is plain chat with no tools.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;A real agent loop&lt;/strong&gt; — the agent reads, writes and edits files, runs commands, searches your code by meaning and by symbol, reads build diagnostics, and discovers and runs tests, all against the current directory. Every file path is checked against the workspace, including through symbolic links and Windows junctions.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Approval modes&lt;/strong&gt; — file edits, commands and MCP calls ask first by default (&lt;code&gt;interactive&lt;/code&gt;). &lt;code&gt;autopilot&lt;/code&gt; runs edits and allow-listed commands unattended and still asks before anything that deletes, force-pushes, resets or reboots; &lt;code&gt;bypass&lt;/code&gt; runs edits and asks for every command. Set the default with &lt;code&gt;tempr config set-approval-mode&lt;/code&gt;, or use &lt;code&gt;--approval-mode&lt;/code&gt; or &lt;code&gt;-y&lt;/code&gt; for one run. Add allow-listed commands with &lt;code&gt;tempr config allow-command&lt;/code&gt;, or per repository in an &lt;code&gt;.agentcommands.json&lt;/code&gt; file.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Personas and your own agents&lt;/strong&gt; — &lt;code&gt;tempr &amp;quot;@debugger why does this fail&amp;quot;&lt;/code&gt; runs a specialist persona, and &lt;code&gt;/persona&lt;/code&gt; switches for the rest of a session. Your own slash commands and agents are Markdown files in &lt;code&gt;.tempr/commands/&lt;/code&gt; and &lt;code&gt;.tempr/agents/&lt;/code&gt;, in a project or in your home folder.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;&lt;strong&gt;Context in a message&lt;/strong&gt; — &lt;code&gt;@path/to/file&lt;/code&gt; attaches a file (images go in as images), &lt;code&gt;@workspace&lt;/code&gt; adds an overview of the workspace, and &lt;code&gt;@problems&lt;/code&gt; adds your current build errors. Every agent turn also carries &lt;code&gt;AGENTS.md&lt;/code&gt; and &lt;code&gt;.github/copilot-instructions.md&lt;/code&gt; from the current directory, plus a global &lt;code&gt;~/.tempr/AGENTS.md&lt;/code&gt;. &lt;code&gt;tempr init&lt;/code&gt; drafts an &lt;code&gt;AGENTS.md&lt;/code&gt; from a scan of the workspace.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;&lt;strong&gt;Sessions you can pick up again&lt;/strong&gt; — every session is saved and encrypted at rest. &lt;code&gt;tempr -c&lt;/code&gt; resumes this folder's most recent one, &lt;code&gt;/resume&lt;/code&gt; picks from a list, &lt;code&gt;--id&lt;/code&gt; resumes a specific one, and &lt;code&gt;tempr history&lt;/code&gt; lists, shows, renames, forks and deletes them. &lt;code&gt;/diff&lt;/code&gt; shows what the last turn changed on disk and &lt;code&gt;/undo&lt;/code&gt; puts it back, skipping any file that has changed since.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;&lt;strong&gt;Models and reasoning&lt;/strong&gt; — &lt;code&gt;tempr models&lt;/code&gt; lists the models your license can use, with prices and context sizes, and &lt;code&gt;/model&lt;/code&gt; opens a picker over them. &lt;code&gt;-m&lt;/code&gt; overrides the model for one run. &lt;code&gt;/reasoning&lt;/code&gt; sets how much the model reasons, saved per model, and &lt;code&gt;--reasoning&lt;/code&gt; overrides it for one run.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;&lt;strong&gt;MCP servers&lt;/strong&gt; — &lt;code&gt;tempr mcp add&lt;/code&gt; connects your own Model Context Protocol servers, &lt;code&gt;tempr mcp browse&lt;/code&gt; installs one from Tempr's curated catalog, and &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;remove&lt;/code&gt;, &lt;code&gt;enable&lt;/code&gt; and &lt;code&gt;disable&lt;/code&gt; manage them.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;&lt;strong&gt;Scripting and CI&lt;/strong&gt; — &lt;code&gt;--json&lt;/code&gt; writes one event per line and then a final result object, and the exit code says how the run ended (finished, failed, a usage error, not signed in, step limit reached, a tool call refused, or interrupted). &lt;code&gt;--max-turns&lt;/code&gt;, &lt;code&gt;--allowed-tools&lt;/code&gt;, &lt;code&gt;--disallowed-tools&lt;/code&gt; and &lt;code&gt;--prompt-file&lt;/code&gt; shape an unattended run, and &lt;code&gt;TEMPR_LICENSE_KEY&lt;/code&gt; signs in without putting the key on a command line. With no terminal to ask on, a tool call that would have asked is refused instead of waiting. See &lt;a href=&quot;https://temprhq.io/docs/cli-scripts&quot;&gt;Scripts, pipes &amp;amp; CI&lt;/a&gt;.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;&lt;strong&gt;Usage and cost&lt;/strong&gt; — &lt;code&gt;--verbose&lt;/code&gt; prints token usage and cost after each turn, and &lt;code&gt;tempr usage&lt;/code&gt; shows what this machine's turns have cost, by model.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;&lt;strong&gt;Shell completion&lt;/strong&gt; — &lt;code&gt;tempr completion bash|zsh|fish|powershell&lt;/code&gt; prints a completion script.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;&lt;strong&gt;Crash reports are opt-in&lt;/strong&gt; — the first interactive session asks once, and &lt;code&gt;tempr config set-crash-reports on|off&lt;/code&gt; changes it. Nothing is sent without a terminal to ask on, or when &lt;code&gt;CI&lt;/code&gt;, &lt;code&gt;DO_NOT_TRACK&lt;/code&gt; or &lt;code&gt;TEMPR_NO_CRASH_REPORTS&lt;/code&gt; is set. There's no other telemetry.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Portal update, Sep 20, 2026</title>
    <id>https://temprhq.io/changelog#portal-2026-09-20</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#portal-2026-09-20"/>
    <updated>2026-09-20T00:00:00Z</updated>
    <category term="portal" label="Portal"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Nscale&lt;/strong&gt; — Nscale is now available as a provider key for Chat, the Gateway and organization keys.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Reasoning in the Playground&lt;/strong&gt; — a Reasoning dropdown in the Gateway Playground sets how much the model thinks before it answers, from Off to Max, or the model's own default. Each reply shows the level that was actually applied, since a level the model lacks is sent as the nearest one it has.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Google's Gemini API key is now listed as &lt;strong&gt;Google Gemini&lt;/strong&gt;, and Gateway usage, logs and analytics show Gemini models under &lt;code&gt;google/&lt;/code&gt;. Keys, allowlists and fallback chains you saved under the old name keep working.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Gateway update, Sep 19, 2026</title>
    <id>https://temprhq.io/changelog#gateway-2026-09-19</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#gateway-2026-09-19"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <category term="gateway" label="Gateway"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Reasoning control&lt;/strong&gt; — set how much a model thinks with OpenRouter's &lt;code&gt;reasoning&lt;/code&gt; object or OpenAI's &lt;code&gt;reasoning_effort&lt;/code&gt; on &lt;code&gt;/v1/chat/completions&lt;/code&gt;, &lt;code&gt;thinking&lt;/code&gt; and &lt;code&gt;output_config.effort&lt;/code&gt; on &lt;code&gt;/v1/messages&lt;/code&gt;, or &lt;code&gt;reasoning.effort&lt;/code&gt; on &lt;code&gt;/v1/responses&lt;/code&gt;. Tempr sends it in each lab's own format. A level the model lacks becomes the nearest one it has, and the &lt;code&gt;x-tempr-reasoning-effort&lt;/code&gt; response header says what was applied. A malformed value returns 400 &lt;code&gt;invalid_reasoning&lt;/code&gt;. See &lt;a href=&quot;https://temprhq.io/docs/gateway-chat-completions&quot;&gt;Reasoning&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Claude's reasoning on chat completions&lt;/strong&gt; — Claude's thinking now comes back as &lt;code&gt;reasoning&lt;/code&gt; and &lt;code&gt;reasoning_details&lt;/code&gt;, streamed and not. Send the assistant message back with &lt;code&gt;reasoning_details&lt;/code&gt; unchanged and Claude gets its thinking blocks, which a tool-calling turn needs.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Refusals you can see&lt;/strong&gt; — a model that declines now finishes with &lt;code&gt;content_filter&lt;/code&gt;, as in OpenAI's API, with Claude's explanation in the &lt;code&gt;refusal&lt;/code&gt; field (&lt;code&gt;delta.refusal&lt;/code&gt; when streaming). Before, Claude's refusals read as an empty, normal stop. Gemini's safety, recitation and blocked-prompt stops are &lt;code&gt;content_filter&lt;/code&gt; too. &lt;code&gt;/v1/messages&lt;/code&gt; reports a refusal with &lt;code&gt;stop_details&lt;/code&gt;, and &lt;code&gt;/v1/responses&lt;/code&gt; as a refusal content part. Refusals are never cached.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Google's Gemini models are now &lt;code&gt;google/…&lt;/code&gt;&lt;/strong&gt; instead of &lt;code&gt;gemini/…&lt;/code&gt;, the same prefix OpenRouter, Vercel's AI Gateway and models.dev use. &lt;code&gt;gemini/…&lt;/code&gt; keeps working permanently, and your keys' allowlists and fallback chains were updated to match.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Requests to &lt;code&gt;openrouter/…&lt;/code&gt; models were rejected by OpenRouter with a 400, and an OpenRouter stream could be cut off right after &lt;code&gt;[DONE]&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;Gemini's thinking tokens are now counted in usage.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;A model id using a provider's older name, such as &lt;code&gt;azure_openai/…&lt;/code&gt;, could reach the provider with that prefix still on it and fail. Old names now resolve fully.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>VS Code 1.1.4</title>
    <id>https://temprhq.io/changelog#vscode-1-1-4</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#vscode-1-1-4"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <category term="vscode" label="VS Code"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Google's Gemini models are now listed as &lt;code&gt;google/…&lt;/code&gt;&lt;/strong&gt; instead of &lt;code&gt;gemini/…&lt;/code&gt;, the same name OpenRouter, Vercel's AI Gateway and models.dev give them, so a model id copied from any of those works in Tempr as it is. Nothing you have set needs changing: your chat model, inline-completion model, per-agent models and reasoning levels follow the new name by themselves, and the old &lt;code&gt;gemini/…&lt;/code&gt; name keeps working everywhere.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>VS Code 1.1.3</title>
    <id>https://temprhq.io/changelog#vscode-1-1-3</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#vscode-1-1-3"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <category term="vscode" label="VS Code"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Reasoning level&lt;/strong&gt; — a Reasoning dropdown beside the model dropdown sets how much the model thinks before it answers: Default (the model's own setting), Off, or the levels that model offers, from Minimal to Max. Tempr remembers your pick for each model, and it applies when you use a Tempr model from Copilot Chat too. The dropdown only appears for models that have reasoning control, and a level a model lacks is sent as the nearest one it has.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;After you first signed in, the model dropdown could stay empty for up to five minutes. It now fills in right away.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>JetBrains 1.1.3</title>
    <id>https://temprhq.io/changelog#jetbrains-1-1-3</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#jetbrains-1-1-3"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <category term="jetbrains" label="JetBrains"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Reasoning level&lt;/strong&gt; — a Reasoning dropdown beside the model dropdown sets how much the model thinks before it answers: Default (the model's own setting), Off, or the levels that model offers, from Minimal to Max. Tempr remembers your pick for each model. The dropdown only appears for models that have reasoning control, and a level a model lacks is sent as the nearest one it has.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;The Tempr tool window's sidebar icon was drawn at the full size of the logo. It's now the same size as the other tool window icons, in both the classic and the new UI.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Visual Studio 2.2.27</title>
    <id>https://temprhq.io/changelog#visual-studio-2-2-27</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#visual-studio-2-2-27"/>
    <updated>2026-09-19T00:00:00Z</updated>
    <category term="visual-studio" label="Visual Studio"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Reasoning level&lt;/strong&gt; — a new Reasoning dropdown beside the model dropdown sets how much the model thinks before it answers. The choices are Default (the model's own setting), Off, and whichever levels that model offers, from Minimal to Max. Tempr remembers your choice for each model. The dropdown only appears for models that support reasoning control, and a level a model doesn't have is sent as the nearest one it does.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>VS Code 1.1.2</title>
    <id>https://temprhq.io/changelog#vscode-1-1-2</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#vscode-1-1-2"/>
    <updated>2026-09-16T00:00:00Z</updated>
    <category term="vscode" label="VS Code"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Settings follow you with Settings Sync&lt;/strong&gt; — with VS Code Settings Sync turned on, your Tempr settings reach your other machines: the chat model, approval mode, inline completions, agent limits, chat font size and the rest. MCP servers and auto-approved commands stay on each machine, and custom agents keep syncing through your Tempr account.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-security&quot;&gt;Security&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;A repository's &lt;code&gt;.vscode/settings.json&lt;/code&gt; can no longer point Tempr at a different server. The development override moved from the &lt;code&gt;tempr.serverUrl&lt;/code&gt; setting to the &lt;code&gt;TEMPRAPP_SERVER_URL&lt;/code&gt; environment variable, the same one Visual Studio reads.&lt;/li&gt;&lt;li&gt;A repository's &lt;code&gt;.vscode/settings.json&lt;/code&gt; can no longer change Tempr's settings, such as switching approval mode to Autopilot, pre-approving commands, or adding MCP servers or custom agents. Tempr now reads &lt;code&gt;tempr.*&lt;/code&gt; values only from your user settings.&lt;/li&gt;&lt;li&gt;A symbolic link or Windows junction inside your workspace can no longer lead Tempr's file tools outside it. Reading, writing, patching and searching files now follow a link to where it really goes, and refuse it when that's outside the workspace.&lt;/li&gt;&lt;li&gt;Every spelling of a delete command is now treated as destructive, so it asks for approval every time, in every approval mode, and can't be trusted for the session. Before, &lt;code&gt;rm -fr&lt;/code&gt; and &lt;code&gt;Remove-Item -Force -Recurse&lt;/code&gt; weren't recognized, so approving &lt;code&gt;rm -fr build&lt;/code&gt; once trusted &lt;code&gt;rm -fr&lt;/code&gt; on any path for the rest of the session. Tempr now goes by the command itself (&lt;code&gt;rm&lt;/code&gt;, &lt;code&gt;rmdir&lt;/code&gt;, &lt;code&gt;rd&lt;/code&gt;, &lt;code&gt;del&lt;/code&gt;, &lt;code&gt;erase&lt;/code&gt;, &lt;code&gt;Remove-Item&lt;/code&gt;, &lt;code&gt;ri&lt;/code&gt;, &lt;code&gt;unlink&lt;/code&gt;), whatever its flags or a &lt;code&gt;sudo&lt;/code&gt; in front.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>JetBrains 1.1.2</title>
    <id>https://temprhq.io/changelog#jetbrains-1-1-2</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#jetbrains-1-1-2"/>
    <updated>2026-09-16T00:00:00Z</updated>
    <category term="jetbrains" label="JetBrains"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-security&quot;&gt;Security&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;A symbolic link or Windows junction inside your project can no longer lead Tempr's file tools outside it. Reading, writing, patching, listing and searching files now follow a link to where it really goes, and refuse it when that's outside the project.&lt;/li&gt;&lt;li&gt;Every spelling of a delete command is now treated as destructive, so it asks for approval every time, in every approval mode, and can't be trusted for the session. Before, &lt;code&gt;rm -fr&lt;/code&gt; and &lt;code&gt;Remove-Item -Force -Recurse&lt;/code&gt; weren't recognized, so approving &lt;code&gt;rm -fr build&lt;/code&gt; once trusted &lt;code&gt;rm -fr&lt;/code&gt; on any path for the rest of the session. Tempr now goes by the command itself (&lt;code&gt;rm&lt;/code&gt;, &lt;code&gt;rmdir&lt;/code&gt;, &lt;code&gt;rd&lt;/code&gt;, &lt;code&gt;del&lt;/code&gt;, &lt;code&gt;erase&lt;/code&gt;, &lt;code&gt;Remove-Item&lt;/code&gt;, &lt;code&gt;ri&lt;/code&gt;, &lt;code&gt;unlink&lt;/code&gt;), whatever its flags or a &lt;code&gt;sudo&lt;/code&gt; in front.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Visual Studio 2.2.26</title>
    <id>https://temprhq.io/changelog#visual-studio-2-2-26</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#visual-studio-2-2-26"/>
    <updated>2026-09-16T00:00:00Z</updated>
    <category term="visual-studio" label="Visual Studio"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-security&quot;&gt;Security&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;A symbolic link or Windows junction inside your solution can no longer lead Tempr's file tools outside it. Reading, writing, patching, listing and searching files now follow a link to where it really goes, and refuse it if that's outside the solution. A link that points back at one of its own parent folders no longer sends a search into a loop.&lt;/li&gt;&lt;li&gt;Every spelling of a delete command now counts as destructive, so it asks for approval every time, in every approval mode, and can't be trusted for the session. Before, &lt;code&gt;rm -fr&lt;/code&gt; and &lt;code&gt;Remove-Item -Force -Recurse&lt;/code&gt; weren't recognized, so approving &lt;code&gt;rm -fr build&lt;/code&gt; once trusted &lt;code&gt;rm -fr&lt;/code&gt; on any path for the rest of the session. Tempr now goes by the command itself (&lt;code&gt;rm&lt;/code&gt;, &lt;code&gt;rmdir&lt;/code&gt;, &lt;code&gt;rd&lt;/code&gt;, &lt;code&gt;del&lt;/code&gt;, &lt;code&gt;erase&lt;/code&gt;, &lt;code&gt;Remove-Item&lt;/code&gt;, &lt;code&gt;ri&lt;/code&gt;, &lt;code&gt;unlink&lt;/code&gt;), whatever its flags and even with &lt;code&gt;sudo&lt;/code&gt; in front.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Gateway update, Sep 15, 2026</title>
    <id>https://temprhq.io/changelog#gateway-2026-09-15</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#gateway-2026-09-15"/>
    <updated>2026-09-15T00:00:00Z</updated>
    <category term="gateway" label="Gateway"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Custom models&lt;/strong&gt; — call models on your own OpenAI-compatible server (vLLM, SGLang, LiteLLM and others) as &lt;code&gt;custom/&amp;lt;alias&amp;gt;&lt;/code&gt;, on every Gateway plan. Add the endpoint and its models in the Portal; Tempr checks each with a test call before saving, and you can give each model its own prices. See &lt;a href=&quot;https://temprhq.io/docs/custom-models&quot;&gt;Custom models&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;An error from a custom endpoint now names the endpoint, for example &amp;quot;The custom endpoint 'Prod vLLM' rejected its key (401)&amp;quot;.&lt;/li&gt;&lt;li&gt;A provider error whose &lt;code&gt;error&lt;/code&gt; field is a plain string, such as &lt;code&gt;{&amp;quot;error&amp;quot;: &amp;quot;Model is loading&amp;quot;}&lt;/code&gt;, came back as a 500 from Tempr. It now comes back as the provider's error.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-security&quot;&gt;Security&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Tempr doesn't follow redirects from a custom endpoint. A redirect is answered with a 502 that says so.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Portal update, Sep 15, 2026</title>
    <id>https://temprhq.io/changelog#portal-2026-09-15</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#portal-2026-09-15"/>
    <updated>2026-09-15T00:00:00Z</updated>
    <category term="portal" label="Portal"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Authenticator app sign-in&lt;/strong&gt; — on the Profile page you can set up an authenticator app (such as Google Authenticator, Microsoft Authenticator or 1Password) and get ten single-use recovery codes. Sign-in then asks for a code from the app. Unlike an emailed code, it still protects your account if someone gets into your email, so emailed codes stop working once an app is set up. Signing in with a recovery code emails you with how many are left.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Require two-factor for owners and admins&lt;/strong&gt; — an organization owner can require an authenticator app for the organization's owners and admins. Anyone it covers is asked to set one up before using the rest of the Portal. Members who sign in with single sign-on are exempt, since your identity provider handles that.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Dark mode&lt;/strong&gt; — choose System, Light or Dark from the theme menu in the sidebar or the Appearance card on the Profile page. System follows your device.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Custom models&lt;/strong&gt; — connect your own OpenAI-compatible endpoint (vLLM, a hosted inference service and so on) and add its models under your own names. Tempr tests the endpoint before saving it and can list the models it serves. It's on the Gateway's Provider keys page, on Org keys for teams, and on Chat's Provider keys page for Pro licenses. Custom models have no price, so budget pages show their token use separately. See &lt;a href=&quot;https://temprhq.io/docs/custom-models&quot;&gt;custom models&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;The Security page's sign-in history now shows how each sign-in was made.&lt;/li&gt;&lt;li&gt;Chat's Provider keys page now reminds accounts that also have the Gateway that Gateway provider keys are set up separately.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-changed cl-extra&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li class=&quot;cl-extra&quot;&gt;Text and form field borders now meet WCAG contrast guidelines in both light and dark themes.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Gateway update, Sep 14, 2026</title>
    <id>https://temprhq.io/changelog#gateway-2026-09-14</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#gateway-2026-09-14"/>
    <updated>2026-09-14T00:00:00Z</updated>
    <category term="gateway" label="Gateway"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Quotas follow your billing period&lt;/strong&gt; — the monthly allotment, overage cap and overage metering now count from the day your paid plan started, not the calendar month, and &lt;code&gt;x-tempr-quota-resets&lt;/code&gt; reports that date. Free plans keep the calendar month. Quota alerts now fire again each period; before, an account alerted once was never alerted again.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Changing paid plans&lt;/strong&gt; — moving between Gateway Pro and Scale, or between team plans, now updates your subscription in place and takes effect right away, prorated, instead of starting a second subscription.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Cancelling and resubscribing, or changing plan, within a month could bill that month's overage twice.&lt;/li&gt;&lt;li&gt;Overage used in the last hour of a billing period, or before a cancellation, is now billed on that period's invoice.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>JetBrains 1.1.1</title>
    <id>https://temprhq.io/changelog#jetbrains-1-1-1</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#jetbrains-1-1-1"/>
    <updated>2026-09-14T00:00:00Z</updated>
    <category term="jetbrains" label="JetBrains"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Agent turns no longer lose their connection when the chat goes quiet for more than ten seconds, such as while a model thinks or a tool waits for your confirmation. Before, a long enough quiet stretch could end the turn with &amp;quot;Lost connection to the agent run&amp;quot;.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Portal update, Sep 14, 2026</title>
    <id>https://temprhq.io/changelog#portal-2026-09-14</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#portal-2026-09-14"/>
    <updated>2026-09-14T00:00:00Z</updated>
    <category term="portal" label="Portal"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Gateway billing&lt;/strong&gt; — personal and team Gateway plans now have a Manage billing button, and Billing history lists Gateway invoices, labelled by plan.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Manage Team seats&lt;/strong&gt; — owners and admins see their Team plan and seats in use on the Plan page, with a &lt;strong&gt;Manage seats &amp;amp; billing&lt;/strong&gt; button to add or release seats.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Allowed MCP servers per key&lt;/strong&gt; — Gateway keys and org keys can be limited to a list of MCP servers.&lt;/li&gt;&lt;li&gt;Gateway-only accounts get a &lt;strong&gt;Try Tempr Chat&lt;/strong&gt; link in the sidebar.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;A new look&lt;/strong&gt; — every Portal page has been redesigned with the same type and colours as temprhq.io, a lighter sidebar with your account at its foot, and a slide-out menu on small screens. Some pages have clearer names: BYOK is now &lt;strong&gt;Provider keys&lt;/strong&gt;, Org config is &lt;strong&gt;Personas &amp;amp; commands&lt;/strong&gt;, SSO is &lt;strong&gt;Single sign-on&lt;/strong&gt;, Compliance is &lt;strong&gt;Audit log&lt;/strong&gt;, and Gateway home is &lt;strong&gt;Overview&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;Switching between Gateway Pro and Scale, for yourself or your team, now changes your current plan straight away with a prorated charge, instead of starting a new checkout.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;Gateway quotas and overage now count from the start of your billing period instead of the calendar month, so resubscribing starts you with a fresh allowance. Quota alert emails now arrive again each period.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;The Org keys page now explains that Team chat, like the Gateway, moves on to your organization's backup keys when a key is rejected or rate-limited.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;Error text in agent traces is now always redacted.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed cl-extra&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li class=&quot;cl-extra&quot;&gt;Turning on emailed two-factor codes from the Profile page didn't take effect.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;Cancelling and resubscribing to a Gateway plan in the same month could bill that month's overage twice.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;Budget charts could break when you went back to the Budget page from the sidebar.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;Messages shown after a redirect, such as being sent to Provider keys from the Playground, were sometimes lost.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Gateway update, Sep 13, 2026</title>
    <id>https://temprhq.io/changelog#gateway-2026-09-13</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#gateway-2026-09-13"/>
    <updated>2026-09-13T00:00:00Z</updated>
    <category term="gateway" label="Gateway"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-removed&quot;&gt;Removed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;code&gt;/v1/chat/stream&lt;/code&gt; and &lt;code&gt;/v1/chat/tools&lt;/code&gt;&lt;/strong&gt; — these older organization-key chat routes now answer 410 &lt;code&gt;endpoint_retired&lt;/code&gt;. Use &lt;a href=&quot;https://temprhq.io/docs/gateway-chat-completions&quot;&gt;&lt;code&gt;/v1/chat/completions&lt;/code&gt;&lt;/a&gt;, which takes the same keys and enforces the same limits.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-security&quot;&gt;Security&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Tightened checks on webhook and remote MCP server addresses each time Tempr connects to them. Tempr no longer follows redirects from either; a remote MCP server that answers with a redirect returns 502.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Usage from many simultaneous requests on one account could go partly unrecorded, under-counting spend in budgets and analytics.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>VS Code 1.1.0</title>
    <id>https://temprhq.io/changelog#vscode-1-1-0</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#vscode-1-1-0"/>
    <updated>2026-09-13T00:00:00Z</updated>
    <category term="vscode" label="VS Code"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Explain, Fix, and Write Tests from the editor&lt;/strong&gt; — right-click in a file and choose &lt;strong&gt;Tempr&lt;/strong&gt; to send the selection (or the whole file, with nothing selected) to the chat as &lt;code&gt;/explain&lt;/code&gt;, &lt;code&gt;/fix&lt;/code&gt;, or &lt;code&gt;/tests&lt;/code&gt;. They're in the Command Palette too, as &lt;strong&gt;Tempr: Explain&lt;/strong&gt;, &lt;strong&gt;Tempr: Fix&lt;/strong&gt;, and &lt;strong&gt;Tempr: Write Tests&lt;/strong&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Generate Commit Message&lt;/strong&gt; — a sparkle button in a Git repository's Source Control title bar writes a message for the staged changes (or the unstaged ones, when nothing is staged) into the commit box, following the style of the repository's recent commits. It asks before replacing a message you've already typed.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Open Chat shortcut&lt;/strong&gt; — Ctrl+Shift+Alt+T (Ctrl+Cmd+T on macOS).&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Get Started with Tempr&lt;/strong&gt; — a walkthrough on VS Code's Welcome page: sign in, open the chat, the editor menu, and settings.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Accessibility&lt;/strong&gt; — screen readers now hear when a reply finishes, when a reply fails, and when a tool call is waiting for confirmation. Chat tabs, the mode, approval mode, and model dropdowns, the attach menu, and chat history all work from the keyboard. The history, license, and tools panels and the settings dialogs behave as dialogs (focus moves in, stays in, and returns when they close), and keyboard focus is always visible.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;The Tempr Settings screen uses Tempr's own theme colors, matching the chat panel beside it, instead of the current VS Code theme's.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;Editing a message you've already sent is hidden for now: saving an edit never worked in VS Code, and it comes back once it does.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;If the Tempr server speaks a newer agent-run protocol than this version understands, the extension says so once per session, instead of failing in unclear ways.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;When an agent turn can't start on the server and falls back to running in the extension, that is now counted in the anonymous error diagnostics (still controlled by the diagnostics setting in Tempr Settings).&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed cl-extra&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li class=&quot;cl-extra&quot;&gt;A tool call Tempr ran in VS Code could have its result overwritten by the server's summary — for example &amp;quot;Read 12 lines.&amp;quot; becoming &amp;quot;Done&amp;quot;, or a rejected call turning into an error.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;In &lt;code&gt;@tempr&lt;/code&gt; chat, a tool call the server rejected as unknown could show a stray &amp;quot;Error&amp;quot; progress line.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;The chevron on the pending changes panel did nothing when clicked.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>JetBrains 1.1.0</title>
    <id>https://temprhq.io/changelog#jetbrains-1-1-0</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#jetbrains-1-1-0"/>
    <updated>2026-09-13T00:00:00Z</updated>
    <category term="jetbrains" label="JetBrains"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Accessibility&lt;/strong&gt; — screen readers now hear when a reply finishes, when it fails, and when a tool call is waiting for confirmation. Chat tabs, the mode, approval mode, and model dropdowns, the attach menu, and chat history all work from the keyboard. The history, license, and tools panels and the settings dialogs behave as dialogs, and keyboard focus is always visible.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Vault MCP servers in settings&lt;/strong&gt; — MCP servers assigned to your account in Tempr's vault now appear in the Tempr Settings MCP list, as read-only cards.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Sub-agent cards&lt;/strong&gt; — when the agent delegates work to a sub-agent on the server, the delegation now shows as a tool card in the chat, with the sub-agent's messages under it.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;If the Tempr server speaks a newer agent-run protocol than this version understands, the plugin says so once per session instead of failing in unclear ways.&lt;/li&gt;&lt;li&gt;Editing a message you've already sent is hidden for now: saving an edit never worked in JetBrains IDEs, and it comes back once it does.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Visual Studio 2.2.25</title>
    <id>https://temprhq.io/changelog#visual-studio-2-2-25</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#visual-studio-2-2-25"/>
    <updated>2026-09-13T00:00:00Z</updated>
    <category term="visual-studio" label="Visual Studio"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;If the Tempr server uses a newer agent protocol than your version of the extension understands, Tempr tells you so instead of failing in unclear ways.&lt;/li&gt;&lt;li&gt;The extension's Marketplace description no longer mentions inline chat, which is turned off for now.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;When the agent ran on the Tempr server, a tool you approved and Visual Studio ran could have its result replaced by the server's generic summary. For example, &amp;quot;Read 12 lines.&amp;quot; became &amp;quot;Done&amp;quot;, or a rejected call showed as an error. Results now keep their real summaries.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Portal update, Sep 13, 2026</title>
    <id>https://temprhq.io/changelog#portal-2026-09-13</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#portal-2026-09-13"/>
    <updated>2026-09-13T00:00:00Z</updated>
    <category term="portal" label="Portal"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Prompt caching settings&lt;/strong&gt; — turn on automatic prompt caching for Anthropic models across your Gateway account or team, choose a 5-minute or 1-hour cache, and override it per key. Request logs and Analytics show cache reads, writes and savings.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;DeepInfra&lt;/strong&gt; — DeepInfra is now available as a provider key for Chat, the Gateway and organization keys, with usage priced at DeepInfra's own rates.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Backup keys for teams&lt;/strong&gt; — Org keys can hold more than one key per provider, used in turn and skipped while a key is rate-limited or failing. Analytics and Provider keys show when a key or model is cooling down, and until when.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Content capture per key&lt;/strong&gt; — each Gateway key can now turn request and response capture on or off, or follow the account setting, so a development key can keep full logs while a production key keeps metadata only. Redaction of captured content is on by default for new Gateway accounts.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Webhook and remote MCP server URLs must now point to public internet addresses.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Errors and missing pages now show a proper error page instead of a blank one.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-security cl-extra&quot;&gt;Security&lt;/h4&gt;&lt;ul&gt;&lt;li class=&quot;cl-extra&quot;&gt;The Portal now sends standard browser security headers and enforces HTTPS on every page.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Gateway update, Sep 11, 2026</title>
    <id>https://temprhq.io/changelog#gateway-2026-09-11</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#gateway-2026-09-11"/>
    <updated>2026-09-11T00:00:00Z</updated>
    <category term="gateway" label="Gateway"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;code&gt;POST /v1/responses&lt;/code&gt;&lt;/strong&gt; — OpenAI's Responses API, the format Codex CLI speaks. OpenAI models and Azure OpenAI deployments pass straight through, so reasoning items, hosted tools and &lt;code&gt;previous_response_id&lt;/code&gt; work as they do directly. Every other model is translated: hosted tools are dropped and named in the &lt;code&gt;x-tempr-unsupported-tools&lt;/code&gt; header. See the &lt;a href=&quot;https://temprhq.io/docs/guide-codex-cli&quot;&gt;Codex CLI guide&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Native Anthropic on &lt;code&gt;/v1/messages&lt;/code&gt;&lt;/strong&gt; — &lt;code&gt;anthropic/…&lt;/code&gt; models now pass straight through to Anthropic, so extended thinking, server tools, &lt;code&gt;anthropic-beta&lt;/code&gt; features and cache breakpoints work as they do against Anthropic directly.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Fallback chains and backup keys on every endpoint&lt;/strong&gt; — &lt;code&gt;/v1/messages&lt;/code&gt; and &lt;code&gt;/v1/responses&lt;/code&gt; now try the next model in a chain, and the next key for a provider, just as chat completions does.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;DeepInfra&lt;/strong&gt; — DeepInfra's models are available with your DeepInfra key as &lt;code&gt;deepinfra/…&lt;/code&gt;, priced from DeepInfra's catalog, cached input included.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Content capture per key&lt;/strong&gt; — each virtual key can now inherit the account's content capture setting or turn it on or off, so a development key can keep full request logs while a production key logs metadata only. Redaction of captured content is now on by default for new accounts.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Rate limits&lt;/strong&gt; — a 429 now sits out only the model it was for, not the provider's other models, and a wait the provider asks for is honored from the first failure. When that wait is longer than ten seconds, the 429 or 503 comes back at once with &lt;code&gt;Retry-After&lt;/code&gt; instead of Tempr waiting it out. See &lt;a href=&quot;https://temprhq.io/docs/gateway-errors&quot;&gt;retries and fallback&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed cl-extra&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li class=&quot;cl-extra&quot;&gt;OpenAI's o-series and GPT-5 models were rejected when a request set &lt;code&gt;max_tokens&lt;/code&gt; or &lt;code&gt;temperature&lt;/code&gt;. They now get &lt;code&gt;max_completion_tokens&lt;/code&gt; and no &lt;code&gt;temperature&lt;/code&gt;.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;OpenAI's dated model snapshots, Claude's dashed model ids, Azure deployments, and Amazon and Anthropic models on Bedrock could be recorded at $0. They're now priced.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Gateway update, Sep 10, 2026</title>
    <id>https://temprhq.io/changelog#gateway-2026-09-10</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#gateway-2026-09-10"/>
    <updated>2026-09-10T00:00:00Z</updated>
    <category term="gateway" label="Gateway"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Prompt caching&lt;/strong&gt; — turn it on for the account (5-minute or 1-hour cache), per key, or per request with &lt;code&gt;x-tempr-prompt-cache&lt;/code&gt;, and Tempr places Anthropic's cache breakpoints for you, sorts tools into a stable order, and keeps requests that share a prompt on the same provider key. Cache reads and writes are billed at their own prices, and request logs show cached tokens and estimated savings. See &lt;a href=&quot;https://temprhq.io/docs/gateway-reference&quot;&gt;prompt caching&lt;/a&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;/v1/messages&lt;/code&gt; keeps the cache breakpoints a client sets itself, like Claude Code's, and returns Anthropic's split of input, cache-read and cache-write tokens in &lt;code&gt;usage&lt;/code&gt;.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;A streamed &lt;code&gt;/v1/messages&lt;/code&gt; response on a translated model reported 0 output tokens.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Portal update, Sep 9, 2026</title>
    <id>https://temprhq.io/changelog#portal-2026-09-09</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#portal-2026-09-09"/>
    <updated>2026-09-09T00:00:00Z</updated>
    <category term="portal" label="Portal"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Gateway sign-up and paid plans&lt;/strong&gt; — you can now create a free Gateway account from the Portal's sign-up page, no card or Chat license needed, and upgrade to Pro or Scale from the Gateway Plan page. Choosing a paid plan on &lt;a href=&quot;https://temprhq.io/gateway&quot;&gt;temprhq.io&lt;/a&gt; takes you straight to checkout once you've verified your email, even if you open the email on another device.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;The Gateway Plan page is now for managing your plan; compare plans on the &lt;a href=&quot;https://temprhq.io/pricing&quot;&gt;pricing&lt;/a&gt; page.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Azure OpenAI, Azure AI Foundry and AWS Bedrock keys can now be fully set up on the Gateway's Provider keys page, with the endpoint, deployment, region and model fields and the live check Chat already had. Before, the key saved but couldn't be used.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>VS Code 1.0.8</title>
    <id>https://temprhq.io/changelog#vscode-1-0-8</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#vscode-1-0-8"/>
    <updated>2026-09-08T00:00:00Z</updated>
    <category term="vscode" label="VS Code"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;MCP tool calls to Anthropic models could fail outright — qualified MCP tool names (&lt;code&gt;{server}.{tool}&lt;/code&gt;) contained a &lt;code&gt;.&lt;/code&gt;, which Anthropic's API rejects in a tool name. Qualified names now use &lt;code&gt;{server}__{tool}&lt;/code&gt; instead, matching the Tempr CLI and the Visual Studio and JetBrains extensions.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>JetBrains 1.0.2</title>
    <id>https://temprhq.io/changelog#jetbrains-1-0-2</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#jetbrains-1-0-2"/>
    <updated>2026-09-08T00:00:00Z</updated>
    <category term="jetbrains" label="JetBrains"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;MCP tool calls to Anthropic models could fail outright: qualified MCP tool names (&lt;code&gt;{server}.{tool}&lt;/code&gt;) contained a &lt;code&gt;.&lt;/code&gt;, which Anthropic's API rejects in a tool name. Qualified names now use &lt;code&gt;{server}__{tool}&lt;/code&gt; instead, the same as Tempr's other extensions and the CLI.&lt;/li&gt;&lt;li&gt;An agent turn no longer fails when the connection drops or stalls partway through. Tempr reconnects and picks the turn up where it left off, without repeating anything you've already seen, and only gives up after several attempts.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Visual Studio 2.2.24</title>
    <id>https://temprhq.io/changelog#visual-studio-2-2-24</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#visual-studio-2-2-24"/>
    <updated>2026-09-08T00:00:00Z</updated>
    <category term="visual-studio" label="Visual Studio"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;MCP tool calls to Anthropic models could fail outright. MCP tool names were shown to the model as &lt;code&gt;{server}.{tool}&lt;/code&gt;, and Anthropic's API doesn't allow a &lt;code&gt;.&lt;/code&gt; in a tool name. They are now &lt;code&gt;{server}__{tool}&lt;/code&gt;, the same as in Tempr's other extensions.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Portal update, Sep 5, 2026</title>
    <id>https://temprhq.io/changelog#portal-2026-09-05</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#portal-2026-09-05"/>
    <updated>2026-09-05T00:00:00Z</updated>
    <category term="portal" label="Portal"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Prompt templates&lt;/strong&gt; — keep a system prompt in the Portal and update it without releasing new code. Every change is kept as a version, and you choose which one is live.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Sessions and End users&lt;/strong&gt; — two new Gateway pages group your requests by the session id or end-user id your application sends, with a timeline for each. Organization owners and admins get the same views for their team.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Request cost&lt;/strong&gt; — Gateway requests now record their cost. Sessions and End users show what each one cost, and Analytics breaks cost down by prompt template.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;LLM guardrail&lt;/strong&gt; — a Gateway account or key can have each request screened for prompt-injection and jailbreak attempts before it is sent. It uses one extra call to your own provider, at that provider's normal rate.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Guardrail activity&lt;/strong&gt; — Gateway Analytics shows how many requests the guardrails blocked or flagged, and for what.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Model list in the Playground&lt;/strong&gt; — the Playground now offers the models your provider keys can reach, instead of only a text box.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;&lt;strong&gt;Product switcher&lt;/strong&gt; — accounts with both Chat and the Gateway switch between them at the top of the sidebar.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;Organization owners and admins now have an Organization section in the sidebar.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed cl-extra&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li class=&quot;cl-extra&quot;&gt;The Gateway page's &lt;strong&gt;Resend verification&lt;/strong&gt; button didn't work.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-security cl-extra&quot;&gt;Security&lt;/h4&gt;&lt;ul&gt;&lt;li class=&quot;cl-extra&quot;&gt;A closed or deactivated account's Portal sessions now stop working right away.&lt;/li&gt;&lt;li class=&quot;cl-extra&quot;&gt;Opening a sign-in, password reset or license key link now always starts from a signed-out page.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Gateway update, Sep 3, 2026</title>
    <id>https://temprhq.io/changelog#gateway-2026-09-03</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#gateway-2026-09-03"/>
    <updated>2026-09-03T00:00:00Z</updated>
    <category term="gateway" label="Gateway"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Prompt templates&lt;/strong&gt; — keep a system prompt in the Portal, with versions, and name it on a request with the &lt;code&gt;x-tempr-prompt&lt;/code&gt; header. Its &lt;code&gt;{{variables}}&lt;/code&gt; are filled from the header, and it goes in front of the request as the first system message.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Prompt-injection check&lt;/strong&gt; — an optional guardrail, per account or per key, that asks the request's model whether the prompt is an injection or jailbreak attempt before sending it on. In Block mode a match returns 400 &lt;code&gt;guardrail_blocked&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Sessions and end users&lt;/strong&gt; — send &lt;code&gt;x-tempr-session-id&lt;/code&gt; to group a conversation's or agent run's requests into one session in the Portal, and the request's own end-user field (&lt;code&gt;safety_identifier&lt;/code&gt; or &lt;code&gt;user&lt;/code&gt;, or &lt;code&gt;metadata.user_id&lt;/code&gt; on &lt;code&gt;/v1/messages&lt;/code&gt;) to see usage per customer. Each request log now records its cost.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Gateway update, Sep 1, 2026</title>
    <id>https://temprhq.io/changelog#gateway-2026-09-01</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#gateway-2026-09-01"/>
    <updated>2026-09-01T00:00:00Z</updated>
    <category term="gateway" label="Gateway"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;Requests that used a fallback chain, or rotated between several keys for a provider, could fail with a spurious 503.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Portal update, Sep 1, 2026</title>
    <id>https://temprhq.io/changelog#portal-2026-09-01</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#portal-2026-09-01"/>
    <updated>2026-09-01T00:00:00Z</updated>
    <category term="portal" label="Portal"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;With emailed two-factor codes turned on, entering the code sent you back to the sign-in page instead of signing you in.&lt;/li&gt;&lt;li&gt;After regenerating a license key, the new key wasn't shown on the page.&lt;/li&gt;&lt;li&gt;If starting a checkout or opening billing fails, you now get a message and can try again instead of an error page.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Gateway update, Aug 30, 2026</title>
    <id>https://temprhq.io/changelog#gateway-2026-08-30</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#gateway-2026-08-30"/>
    <updated>2026-08-30T00:00:00Z</updated>
    <category term="gateway" label="Gateway"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Several keys per provider&lt;/strong&gt; — add more than one key for a provider and Tempr spreads requests across them, skips a key that's cooling down, and moves to the next key when one fails. &lt;code&gt;502 all_keys_failed&lt;/code&gt; means every key was tried.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Sensitive-content guardrail&lt;/strong&gt; — scan requests for emails, card numbers, JWTs, bearer tokens, AWS keys and other secrets before they reach a provider. Flag mode records what matched on the request log; Block mode returns 400 &lt;code&gt;guardrail_blocked&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Redacted request logs&lt;/strong&gt; — optionally mask the same kinds of sensitive content in captured request and response bodies before they're stored.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Cost anomaly alerts&lt;/strong&gt; — a webhook fires when the last hour's spend is several times the account's usual hourly spend.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>VS Code 1.0.7</title>
    <id>https://temprhq.io/changelog#vscode-1-0-7</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#vscode-1-0-7"/>
    <updated>2026-08-30T00:00:00Z</updated>
    <category term="vscode" label="VS Code"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Vault MCP servers&lt;/strong&gt; — MCP servers assigned to your account in Tempr's server-side vault now show up in the extension automatically, merged in with your local &lt;code&gt;tempr.mcpServers&lt;/code&gt; entries (a vault entry wins on a name collision, and vault servers appear as read-only cards in the Tempr Settings MCP list).&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Remote MCP servers&lt;/strong&gt; — vault-assigned remote servers connect over MCP's Streamable HTTP transport through Tempr's own proxy relay instead of to the remote server directly, so the real remote URL and its credentials never leave the Tempr server.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;A vault-fetch failure or a slow/hanging remote MCP connect (now capped at 5 seconds) no longer delays or blocks local MCP servers from starting.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>JetBrains 1.0.1</title>
    <id>https://temprhq.io/changelog#jetbrains-1-0-1</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#jetbrains-1-0-1"/>
    <updated>2026-08-30T00:00:00Z</updated>
    <category term="jetbrains" label="JetBrains"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Vault MCP servers&lt;/strong&gt; — MCP servers assigned to your account in Tempr's server-side vault now start alongside the ones you've configured yourself, and their tools are available to the agent. When a vault server and one of yours share a name, the vault's entry wins.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Remote MCP servers&lt;/strong&gt; — vault-assigned remote servers connect over MCP's Streamable HTTP transport through Tempr's own relay instead of to the remote server directly, so the real remote URL and its credentials never leave the Tempr server.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-changed&quot;&gt;Changed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;The plugin is now called &lt;strong&gt;Tempr Chat&lt;/strong&gt; on the JetBrains Marketplace and in the IDE's plugin list.&lt;/li&gt;&lt;/ul&gt;&lt;h4 class=&quot;cl-kind cl-kind-fixed&quot;&gt;Fixed&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;A vault fetch that fails or hangs (now capped at five seconds) no longer delays or blocks your own MCP servers from starting.&lt;/li&gt;&lt;li&gt;Works with newer IDE versions, which deprecated or changed some of the platform APIs the plugin used, including the one that serves the chat panel into the IDE's built-in browser.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Visual Studio 2.2.22</title>
    <id>https://temprhq.io/changelog#visual-studio-2-2-22</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#visual-studio-2-2-22"/>
    <updated>2026-08-30T00:00:00Z</updated>
    <category term="visual-studio" label="Visual Studio"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Vault MCP servers&lt;/strong&gt; — MCP servers assigned to you in Tempr's server-side vault, your own or shared by your team, now show up in the extension automatically alongside the servers you set up yourself. Tools &amp;gt; Options &amp;gt; Tempr &amp;gt; MCP Servers lists them in a read-only &lt;strong&gt;Vault-managed servers&lt;/strong&gt; table. You manage them in the Tempr Portal.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Remote MCP servers&lt;/strong&gt; — remote servers from the vault connect through Tempr's own relay, not to the remote server directly, so the real remote URL and its credentials never leave the Tempr server. You need to be signed in to use them. A remote server that can't connect is skipped, and your other servers keep working.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
  <entry>
    <title>Portal update, Aug 30, 2026</title>
    <id>https://temprhq.io/changelog#portal-2026-08-30</id>
    <link rel="alternate" type="text/html" href="https://temprhq.io/changelog#portal-2026-08-30"/>
    <updated>2026-08-30T00:00:00Z</updated>
    <category term="portal" label="Portal"/>
    <content type="html">&lt;h4 class=&quot;cl-kind cl-kind-added&quot;&gt;Added&lt;/h4&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Audit log&lt;/strong&gt; — organization owners and admins can review who changed what in the organization, filter by action, and export it to CSV.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Gateway log controls&lt;/strong&gt; — export request logs to CSV, turn on redaction of emails, tokens, API keys and card numbers in captured content, and shorten how long logs are kept.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Multiple keys per provider&lt;/strong&gt; — Gateway provider keys can hold backup keys, used in turn and routed around a key that's rate-limited or revoked. Each key can be turned on or off.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Request guardrails&lt;/strong&gt; — scan each Gateway request for emails, tokens, API keys and card numbers before it reaches a provider, and choose to flag or block it. Set it for the account and override it per key.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Cost anomaly webhook&lt;/strong&gt; — get a webhook when Gateway spending jumps.&lt;/li&gt;&lt;/ul&gt;</content>
  </entry>
</feed>
