3.274.0 (2026-11-03) Features - [cli/policy] Add pulumi policy get to show a policy pack's policies #25297 - [cli/policy] Add --output json to pulumi policy publish, enable, disable, rm and validate-config, and print the updated policy group after enable and disable #25347 - [cli/policy] Add --stack-rule and --account-rule to pulumi policy group new and...
Pulumi 3.273.0 introduces new automation APIs for Node.js, Python, and Go, along with a resourceExists builtin. These features allow developers to check for resource existence without adopting them into a stack.
3.271.0 (2026-10-21) Features - [engine] Add an id field to ReadResourceResponse so providers can return a resolved id that differs from the one supplied on the request; SDKs now surface this id via .id and resolve it as unknown when empty during preview #25228 - [cli/policy] Create version 2 of the --policy-pack-config format, nesting policy configs under...
3.270.0 (2026-10-16) Bug Fixes - [cli/env] Fix pulumi env edit, env set, env rm and env provider overwriting changes made after they read the environment; on a conflict, env edit reopens the editor with your edits and the current definition, and the others fail #24983 - [cli] Report an unknown drift status in pulumi stack drift status when drift detection...
3.268.0 (2026-10-07) Features - [engine] Negotiate OutputValues on Invoke so SDKs can pass dependency-carrying values in args and receive them in the response, and providers can process them, gated by a new accepts_outputs_in_invoke handshake capability #24953 - [auto] Add version to the generated automation APIs for NodeJS, Python and Go #24990 - [auto]...
3.267.0 (2026-10-01) Bug Fixes - [cli/new] Fix concurrent pulumi new runs failing to clone the templates repository #24939 - [sdk/python] Fix pulumi install for Python plugins and policy packs that use the uv toolchain and a [build-system] table #24951
3.266.0 (2026-09-30) Bug Fixes - [sdk/go] Use an explicit provider for resources from an extension package, instead of falling back to a default provider #24702 - [sdk/python] Use an explicit provider for resources from an extension package, instead of falling back to a default provider #24702 - [pcl] Order the members of a union type by a fixed structural...
3.265.0 (2026-09-25) Features - [cli/auth] Add pulumi logout --all --delete-credentials-key to delete the key that encrypts stored credentials from the OS credential store #24764 Bug Fixes - [programgen/python] Generate valid Python for output-dependent resource ranges #24474 - [cli/policy] Recover from partial installs & wait for parallel installs #24705 -...
3.263.0 (2026-09-15) Bug Fixes [cli/deployment] Stop pulumi deployment settings edit overwriting the source of stacks that use a provider other than GitHub, take --path-filter once per filter rather than splitting it on commas, and report an unconfigured stack from get instead of failing #24526 [engine] Fix remote component provider state migrations being...
When a preview or update runs with a policy pack, the pull request comment and commit check that Pulumi Cloud posts now include a Policy violations section. It shows how many mandatory and advisory violations were found, then lists each one with its policy pack, policy name, the resource it flagged, and the violation message.
3.262.0 (2026-09-10) Features [engine] Support importing a pulumi:index:Stash resource. The stash adopts the given id and holds a null value, and the program's configured input then applies as an update #24544 Bug Fixes [auto/go] Match wrapped errors in the Automation API error predicates, and unwrap the underlying cause #24197 [cli/deployment] Stop pulumi...
We shipped a bunch of new features and improvements in the Pulumi CLI and SDK this month. A few highlights: A redesigned interactive pulumi new that asks for a cloud provider and language instead of listing every template, then confirms your project, stack, and config defaults in a single step ( v3.258 , v3.259 ) Opt-in encryption of stored credentials with...
The Pulumi Context API is now available in public preview. It connects everything Pulumi knows about your infrastructure, the resources your programs manage, the dependencies between them, how stacks consume each other’s outputs, and the resources Discovery finds in your cloud accounts, into a queryable graph. Pulumi Neo uses the Context API out of the box.
Pulumi Labs has released pulumi-rust , an experimental Rust SDK and language plugin for the Pulumi platform. If you’ve been waiting to write your infrastructure in Rust, you can now give it a try. This is an early-stage, experimental project: there are no promises of official support yet, and the API is still taking shape.
You can now use pulumi do to create, read, update, and delete cloud resources directly from the command line , no program, project, or stack required , and pull them into new or existing Pulumi projects when you’re ready.
The Pulumi Cloud console now has a unified inbox for all of your notifications. You’ll find it in the sidebar, just above the name of the active organization, and it notifies you in real time, no reload required: The new notification center currently covers Neo tasks, ESC approvals, and billing notifications, and we’ll be adding more notification types...
Pulumi Cloud now discovers your AWS CloudFormation stacks and Azure Resource Manager deployments as discovered stacks . When Pulumi Discovery scans your cloud accounts, every stack and deployment appears with its resources, each mapped to its Pulumi shape and carrying a migration status computed from live state so it never gets stale.
This release contains critical fixes for destroyOnFinalize, making stack teardown and reconciliation more reliable. It also contains quality-of-life feature additions such as better error condition messaging and allowing the flux source artifact size to be configurable. For the full list of changes, see the v2.8.0 release notes on GitHub.
Pulumi Python programs can now use an async entrypoint. Pass a zero-argument async function to pulumi.run in your __main__.py , and the runtime awaits it on the program’s event loop. This makes it easier to call async functions while retaining a linear program flow: import pulumi async def main () -> pulumi .
You can now connect your AWS, Azure, and Google Cloud accounts to Pulumi Discovery in bulk. The new Connect cloud accounts wizard discovers the accounts in your AWS organization, Azure tenant, or Google Cloud organization and helps you connect them to Discovery.
If you manage your Node.js Pulumi projects with pnpm, our latest releases make the experience a lot smoother: Pulumi now supports pnpm 11 , including its stricter handling of post-install scripts, so pulumi new works out of the box with the latest pnpm ( #23815 ) Serialized functions no longer embed pnpm’s versioned store paths in require calls, so...
You can now set monthly usage limits for Pulumi Neo to help keep your costs under control as you use Neo to handle more infrastructure tasks. Organizations with Neo enabled can set a single dollar limit for the entire organization or individual limits for org members.
If you sign into Pulumi Cloud with an email and password, you can now sign in with a passkey as well. A passkey is a public-key credential stored on your device (your phone, laptop, hardware key, or password manager) that lets you sign in securely without having to enter a password. Passkeys are available to all users of Pulumi Cloud.
Pinned to an older Pulumi CLI or SDK version and finding that the docs describe a newer release? The CLI command reference and the SDK API docs now include a version selector, so the documentation you’re reading matches the version you’re actually running.
ESC secret-rotation webhooks enable you to be notified whenever an ESC secret rotation happens, so your dependent services can take action accordingly. Like all Pulumi webhooks, ESC webhooks are configurable in the Pulumi Cloud console, with the Pulumi Service Provider , or with the Pulumi CLI .
We shipped many new features and fixes in the Pulumi CLI and SDK this month. A few highlights: New subcommands for pulumi logs , including list and remove ( v3.246 ) More output formats (e.g., JSON) for pulumi about and pulumi whoami ( v3.248 ) Additional resource details (URN, name, type, parent) in the JSON-formatted output of Pulumi operations ( v3.246 )...
As of today, Pulumi Neo code reviews are available in public preview. Building on the Pulumi GitHub app , which already posts rich diffs as PR comments on pull requests, Neo code reviews help you understand not just what’s changing, but also how those changes relate to, and potentially impact, the rest of your running infrastructure.
We’re excited to share that the Pulumi docs now support dark mode. 😎 If you’re a dark-mode person, you can turn off the lights by toggling the switcher at the bottom of the docs sidebar: The switcher respects your system settings as well. Visit the docs to give it a try!
When we introduced Pulumi ESC, we shipped it as both a standalone CLI tool ( esc ) as well as a subcommand of the Pulumi CLI ( pulumi env ). Both offered the same functionality, but since the majority of ESC users also use Pulumi IaC, we’ve chosen to retire the standalone CLI in favor of a unified pulumi env .
We’ve added a new, keyboard-friendly command palette that lets you jump to any stack, environment, resource, or view from anywhere in the Pulumi Cloud console. Hit Command/Control+K to bring it up and start typing: Visit Pulumi Cloud to give it a try!
You can now push a Git tag to your Pulumi Cloud-connected version control system to trigger a Pulumi deployment. Available to all Pulumi Cloud organizations, this new feature also supports optional glob filters and works across any supported VCS, including GitHub, GitLab, Bitbucket, Azure DevOps, and custom integrations.
The Pulumi Service Provider has officially reached v1.0 and is now generated from the public Pulumi Cloud OpenAPI specification , which commits to a stable contract for the existing resource surface and keeps the provider up to date automatically.
Pulumi ESC change requests now cleanly separate editing a draft from reviewing one. The editor is always where you change the new version, the approval page is a read-only diff, and a banner on the environment lets you flip between the two.
The Members tab in Access Management now shows which teams each member of your organization belongs to. Before, you had to open each team individually to see who was on it; now the full picture is on one page, under Settings > Access Management > Members . Visit the Pulumi Cloud console to have a look.
The Pulumi Cloud console has a refreshed look: new colors; more consistent controls like inputs, selects, and buttons; a new collapsible sidebar with condensed hierarchical navigation; new layouts for tabular data; a new resource graph display; and much more. Check it out at https://app.pulumi.com and let us know what you think!
Neo can now notify you when a task needs your input, either through native desktop notifications, an audible sound, or both. As you delegate more tasks to Neo and work more asynchronously, you’ll know right away whenever Neo is finished and waiting for you. You can enable Neo task notifications in Account settings > Neo settings in the Pulumi Cloud console .
Custom VCS integrations connect any Git or Mercurial version control system to Pulumi Cloud, including self-hosted and third-party servers. Store your authentication credentials (SSH, basic auth, or a personal access token) in a Pulumi ESC environment, point the integration at your VCS server, and push to your repository to trigger Pulumi Deployments.