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 58 of the last 60 stable releases
7 versions withdrawn
withdrawn after publishing
8 years old
4959 releases · first in 2018
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
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/new] Show a single confirmation of project, stack, and config defaults in interactive pulumi new instead of prompting for each value #24223
pulumi new instead of prompting for each value #24223PULUMI_DEFAULT_ORGANIZATION to be able to set the default org #24384Created stack when creating a stack against the Pulumi Cloud backend #24280pulumi neo cancellation requests that the service rejects and keep Esc responsive instead of showing "Cancelling..." forever #24267value and environment keys when serializing esc.Value and esc.Range, matching the fields the ESC OpenAPI contract marks required #24346pulumi package add fails to bind a package schema #24367policy group ls respect the default org #24385pulumi login failed against, where that backend was configured, and how to change it #24322--parallel flag to pulumi plugin install #24369Nothing 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] Add opt-in encryption of stored credentials with a key protected by the operating system, selected with PULUMI_CREDENTIAL_STORE #24212
PULUMI_CREDENTIAL_STORE #24212pulumi new instead of listing every template #24226policyx.NewStackValidationPolicy and wire up the analyzer's AnalyzeStack RPC so Go policy packs can validate the full stack #24232pulumi preview --import-file no longer emits unknown values, and pulumi import rejects files that contain them #24261program argument on preview_refresh and preview_destroy stack methods #24274pulumi login and pulumi logout help text to cover all supported state backends and document PULUMI_ACCESS_TOKEN, --default-org, and --interactive #24319Nothing 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] The deprecation warning is now an error. PULUMI_DIY_BACKEND_IGNORE_DEPRECATION_WARNING is now PULUMI_DIY_BACKEND_IGNORE_DEPRECATION_ERRO…
pulumi do input expressions, and add pulumi do show-resources to list them #24184pulumi do <pkg> <resource> patch <name> work in stateful mode, overlaying the supplied inputs onto the existing snippet" #24295pulumi state get to show individual resources #24191pulumi do is invoked outside of a Pulumi project #24231pulumi stack history events --summary report the program errors from the language host #24111pulumi api: repeated -H/--header values for the same header name now all reach the wire, instead of each one silently overwriting the last #24180--server when adding to the packages section of Pulumi.yaml #24189for expressions are now generated as Go loops #24228_ := index statement emitted for resources with a numeric range whose value variable is unused #24227elementType) the same way SDK codegen does, instead of emitting uncompilable code #24235pulumi plugin ls reports an accurate last-used time on all platforms #24251--show-secrets is passed #24253pulumi new) to the browser-based login/signup flow so Pulumi Cloud can attribute signups to the command that triggered them #24192Nothing 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
[cli] Add --ignore-protect flag to pulumi up , pulumi preview and pulumi destroy to allow deleting protected resources without unprotecting them in th
--ignore-protect flag to pulumi up, pulumi preview and pulumi destroy to allow deleting protected resources without unprotecting them in the state first #24053--export-env-vars flag to the env provider {aws,azure,gcp}-login commands to also set the standard SDK environment variables referencing the login outputs #24055--server flag to pulumi package add, publish, get-schema, get-mapping, gen-sdk, info and pulumi schema check that skips package resolution and uses the given URL as the plugin download URL #24107pulumi login --insecure not being reflected in the stack's service secrets manager state, which caused TLS verification failures against self-hosted backends using self-signed certificates #24134fmt when a component needs it #24019env provider no longer writes a new environment revision when the resulting definition is unchanged #24055NewPolicyAnalyzer when ConfigureStack fails after the plugin has booted #24106pulumi up --remote, pulumi deployment run) when the deployment fails #24155pulumi new, as pulumi install does #24126resources #24135--stack into the converter's arguments when converter args are passed #24146ImportResources when GenerateCode(false) is set #24147...ArgsArgs argument types #24172pulumi import --from terraform in a Pulumi HCL project #23744ID type to PCL #22702Invoke its own response message, separating it from the one a provider returns #24100--provider argument for stateful operations #24132map[string]interface{} #24142resolver_target on ConvertStateRequest, so converters can resolve package specifications the same way the CLI does #24174Nothing 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] Add an --extension flag to package commands for extension-parameterized packages, reinstalled from Pulumi.yaml on pulumi install
--extension flag to package commands for extension-parameterized packages, reinstalled from Pulumi.yaml on pulumi installproviders option of the parent named on the request, matching the resolution applied to resource registrations #24016--resources to refer to existing resources in state in do input expressions #24037providers option of a component block to the resources and invokes it declares #24016pulumi install processes sharing a PULUMI_HOME intermittently failing with a missing provider executable error #24080--summary flag to pulumi stack history events that reduces a past update's events to the same summary shape as a live pulumi up --output json, extended with error diagnostics and failed-resource markers #23960pulumi neo --debug-update or pulumi neo --debug-preview to investigate the failed operation #24075UV_PROJECT_ENVIRONMENT to override the virtualenv path if uv is used #24077[cli] Add pulumi logs share command for sharing logs with Pulumi #22546
pulumi logs share command for sharing logs with Pulumi #22546pulumi stack migrate to migrate a stack from another backend to the currently logged-in backend, including re-encrypting config secrets and stack state under the target secrets provider #22902--override-env flag to up, preview, destroy, and refresh to substitute imported environments for a single run without editing the stack config #23562pulumi neo acp to run Neo as an Agent Client Protocol agent over stdio for ACP-capable editors, with read-only and plan mode exposed as session config options #23886pulumi neo stream and message-send failures, and add pulumi neo resume with chat history #23835pulumi neo #23932upsert to do, allowing resources to be statefully created or updated in a stack #23813pulumi.run for natively awaited Python program entrypoints that can return stack outputs #23945--runtime-options to pulumi policy new #23992pulumi neo connected during quiet periods when the event stream only receives keep-alive heartbeats #23935ls, rm, delete, mv, update, modify, create and setup aliases to list/remove/move/edit/new commands and making state remove and package remove the canonical names with delete kept as an alias #23903pulumi is run without a command, matching the behavior of other group commands #23848onError resource hooks in generated Go, NodeJS, and Python programs and in the PCL runtime, retrying the failed operation when the hook command exits successfully #23839-v<n> --logflow no longer produce separate log files for plugins #23938pulumi new --help, which required a slow template listing before help could display #23973Nothing 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
Your coding agent can read these notes before it upgrades. Set up the MCP server →