<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0"><channel><title>Pulumi Releases</title><link>https://www.pulumi.com/releases/</link><description>A running log of major and minor updates from the Pulumi team.</description><language>en-us</language><item><title>CLI and SDK rollup: pulumi new, pulumi do, and more</title><link>https://www.pulumi.com/releases/changelog/2026-08-28-cli-and-sdk-august-releases/</link><guid>https://www.pulumi.com/releases/changelog/2026-08-28-cli-and-sdk-august-releases/</guid><pubDate>Fri, 28 Aug 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;We shipped a bunch of new features and improvements in the Pulumi CLI and SDK this month. A few highlights:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A redesigned interactive &lt;a href="https://www.pulumi.com/docs/iac/cli/commands/pulumi_new/"&gt;&lt;code&gt;pulumi new&lt;/code&gt;&lt;/a&gt; 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 (&lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.258.0"&gt;v3.258&lt;/a&gt;, &lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.259.0"&gt;v3.259&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Opt-in encryption of stored credentials with a key protected by your operating system, selected with &lt;code&gt;PULUMI_CREDENTIAL_STORE&lt;/code&gt; (&lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.258.0"&gt;v3.258&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;A new &lt;a href="https://www.pulumi.com/docs/iac/cli/commands/pulumi_state_get/"&gt;&lt;code&gt;pulumi state get&lt;/code&gt;&lt;/a&gt; command to inspect an individual resource in your state (&lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.257.0"&gt;v3.257&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;A new &lt;a href="https://www.pulumi.com/docs/iac/cli/commands/pulumi_state_promote/"&gt;&lt;code&gt;pulumi state promote&lt;/code&gt;&lt;/a&gt; command that turns the stateful snippets created by &lt;a href="https://www.pulumi.com/docs/iac/cli/commands/pulumi_do/"&gt;&lt;code&gt;pulumi do&lt;/code&gt;&lt;/a&gt; into Pulumi program code (&lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.260.0"&gt;v3.260&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;An &lt;code&gt;--ignore-protect&lt;/code&gt; flag for &lt;code&gt;pulumi up&lt;/code&gt;, &lt;code&gt;pulumi preview&lt;/code&gt;, and &lt;code&gt;pulumi destroy&lt;/code&gt; that deletes protected resources without unprotecting them in state first (&lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.256.0"&gt;v3.256&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Full-stack validation for Go policy packs via &lt;code&gt;policyx.NewStackValidationPolicy&lt;/code&gt; (&lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.258.0"&gt;v3.258&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;PULUMI_DEFAULT_ORGANIZATION&lt;/code&gt; environment variable to set your default organization (&lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.259.0"&gt;v3.259&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Support for Go 1.27 (&lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.260.0"&gt;v3.260&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We also retired the AI mode of &lt;code&gt;pulumi new&lt;/code&gt; in favor of &lt;a href="https://www.pulumi.com/docs/ai/"&gt;&lt;code&gt;pulumi neo&lt;/code&gt;&lt;/a&gt; (&lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.256.0"&gt;v3.256&lt;/a&gt;), and made a raft of improvements to &lt;a href="https://www.pulumi.com/docs/iac/cli/direct-resource-operations/"&gt;&lt;code&gt;pulumi do&lt;/code&gt;&lt;/a&gt; as well.&lt;/p&gt;
&lt;p&gt;See the &lt;a href="https://github.com/pulumi/pulumi/releases"&gt;Releases page on GitHub&lt;/a&gt; and the &lt;a href="https://www.pulumi.com/docs/iac/cli/direct-resource-operations/"&gt;&lt;code&gt;pulumi do&lt;/code&gt; docs&lt;/a&gt; for details.&lt;/p&gt;</description></item><item><title>Query your infrastructure with the Pulumi Context API</title><link>https://www.pulumi.com/releases/changelog/2026-08-26-context-api/</link><guid>https://www.pulumi.com/releases/changelog/2026-08-26-context-api/</guid><pubDate>Wed, 26 Aug 2026 00:00:00 +0000</pubDate><category domain="https://www.pulumi.com/pricing/">Enterprise</category><category domain="https://www.pulumi.com/pricing/">Business Critical</category><description>&lt;p&gt;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&amp;rsquo;s outputs, and the resources &lt;a href="https://www.pulumi.com/docs/discovery-governance/discovery/"&gt;Discovery&lt;/a&gt; finds in your cloud accounts, into a queryable graph.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.pulumi.com/product/neo/"&gt;Pulumi Neo&lt;/a&gt; uses the Context API out of the box. Any other agent, including Claude Code, Codex, and Cursor, learns what it needs to get started with a Markdown document served by the graph API.&lt;/p&gt;
&lt;p&gt;Check out the &lt;a href="https://www.pulumi.com/blog/pulumi-context-api/"&gt;announcement blog post&lt;/a&gt; for the full story.&lt;/p&gt;</description></item><item><title>Experimental Rust support for Pulumi</title><link>https://www.pulumi.com/releases/changelog/2026-08-18-experimental-rust-support/</link><guid>https://www.pulumi.com/releases/changelog/2026-08-18-experimental-rust-support/</guid><pubDate>Tue, 18 Aug 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;Pulumi Labs has released &lt;a href="https://github.com/pulumi-labs/pulumi-rust"&gt;&lt;code&gt;pulumi-rust&lt;/code&gt;&lt;/a&gt;, an experimental Rust SDK and language plugin for the Pulumi platform. If you&amp;rsquo;ve been waiting to write your infrastructure in Rust, you can now give it a try.&lt;/p&gt;
&lt;p&gt;This is an early-stage, experimental project: there are no promises of official support yet, and the API is still taking shape. But it&amp;rsquo;s a great time to kick the tires — tinker with it, file issues, and open pull requests to help shape where it goes.&lt;/p&gt;
&lt;p&gt;To get started, head over to the &lt;a href="https://github.com/pulumi-labs/pulumi-rust"&gt;&lt;code&gt;pulumi-rust&lt;/code&gt; repository&lt;/a&gt; on GitHub.&lt;/p&gt;</description></item><item><title>Stateful, zero-setup resource operations with pulumi do</title><link>https://www.pulumi.com/releases/changelog/2026-08-17-pulumi-do-stateful-operations/</link><guid>https://www.pulumi.com/releases/changelog/2026-08-17-pulumi-do-stateful-operations/</guid><pubDate>Mon, 17 Aug 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;You can now use &lt;a href="https://www.pulumi.com/docs/iac/cli/direct-resource-operations/"&gt;&lt;code&gt;pulumi do&lt;/code&gt;&lt;/a&gt; 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&amp;rsquo;re ready. Resources created with &lt;code&gt;pulumi do&lt;/code&gt; are tracked and managed transparently for you, so commands like these just work:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Create a new resource&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pulumi &lt;span class="k"&gt;do&lt;/span&gt; aws:s3:Bucket create my-bucket
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Update the resource in place&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pulumi &lt;span class="k"&gt;do&lt;/span&gt; aws:s3:Bucket patch my-bucket
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Delete it&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pulumi &lt;span class="k"&gt;do&lt;/span&gt; aws:s3:Bucket delete my-bucket
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When the time comes to pull these resources into a proper Pulumi project of your own, you can promote them using the new &lt;a href="https://www.pulumi.com/docs/iac/cli/commands/pulumi_state_promote/"&gt;&lt;code&gt;pulumi state promote&lt;/code&gt;&lt;/a&gt; command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;pulumi state promote my-bucket
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;All of this makes &lt;code&gt;pulumi do&lt;/code&gt; a unified, consistent API across the whole cloud that agents can use to manage resources easily and directly, without you having to give up the benefits of a solid IaC foundation.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;pulumi do&lt;/code&gt; is generally available as of &lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.258.0"&gt;v3.258.0&lt;/a&gt;. To learn more, read the &lt;a href="https://www.pulumi.com/blog/pulumi-do-direct-resource-operations/"&gt;announcement post&lt;/a&gt; or the &lt;a href="https://www.pulumi.com/docs/iac/cli/direct-resource-operations/"&gt;&lt;code&gt;pulumi do&lt;/code&gt; documentation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>A notification center for Pulumi Cloud</title><link>https://www.pulumi.com/releases/changelog/2026-08-12-notification-center/</link><guid>https://www.pulumi.com/releases/changelog/2026-08-12-notification-center/</guid><pubDate>Wed, 12 Aug 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;The Pulumi Cloud console now has a unified inbox for all of your notifications. You&amp;rsquo;ll find it in the sidebar, just above the name of the active organization, and it notifies you in real time, no reload required:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.pulumi.com/releases/changelog/images/2026-08-12-notification-center.png" alt="The notification center"&gt;&lt;/p&gt;
&lt;p&gt;The new notification center currently covers Neo tasks, ESC approvals, and billing notifications, and we&amp;rsquo;ll be adding more notification types, including token usage, in the weeks ahead. There&amp;rsquo;s also a full-page view of your notifications that lets you manage them more easily.&lt;/p&gt;
&lt;p&gt;You can adjust your notification preferences — including whether to be notified in the console, by email, or both — on your &lt;a href="https://app.pulumi.com/user/account/settings"&gt;Account settings page&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Full support for Terraform state, cross-language modules, and HCL</title><link>https://www.pulumi.com/releases/terraform-state-backend-modules-hcl/</link><guid>https://www.pulumi.com/releases/terraform-state-backend-modules-hcl/</guid><pubDate>Tue, 04 Aug 2026 00:00:00 +0000</pubDate><description>Manage your Terraform state, publish and share Terraform modules across languages, and write programs in HCL as a first-class Pulumi language.</description></item><item><title>Migrate CloudFormation and ARM with discovered stacks</title><link>https://www.pulumi.com/releases/changelog/2026-07-30-discovered-stacks/</link><guid>https://www.pulumi.com/releases/changelog/2026-07-30-discovered-stacks/</guid><pubDate>Thu, 30 Jul 2026 00:00:00 +0000</pubDate><category domain="https://www.pulumi.com/pricing/">Team</category><category domain="https://www.pulumi.com/pricing/">Enterprise</category><category domain="https://www.pulumi.com/pricing/">Business Critical</category><description>&lt;p&gt;Pulumi Cloud now discovers your AWS CloudFormation stacks and Azure Resource Manager deployments as &lt;a href="https://www.pulumi.com/docs/discovery-governance/discovery/discovered-stacks/"&gt;discovered stacks&lt;/a&gt;. When &lt;a href="https://www.pulumi.com/docs/discovery-governance/discovery/"&gt;Pulumi Discovery&lt;/a&gt; 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.&lt;/p&gt;
&lt;p&gt;When you&amp;rsquo;re ready to bring them under Pulumi management, the migration path is built in: hand it to &lt;a href="https://www.pulumi.com/docs/ai/"&gt;Neo&lt;/a&gt;, generate import commands from the console, or drive the same flow from your own agent through the REST API. Progress is derived from real state, and the migration is done when a zero-diff &lt;code&gt;pulumi preview&lt;/code&gt; proves the code matches the cloud. Pulumi-hosted Terraform stacks get the same treatment through a new &lt;strong&gt;Migration&lt;/strong&gt; tab.&lt;/p&gt;
&lt;p&gt;Read the &lt;a href="https://www.pulumi.com/blog/discovered-stacks/"&gt;announcement blog post&lt;/a&gt; or the &lt;a href="https://www.pulumi.com/docs/discovery-governance/discovery/discovered-stacks/"&gt;discovered stacks documentation&lt;/a&gt; to learn more, and follow the &lt;a href="https://www.pulumi.com/blog/discovered-stacks-migrate-cloudformation-to-pulumi/"&gt;step-by-step migration tutorial&lt;/a&gt; to take a CloudFormation stack all the way to Pulumi.&lt;/p&gt;</description></item><item><title>Pulumi Kubernetes Operator v2.8.0</title><link>https://www.pulumi.com/releases/changelog/2026-07-28-pulumi-kubernetes-operator-v2-8-0/</link><guid>https://www.pulumi.com/releases/changelog/2026-07-28-pulumi-kubernetes-operator-v2-8-0/</guid><pubDate>Tue, 28 Jul 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;For the full list of changes, see the &lt;a href="https://github.com/pulumi/pulumi-kubernetes-operator/releases/tag/v2.8.0"&gt;v2.8.0 release notes&lt;/a&gt; on GitHub.&lt;/p&gt;</description></item><item><title>Async Python program entrypoints with pulumi.run</title><link>https://www.pulumi.com/releases/changelog/2026-07-24-async-python-program-entrypoints/</link><guid>https://www.pulumi.com/releases/changelog/2026-07-24-async-python-program-entrypoints/</guid><pubDate>Fri, 24 Jul 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;Pulumi Python programs can now use an async entrypoint. Pass a zero-argument async function to &lt;code&gt;pulumi.run&lt;/code&gt; in your &lt;code&gt;__main__.py&lt;/code&gt;, and the runtime awaits it on the program&amp;rsquo;s event loop. This makes it easier to call async functions while retaining a linear program flow:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-python" data-lang="python"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;pulumi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;pulumi&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Inputs&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;value_a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;some_async_operation&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;value_b&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="n"&gt;some_other_async_operation&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;value_a&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;value_a&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;value_b&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;value_b&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;pulumi&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;run&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;main&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If the entrypoint returns a mapping, each entry is registered as a stack output, merging with any explicit &lt;code&gt;pulumi.export&lt;/code&gt; calls using the normal export behavior. The entrypoint can also return &lt;code&gt;None&lt;/code&gt; and call &lt;code&gt;pulumi.export&lt;/code&gt; directly.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;pulumi.run&lt;/code&gt; may be called only once per program, and existing synchronous programs keep working unchanged. For details, see the &lt;a href="https://www.pulumi.com/docs/iac/languages-sdks/python/#async-entrypoint"&gt;async entrypoint documentation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Bulk cloud account onboarding for Discovery</title><link>https://www.pulumi.com/releases/changelog/2026-07-23-bulk-cloud-account-onboarding-for-insights/</link><guid>https://www.pulumi.com/releases/changelog/2026-07-23-bulk-cloud-account-onboarding-for-insights/</guid><pubDate>Thu, 23 Jul 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;You can now connect your AWS, Azure, and Google Cloud accounts to &lt;a href="https://www.pulumi.com/docs/discovery-governance/discovery/"&gt;Pulumi Discovery&lt;/a&gt; in bulk. The new &lt;strong&gt;Connect cloud accounts&lt;/strong&gt; wizard discovers the accounts in your AWS organization, Azure tenant, or Google Cloud organization and helps you connect them to Discovery. With the recommended authentication options, no long-lived cloud secrets are stored in Pulumi Cloud.&lt;/p&gt;
&lt;p&gt;Onboarding used to mean manual OIDC configuration and a hand-written &lt;a href="https://www.pulumi.com/docs/esc/"&gt;Pulumi ESC&lt;/a&gt; environment for every account, which made complete coverage across hundreds of accounts, subscriptions, and projects hard to reach. The wizard takes a whole batch across all three clouds from disconnected to scanning in a few minutes.&lt;/p&gt;
&lt;p&gt;Bulk onboarding is available now to organization admins and members with permission to connect cloud accounts. Read the &lt;a href="https://www.pulumi.com/blog/connect-your-cloud-accounts-to-pulumi-in-minutes/"&gt;announcement blog post&lt;/a&gt; or the &lt;a href="https://www.pulumi.com/docs/discovery-governance/discovery/connect-cloud-accounts/"&gt;Connect cloud accounts documentation&lt;/a&gt; to learn more.&lt;/p&gt;</description></item><item><title>Improved pnpm support for Node.js projects</title><link>https://www.pulumi.com/releases/changelog/2026-07-17-improved-pnpm-support-for-nodejs-projects/</link><guid>https://www.pulumi.com/releases/changelog/2026-07-17-improved-pnpm-support-for-nodejs-projects/</guid><pubDate>Fri, 17 Jul 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;If you manage your Node.js Pulumi projects with pnpm, our latest releases make the experience a lot smoother:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pulumi now supports &lt;a href="https://pnpm.io/blog/releases/11.0"&gt;pnpm 11&lt;/a&gt;, including its stricter handling of post-install scripts, so &lt;code&gt;pulumi new&lt;/code&gt; works out of the box with the latest pnpm (&lt;a href="https://github.com/pulumi/pulumi/pull/23815"&gt;#23815&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.pulumi.com/docs/iac/concepts/functions/function-serialization/"&gt;Serialized functions&lt;/a&gt; no longer embed pnpm&amp;rsquo;s versioned store paths in &lt;code&gt;require&lt;/code&gt; calls, so upgrading a dependency no longer produces spurious diffs in serialized code, or errors when a dynamic provider loads its dependencies during &lt;code&gt;pulumi refresh&lt;/code&gt; or &lt;code&gt;pulumi destroy&lt;/code&gt; (&lt;a href="https://github.com/pulumi/pulumi/pull/23767"&gt;#23767&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Magic functions, callbacks written inline in your program and deployed as cloud functions, like an &lt;a href="https://www.pulumi.com/docs/iac/concepts/functions/function-serialization/"&gt;&lt;code&gt;aws.lambda.CallbackFunction&lt;/code&gt;&lt;/a&gt;, now work in pnpm projects. Symlinked workspace and &lt;code&gt;file:&lt;/code&gt; dependencies are fixed the same way (&lt;a href="https://github.com/pulumi/pulumi/pull/23866"&gt;#23866&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After you upgrade to an SDK with these fixes, expect a one-time diff on previously serialized functions as their &lt;code&gt;require&lt;/code&gt; paths switch to the new version-independent form.&lt;/p&gt;
&lt;p&gt;For more on how Pulumi serializes functions in Node.js, see the &lt;a href="https://www.pulumi.com/docs/iac/concepts/functions/function-serialization/"&gt;function serialization docs&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Usage limits for Pulumi Neo</title><link>https://www.pulumi.com/releases/changelog/2026-07-14-neo-usage-limits/</link><guid>https://www.pulumi.com/releases/changelog/2026-07-14-neo-usage-limits/</guid><pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;You can now set monthly usage limits for &lt;a href="https://www.pulumi.com/docs/ai/"&gt;Pulumi Neo&lt;/a&gt; to help keep your costs under control as you use Neo to handle more infrastructure tasks.&lt;/p&gt;
&lt;p&gt;Organizations with Neo enabled can set a single dollar limit for the entire organization or individual limits for org members. You can also set up email notifications to be notified at 50%, 80%, and 95% of your configured limits.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.pulumi.com/releases/changelog/images/2026-07-14-neo-usage-limits.png" alt="The Manage token usage panel, where an admin sets the organization&amp;rsquo;s monthly Neo limit and turns on email notifications"&gt;&lt;/p&gt;
&lt;p&gt;Neo usage limits are available now for all organizations, and are configurable by organization admins and billing managers. Read the &lt;a href="https://www.pulumi.com/blog/neo-usage-limits/"&gt;announcement blog post&lt;/a&gt; or the &lt;a href="https://www.pulumi.com/docs/ai/neo/usage-limits/"&gt;usage limits documentation&lt;/a&gt; to learn more.&lt;/p&gt;</description></item><item><title>Passkey support in Pulumi Cloud</title><link>https://www.pulumi.com/releases/changelog/2026-07-13-passkey-support-in-pulumi-cloud/</link><guid>https://www.pulumi.com/releases/changelog/2026-07-13-passkey-support-in-pulumi-cloud/</guid><pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.pulumi.com/releases/changelog/images/2026-07-13-pulumi-cloud-passkeys.png" alt="Saving a new passkey in Pulumi Cloud"&gt;&lt;/p&gt;
&lt;p&gt;Passkeys are available to all users of Pulumi Cloud. Read the &lt;a href="https://www.pulumi.com/blog/passkey-support-in-pulumi-cloud/"&gt;announcement blog post&lt;/a&gt; or visit &lt;a href="https://app.pulumi.com/account/profile"&gt;your account settings&lt;/a&gt; to set up your first passkey.&lt;/p&gt;</description></item><item><title>Versioned CLI and SDK docs</title><link>https://www.pulumi.com/releases/changelog/2026-07-07-versioned-cli-and-sdk-docs/</link><guid>https://www.pulumi.com/releases/changelog/2026-07-07-versioned-cli-and-sdk-docs/</guid><pubDate>Tue, 07 Jul 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;Pinned to an older Pulumi CLI or SDK version and finding that the docs describe a newer release? The &lt;a href="https://www.pulumi.com/docs/iac/cli/commands/"&gt;CLI command reference&lt;/a&gt; and the &lt;a href="https://www.pulumi.com/docs/reference/"&gt;SDK API docs&lt;/a&gt; now include a version selector, so the documentation you&amp;rsquo;re reading matches the version you&amp;rsquo;re actually running. We keep immutable snapshots going back to v3.150.0, covering the CLI and the Node.js, Python, .NET, and Java SDKs, and your selection is sticky as you navigate.&lt;/p&gt;
&lt;p&gt;Read the &lt;a href="https://www.pulumi.com/blog/previous-cli-and-sdk-version-docs/"&gt;announcement blog post&lt;/a&gt; or head straight to the &lt;a href="https://www.pulumi.com/docs/iac/cli/commands/"&gt;CLI command reference&lt;/a&gt; to try the version dropdown.&lt;/p&gt;</description></item><item><title>ESC webhooks for secret rotations</title><link>https://www.pulumi.com/releases/changelog/2026-06-26-esc-secret-rotation-webhooks/</link><guid>https://www.pulumi.com/releases/changelog/2026-06-26-esc-secret-rotation-webhooks/</guid><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;&lt;a href="https://www.pulumi.com/docs/esc/concepts/webhooks/"&gt;ESC secret-rotation webhooks&lt;/a&gt; enable you to be notified whenever an ESC secret rotation happens, so your dependent services can take action accordingly.&lt;/p&gt;
&lt;p&gt;Like all Pulumi webhooks, ESC webhooks are configurable in the Pulumi Cloud console, &lt;a href="https://www.pulumi.com/docs/esc/integrations/pulumi-service-provider/"&gt;with the Pulumi Service Provider&lt;/a&gt;, or &lt;a href="https://www.pulumi.com/docs/iac/cli/commands/pulumi_env_webhook/"&gt;with the Pulumi CLI&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To learn more about rotation webhooks, &lt;a href="https://www.pulumi.com/blog/introducing-esc-secret-rotation-webhooks/"&gt;read the announcement post&lt;/a&gt; or &lt;a href="https://www.pulumi.com/docs/esc/concepts/webhooks/"&gt;check out the docs&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>CLI and SDK rollup: New commands, richer output, and more</title><link>https://www.pulumi.com/releases/changelog/2026-06-24-pulumi-cli-june-releases/</link><guid>https://www.pulumi.com/releases/changelog/2026-06-24-pulumi-cli-june-releases/</guid><pubDate>Wed, 24 Jun 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;We shipped many new features and fixes in the Pulumi CLI and SDK this month. A few highlights:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New subcommands for &lt;a href="https://www.pulumi.com/docs/iac/cli/commands/pulumi_logs/"&gt;&lt;code&gt;pulumi logs&lt;/code&gt;&lt;/a&gt;, including &lt;a href="https://www.pulumi.com/docs/iac/cli/commands/pulumi_logs_list/"&gt;&lt;code&gt;list&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://www.pulumi.com/docs/iac/cli/commands/pulumi_logs_remove/"&gt;&lt;code&gt;remove&lt;/code&gt;&lt;/a&gt; (&lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.246.0"&gt;v3.246&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;More output formats (e.g., JSON) for &lt;a href="https://www.pulumi.com/docs/iac/cli/commands/pulumi_about/"&gt;&lt;code&gt;pulumi about&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://www.pulumi.com/docs/iac/cli/commands/pulumi_whoami/"&gt;&lt;code&gt;pulumi whoami&lt;/code&gt;&lt;/a&gt; (&lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.248.0"&gt;v3.248&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Additional resource details (URN, name, type, parent) in the JSON-formatted output of Pulumi operations (&lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.246.0"&gt;v3.246&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Renamed &lt;code&gt;pulumi stack init&lt;/code&gt; to &lt;a href="https://www.pulumi.com/docs/iac/cli/commands/pulumi_stack_new/"&gt;&lt;code&gt;pulumi stack new&lt;/code&gt;&lt;/a&gt;, with &lt;code&gt;init&lt;/code&gt; aliased for compatibility (&lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.245.0"&gt;v3.245&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Richer &lt;a href="https://www.pulumi.com/blog/pulumi-do-direct-resource-operations/"&gt;&lt;code&gt;pulumi do&lt;/code&gt;&lt;/a&gt; and &lt;a href="https://www.pulumi.com/blog/pulumi-neo-cli/"&gt;&lt;code&gt;pulumi neo&lt;/code&gt;&lt;/a&gt; interactions and workflows (&lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.245.0"&gt;v3.245&lt;/a&gt;, &lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.246.0"&gt;v3.246&lt;/a&gt;, &lt;a href="https://github.com/pulumi/pulumi/releases/tag/v3.247.0"&gt;v3.247&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;hellip; and lots more. See the &lt;a href="https://github.com/pulumi/pulumi/releases"&gt;Releases page on GitHub&lt;/a&gt; for details.&lt;/p&gt;</description></item><item><title>Neo code reviews: AI code review for infrastructure</title><link>https://www.pulumi.com/releases/changelog/2026-06-22-neo-code-reviews/</link><guid>https://www.pulumi.com/releases/changelog/2026-06-22-neo-code-reviews/</guid><pubDate>Mon, 22 Jun 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;As of today, &lt;a href="https://www.pulumi.com/docs/ai/neo/code-reviews/"&gt;Pulumi Neo code reviews&lt;/a&gt; are available in public preview.&lt;/p&gt;
&lt;p&gt;Building on the &lt;a href="https://www.pulumi.com/docs/integrations/version-control/github-app/"&gt;Pulumi GitHub app&lt;/a&gt;, which already posts rich diffs as PR comments on pull requests, Neo code reviews help you understand not just what&amp;rsquo;s changing, but also how those changes relate to, and potentially impact, the rest of your running infrastructure.&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.pulumi.com/blog/neo-code-reviews/neo-code-review.png" alt="An example code review in a Github PR comment"&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.pulumi.com/blog/neo-code-reviews/"&gt;Check out the blog&lt;/a&gt; to learn more.&lt;/p&gt;</description></item><item><title>Dark mode for the docs</title><link>https://www.pulumi.com/releases/changelog/2026-06-18-docs-dark-mode/</link><guid>https://www.pulumi.com/releases/changelog/2026-06-18-docs-dark-mode/</guid><pubDate>Thu, 18 Jun 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;We&amp;rsquo;re excited to share that the Pulumi docs now support dark mode. 😎 If you&amp;rsquo;re a dark-mode person, you can turn off the lights by toggling the switcher at the bottom of the docs sidebar:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://www.pulumi.com/releases/changelog/images/2026-06-18-dark-mode-switcher.png" alt="The mode-switching control in the docs"&gt;&lt;/p&gt;
&lt;p&gt;The switcher respects your system settings as well. &lt;a href="https://www.pulumi.com/docs/"&gt;Visit the docs&lt;/a&gt; to give it a try!&lt;/p&gt;</description></item><item><title>Retiring the standalone ESC CLI</title><link>https://www.pulumi.com/releases/changelog/2026-06-17-pulumi-env-cli/</link><guid>https://www.pulumi.com/releases/changelog/2026-06-17-pulumi-env-cli/</guid><pubDate>Wed, 17 Jun 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;When we introduced Pulumi ESC, we shipped it as both a &lt;a href="https://github.com/pulumi/esc"&gt;standalone CLI tool&lt;/a&gt; (&lt;code&gt;esc&lt;/code&gt;) as well as a subcommand of the Pulumi CLI (&lt;code&gt;pulumi env&lt;/code&gt;). Both offered the same functionality, but since the majority of ESC users also use Pulumi IaC, we&amp;rsquo;ve chosen to retire the standalone CLI in favor of a unified &lt;a href="https://www.pulumi.com/docs/iac/cli/commands/pulumi_env/"&gt;&lt;code&gt;pulumi env&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The final release of the standalone &lt;code&gt;esc&lt;/code&gt; binary will be next month (July, 2026), at which time the &lt;a href="https://github.com/pulumi/esc"&gt;GitHub repository&lt;/a&gt; will be archived.&lt;/p&gt;
&lt;p&gt;To learn more about Pulumi ESC and &lt;code&gt;pulumi env&lt;/code&gt;, visit the &lt;a href="https://www.pulumi.com/docs/esc/"&gt;Pulumi ESC documentation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Individual user authentication for GitHub Enterprise Server</title><link>https://www.pulumi.com/releases/changelog/2026-06-17-github-enterprise-server-individual-auth/</link><guid>https://www.pulumi.com/releases/changelog/2026-06-17-github-enterprise-server-individual-auth/</guid><pubDate>Wed, 17 Jun 2026 00:00:00 +0000</pubDate><category domain="https://www.pulumi.com/pricing/">Business Critical</category><description>&lt;p&gt;Self-hosted GitHub Enterprise operations may now be run as the individual user who triggered them, so pull requests, commits, and comments are attributed to that person and respect their permissions.&lt;/p&gt;
&lt;p&gt;To learn more about this feature and how to configure it with your Pulumi organization, see &lt;a href="https://www.pulumi.com/docs/integrations/version-control/github-app/#individual-user-authentication-for-github-enterprise-server"&gt;GitHub Enterprise Server support&lt;/a&gt; in the docs.&lt;/p&gt;</description></item><item><title>Universal search: A command palette for Pulumi Cloud</title><link>https://www.pulumi.com/releases/changelog/2026-06-16-universal-search/</link><guid>https://www.pulumi.com/releases/changelog/2026-06-16-universal-search/</guid><pubDate>Tue, 16 Jun 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;We&amp;rsquo;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.&lt;/p&gt;
&lt;p&gt;Hit Command/Control+K to bring it up and start typing:&lt;/p&gt;
&lt;div class="my-4"&gt;
&lt;video class="flex outline-none rounded-lg w-full" title=""
autoplay muted playsinline
loop &gt;
&lt;source src="https://www.pulumi.com/releases/changelog/videos/2026-06-16-command-palette.mp4" /&gt;
&lt;/video&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="https://app.pulumi.com/"&gt;Visit Pulumi Cloud&lt;/a&gt; to give it a try!&lt;/p&gt;</description></item><item><title>Trigger Pulumi deployments from Git tags</title><link>https://www.pulumi.com/releases/changelog/2026-06-05-git-tag-deployments/</link><guid>https://www.pulumi.com/releases/changelog/2026-06-05-git-tag-deployments/</guid><pubDate>Fri, 05 Jun 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;To learn more about tag-based deployments and how to use them, &lt;a href="https://www.pulumi.com/blog/trigger-deployments-on-git-tags/"&gt;read the announcement post&lt;/a&gt; or &lt;a href="https://www.pulumi.com/docs/deployments/concepts/settings/"&gt;check out Deployments documentation&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Pulumi Service Provider v1.0</title><link>https://www.pulumi.com/releases/changelog/2026-05-28-pulumi-service-provider-v1/</link><guid>https://www.pulumi.com/releases/changelog/2026-05-28-pulumi-service-provider-v1/</guid><pubDate>Thu, 28 May 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;The &lt;a href="https://www.pulumi.com/registry/packages/pulumiservice/"&gt;Pulumi Service Provider&lt;/a&gt; has officially &lt;a href="https://www.pulumi.com/blog/generating-a-pulumi-provider-from-an-openapi-spec/#whats-new-in-v10"&gt;reached v1.0&lt;/a&gt; and is now generated from the public Pulumi Cloud &lt;a href="https://www.pulumi.com/docs/reference/cloud-rest-api/"&gt;OpenAPI specification&lt;/a&gt;, which commits to a stable contract for the existing resource surface and keeps the provider up to date automatically.&lt;/p&gt;
&lt;p&gt;This release also adds:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fine-grained RBAC as code&lt;/li&gt;
&lt;li&gt;Pulumi IDP (internal developer platform) as code&lt;/li&gt;
&lt;li&gt;Audit-log export as code&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The release is live on &lt;a href="https://www.npmjs.com/package/@pulumi/pulumiservice"&gt;npm&lt;/a&gt;, &lt;a href="https://pypi.org/project/pulumi-pulumiservice/"&gt;PyPI&lt;/a&gt;, &lt;a href="https://www.nuget.org/packages/Pulumi.PulumiService"&gt;NuGet&lt;/a&gt;, &lt;a href="https://central.sonatype.com/artifact/com.pulumi/pulumiservice"&gt;Maven Central&lt;/a&gt;, and &lt;a href="https://pkg.go.dev/github.com/pulumi/pulumi-pulumiservice"&gt;pkg.go.dev&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To learn more about this release, read the &lt;a href="https://www.pulumi.com/blog/generating-a-pulumi-provider-from-an-openapi-spec/#whats-new-in-v10"&gt;announcement post&lt;/a&gt;, and check out the provider&amp;rsquo;s documentation in the &lt;a href="https://www.pulumi.com/registry/packages/pulumiservice/"&gt;Pulumi Registry&lt;/a&gt;. See the &lt;a href="https://github.com/pulumi/pulumi-pulumiservice/releases/tag/v1.0.0"&gt;v1.0.0 release notes&lt;/a&gt; for additional details.&lt;/p&gt;</description></item><item><title>Clearer edit and review modes for ESC change requests</title><link>https://www.pulumi.com/releases/changelog/2026-05-22-esc-change-request-edit-review/</link><guid>https://www.pulumi.com/releases/changelog/2026-05-22-esc-change-request-edit-review/</guid><pubDate>Fri, 22 May 2026 00:00:00 +0000</pubDate><category domain="https://www.pulumi.com/pricing/">Enterprise</category><category domain="https://www.pulumi.com/pricing/">Business Critical</category><description>&lt;p&gt;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. Both modes are deep-linkable, so you can send a coworker a URL to review — or co-edit — the same draft before it&amp;rsquo;s approved.&lt;/p&gt;
&lt;p&gt;Learn more about &lt;a href="https://www.pulumi.com/docs/esc/concepts/approvals/"&gt;approvals in Pulumi ESC&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Building for agentic infrastructure</title><link>https://www.pulumi.com/releases/agentic-infrastructure-era/</link><guid>https://www.pulumi.com/releases/agentic-infrastructure-era/</guid><pubDate>Tue, 19 May 2026 00:00:00 +0000</pubDate><description>As agents take on more of the work of infrastructure, they need tools that meet them where they are.</description></item><item><title>View team membership from the Members tab</title><link>https://www.pulumi.com/releases/changelog/2026-05-15-team-membership-members-tab/</link><guid>https://www.pulumi.com/releases/changelog/2026-05-15-team-membership-members-tab/</guid><pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;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 &lt;strong&gt;Settings&lt;/strong&gt; &amp;gt; &lt;strong&gt;Access Management&lt;/strong&gt; &amp;gt; &lt;strong&gt;Members&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Visit the &lt;a href="https://app.pulumi.com"&gt;Pulumi Cloud console&lt;/a&gt; to have a look.&lt;/p&gt;</description></item><item><title>A refreshed Pulumi Cloud console</title><link>https://www.pulumi.com/releases/changelog/2026-05-13-pulumi-cloud-console-refresh/</link><guid>https://www.pulumi.com/releases/changelog/2026-05-13-pulumi-cloud-console-refresh/</guid><pubDate>Wed, 13 May 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Check it out at &lt;a href="https://app.pulumi.com"&gt;https://app.pulumi.com&lt;/a&gt; and let us know what you think!&lt;/p&gt;</description></item><item><title>Neo task notifications</title><link>https://www.pulumi.com/releases/changelog/2026-05-05-neo-task-notifications/</link><guid>https://www.pulumi.com/releases/changelog/2026-05-05-neo-task-notifications/</guid><pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;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&amp;rsquo;ll know right away whenever Neo is finished and waiting for you.&lt;/p&gt;
&lt;p&gt;You can enable Neo task notifications in &lt;strong&gt;Account settings&lt;/strong&gt; &amp;gt; &lt;strong&gt;Neo settings&lt;/strong&gt; in the &lt;a href="https://app.pulumi.com"&gt;Pulumi Cloud console&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Connect any Git or Mercurial repo with Custom VCS</title><link>https://www.pulumi.com/releases/changelog/2026-05-04-custom-vcs/</link><guid>https://www.pulumi.com/releases/changelog/2026-05-04-custom-vcs/</guid><pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate><description>&lt;p&gt;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. Pulumi Neo can also clone and push to these repositories using the same credentials.&lt;/p&gt;
&lt;p&gt;To learn more, read &lt;a href="https://www.pulumi.com/blog/connect-any-git-server-to-pulumi-deployments-with-custom-vcs/"&gt;the announcement post&lt;/a&gt;, and to set up your first integration, check out the &lt;a href="https://www.pulumi.com/docs/integrations/version-control/custom-vcs/"&gt;Custom VCS documentation&lt;/a&gt;.&lt;/p&gt;</description></item></channel></rss>