NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1667 most downloaded on PyPI
Pulumi's Python SDK
Last release today
01 Oct 2026
Ships on a steady schedule
a new release about every 8 days
Nearly every release is documented
notes for 59 of the last 60 stable releases
7 versions withdrawn
withdrawn after publishing
8 years old
4959 releases · first in 2018
[auto/go] Support --import-pending-creates for refresh command in Go Automation API for preview refresh and refresh operations #23833
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
[auto] Add import to the generated automation APIs for NodeJS, Python and Go #23876
import to the generated automation APIs for NodeJS, Python and Go #23876--reason flag to pulumi env open-request to explain the request to approvers #23802pulumi state commands, suggesting close-matching URNs and how to list the URNs in the stack #23812onError option #23838production runtime option for Node.js projects. When set to true in Pulumi.yaml, pulumi install skips devDependencies (npm --production, pnpm --production, yarn --production). #23849pulumi env is given an unknown subcommand or no subcommand at all #23814pulumi about no longer require the passphrase for passphrase-encrypted stacks #23820pulumi logs <command> showing the log for the currently running command #23887pulumi env open-request so it is pending approval instead of being left as an unsubmitted draft #23802pulumi neo #23831Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
[cli] Show a retain marker for retain-on-delete resources in --diff output #23754
retain marker for retain-on-delete resources in --diff output #23754pulumi neo --debug-update and pulumi neo --debug-preview flags to investigate a failed update or preview, suggested in the failure output #23499ecosystem field to converter mapping requests so a converter can request mappings for the ecosystem it consumes rather than its own name #23804pulumi deployment settings no longer writes the local Pulumi.<stack>.deploy.yaml file: the experimental init, pull, configure, and env subcommands have been removed, and the CLI no longer calls the deployment-settings encrypt endpoint. get/edit/destroy continue to manage settings directly in Pulumi Cloud #23480Pulumi.<stack>.deploy.yaml) has been removed entirely. The experimental pulumi deployment settings push (update/up) command, the --config-file flag, and the SDK helpers that read the file have been removed. Manage deployment settings directly in Pulumi Cloud with pulumi deployment settings get, edit, and destroy #23480--logtostderr #23633pulumi env edit, pulumi env provider, pulumi env version rollback) #23799pulumi env/pulumi esc are unaffected. #23746TargetSnippets to deployment options to target snippets by UUID. #23745Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
[cli/engine] Fix recursive property log marshaling #23773
Nothing published for this version
Nothing published for this version
[backend/diy] Fix pulumi stack tag rm not removing the last tag on self-managed (diy) backends #23702
pulumi stack tag rm not removing the last tag on self-managed (diy) backends #23702--skip-config-validation flag to preview, up, refresh, and destroy to skip validation of stack config against the project config schema #23691Output values #23703--output $format flag to pulumi stack {list,history,tag list} #23686pulumi policy list and pulumi policy group list #23698pulumi project list #23699--output $format flag to pulumi config env list #23706pulumi login will warn if the given login differs from PULUMI_BACKEND_URL #23716hcl language #23742--output $format to pulumi plugin list #23688--file flag to pulumi policy analyze to analyze a state file (as produced by pulumi stack export) without requiring a stack or backend login #23664range loops in NodeJS with a per-iteration binding so deferred applies in the loop body observe the correct indexfdir and picomatch dependencies; the Node.js SDK now requires Node.js 22 or later #23722Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
[cli] Fix a panic in pulumi package get-schema when binding a schema that references an uninstalled plugin #23647
pulumi package get-schema when binding a schema that references an uninstalled plugin #23647pulumi stack get for parity with bare pulumi stack #23623--output flag to about and whoami commands #23651range) resources in generated Python and NodeJS programs so they type-check #23634range resource collections as key-indexed maps in Python and NodeJS so they can be indexed by key #23639Output.recover to catch and recover from exceptions in outputs #23642Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
[cli/config] Add --raw flag to pulumi config set to avoid stripping newlines when input is piped through stdin #23593
pulumi config set to avoid stripping newlines when input is piped through stdin #23593--provider flag to pull provider config to use from existing provider state #23560--disable-integrations flag to pulumi neo that runs the task with no integration credentials #23531Output.recover to catch and recover from exceptions in outputs #23591{{% ref <target> %}} to reference other schema components in markdown descriptions. Such as `{{% ref #21369credentials.json carries an OAuth refresh token, the CLI now auto-refreshes the access token on 401 and retries the request once, instead of returning a "login required" error #23430plugin.Host interface is now stateless with respect to workspaces; host methods that boot or resolve plugins take a plugin.Context carrying the workspace state, and closing a plugin.Context no longer closes a host that was passed in to its constructor #23508pulumi logout clears the current tokenless backend in coding agent environments #23540pulumi package add failing with pnpm when the generated SDK has a scoped package name (@-prefix), caused by pnpm's pkg set rejecting @ in dot-notation property paths #23365pulumi logout clears the current tokenless backend in coding agent environments #23540pulumi config set to avoid stripping newlines when input is piped through stdin #23593--provider flag to pull provider config to use from existing provider state #23560--disable-integrations flag to pulumi neo that runs the task with no integration credentials #23531pulumi plugin run command by including it in the generated CLI docs #23559plugin.Host interface is now stateless with respect to workspaces; host methods that boot or resolve plugins take a plugin.Context carrying the workspace state, and closing a plugin.Context no longer closes a host that was passed in to its constructor #23508pulumi package add failing with pnpm when the generated SDK has a scoped package name (@-prefix), caused by pnpm's pkg set rejecting @ in dot-notation property paths #23365Output.recover to catch and recover from exceptions in outputs #23591{{% ref <target> %}} to reference other schema components in markdown descriptions. Such as `{{% ref #21369credentials.json carries an OAuth refresh token, the CLI now auto-refreshes the access token on 401 and retries the request once, instead of returning a "login required" error #23430Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
[backend/diy] Fix backwards incompatible gocloud.dev changes #23525
pulumi logs ls to list automatic log files #23449pulumi logs rm to remove automatic log files--output json for preview, up, destroy, and refreshpulumi neo session and restore the transcript on resume with fg #https://github.com/pulumi/pulumi/issues/23394pulumi ai web command #23517pulumi login prompt wording and coloring #23417--stateless flag to pulumi do. create, patch, and delete now require --stateless for the existing direct-provider behavior; the default will switch to a stateful (engine-driven) implementation in a future releasepulumi neo TUI now adapts its colors to the terminal background instead of hardcoding a dark scheme #23333pulumi neo task-creation timeout so backend cold starts no longer fail #23444pulumi neo approval prompts as approvals #23450**T when an output traversal lands on an optional struct field, and to emit the correct pulumi.<T>ArrayOutput cast for traversals to slice-typed fields #23458read field to customTimeouts so users can configure a timeout for resource read operations #23459RegisterResource call #14826pulumi package add not being built when using pnpm 10.34.2 or newerNothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →