NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #1519 most downloaded on NuGet
The Pulumi .NET SDK lets you write cloud programs in C#, F#, and VB.NET.
Last release 4 days ago
05 Oct 2026
Ships fairly regularly
a new release about every 2 weeks
Most releases are documented
notes for 45 of the last 60 stable releases
4 versions withdrawn
withdrawn after publishing
127 years old
276 releases · first in 1900
Nothing published for this version
Nothing published for this version
[auto/{go,nodejs,python}] Add support for the continue-on-error parameter of the up command to the Automation API #15953
[auto/{go,nodejs,python}] Add support for the continue-on-error parameter of the up command to the Automation API #15953
[engine] Add a --continue-on-error flag to pulumi up #15740
[pkg] Deserialize assets with their sig #16073
[cli/display] Fix output of the diff display, making sure it shows diffs from refreshes #16065
[auto/python] Ensure async context is not shared between multiple programs #16063
[sdk/nodejs] Fix a race condition that could cause the NodeJS runtime to terminate before finishing all work #16005
[sdk/python] Fix an exception when setting providers resource option with a dict #16022
[sdk/python] Fix event loop tracking in the python SDK when using remote transforms #16039
[sdk/python] Workaround lazy module loading regression #16038
[sdk/python] Fix a memory leak in tracking outputs #16057
One column per quarter.
[cli/about] Add plugin kind to the about output #15996
[backend/{diy,service}] Elide state file writes for unchanged component outputs #15976
[auto/{go,nodejs,python}] Add support for inheritSettings to go, nodejs and python automation API. #15684
[sdk/nodejs] Make TypeScript and ts-node optional peer dependencies to allow using user specified versions #15622
[sdk/nodejs] Make TypeScript and ts-node optional peer dependencies to allow using user specified versions #15622
Note: TypeScript and ts-node are now optional peer dependencies of the Node.js SDK. This makes its possible to chose any version of these packages by adding them as dependency or devDependency to your package.json. If these optional peer dependencies are not installed, Pulumi will fallback to bundled versions included in the Node.js SDK to maintain backwards compatibility. As a side effect of this change, the tsc binary is no longer available in node_modules/.bin/tsc. If you rely on tsc being available in your project, add it as a dependency or devDependency to your package.json.
[sdk/python] Add 'typeChecker' runtime option to the Python language host #15725
[auto/{go,nodejs,python}] Add support for continue-on-error parameter of the destroy command to the Automation API #15921
[cli] Support always fully qualifying stack names in CLI output #15857
[cli] Add --no-plugins and --no-dependencies to pulumi install
#15910
[docs] Implement Java constructor syntax examples #15805
[sdk/go] Allow unknowns during pulumi up
#15942
[sdk/{nodejs,python}] Allow apply to have unknown values during updates #15898
[auto] Tolerate missing stack and bookkeeping files in ProgramTest #15863
[backend/diy] Fix race condition when listing stacks #15931
[cli] Fix a panic when user's home directory could not be looked up #15872
[cli] Fix some commands that didn't respect --disable-integrity-checking
#15911
[auto/go] Avoid flakyness when reading the event log from pulumi commands #15856
[engine] Resource transforms on component resources now apply to children correctly #15846
[programgen/dotnet] Remove trailing whitespace from emitted DependsOn resource option expressions #15892
[sdk/go] Fix Provider and Providers options in Go transform functions #15885
[sdk/nodejs] Handle serialization of aliases for well known native functions #15873
[sdk/nodejs] Correctly serialise functions whose code would make use of reserved identifiers #15879
[sdk/nodejs] Serialize function values obtained from Function.bind #15887
[sdk/python] Improve types of getters in Python SDK #15865
[sdkgen/{dotnet,go}] Fix SDK-generation when referencing shared types in config variables #15772
Nothing published for this version
[docs] Implement constructor syntax examples for every resource in typescript, python, csharp and go #15624
[docs] Implement constructor syntax examples for every resource in typescript, python, csharp and go #15624
[docs] Implement YAML constructor syntax examples in the docs #15791
[engine] Send output values with property dependency information to transform functions #15637
[engine] Add a --continue-on-error flag to pulumi destroy #15727
[sdk/go] Make property.Map keyed by string not MapKey
#15767
[sdk/nodejs] Make function serialization work with typescript 4 and 5 #15761
[sdk/python] Improve the error message when depends_on is passed objects of the wrong type #15737
[auto/{go,python}] Make sure to read complete lines before trying to deserialize them as engine events #15778 #15798
[auto/{go,python}] Use the full path when running pulumi from a custom CLI install #15802
[cli/plugin] Fix installing local language plugins on Windows #15715
[engine] Don't delete stack outputs on failed deployments #15754
[engine] Fix a panic when updating provider version in a run using --target #15716
[engine] Handle that Assets & Archives can be returned from providers without content. #15736
[engine] Fix the engine trying to delete a protected resource caught in a replace chain #15776
[sdkgen/docs] Add missing newline for Coming soon!
#15783
[programgen/dotnet] Fix generated code for a list of resources used in resource option DependsOn #15773
[programgen/{dotnet,go}] Fixes emitted code for object expressions assigned to properties of type Any #15770
[sdk/go] Fix lookup of plugin and program dependencies when using Go workspaces #15743
[sdk/nodejs] Export automation.tag.TagMap type #15774
[sdk/python] Wait only for pending outputs in the Python SDK, not all pending asyncio tasks #15744
[cli/display] Fix superfluous newlines being written during updates
[cli/display] Fix superfluous newlines being written during updates
[programgen/{dotnet,go,nodejs,python}] Fix enum resolution from types of the form union[string, enum] #15696
[auto/go] Support remote deployment executor image #15697
[cli] Make "pulumi dn" an alias for "pulumi destroy" #15650
[cli] Make "pulumi dn" an alias for "pulumi destroy" #15650
[yaml] Update yaml to v1.6.0 #15661
[sdk/python] Add experimental support to the Python SDK for the new transforms system #15376
[cli/state] Add --yes to state upgrade
#15648
[programgen/{dotnet,go,python}] Fix panic when generating programs for MLC packages where they include type references to external packages #15605
[programgen/go] Fix optional primitive values being derefrenced #15592
[sdk/go] Await output properties from Construct/Call before closing the Context #15611
[sdk/nodejs] Fix codepaths computation when working dir is nested relative to package.json #15601
[sdk/nodejs] Replace glob with fdir to avoid an indirect dependency on inflight #15617
[sdkgen/python] Make replace-on-changes values camelCased not kebab_cased #15666
[auto/{go,nodejs,python}] Add support for suppress progress and suppress outputs parameters in the Automation API #15596
[auto/{go,nodejs,python}] Add support for suppress progress and suppress outputs parameters in the Automation API #15596
[pkg] Make schema.NewPluginLoader respect PULUMI_DEBUG_PROVIDERS, which enables Pulumi YAML programs to work correctly with this feature #15526
[sdk/dotnet] Update dotnet language host to 3.60.0 #15609
[sdk/nodejs] Add experimental support to the NodeJS SDK for the new transforms system. #15532
[sdk/python] Add support for asynchronous invokes via a new invoke_async function
#15602
[sdkgen/dotnet] Support for non-overlay components in codegen for pulumi-kubernetes provider #15490
[cli] Fix a panic when the secrets provider is missing from the deployment snapshot #15599
[backend/service] Make decrypt/encrypt network calls retryable to help work around network hiccups #15600
[cli/new] Strip credentials and query strings from template URLs saved to project #15586
[engine] Fix an issue where snapshots could become invalid when doing a targeted up #15476
[engine] Downgrade remediate policy violations to mandatory
[pkg/testing] Make ProgramTest use a temporary PULUMI_HOME for each test #15568
[sdkgen/dotnet] Codegen fix for resources without constant input properties #15488
[sdk/nodejs] Properly capture node:crypto and global.crypto in node 19+ #15492
[sdk/python] Fix determining plugins for old packages in the Python language host #15576
[sdk/nodejs] Replace deprecated read-package-tree with @npmcli/arborist #15503
[cli/state] Exit immediately from state edit when no change was made #15514
[docs] Adds ability to process docs without Examples logic, using <!--Start PulumiCodeChooser --> markers in incoming schema descriptions
#15475
[pkg] Adds simple vim keyboard shortcuts to the live tree view (j,k,g,G,Ctrl+F,Ctrl+B) and also wires up Home and End keys #15418
[sdk/go] Add experimental support to the Go SDK for the new transforms system. #15355
[ci] Use SYSTEM_PULLREQUEST_SOURCECOMMITID for AZ pipeline on GH PR #15513
[engine] Fix root and program paths to always be absolute. #15470
[pkg] Tag new pkg versions on a commit on the main branch #15515
[sdk/nodejs] Handle yarn/npm workspaces when computing codepaths for function serialization #15426
[sdk/nodejs] Replace deprecated read-package-tree with @npmcli/arborist #15503
[sdk/nodejs] Upgrade to @grpc/grpc-js 1.10.1 #15500
[sdk/nodejs] Regenerate yarn.lock to fix lru-cache hoisting #15543
Nothing published for this version
Nothing published for this version
Nothing published for this version
[cli/config] Adds an --open flag to pulumi config command which resolves the environment listed in the stack configuration. #15469
[cli/config] Adds an --open flag to pulumi config command which resolves the environment listed in the stack configuration.
#15469
[auto/go] Automation API support for pulumi refresh --preview-only
#15340
[engine] Add support for remote transforms to the engine. #15290
[pkg/testing] Add a InstallDevReleases option to ProgramTest, to install pulumi dev SDKs #15387
[programgen/{dotnet,nodejs,python}] Emit Output-returning JSON serialization methods without rewriting applies for top-level function expression #15371
[sdk/nodejs] Detect npm and yarn workspaces setups when installing dependencies #15421
[sdk/nodejs] Use pnpm as package manager if we find a pnpm-lock.yaml file #15456
Nothing published for this version
Nothing published for this version
[backend/diy] Add a warning that non-project mode will be deprecated at some point. #15411
[components] Component providers can return output values in their response to the engine. #15408
[programgen/{dotnet,go,nodejs,python}] Emit missing trivia for resources and local variables #15419
[sdk/{nodejs,python}] Publish dev versions of the nodejs and python SDKs #15299
[cli] Fix pulumi destroy to fill in stack config with the secret config from state, not fresh secret config.
#15432
[engine] Engine no longer assumes program dependencies are specified as semantic versions. #15409
[components/go] Component providers now correctly return output values to the engine. #15405
[auto/go] Adds support for --refresh to Stack.Up(), Stack.Preview() and Stack.Destroy() via go automation api #15350
[auto/go] Adds support for --refresh to Stack.Up(), Stack.Preview() and Stack.Destroy() via go automation api
#15350
[cli] Adds a preview-only flag to pulumi refresh.
#15330
[cli] Adds preview-only flag for pulumi destroy and pulumi import
#15336
[engine] Translate all Computed and Secret values to OutputValues for Construct and Call methods. #15362
[cli/display] Add --suppress-progress option to not print dots #14690
[sdk/go] Add UpgradeToOutputValues to MarshalOptions.
#15349
[cli/plugin] Add experimental plugin run command for running plugin binaries directly.
#12613
[sdkgen/python] Update the default minimum required version of Python to 3.8 or greater for generated provider SDKs. #15368
[backend/diy] Fix an issue where state stored on a mounted device would result in errors #15375
[cli/state] Fix a panic when trying to delete a provider from the state that's still referenced. #15322
[cli/state] Fix a nil reference panic in the state edit command.
#15354
[backend] Allows the PULUMI_SKIP_CHECKPOINTS environment variable to be set without requiring the PULUMI_EXPERIMENTAL flag. #15318
[backend] Allows the PULUMI_SKIP_CHECKPOINTS environment variable to be set without requiring the PULUMI_EXPERIMENTAL flag. #15318
[auto/go] Add new API to install the Pulumi CLI from the Automation API #15049
[auto/nodejs] Allow disabling version validation when using a custom PulumiCommand instance #15242
[auto/python] Add new API to install the Pulumi CLI #15204
[auto/python] Inline programs can now be defined as async functions. #15278
[pkg/testing] Add RequireEmptyPreviewAfterRefresh option to ProgramTest
[engine] Fix a hang in preview --import-file. #15203
[engine] Engine will now error if aliases request a parent with no URN. #15232
[engine] Fix stack name validation when PULUMI_DISABLE_VALIDATION isn't set. #15245
[engine] Fix a performance issue doing unneeded secret encryption. #15306
[sdk/go] Include error message in local workspace validation. #15279
[sdkgen/go] Remove pulumix references from generated enums #15280
[programgen/nodejs] Fixes generated expression for filebase64 function to use fs.readFileSync directly with base64 encoding option #15253
[sdkgen/python] Use importlib.metadata instead of pkg_resources #15266
[sdk/nodejs] Include @types/semver as a dependency #15251
[engine] Allow import plugins to define components and logical names. #15199
[engine] Allow import plugins to define components and logical names. #15199
[cli/display] Incremental improvement on the output when installing plugins #15201
[sdk] Bake the release version into the SDK #15185
[sdk/go] Parse config paths strictly #15173
[cli/new] Adds pulumi:template tag to pulumi new created projects
#15056
[auto/nodejs] Add new API to install the Pulumi CLI from the Automation API #14991
[sdk/python] Add support for Python 3.12 #15190
[engine] Fix a bug where mapping lookup could sometimes lead to an infinite loop. #15200
[engine] Remove an incorrect assert that resources must have inputs. #15197
[cli/display] Improve output when installing policy packs #15186
[sdk/go] Removes omitempty from StepEventMetadata.DetailedDiff
#15213
[sdk/go] Replace a deleted type used by Pulumi Cloud code. #15216
Nothing published for this version
[sdk/go] Add WithValue to pulumi.Context #15149
[cli] Fix a panic when user's home directory could not be looked up. #15160
[cli/display] Fix JSON/YAML value diff displays. #15171
[sdk/go] Update github.com/cloudflare/circl to v1.3.7. #15151
[cli/import] --import-file now omits empty resource lists. #15132
[sdk/python] Allow remote components to use output property called id #15115
Nothing published for this version
[cli] Adds a flag that allows inserting a fragment into the dot file when generating a graph. This can be used for styling the graph elements, setting
[engine] Fix an uncommon datarace with replace steps. #15112
[sdkgen/go] Revert using plain object type when the plainness is shallow and we should use inputty-types instead #15059
[cli/state] Fix a panic in pulumi state when no snapshots are available #15045
[sdkgen/python] Fixes resource imports when importing across different modules #14832
[auto/{go,nodejs,python}] Adds ListEnvironments support to Go, Nodejs and Python Automation API. #14995
[auto/{go,nodejs,python}] Adds ListEnvironments support to Go, Nodejs and Python Automation API. #14995
[cli/display] Warn correctly about new versions being availablen when using the CLI dev channel #14954
[cli/new] Fixes duplicate printing of the AI prompt & answer on Windows. #15010
[engine] Fix bug where unimported resources (of different types) with the same name would cause --import-file to panic.
#15008
[engine] Default parallel operations to a reasonable limit. #15016
[programgen] Fixes type-annotating nested resource properties when these have quoted keys #15001
[sdkgen] Temporarily revert validation of urn and id resource output properties
#15025
[programgen/{dotnet,python}] Allow object keys to be template expressions such as static quoted strings #15000
[backend/service] Exclude internal events from those sent to Pulumi Cloud. #14972
[sdk/go] fixes fulfillValue error when joining a nil output state #14949
[cli/config] Adds pulumi config env ls command to list the environment imports declared in a stack configuration. #14855
[cli/config] Adds pulumi config env ls command to list the environment imports declared in a stack configuration.
#14855
[cli/new] Adds pulumi new --ai functionality. #14685
[sdk/nodejs] Add an environment variable (PULUMI_ERROR_OUTPUT_STRING) to throw when an output tries to convert to a string.
#14811
[auto/nodejs] Always run cleanup for refresh and destroy commands #14948
[auto/nodejs] Don't mutate original stack settings when saving #14952
[programgen] Avoid pretty printing large object graphs when a resource property doesn't type-check when binding PCL programs #14864
[cli/config] Fixes config copy command to also copy environments from the source stack #14847
[cli/config] Fix a bug in pulumi config env ls --json where the json flag was not being correctly passed through.
#14961
[programgen/go] Fix required config variables of type bool and number #14958
[cli/import] Import can now distinguish between logical names and source names. #14745
[programgen/{dotnet,go,nodejs,python}] Fix generated utility functions for filebase64, filebase64sha256, sha1 and mimeType #14857
[programgen/{nodejs,python}] Fix duplicated import statements when instantiating a component multiple times #14829
[auto/go] Add ChangeSecretsProvider to workspace and stack APIs. #14039
[auto/go] Add ChangeSecretsProvider to workspace and stack APIs.
#14039
[auto/go] Adds AddEnvironments and RemoveEnvironment functions to Stack and LocalWorkspace types for Go Automation API. #14785
[auto/nodejs] Adds addEnvironments and removeEnvironment functions to Stack and LocalWorkspace classes for Nodejs Automation API. #14788
[auto/python] Adds add_environments and remove_environment functions to Stack and LocalWorkspace classes for python Automation API. #14776
[sdkgen/nodejs] Include @types/google-protobuf as a dependency
[cli] Add --import-file to pulumi preview to generate a placeholder import file for every resource that needs to Create. #14548
[cli] Add --import-file to pulumi preview to generate a placeholder import file for every resource that needs to Create.
#14548
[sdk/nodejs] Add TypeScript definitions for the grpc and protobuf generated code. #14415
[auto] Don't swallow error if EditDir is not found in ProgramTest. #14695
[cli/display] Fix a panic in diff display when parsing YAML strings #14710
[auto/python] Ensures that the project_settings has a main directory for inline programs in python #14709
[engine] Error if a resource's parent is a skipped create. #14672
[engine] Warn if SDKs are trying to use old RegisterResource style StackReferences. #14678
[engine] Send resource inputs as inputs and state for Reads. #14683
[engine] Engine now prefers stable plugin versions to pre-releases when no explict version is given. #14700
[engine] Fix handling of delete failures for targeted destroys #14735
[sdkgen] Return all bind diagnostics in sdk-gen rather than just the first. #14661
[sdkgen/go] Fix compiling plain element type with plain maps #14704
[sdkgen/go] Fix generating input collection types for enums when used from an array of map of enums #14744
[backend/service] Service backend now validates snapshots are valid on load, same as the self managed backend. This can be disabled with --disable-integrity-checking. #14046
[cli/config] Include config values from ESC in pulumi config #14560
[cli/config] Include config values from ESC in pulumi config
#14560
[cli/config] Add commands for managing stack environments #14628
[cli/config] Add a command to create an ESC environment from stack config #14634
[sdk/go] add optional display name and tag fields to project templates #14587
[sdk/nodejs] Enable resource imports for nodejs providers #14668
[cli/plugin] Load policy packs in parallel on startup to reduce startup time #14495
[sdkgen/dotnet] Added support for language specific settings for resources and support for overriding resource name in dotnet codegen #14308
[sdkgen/{go,nodejs,python}] Resource methods with plain: true outputs can now return plain values without an Output wrapper. In particular, this feature enables resource methods to serve as explicit provider factories by returning preconfigured explicit providers. #13592
[auto/go] Fix a datarace in cloning git repos. #14643
[auto/go] Fixes event stream lag on windows runtime #14659
[engine] Engine now correctly handles any resource name. #14107
[engine] Fix a panic in cancellation. #14612
[engine] Fix root directory passed to langauge plugins when starting pulumi in a subfolder. #14684
[sdkgen] Schemas now validate that 'urn' and 'id' are not used as resource output properties. #14637
[sdkgen] Fixes marshalling the "plain" flag from object or resource properties #14648
[yaml] Upgrade yaml to 1.4.3 #14693
[programgen/nodejs] Fix generated readFile function so that it includes the encoding and returns a string #14633
[sdkgen/{dotnet,go,nodejs,python}] No longer writing out name and project from alias definitions into SDKs, only type #14625
[sdk/go] Fix optional handling on nested props #14629
[sdk/nodejs] Use local storage to track per stack error log count #14702
[sdkgen/go] Fixes plain and optional properties for generated types for Go SDKs using generics #14616
[sdkgen/go] Generate non-plain type variants for types used as inputs inside unions #14679
[sdk/python] Introduces RuntimeError when we detect a cycle upon adding dependencies to the graph. Additionally adds "PULUMI_ERROR_ON_DEPENDENCY_CYCLES" as a new environment variable to control this behavior. Set to False to return to the previous behavior, which could potentially re-introduce infinite hangs for some programs.
#14597
[cli/display] Adds display when policy packs are being loaded #14493
[engine] import can now create empty component resource to use as the parent of other imported resources. #14467
[engine] import can now create empty component resource to use as the parent of other imported resources.
#14467
[engine] import can now import a parent resource in the same deployment as a child resource.
#14461
[engine] Import files no longer need parent URNs in the name table for resource being imported in the same file. #14524
[cli/config] config refresh will now restore secret provider config from the last deployment.
#13900
[cli/new] Simplifies URL parsing for pulumi new zip #14546
Nothing published for this version
[auto] Allow shallow repository clones in NewLocalWorkspace #14312
[auto] Allow shallow repository clones in NewLocalWorkspace #14312
[cli] Add support for ESC file projection #14447
[cli/new] Adds support for remote zip archive templates to pulumi new #14443
[engine] Support {NAME} in http plugin download URLs. #14435
[yaml] Update pulumi-yaml to 1.4.0 #14425
[auto/nodejs] Add refresh option for up
#14306
[cli/new] Adds nested directory support to pulumi new .zip #14473
[auto/nodejs] Pin @grpc/grpc-js to v1.9.6 to resolve automation-api hang in NodeJS. #14445
[engine] Correctly propogate provider errors from DiffConfig. #14436
[engine] Fix parsing of property paths such as "root.[1]" being returned from providers. #14451
[programgen/go] Fix using inline invoke expressions inside resources, objects and arrays #14484
[sdk/python] Fix error on empty invoke returns #14470
[sdk/python] Fix traceback diagnostic from being printed when using Python dynamic providers #14474
[cli] Adds a new pulumi install command which will install packages and plugins for a project. #13081
[auto/nodejs] Add support for the path option for config operations #14305
[auto/nodejs] Add support for the path option for config operations #14305
[engine] Converters can return diagnostics from ConvertState.
#14135
[cli] Tightened the parser for property paths to be less prone to typos #14257
[engine] Fix handling of explicit providers and --target-dependents. #14238
[engine] Fix automatic diffs comparing against output instead of input properties. #14256
[sdkgen/dotnet] Fix codegen with nested modules. #14297
[programgen/go] Fix codegen to correctly output pulumi.Array instead of pulumi.AnyArray #14299
[cli/new] pulumi new now allows users to bypass existing project name checks.
#14081
[sdk/nodejs] Nodejs now supports unknown resource IDs. #14137
[sdkgen/python] Fix _configure failing due to required args mismatch.
#14281
[engine] Old inputs are sent to provider Delete functions, as well as the old outputs. #14051
[engine] Fix a panic in the engine when same steps failed due to provider errors. #14076
[engine] Engine is now more efficent about starting up provider processes, generally saving at least one process startup per deployment. #14127
[programgen] Fixes panic when binding the signature of output-versioned invokes without input arguments #14234
[sdkgen/python] Python SDK generation _configure now correctly handles original property names for resource arguments (i.e. user provides propName instead of prop_name).
#14235
[engine] Add the new policy remediations feature. #14080
[engine] Add the new policy remediations feature. #14080
[auto] Added a tracing span for plugin launch #14100
[cli/package] Fix a panic in get-mapping when not passing a provider name. #14124
[engine] Engine will now error earlier if a deployment needs a bundled plugin that is missing. #14103
[sdk/{go,nodejs,python}] Fix MockMonitor reporting DeletedWith wasn't supported #14118
[programgen/python] Fix panic in python program-gen when rewriting index expressions #14099
[cli] Users can now set PULUMI_DISABLE_AUTOMATIC_PLUGIN_ACQUISITION to disable the engine trying to auto install missing plugins. #14083
[cli] Users can now set PULUMI_DISABLE_AUTOMATIC_PLUGIN_ACQUISITION to disable the engine trying to auto install missing plugins.
#14083
[pkg] Upgrade pulumi-java to v0.9.8
[cli/import] Import converters will write out their intermediate import file for manual fixups if needed. #14067
[sdkgen/go] Generate output-versioned invokes for functions without inputs #13694
[sdk/python] Add default arg to Config.get_secret
#12279
[cli] policy publish: default to default-org if possible #14090
[cli] Fix a panic in whoami with tokens missing expected information.
[engine] Calling RegisterResourceOutputs twice no longer panics and returns an error instead. #14062
[engine] ComponentResources now emit resourceOutputEvent on Deletion. This fixes the time elapsed timer not ending when the resource is deleted. #14061
[engine] Lifecycle tests shouldn't reuse a closed plugin host. #14063
[engine] ctrl-c should cause Pulumi to send cancellation signal to providers #14057
[engine] Fix a race condition in the engine access step event data. #14049
[engine] Restore elided asset contents into returned inputs and state from Read operations
[engine] DISABLE_AUTOMATIC_PLUGIN_ACQUISITION is respected for deployment operations now.
#14104
[programgen] pulumi import supports resources with duplicate names, it will fail if referenced as a provider/parent due to the ambiguity.
#13989
[programgen/dotnet] Fixes compiling an empty list of expressions from object properties #14027
[cli/about] pulumi about and pulumi whoami will now return information about the access token used to login to the service. #13206
pulumi about and pulumi whoami will now return information about the access token used to login to the service.
#13206[cli] Add filestate variables to pulumi env.
#14015
[cli] Include a newline in pulumi whoami's output
#14025
[cli/import] import --from=plugin will now try to auto-install the plugin if missing.
#14048
[engine] Fix creation and modification timestamps sometimes not setting. #14038
[engine] Fixes the engine using aliases from old deployments when writing out statefiles.
[sdk/python] Resource property parameters are now runtime type checked to ensure they are a Mapping object.
#14030
Nothing published for this version
[engine] Program conversion plugins can now be passed extra arguments from convert. #13973
[engine] Program conversion plugins can now be passed extra arguments from convert.
#13973
[sdkgen/go] Support generating Go SDKs that use generic input and output types #13828
pulumi new no longer defaults to a project name of "pulum" if ran in a folder called "pulumi".
#13953Nothing published for this version
[programgen/python] Fix deprecation warning triggering on ResourceArgs with default values. #13890
[cli/config] Allows org search for individual accounts #13930
[sdkgen/{go,nodejs,python}] Fix a bug in marshalling enums across gRPC
[cli/state] pulumi state edit now handles multi-part EDITOR env vars (i.e. emacs -nw).
#13922
[programgen/python] Fix deprecation warning triggering on ResourceArgs with default values. #13890
[cli] Adds pulumi org search and pulumi org search ai for Pulumi Insights in the CLI. These commands render a table containing all resources in a give
[cli] Adds pulumi org search and pulumi org search ai for Pulumi Insights in the CLI. These commands render a table containing all resources in a given organization matching the query provided.
-q <query> will search for resources in the organization using a query provided in Pulumi Query Syntax.
-o <json|csv|yaml> flag customizes the output.
The ai command uses AI Assist to translate a natural language query into Pulumi Query Syntax.
Default table output will show a count of displayed resources out of the total. Additional output includes the query run, a URL to view and explore search results in the Pulumi Console and the query, and the query run.
Additional output is suppressed for non-table output formats such that they can be easily piped into other tools.
The --web flag will open the search results in a default browser.
#13611
#13879
#13888
#13846
[cli] Adds pulumi ai command - currently the only functionality in this group is pulumi ai web, which will open the Pulumi AI application in a default browser. An optional --prompt/-p flag can be provided with a query to pre-populate the search bar in the Pulumi AI application. By default, that prompt will be submitted automatically, but passing --no-auto-submit will prevent that.
#13808
#13846
[engine] Support SDKs sending plugin checksums as part of resource requests. #13789
pulumi policy new <template-name> to not require --yes when run non-interactively.
#13902[cli] Pass args from import to state converters. #13862
[cli] Pass args from import to state converters. #13862
[cli/config] Removes PULUMI_DEV flag for org search #13888
[sdkgen/python] Opting into pyproject.toml SDK generation no longer generates setup.py, but instead generates a standalone pyproject.toml that can be built with python -m build .
#13812
[engine] Check for old resources first by URN and then aliases #13883
[sdk/nodejs] Fix a possible panic in running NodeJS programs. #13689
[sdk/go] Add sdk/go/pulumix package with type-safe generics-based APIs to interact with Pulumi's core functionality. #13509
[sdk/go] Add sdk/go/pulumix package with type-safe generics-based APIs to interact with Pulumi's core functionality. #13509
[sdk/go] Built-in Pulumi types all satisfy pulumix.Input[T] for their underlying types.
#13509
[sdkgen/go] Generate types that are compatible with sdk/go/pulumix's type-safe APIs. #13510
[sdkgen/{nodejs,python}] NodeJS and Python packages no longer running plugin install scripts on package install. #13800
[cli/new] Fix regression where pulumi new -s org/project/stack would fail if the project already exists.
#13786
[sdk/nodejs] Fix provider used for resource methods #13796
[engine] Support runtime plugins returning plugin checksums from GetRequiredPlugins. #13776
[engine] Support runtime plugins returning plugin checksums from GetRequiredPlugins. #13776
[sdkgen/go] Implement option to override the name of the generated internal/utilities module #13749
[engine] Fix panic when analyzer plugin is not found on PATH. #13767
[programgen/go] Fixes go.mod version requirement #13729
[sdk/nodejs] When using closure serializtion, lookup package.json up from current working directory up to parent directories recursively #13770
[yaml] Update pulumi-yaml to 1.2.0. #13674
[yaml] Update pulumi-yaml to 1.2.0. #13674
[sdkgen/dotnet] Generate output-versioned invokes for functions without inputs. #13669
[sdkgen/nodejs] Generate output-versioned invokes for functions without inputs. #13678
[cli/package] New experimental "pack-sdk" command to pack an SDK into an artifact. #13675
[cli/plugin] CLI will now warn when loading ambient plugins from $PATH. #13670
[programgen/dotnet] Fixes code generation of ForExpressions, both when creating a list or a dictionary. #13620
[programgen/dotnet] Fixes list initializer for plain lists in resource properties. #13630
[programgen/{go,nodejs}] Fix a bug in marshalling type refs across gRPC. #13676
[programgen/nodejs] Fixes parseProxyApply to handle nested outputs within index expressions. #13629
[sdk/nodejs] Fix finding the pulumi package when the runtime wasn't started in the project directory. #13639
[cli/plugin] Improve error message during pulumi plugin install if the plugin is bundled with Pulumi.
#12575
[programgen/dotnet] Fix typing for optional and complex config variables in main program #13590
[programgen/dotnet] Fix typing for optional and complex config variables in main program #13590
[cli/new] Support SSH-style Git URLs, including private template repositories for pulumi new
#13515
[sdk/nodejs] NodeJS programs will now warn that undefined values will not show as stack outputs. #13608
[cli/plugin] CLI will now warn when loading ambient plugins from $PATH. #13607
[cli] Several fixes for pulumi logs including support for first-class providers, support for ambient credentials and improved error reporting.
#13588
[cli/state] Fix panic in pulumi state edit when no stack is selected.
#13638
[engine] Language plugins now defer schema loading to the engine via a gRPC interface. #13605
[programgen/{dotnet,go,nodejs,python}] Normalize the declaration name of generated resource components #13606
[sdk/python] Output.from_input now recurses into tuples.
#13603
[sdkgen] Fix bug binding provider schema where type default int values could not take integers. #13599
[sdkgen/python] Fixes python external enum types missing the import reference to the external package. #13584
[engine] Fix --target-dependents from targeting all resources with default providers. #13560
[engine] Fix --target-dependents from targeting all resources with default providers. #13560
[engine] Fix a panic when trying to construct a remote component with an explicit provider configured with unknown values during preview. #13579
[programgen/go] Fix conflicting imports generated when two imported packages have the same name. #13289
[programgen/nodejs] Fixes issue with javascript program generation where enums would incorrectly reference the package rather than the import alias. #13546
Nothing published for this version
Nothing published for this version
[programgen/{dotnet,go,nodejs,python}] Allow generating code for unknown invokes (tf data sources) in non-strict mode #13448
[programgen/{dotnet,go,nodejs,python}] Allow generating code for unknown invokes (tf data sources) in non-strict mode #13448
[programgen/go] Adds explicit package versioning to Golang codegen #13136
[sdk/go] Fix downloading of unimported external plugins. #13455
[cli/new] pulumi new -s 'org/project/stack' checks the specified organization for project existence rather than the currentUser.
#13234
[cli/new] When providing a --stack and --name to pulumi new, the project names must match before creating Pulumi.yaml.
#13250
[cli/plugin] Fix interpolation of vesion into http plugin source URLs. #13447
[sdk/nodejs] Add dependency on @opentelemetry/instrumentation #13278
[sdk/nodejs] Node.js dynamic providers mark serialized functions as secret if they capture any secrets #13329
[sdk/python] Python dynamic provider serialized code is now saved to state as secret. #13315
Your coding agent can read these notes before it upgrades. Set up the MCP server →