NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #1528 most downloaded on NuGet
The Pulumi .NET SDK lets you write cloud programs in C#, F#, and VB.NET.
Last release 2 days ago
15 Sep 2026
Ships fairly regularly
a new release about every 2 weeks
Most releases are documented
notes for 46 of the last 60 stable releases
4 versions withdrawn
withdrawn after publishing
127 years old
273 releases · first in 1900
[auto/go] Provide GetPermalink for all results #6875
[auto/go] Provide GetPermalink for all results #6875
[automation/*] Add support for getting stack outputs using Workspace #6859
[automation/*] Optionally skip Automation API version check
#6882
The version check can be skipped by passing a non-empty value to the PULUMI_AUTOMATION_API_SKIP_VERSION_CHECK environment variable.
[auto/go,nodejs] Add UserAgent to update/pre/refresh/destroy options. #6935
[cli] Return an appropriate error when a user has not set PULUMI_CONFIG_PASSPHRASE nor PULUMI_CONFIG_PASSPHRASE_FILE
when trying to access the Passphrase Secrets Manager
#6893
[cli] Prevent against panic when using a ResourceReference as a program output #6962
[sdk/python] Fix bug in MockResourceArgs. #6863
[sdk/python] Address issues when using resource subclasses. #6890
[sdk/python] Fix type-related regression on Python 3.6. #6942
[sdk/python] Don't error when a dict input value has a mismatched type annotation. #6949
[automation/dotnet] Fix EventLogWatcher failing to read events after an exception was thrown #6821
[automation/dotnet] Use stackName in ImportStack #6858
[automation/go] Improve autoError message formatting #6924
One column per quarter.
Please note, the following 2 breaking changes were included in our 3.0 changlog Unfortunately, the initial release did not include that change. We apo…
Please note, the following 2 breaking changes were included in our 3.0 changlog Unfortunately, the initial release did not include that change. We apologize for any confusion or inconvenience this may have included the addressed behaviour.
[cli] Standardize stack select behavior to ensure that passing --stack does not make that the current stack.
#6840
[cli] Set pagination defaults for pulumi stack history to 10 entries.
#6841
[sdk/nodejs] Handle providers for RegisterResourceRequest #6795
[automation/dotnet] Remove dependency on Gprc.Tools for F# / Paket compatibility #6793
[CLI] Remove pulumi history command. This was previously deprecated and replaced by pulumi stack history #6724
[sdk/cli] Bump version of Pulumi CLI and SDK to v3 #6554
Dropped support for NodeJS < v11.x
[CLI] Standardize the --stack flag to not set the stack as current (i.e. setStack=false) across CLI commands.
#6300
[CLI] Set pagination defaults for pulumi stack history to 10 entries.
#6739
[CLI] Remove pulumi history command. This was previously deprecated and replaced by pulumi stack history
#6724
[sdk/*] Refactor Mocks newResource and call to accept an argument struct for future extensibility rather than individual args #6672
[sdk/nodejs] Enable nodejs dynamic provider caching by default on program side. #6704
[sdk/python] Improved dict key translation support (3.0-based providers will opt-in to the improved behavior) #6695
[sdk/python] Allow using Python to build resource providers for multi-lang components. #6715
[sdk/go] Simplify Apply method options to reduce binary size
#6607
[Automation/*] All operations use --stack to specify the stack instead of running select stack before the operation.
#6300
[Automation/go] Moving go automation API package from sdk/v2/go/x/auto -> sdk/v2/go/auto #6518
[Automation/nodejs] Moving NodeJS automation API package from sdk/nodejs/x/automation -> sdk/nodejs/automation #6518
[Automation/python] Moving Python automation API package from pulumi.x.automation -> pulumi.automation #6518
[Automation/go] Moving go automation API package from sdk/v2/go/x/auto -> sdk/v2/go/auto #6518
[sdk/nodejs] Add support for multiple V8 VM contexts in closure serialization. #6648
[sdk] Handle providers for RegisterResourceRequest #6771 #6781 #6786
[sdk/go] Support defining remote components in Go. #6403
[cli] Fix a bug that prevented copying checkpoint files when using Azure Blob Storage as the backend provider. #6794
[automation/python] Fix serialization bug in StackSettings #6776
StackSettings
#6776[automation/dotnet] Rename (Get,Set,Remove)Config(Value) #6731
[automation/dotnet] Rename (Get,Set,Remove)Config(Value) #6731
The following methods on Workspace and WorkspaceStack classes have been renamed. Please update your code (before -> after):
This change was made to align with the other Pulumi language SDKs.
[cli] Add option to print absolute rather than relative dates in stack history #6742
Example:
pulumi stack history --full-dates
[cli] Enable absolute and relative parent paths for pulumi main #6734
[sdk/dotnet] Thread-safe concurrency-friendly global state #6139
[tooling] Update pulumi python docker image to python 3.9 #6706
[sdk/nodejs] Add program side caching for dynamic provider serialization behind env var #6673
[sdk/nodejs] Allow prompt values in construct for multi-lang components.
#6522
[automation/dotnet] Allow null environment variables #6687
[automation/dotnet] Expose WorkspaceStack.GetOutputsAsync #6699
Example:
var stack = await WorkspaceStack.CreateAsync(stackName, workspace);
await stack.SetConfigAsync(config);
var initialOutputs = await stack.GetOutputsAsync();
[automation/dotnet] Implement (Import,Export)StackAsync methods on LocalWorkspace and WorkspaceStack and expose StackDeployment helper class. #6728
Example:
var stack = await WorkspaceStack.CreateAsync(stackName, workspace);
var upResult = await stack.UpAsync();
deployment = await workspace.ExportStackAsync(stackName);
[automation/dotnet] Implement CancelAsync method on WorkspaceStack #6729
Example:
var stack = await WorkspaceStack.CreateAsync(stackName, workspace);
var cancelTask = stack.CancelAsync();
[automation/python] Expose structured logging for Stack.up/preview/refresh/destroy. #6527
You can now pass in an on_event callback function as a keyword arg to up, preview, refresh
and destroy to process streaming json events defined in automation/events.py
Example:
stack.up(on_event=print)
[sdk/go] Fix wrongly named Go modules #6775
[cli] Handle non-existent creds file in pulumi logout --all
#6741
[automation/nodejs] Do not run the promise leak checker if an inline program has errored. #6758
[sdk/nodejs] Explicitly create event log file for NodeJS Automation API. #6730
[sdk/nodejs] Fix error handling for failed logging statements #6714
[sdk/nodejs] Fix Construct to wait for child resources of a multi-lang components to be created.
#6452
[sdk/python] Fix serialization bug if output contains 'items' property. #6701
[automation] Set default value for 'main' for inline programs to support relative paths, assets, and closure serialization. #6743
[automation/dotnet] Environment variable value type is now nullable. #6520
[automation/dotnet] Fix GetConfigValueAsync failing to deserialize #6698
[automation] Fix (de)serialization of StackSettings in .NET, Node, and Python. #6752 #6754 #6749
[cli] Revert the swapping out of the YAML parser library #6681
[sdk/nodejs] Add provider side caching for dynamic provider deserialization #6657
[sdk/nodejs] Add provider side caching for dynamic provider deserialization #6657
[automation/dotnet] Expose structured logging #6572
[cli] Support full fidelity YAML round-tripping
[sdk/python] Ensure all async tasks are awaited prior to exit. #6606
[sdk/nodejs] Fix error propagation in registerResource and other resource methods. #6644
[automation/python] Fix passing of additional environment variables. #6639
[sdk/python] Make exceptions raised by calls to provider functions (e.g. data sources) catchable. #6504
[automation/go,python,nodejs] Respect pre-existing Pulumi.yaml for inline programs. #6655
[cli] Improve diff displays during pulumi refresh #6568
[cli] Fix a bug where a version wasn't passed to go install commands as part of make brew installs from homebrew #6566
make brew installs from homebrew
#6566[automation/go] Expose structured logging for Stack.Up/Preview/Refresh/Destroy. #6436
This change is marked breaking because it changes the shape of the PreviewResult struct.
Before
type PreviewResult struct {
Steps []PreviewStep `json:"steps"`
ChangeSummary map[string]int `json:"changeSummary"`
}
After
type PreviewResult struct {
StdOut string
StdErr string
ChangeSummary map[apitype.OpType]int
}
This change is marked breaking because it also renames OnOutput to OnStandardOutput.
[sdk/go] Add helpers to convert raw Go maps and arrays to Pulumi Map and Array inputs.
#6337
[sdk/go] Return zero values instead of panicing in Index and Elem methods.
#6338
[sdk/go] Support multiple folders in GOPATH. [#6228](https://github.com/pulumi/pulumi/pull/6228
[cli] Add ability to download arm64 provider plugins #6492
[build] Updating Pulumi to use Go 1.16 #6470
[build] Adding a Pulumi arm64 binary for use on new macOS hardware.
Please note that pulumi watch will not be supported on darwin/arm64 builds.
#6492
[automation/nodejs] Expose structured logging for Stack.up/preview/refresh/destroy. #6454
[automation/nodejs] Add onOutput event handler to PreviewOptions.
#6507
[cli] Add locking support to the self-managed backends using the PULUMI_SELF_MANAGED_STATE_LOCKING=1 environment variable.
#2697
[sdk/python] Fix mocks issue when passing a resource more than once. #6479
[automation/dotnet] Add ReadDiscard OperationType #6493
[cli] Ensure the user has the correct access to the secrets manager before using it as part of
pulumi stack export --show-secrets.
#6215
[sdk/go] Implement getResource in the mock monitor. #5923
[automation/dotnet] resolve issue with OnOutput delegate not being called properly during pulumi process execution. #6435
diff option to Automation API's preview and up[automation/dotnet] resolve issue with OnOutput delegate not being called properly during pulumi process execution. #6435
[automation/python,nodejs,dotnet] BREAKING Remove summary property from PreviewResult.
The summary property on PreviewResult returns a result that is always incorrect and is being removed.
#6405
[automation/python] Fix Windows error caused by use of NamedTemporaryFile in automation api. #6421
[sdk/nodejs] Serialize default parameters correctly. #6397
[cli] Respect provider aliases while diffing resources. #6453
[cli] Disable permalinks to the update details page when using self-managed backends (S3, Azure, GCS). Should the user want to get permalinks when usi
[cli] Disable permalinks to the update details page when using self-managed backends (S3, Azure, GCS). Should the user
want to get permalinks when using a self backend, they can pass a flag:
pulumi up --suppress-permalink false.
Permalinks for these self-managed backends will be suppressed on update, preview, destroy, import and refresh
operations.
#6251
[cli] Added commands config set-all and config rm-all to set and remove multiple configuration keys.
#6373
[automation/*] Consume config set-all and config rm-all from automation API.
#6388
[sdk/dotnet] C# Automation API. #5761
[sdk/dotnet] F# API to specify stack options. #5077
[sdk/python] Fixed a change to Output.all() that raised an error if no inputs are passed in. #6381
Output.all() that raised an error if no inputs are passed in.
#6381[cli] Added pagination options to pulumi stack history #6292 This is used as follows: pulumi stack history --page-size=20 --page=1
[cli] Added pagination options to pulumi stack history #6292
This is used as follows:
pulumi stack history --page-size=20 --page=1
[automation/*] Added pagination options for stack history in Automation API SDKs to improve performance of stack updates. #6257 This is used similar to the following example in go:
func ExampleStack_History() {
ctx := context.Background()
stackName := FullyQualifiedStackName("org", "project", "stack")
stack, _ := SelectStackLocalSource(ctx, stackName, filepath.Join(".", "program"))
pageSize := 0
page := 0
hist, _ := stack.History(ctx, pageSize, page)
fmt.Println(hist[0].StartTime)
}
UseAutomaticVirtualEnv by
default. UsePipenv is now the way to use pipenv with tests.
#6318[automation/go] Exposed the version in the UpdateSummary for use in understanding the version of a stack update #6339
[cli] Changed the behavior for Python on Windows to look for python binary first instead of python3.
#6317
[sdk/python] Gracefully handle monitor shutdown in the python runtime without exiting the process. #6249
[sdk/python] Fixed a bug in contains_unknowns where outputs with a property named "values" failed with a TypeError.
#6264
[sdk/python] Allowed keyword args in Output.all() to create a dict. #6269
[sdk/python] Defined __all__ in modules for better IDE autocomplete.
#6351
[automation/python] Fixed a bug in nested configuration parsing. #6349
[sdk/python] Fix Output.from_input to unwrap nested output values in input types (args classes), which addresses an issue that was preventing passing
Output.from_input to unwrap nested output values in input types (args classes), which addresses
an issue that was preventing passing instances of args classes with nested output values to Provider resources.
#6221[sdk/go] Take a breaking change to remove unidiomatic numerical types and drastically improve build performance (binary size and compilation time). #6…
[sdk/nodejs] Always read and write NodeJS runtime options from the environment. #6076
[sdk/go] Take a breaking change to remove unidiomatic numerical types and drastically improve build performance (binary size and compilation time). #6143
[cli] Ensure pulumi stack change-secrets-provider allows rotating the key from hashivault to passphrase provider
#6210
[CLI] Fix malformed resource value bug. #6164
[CLI] Fix malformed resource value bug. #6164
[sdk/dotnet] Fix RegisterResourceOutputs to serialize resources as resource references
only when the monitor reports that resource references are supported.
#6172
[CLI] Avoid panic for diffs with invalid property paths. #6159
Enable resource reference feature by default. #6202
Revert #6125 as it caused a which introduced a bug with serializing resource IDs
[CLI] Add the ability to log out of all Pulumi backends at once. #6101
[CLI] Add the ability to log out of all Pulumi backends at once. #6101
[sdk/go] Added pulumi.Unsecret which will take an existing secret output and
create a non-secret variant with an unwrapped secret value. Also adds,
pulumi.IsSecret which will take an existing output and
determine if an output has a secret within the output.
#6085
.NET: Allow IMock.NewResourceAsync to return a null ID for component resources. Note that this may require mocks written in C# to be updated to accoun
.NET: Allow IMock.NewResourceAsync to return a null ID for component resources.
Note that this may require mocks written in C# to be updated to account for the
change in nullability.
#6104
[automation/go] Add debug logging settings for common automation API operations #6095
[automation/go] Set DryRun on previews so unknowns are identified correctly. #6099
[sdk/python] Fix python 3.6 support by removing annotations import. #6109
[sdk/nodejs] Added pulumi.unsecret which will take an existing secret output and
create a non-secret variant with an unwrapped secret value. Also adds,
pulumi.isSecret which will take an existing output and
determine if an output has a secret within the output.
#6086
[sdk/python] Added pulumi.unsecret which will take an existing secret output and
create a non-secret variant with an unwrapped secret value. Also adds,
pulumi.is_secret which will take an existing output and
determine if an output has a secret within the output.
#6111
Fix an issue with go sdk generation where optional strict enum values could not be omitted. Note - this is a breaking change to go sdk's enum values.…
Fix an issue with go sdk generation where optional strict enum values could not be omitted. Note - this is a breaking change to go sdk's enum values. However we currently only support strict enums in the azure-nextgen provider's schema. #6069
Fix an issue where python debug messages print unexpectedly. #6967
[CLI] Add version to the stack history output to be able to
correlate events back to the Pulumi SaaS
#6063
Fix a typo in the unit testing mocks to get the outputs while registering them #6040
[sdk/dotnet] Moved urn value retrieval into if statement for MockMonitor #6081
[sdk/dotnet] Added Pulumi.Output.Unsecret which will
take an existing secret output and
create a non-secret variant with an unwrapped secret value.
#6092
[sdk/dotnet] Added Pulumi.Output.IsSecretAsync which will
take an existing output and
determine if an output has a secret within the output.
#6092
[sdk/dotnet] Fix looking up empty version in
ResourcePackages.TryGetResourceType.
#6084
Python Automation API. #5979
Support recovery workflow (import/export/cancel) in Python Automation API. #6037
Respect the version resource option for provider resources. #6055
Respect the version resource option for provider resources.
#6055
Allow serializeFunction to capture secrets.
#6013
[CLI] Allow pulumi console to accept a stack name
#6031
Support recovery workflow (import/export/cancel) in NodeJS Automation API. #6038
[CLI] Add a confirmation prompt when using pulumi policy rm
#6034
[CLI] Ensure errors with the Pulumi credentials file give the user some information on how to resolve the problem #6044
[sdk/go] Support maps in Invoke outputs and Read inputs #6014
Fix a bug in the core engine that could cause previews to fail if a resource with changes had unknown output property values. #6006
Fix a panic due to unsafe concurrent map access. #5995
Do not read plugins and policy packs into memory prior to extraction, as doing so can exhaust the available memory on lower-end systems. #5983
Do not read plugins and policy packs into memory prior to extraction, as doing so can exhaust the available memory on lower-end systems. #5983
Fix a bug in the core engine where deleting/renaming a resource would panic on update + refresh. #5980
Fix a bug in the core engine that caused ignoreChanges to fail for resources being imported.
#5976
Fix a bug in the core engine that could cause resources references to marshal improperly during preview. #5960
[sdk/dotnet] Add collection initializers for smooth support of Union<T, U> as element type #5938
Fix a bug in the core engine where ComponentResource state would be accessed before initialization. #5949
Prevent a panic by not attempting to show progress for zero width/height terminals. #5957
Fix a bug in the Go SDK that could result in dropped resource dependencies. #5930
Re-apply fix for running multiple pulumi processes concurrently. #5893
Re-apply fix for running multiple pulumi processes concurrently.
#5893
[cli] Prevent a panic when using pulumi import with local filesystems
#5906
[sdk/nodejs] Fix issue that would cause unit tests using mocks to fail with unhandled errors when
a resource references another resources that's been registered with registerResourceModule.
#5914
Enable resource reference feature by default. #5905
[codegen/go] Fix Input/Output methods for Go resources. #5916
[sdk/python] Implement getResource in the mock monitor. #5919
[sdk/dotnet] Implement getResource in the mock monitor and fix some issues around deserializing resources. #5921
Fix a problem where pulumi import could panic on an import error due to missing error message. #5884
Fix errors when running pulumi in Windows-based CI environments. #5879
pulumi in Windows-based CI environments.
#5879Fix a problem where pulumi import could panic on importing arrays and sets, due to incorrect array resizing logic. #5872.
pulumi import could panic on importing arrays and sets, due to
incorrect array resizing logic. #5872.Address potential issues when running multiple pulumi processes concurrently. #5857
[sdk/python] Add deserialization support for enums. #5615
[sdk/python] Add deserialization support for enums. #5615
Correctly rename Pulumi.*.yaml stack files during a rename that includes an
organization in its name #5812.
Respect PULUMI_PYTHON_CMD in scripts.
#5782
Add PULUMI_BACKEND_URL environment variable to configure the state backend.
#5789
[sdk/dotnet] Add support for dependency injection into TStack instance by adding an overload to Deployment.RunAsync. The overload accepts an IServiceProvider that is used to create the instance of TStack. Also added a new method Deployment.TestWithServiceProviderAsync for testing stacks that use dependency injection.
#5723
[cli] Ensure pulumi stack change-secrets-provider allows rotating the key in Azure KeyVault
#5842
Propagate secretness of provider configuration through to the statefile. This ensures that any configuration values marked as secret (i.e. values set
Propagate secretness of provider configuration through to the statefile. This ensures
that any configuration values marked as secret (i.e. values set with
pulumi config set --secret) that are used as inputs to providers are encrypted
before they are stored.
#5742
Fix a bug that could prevent pulumi import from succeeding.
#5730
[Docs] Add support for the generation of Import documentation in the resource docs. This documentation will only be available if the resource is importable. #5667
[codegen/go] Add support for ResourceType and isComponent to enable multi-language components in Go. This change also generates Input/Output types for all resources in downstream Go SDKs. #5497
Support python 3.9 on Windows. #5739
pulumi-language-go and pulumi new now explicitly requires Go 1.14.0 or greater.
#5741
Update .NET Grpc libraries to 2.33.1 and Protobuf to 3.13.0 (forked to increase
the recursion limit) #5757
Fix plugin install failures on Windows. #5759
.NET: Report plugin install errors during pulumi new.
#5760
Correct error message on KeyNotFoundException against StackReference. #5740
[cli] Small UX change on the policy violations output to render as type: name
#5773
Fix a bug that was causing errors when (de)serializing custom resources. #5709
[cli] Ensure pulumi history annotes when secrets are unable to be decrypted #5701
Add internal scaffolding for using cross-language components from Go. #5558
Add internal scaffolding for using cross-language components from Go. #5558
Support python 3.9. #5669
[cli] Ensure that the CLI doesn't panic when using pulumi watch and using ComponentResources with non-standard naming #5675
[cli] Ensure that the CLI doesn't panic when trying to assemble a graph on a stack that has no snapshot available #5678
Add boolean values to Go SDK #5687
[cli] Ensure that the CLI doesn't panic when using pulumi watch and policies are enabled #5569
Improve the accuracy of previews by allowing providers to participate in determining what the impact of a change will be on output properties. Previou
NodeJS Automation API. #5347
Improve the accuracy of previews by allowing providers to participate in determining what
the impact of a change will be on output properties. Previously, Pulumi previews
conservatively assumed that any output-only properties changed their values when an update
occurred. For many properties, this was guaranteed to not be the case (because those
properties are immutable, for example), and by suggesting the value might change, this could
lead to the preview suggesting additional transitive updates of even replaces that would not
actually happen during an update. Pulumi now allows the provider to specify the details of
what properties will change during a preview, allowing them to expose more accurate
provider-specific knowledge. This change is less conservative than the previous behavior,
and so in case it causes preview results which are not deemed correct in some case - the
PULUMI_DISABLE_PROVIDER_PREVIEW flag can be set to a truthy value (e.g. 1) to enable the
previous and more conservative behavior for previews.
#5443.
Add an import command to the Pulumi CLI. This command can be used to import existing resources into a Pulumi stack. #4765
[cli] Remove eternal loop if a configured passphrase is invalid. #5507
Correctly validate project names during 'pulumi new' #5504
Fixing gzip compression for alternative backends. #5484
Add internal scaffolding for using cross-language components from .NET. #5485
Support self-contained executables as binary option for .NET programs. #5519
[cli] Ensure old secret provider variables are cleaned up when changing between secret providers #5545
[cli] Respect logging verbosity as part of pulumi plugin install commands #5549
[cli] Accept -f as a shorthand for --skip-preview on pulumi up, pulumi refresh and pulumi destroy operations
#5556
[cli] Validate cloudUrl formats before pulumi login and throw an error if incorrect format specified
#5550
[automation api] Add support for passing a private ssh key for git authentication that doesn't rely on a file path #5557
[cli] Improve user experience when pulumi plugin rm --all finds no plugins to remove. The previous behaviour was an error and should not be so. #5547
[sdk/python] Fix ResourceOptions annotations and doc strings. #5559
[sdk/dotnet] Fix HashSet concurrency issue. #5563
feat(autoapi): expose EnvVars LocalWorkspaceOption to set in ctor #5499
Add internal scaffolding for using cross-language components from Python. #5375
Do not oversimplify types for display when running an update or preview. #5440
Nothing published for this version
[sdk/go] Add missing Version field to invokeOptions #5401
Revise the design for connecting an existing language runtime to a CLI invocation. Note that this is a protocol breaking change for the Automation API…
feat(autoapi): add GetPermalink for operation result #5363
Relax stack name validations for Automation API #5337
Allow Pulumi to read a passphrase file, via PULUMI_CONFIG_PASSPHRASE_FILE to interact
with the passphrase secrets provider. Pulumi will first try and use the PULUMI_CONFIG_PASSPHRASE
to get the passphrase then will check PULUMI_CONFIG_PASSPHRASE_FILE and then all through to
asking interactively as the final option.
#5327
feat(autoapi): Add support for working with private Git repos. Either SSHPrivateKeyPath,
PersonalAccessToken or UserName and Password can be pushed to the auto.GitRepo struct
when interacting with a private repo
#5333
Revise the design for connecting an existing language runtime to a CLI invocation. Note that this is a protocol breaking change for the Automation API, so both the API and the CLI must be updated together. #5317
Automation API - support streaming output for Up/Refresh/Destroy operations. #5367
Automation API - add recovery APIs (cancel/export/import) #5369
feat(autoapi): add Upsert methods for stacks #5316
feat(autoapi): add Upsert methods for stacks #5316
Add IsSelectStack404Error and IsCreateStack409Error #5314
Add internal scaffolding for cross-language components. #5280
feat(autoapi): add workspace scoped envvars to LocalWorkspace and Stack #5275
refactor(autoapi-gitrepo): use Workspace in SetupFn callback #5279
Fix Go SDK plugin acquisition for programs with vendored dependencies #5286
Python SDK: Add support for Sequence[T] for array types
#5282
feat(autoapi): Add support for non default secret providers in local workspaces #5320
.NET SDK: Prevent a task completion race condition #5324
Alpha version of the Automation API for Go #4977
Python SDK: Avoid raising an error when an output has a type annotation of Any and the value is a list or dict. #5238
Ensure the 'history' command is a subcommand of 'stack'. This means that pulumi history has been deprecated in favour of pulumi stack history. #5158
Fix support for CheckFailures in Python Dynamic Providers #5138
Upgrade version of gocloud.dev. This ensures that 'AWSKMS' secrets
providers can now be used with full ARNs rather than just Aliases
#5138
Ensure the 'history' command is a subcommand of 'stack'.
This means that pulumi history has been deprecated in favour
of pulumi stack history.
#5158
Add support for extracting jar files in archive resources #5150
SDK changes to support Python input/output classes #5033
Add nuget badge to README #5117
Add nuget badge to README #5117
Support publishing and consuming Policy Packs using any runtime #5102
Fix regression where any CLI integration for any stack with a default
secrets provider would sort the config alphabetically and new stacks created
would get created with an empty map {} in the config file
#5132
Fix a bug where passphrase managers were not being recognised correctly when getting the configuration for the current stack. Please Note: This specif
Add missing MapMap and ArrayArray types to Go SDK #5092
Add missing MapMap and ArrayArray types to Go SDK #5092
Switch os/user package with luser drop in replacement #5065
Update pip/setuptools/wheel in virtual environment before installing dependencies #5042
Add ability to change a secrets provider for the current stack #5031
Add ability to create a stack based on the config from an existing stack #5062
Python: Improved error message when virtualenv doesn't exist
#5069
Enable pushing to Artifact Registry in actions #5075
Fix logic to parse pulumi venv on github action 5038
Add pluginDownloadURL field to package definition #4947
Add pluginDownloadURL field to package definition #4947
Add support for streamInvoke during update #4990
Add ability to copy configuration values between stacks #4971
Add logic to parse pulumi venv on github action #4994
Better performance for stacks with many resources using the .NET SDK #5015
Output PDB files and enable SourceLink integration for .NET assemblies #4967
Fix a panic in the display during CLI operations #4987
Go program gen: Improved handling for pulumi.Map types #4914
Go program gen: prompt array conversion, unused range vars, id handling #4884
Go program gen: prompt array conversion, unused range vars, id handling #4884
Go program gen handling for prompt optional primitives #4875
Go program gen All().Apply rewriter #4858
Go program gen improvements (multiline strings, get/lookup disambiguation, invoke improvements) #4850
Go program gen improvements (splat, all, index, traversal, range) #4831
Go program gen improvements (resource range, readDir, fileArchive) #4818
Set default config namespace for Get/Try/Require methods in Go SDK. #4802
Handle invalid UTF-8 characters before RPC calls #4816
Improve typing for Go SDK secret config values #4800
Fix panic on pulumi up prompt after preview when filtering and hitting arrow keys.
#4808
Ensure GitHub Action authenticates to GCR when $GOOGLE_CREDENTIALS specified
#4812
Fix pylint(no-member) when accessing resource.id.
#4813
Fix GitHub Actions environment detection for PRs. #4817
Adding language sdk specific docker containers. #4837
Workaround bug in grcpio v1.30.0 by excluding this version from required dependencies. #4883
Turn program generation NYIs into diagnostic errors #4794
Turn program generation NYIs into diagnostic errors #4794
Improve dev version detection logic #4732
Export CustomTimeouts in the Python SDK
#4747
Add GitHub Actions CI detection #4758
Allow users to specify base64 encoded strings as GOOGLE_CREDENTIALS #4773
Install and use dependencies automatically for new Python projects. #4775
Add F# operators for InputUnion. #4699
Add F# operators for InputUnion. #4699
Add support for untagged outputs in Go SDK. #4640
Update go-cloud to support all Azure regions #4643
Fix a Regression in .NET unit testing. #4656
Allow pulumi.export calls from Python unit tests.
#4670
Add support for publishing Python policy packs. #4644
Improve download perf by fetching plugins from a CDN. #4692
Add new brew target to fix homebrew builds #4633
Your coding agent can read these notes before it upgrades. Set up the MCP server →