---
name: Pulumi
slug: pulumi
domain: pulumi.com
category: infrastructure
sources: 2
total_releases: 259
releases_last_30d: 14
avg_releases_per_week: 3.8
last_updated: 2026-10-06
tracking_since: 2024-10-01
canonical: https://releases.sh/pulumi
overview_url: https://releases.sh/pulumi/overview.md
tags:
  - cloud
  - iac
  - python
  - typescript
accounts:
  github: "pulumi"
  x: "PulumiCorp"
  youtube: "/c/pulumitv"
---

## Overview

Recently shipped workspace snapshots for Pulumi Neo, so interrupted agent tasks resume with their files intact.

**Neo agent tasks now survive runtime restarts.** Neo clones repositories, edits files, installs dependencies, and runs previews as it works. Conversation replay recovers what it said, not the generated files, dependency state, local commits, or scratch output the next step needs; workspace snapshots keep that directory recoverable. The Context API — one queryable graph of resources, dependencies, stack outputs, and runtime data — remains in preview for Enterprise and Business Critical orgs.

**Component state migrations reached every SDK.** Resource options in Python, Go, and Node.js accept state migration callbacks, with engine support on resource registrations and Pulumi Cloud updates via journal v2. `pulumi:index:Stash` can be imported to adopt an id and apply configured inputs as an update.

**Deployment settings edit configures more of a stack.** It now handles git authentication, dependency caching, template sources, drift remediation, tag triggers, review stack labels, and the version control integration. **Breaking:** `pulumi deployment settings get --output=json` renders `environmentVariables` as objects rather than a list of names.

**Credential cleanup from the CLI.** `pulumi logout --all --delete-credentials-key` deletes the key that encrypts stored credentials from the OS credential store. The engine also reports `Unknown=true` on reads skipped during `--continue-on-error` updates, so dependents see unknowns instead of empty outputs.

**Cloud OIDC setup runs from the terminal.** `pulumi env setup {aws,azure,gcp}` configures OIDC trust and creates the ESC environments that use it, with interactive prompts or non-interactive flags for scripts and agents.

<Source name="Pulumi" slug="pulumi" type="github" releases="136" latest-version="v3.267.0" latest-date="2026-10-01T11:49:20.000Z" url="https://releases.sh/pulumi/pulumi" />
<Source name="Pulumi Blog" slug="pulumi-blog" type="feed" releases="114" latest-date="2026-09-28T00:00:00.000Z" url="https://releases.sh/pulumi/pulumi-blog" />

## Recent Releases

_Summaries below — fetch the release's `canonical` URL for full content, or `url` for the original source._

<Release source="pulumi" version="v3.267.0" date="October 1, 2026" published="2026-10-01T11:49:20.000Z" url="https://github.com/pulumi/pulumi/releases/tag/v3.267.0" canonical="https://releases.sh/release/rel_rhRrplCLtDpFYb6ERqQ0F" truncated="true">
Fixed concurrent pulumi new runs failing to clone the templates repository, and pulumi install for Python plugins and policy packs using the uv toolchain with a [build-system] table.
</Release>

<Release source="pulumi" version="v3.266.0" date="September 30, 2026" published="2026-09-30T11:33:14.000Z" url="https://github.com/pulumi/pulumi/releases/tag/v3.266.0" canonical="https://releases.sh/release/rel_dei0AZPkNZR3Wy2zjT7yq" truncated="true">
Go and Python SDKs now use an explicit provider for resources from an extension package instead of falling back to a default provider, and the Go SDK removed workspace.Credentials.AccessTokens, reading stored logins only from the accounts object of credentials.json. Also improved pulumi neo tool results with console URL and update identifiers.
</Release>

<Release source="pulumi-blog" date="September 28, 2026" published="2026-09-28T00:00:00.000Z" url="https://www.pulumi.com/blog/self-driving-infrastructure-pulumi-jev/" canonical="https://releases.sh/release/rel_vRKfuUbwOZpbic9SQjD7o" truncated="true">
### Self-driving infrastructure with Pulumi and Jev

Pulumi demonstrates GeoDeploy, an app that combines TypeSafe's Jev decision primitives with the Pulumi Automation API to pick AWS, Azure, or Google Cloud regions for managed Kubernetes and provision them. Jev only selects from closed sets of pre-priced region IDs using choice() and noul() calls, so it never generates code, does arithmetic, or invents region names.
</Release>

<Release source="pulumi-blog" date="September 28, 2026" published="2026-09-28T00:00:00.000Z" url="https://www.pulumi.com/blog/route-every-claude-code-message-to-the-right-model-with-jev/" canonical="https://releases.sh/release/rel_SLmmCzoV8uWItYhEnfnKC" truncated="true">
### Route every Claude Code message to the right model with Jev

An open source pass-through proxy asks TypeSafe AI's Jev System One model which Claude model each new message needs, forwarding to Haiku 4.5, Sonnet 5, or Opus 5.5 and only re-deciding when the user writes a message so prompt caches survive. Tool steps and subagents keep their tier, background calls go to Haiku 4.5, and Jev's answers act as advice since guard questions and hard rules in code can only raise the tier.
</Release>

<Release source="pulumi" version="v3.265.0" date="September 25, 2026" published="2026-09-25T22:34:03.000Z" url="https://github.com/pulumi/pulumi/releases/tag/v3.265.0" canonical="https://releases.sh/release/rel_BNHFiK6WS7PwCjMYoJEqQ" truncated="true">
The new pulumi logout --all --delete-credentials-key flag removes the key that encrypts stored credentials from the OS credential store, and encrypted credentials in other PULUMI_HOME directories stay readable after a logout --all or login. Fixed a PCL panic when indexing a tuple literal with an index equal to its length, a binder panic on nested tuple literals of different shapes, and Node.js closure serialization for __importStar-wrapped cached modules.
</Release>

<Release source="pulumi-blog" date="September 25, 2026" published="2026-09-25T19:00:00.000Z" url="https://www.pulumi.com/blog/neo-kopia-workspace-snapshots/" canonical="https://releases.sh/release/rel_lf97F9oQvRuSTLD5zE1X0" truncated="true">
### AI agents need continuity, not just context

Pulumi explains how Neo achieves workspace continuity for long-running agent tasks by replacing Git-based repository reconstruction with Kopia, an open source backup tool that creates encrypted, incremental, content-addressed snapshots on generic object storage. The design splits a control plane that authorizes recovery and mints task-scoped credentials from a data plane where the runtime restores and checkpoints its workspace directly, with per-task storage prefixes and repository passwords as the multi-tenant security boundary.
</Release>

<Release source="pulumi-blog" date="September 25, 2026" published="2026-09-25T00:00:00.000Z" url="https://www.pulumi.com/blog/component-state-migrations/" canonical="https://releases.sh/release/rel_pqVP63VD9nvCPJn48Nz9J" truncated="true">
### Change your components, keep your infrastructure

New component state migrations let Pulumi component authors ship an upgrade path with the component itself, translating the saved state of a component and its children before Pulumi works out which resources need to change, so components like AWSX VPC can change internal design without replacing running infrastructure. The state migrations API is experimental and may change.
</Release>

<Release source="pulumi" version="v3.264.0" date="September 23, 2026" published="2026-09-23T09:54:16.000Z" url="https://github.com/pulumi/pulumi/releases/tag/v3.264.0" canonical="https://releases.sh/release/rel_TcyC7FcCOEsj1-skDA-au" truncated="true">
Component state migration callbacks are now available in the Python, Go, and Node.js resource options, with Pulumi Cloud updates enabling component state migrations via journal v2. Also fixed plugin discovery from the current uv workspace member's dependencies, a PendingReplacement deletion bug, and a leaked package process from pulumi package get-schema.
</Release>

<Release source="pulumi" version="v3.263.0" date="September 16, 2026" published="2026-09-16T11:16:53.000Z" url="https://github.com/pulumi/pulumi/releases/tag/v3.263.0" canonical="https://releases.sh/release/rel_QbXkR9yKNS4MpkCTR5ECx" truncated="true">
Fixed pulumi deployment settings edit overwriting the source of stacks using a provider other than GitHub, taking --path-filter once per filter instead of splitting on commas, and failing on unconfigured stacks from get. Also fixed skipped remote component provider state migrations and a pnpm panic when pnpm config get allowBuilds prints null.
</Release>

<Release source="pulumi-blog" date="September 11, 2026" published="2026-09-11T00:00:00.000Z" url="https://www.pulumi.com/blog/esc-oidc-setup-cli/" canonical="https://releases.sh/release/rel_bEQdOVG9bvMoktq9NcS22" truncated="true">
### Set Up Cloud OIDC From the Pulumi CLI

The new pulumi env setup command brings Pulumi ESC's OIDC onboarding flow for AWS, Azure, and Google Cloud to the CLI, with interactive prompts or non-interactive flags for scripts and agents. It creates the identity provider, IAM role, and policy attachment per account, then creates an ESC environment per account with the aws-login provider configured.
</Release>

## Fetching more

Append `.md` (markdown), `.json` (raw data), or `.atom` (feed) to any URL on this page.

- Per-source history: `https://releases.sh/pulumi/{source-slug}`
- Atom feed: `https://releases.sh/pulumi.atom`
- Individual release: `https://releases.sh/release/{release-id}`
