NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1488 most downloaded on PyPI
Pulumi's Python SDK
Last release 3 days ago
02 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
4961 releases · first in 2018
Nothing published for this version
[cli/package] Add the pulumi package add command for installing packages and SDKs #16923
[cli/package] Add the pulumi package add command for installing packages and SDKs
#16923
[sdkgen/dotnet] Support parameterized .NET provider SDKs #16912
[sdk/nodejs] Add parameterization support for read in nodejs #16913
[sdk/python] Add parameterization support for call & read in python #16915
[sdk/yaml] Update pulumi-yaml to 1.9.2 #16925
[sdkgen/go] Go SDKs will default the import path based on the publisher and repository schema fields #16899
[sdkgen/nodejs] Add parameterized provider support for Nodejs SDK #16901
[programgen/python] Fix generated apply calls with pulumi.all
#16941
[sdk/go] NewPropertyMapFromMap will flow PropertyValues through it, rather than dropping them #16894
[sdk/nodejs] Pass through pluginDownloadURL in invokes #16917
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
Nothing published for this version
[auto/go] Add install command to workspace #16782
[auto/go] Add install command to workspace #16782
[auto/go] Add support for pulumi destroy --preview-only
#16839
[programgen/go] Use pulumi.Sprintf(...) instead of pulumi.String(fmt.Sprintf(...)) in Go program generation
#16852
[cli/plugin] Enable overriding plugin download URLs for air-gapped environments with an environment variable #16648
[sdk/python] Allow Python dynamic providers to capture secrets #15864
[engine] Separate provider internal from provider user config. This allows providers to use a config key like "pluginDownloadURL" which previously would have conflicted with the engine's internal state. It also allows the engine to add new internal state fields without concern for clashing with existing or future provider config keys. #16837
[cli/state] Fix moving resources with secrets when the destination stack has no secrets manager defined #16844
[cli/state] Include the stack name in the passhprase prompt in state move #16861
[sdk/nodejs] Fix resource reference serialization when multiple copies of @pulumi/pulumi are present #13240
[sdk/nodejs] Don't search upwards for policy packs when determining required plugins #16865
[sdk/python] Fix missing overloads to config getters #16878
[sdkgen/{go,nodejs,python}] Fix generation of nested plain input types. #16812
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
[auto/go] Implement Stack.ImportResources() for batch importing resources into a stack via the automation API #16721
[auto/go] Implement Stack.ImportResources() for batch importing resources into a stack via the automation API #16721
[cli/new] Make prompt capitalization consistent #16747
[auto/nodejs] Implement Stack.import() in automation API to specify and import resources into a stack #16615
[auto/python] Implement Stack.import_resources() for batch importing resources into a stack #16668
[sdk/python] Provide stricter types for config.get_XXX when a default is provided #16768
[sdkgen/python] Generate TypedDict input types by default #16704
[cli/import] Fix undefined variable errors in code generation when imported resources use a parent or provider #16786
[cli/state] Always show the fully qualified stack name when moving resources #16767
[cli/state] Fix calculation of the resources that are remaining in the source stack #16774
[cli/state] Fix the dependency information in the state move command #16765
[cli/state] Improve how moving the root stack is handled in pulumi state move
#16779
[sdk/nodejs] Detect possible OOM errors when nodejs crashes #16700
[sdk/nodejs] Ensure no output is lost for nodejs commands when stdout is slow #16700
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 support for DeletedWith to pulumi convert #12011
[cli] Add support for DeletedWith to pulumi convert
#12011
[cli] Allow specifying project names when converting with pulumi convert --name
#16708
[sdk/python] Add support for invoke stack transforms #16701
[cli] Avoid duplicate error output in some cases #16706
[cli] Avoid duplicate error: prefix with --expect-no-changes
#16705
[engine] Fix integrity issues in up --continue-on-error with changed dependencies
#16733
[engine] Fix panics due to different length ignoreChanges arrays
#16742
[cli/state] Disallow provider moves in the state move command
#16722
[cli/state] Improve readability of the resources to be moved output of the state move command #16723
[cli/state] Allow a provider with the same URN and ID to already be in the snapshot #16737
[cli/state] Reparent providers correctly in state move #16735
[programgen/go] Fix emiting literal values as stack outputs #16728
[sdk/go] Set Parameterize.Value in plugin.Provider #16726
[sdk/python] Exclude pulumi_policy from plugin determination
#16727
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
[sdk/go] Add support for invoke stack transforms #16617
[sdk/go] Add support for invoke stack transforms #16617
[sdk/{go,nodejs,python}] Support --remove for destroy in the Go, NodeJS and Python Automation API SDKs
#16674
[sdk/nodejs] Add support for invoke stack transforms #16688
[sdkgen/go] Default importBasePath to a pulumi github base path #16664
[engine] Fix snapshot integrity problems when Deletes fail in delete-before-replace chains
#16699
[cli/about] Fix a panic for some token types returned from the service. #16710
[sdk/go] Disallow OutputState from being deepcopied #16690
[cli/new] Fix incorrect caching of git auth method in error cases #16652
[cli/state] Fix panic in state move when either the source or destination stack are empty #16676
[cli/state] Fix resources to be moved not being shown in pulumi state move
#16672
[cli/state] Warn when an argument matches no URN in the source snapshot and error out when no resources are being moved in pulumi state move
#16673
[pkg/testing] Clean up PULUMI_HOME after program test #16663
[sdk/nodejs] Fix lookup for pulumi run script when using Volta to manage nodejs #16649
[sdk/nodejs] Pin node to 22.4.x to workaround breakage #16709
[sdk/python] Fix YAML serialization of project settings in the Python Automation API #16660
[sdk/python] Use python names for dictionary literals when inside a typed dictionary input #16658
[sdk/python] Don't use indentation in converted pyproject.toml files #16678
[sdk/python] Fix a RecursionError with deeply nested ComponentResources #16669
[sdk/python] Validate that we have Poetry >= 1.8.0 #16683
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/state] Introduce a state move command that can be used to move resources between stacks/projects #16630
[engine] Fix an issue where pulumi up --continue-on-error could result in a snapshot integrity failure
#16639
[yaml] Fixes using StackReference outputs of types other than 'string' in Pulumi YAML #16636
[cli/new] Install policy or project dependencies based on nearest configuration file #16631
[sdk/nodejs] Don't count plugins from a nested policy pack in GetRequiredPlugins #16632
[sdk/nodejs] Revert the implementation of dependsOn for invokes in the NodeJS SDK
#16642
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
[docs] Add ability to constrain supported languages of resource and function overlays #16579
[docs] Add ability to constrain supported languages of resource and function overlays #16579
[engine] Guess references to properties 'name' and 'arn' between dependant resources during import #16234
[sdk/nodejs] Add dependsOn to InvokeOptions in the NodeJS SDK
#16560
[cli/new] Use default values for language specific prompts when using --yes #16595
[docs] Fix generating constructor syntax examples for kubernetes #16574
[docs] Fix generating constructor syntax examples in Go for package awsx #16583
[backend/service] Retry POST requests that time out during handshake timeouts #16576
[engine] Avoid computing refresh Diffs for external resources
#16544
[engine] Fix program hanging when the import resource option is used and the inputs don't match #16572
[programgen/go] Do not emit index module for resources without a schema #16588
[sdk/go] Fix out-of-range panic when sanitizing PATH env var #16575
[sdk/nodejs] Fix creating a closure with object getters and setters #16568
[programgen/python] Fix Python program generation for remote assets #16556
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] Set the --continue-on-error flag with PULUMI_CONTINUE_ON_ERROR environment variable #16442
[cli] Set the --continue-on-error flag with PULUMI_CONTINUE_ON_ERROR environment variable #16442
[sdk/nodejs] Parallelize Construct and Call calls in the Node.js SDK #16428
[sdk/python] Support --exclude-protected for destroy in the Python automation SDK
#16457
[auto] Protect access to transport.UnsupportedCapabilities inside repo.FetchContext #16517
[cli] Disable default Cobra completions in the CLI #16540
[engine] Fix an issue with asset archives not working with paths outside the working directory. #16455
[engine] Don't re-delete resources that are marked as pendingReplacement
#16510
[cli/display] Print a fully qualified stack name on pulumi stack --show-name --fully-qualify-stack-names
#16453
[cli/display] Display [retain] in all cases of delete retention
#16506
[sdkgen/dotnet] Bump the default version range for the referenced Pulumi package to a version that supports Config.GetDouble #16483
[cli/new] Add not-found markers to missing executables for packagemanagers #16488
[sdk/go] Fix concurrent map write when registering transform callbacks #16444
[sdk/nodejs] Fix race condition when registering stack transforms #16443
[sdk/nodejs] Fix Construct and Call calls in the Node.js SDK sharing state #16487
[sdk/nodejs] Fix non-blocking stdout/err with nodejs #16504
[sdk/{nodejs,python}] Display an actionable error message when dependency installation fails #16489
[sdk/python] Wait for pending tasks before shutting down python programs. #16505
[sdk/python] Provide installation instructions for the python typechecker #16539
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 →