Pulumi v3.269.0 adds runtime functions to the Go, Node.js and Python SDKs that check whether a resource with a given ID exists without adopting it into the stack. It runs OPA policy packs through a pulumi-language-opa plugin that the CLI downloads on demand. The release also makes pulumi logs and pulumi watch error by default ahead of their removal, and includes 18 fixes across PCL, the CLI and the SDKs.
platform teams Teams running OPA policy packs will get the CLI-downloaded language plugin instead of the old analyzer fallback for runtimes without a language plugin. Scripts that call pulumi logs or pulumi watch will start failing by default and should be checked before the removal lands.
written by claude-haiku-5-5, prompt 7cbe154, checked by publish rules
- +[sdk] Add runtime functions to the Go, Node.js and Python SDKs that check whether a resource with a given ID exists without adopting it into the stackadded
- +[engine] Negotiate OutputValues on Call so SDKs receive per-value return dependenciesadded
- +[auto] Add convert to the generated automation APIs for NodeJS, Python and Goadded
- +[auto] Add refresh to the generated automation APIs for NodeJS, Python and Goadded
- +[auto] Add about commands to the generated automation APIs for NodeJS, Python and Goadded
- +[auto] Add config commands to the generated automation APIs for NodeJS, Python and Goadded
- +[cli/policy] Run OPA policy packs through the pulumi-language-opa language plugin, which the CLI downloads on demand, and stop falling back to a pulumi-analyzer-policy-<runtime> plugin for policy packs whose runtime has no language pluginadded
- +[cli/new] Mark npm as the recommended package manager when prompting in pulumi newadded
- +[sdk/go] Make IDInput and URNInput satisfy StringInput, and AssetInput and ArchiveInput satisfy AssetOrArchiveInputadded
- +[cli/new] Skip the package manager prompt for new Node.js projects when only one package manager is installedadded
- +[cli/new] Use pip without prompting for a toolchain in pulumi new when neither Poetry nor uv is installedadded
- +[cli] Make pulumi logs error by default before its removaladded
19 more lines
- +[cli] Make pulumi watch error by default before its removaladded
- *[pcl] Accept a lookup default of any type and type the result as the unification of the element type and the defaultfixed
- *[pcl] Report a missing lookup default at bind time instead of failing when the program runsfixed
- *[pcl] Accept a tuple literal that holds an output where a function or property expects the input form of a tuple, such as length([secret(x)])fixed
- *[pcl] Fix a panic in the PCL interpreter's entries built-in on a map whose values have different shapes or on an empty mapfixed
- *[cli/policy] Fix pulumi policy group edit so that it adds and removes stacks, Policy Packs, and Insights accountsfixed
- *[pcl] Stop lifting a prompt operand's type-conversion wrapper into an unnecessary apply, which produced invalid Go codefixed
- *[cli/new] Fix switching template source when prefixes matchfixed
- *[cli] Redact secrets carried on output values in plaintext log output and in pulumi logs sharefixed
- *[cli/new] Fix template fetching when changing branchesfixed
- *[cli] Log in through the browser on pulumi login in agent mode instead of creating a new agent accountfixed
- *[programgen/go] Remove redundant ToIDOutput().ToStringOutput() conversions when passing resource IDs to string inputsfixed
- *[programgen/go] Type object literals of outputs as pulumi.StringMap and friends so they compile and export without a castfixed
- *[cli/neo] Honor optional refresh settings in agent previews without persisting refreshed statefixed
- *[cli] Stop finished download and unpack progress bars from reappearing below later output, such as the pulumi new success messagefixed
- *[sdk/python] Fix Output.recover failing to catch faults that arrive through apply or after the program body has returnedfixed
- *[pcl] Recover from failed function calls with recover in the PCL interpreterfixed
- *[pcl] Check assignability of recursive types, such as a schema object that nests itself, without overflowing the stackfixed
- *[pcl] Fix Equals on recursive object types that differ under a cyclefixed
31 lines13 added18 fixedtyped from the source notes
Pulumi v3.268.0 adds an engine capability to negotiate OutputValues on Invoke, gated by a new accepts_outputs_in_invoke handshake capability. It adds version, whoami and install to the generated automation APIs for NodeJS, Python and Go, and sends the W3C traceparent header on Pulumi Cloud API calls when --otel-traces is set. The release also lists 14 fixes, including dynamic provider Read fallback, plugin checksum verification and parallel plugin shutdown.
platform teams Teams using the Pulumi Automation API get version, whoami and install methods in NodeJS, Python and Go, and dynamic provider authors need to check Read handling since the engine no longer duplicates inputs into state. Teams tracing Pulumi calls get trace propagation to Pulumi Cloud when --otel-traces is set.
written by claude-haiku-5-5, prompt 7cbe154, checked by publish rules
- +[engine] Negotiate OutputValues on Invoke so SDKs can pass dependency-carrying values in args and receive them in the response, and providers can process them, gated by a new accepts_outputs_in_invoke handshake capabilityadded
- +[auto] Add version to the generated automation APIs for NodeJS, Python and Goadded
- +[auto] Add whoami to the generated automation APIs for NodeJS, Python and Goadded
- +[auto] Add install to the generated automation APIs for NodeJS, Python and Goadded
- +[backend/service] Send the W3C traceparent header on Pulumi Cloud API calls when --otel-traces is setadded
- *[engine] Restore elided asset contents from prior state when a provider echoes assets back from refresh or updatefixed
- *[engine] Apply resource transforms declared on an ancestor component to resources parented under a resource readfixed
- *[pcl] Unify two recursive object types, or a map with an object, to the same finite type on every run instead of overflowing the stack or picking a different type each timefixed
- *[sdkgen/nodejs] Link @pulumi/pulumi types in generated docs to their TypeDoc pages instead of missing anchorsfixed
- *[engine] Fix snapshot integrity error when untargeted steps change dependencies in the programfixed
- *[sdk/nodejs] Dynamic providers now fall back to the inputs field of a Read request when properties is empty, so Get continues to work after the engine stops duplicating inputs into statefixed
- *[sdk/python] Dynamic providers now fall back to the inputs field of a Read request when properties is empty, so Get continues to work after the engine stops duplicating inputs into statefixed
7 more lines
- *[cli/package] Download plugins from Git repositories whose version tags have no v prefixfixed
- *[engine] Fix a language host process leak when the schema loader boots a plugin that runs in a language hostfixed
- *[sdkgen] Reject schemas that define a resource named provider in the root module through moduleFormat, instead of panicking during SDK generationfixed
- *[engine] Shut down plugins in parallel to avoid timeoutsfixed
- *[cli/plugin] Fix plugin checksum verification rejecting valid downloads over HTTP/1.1 and ignoring data at the end of the archivefixed
- *[cli/new] Fix spurious provider "exited prematurely" error from the pulumi new credentials check, which no longer has a timeoutfixed
- *[auto] Fix project settings in projects that live in symlinked directoriesfixed
4 maintenance lines (dependency bumps, CI, tests, docs)
- ·[java] Upgrade java to v1.37.4maintenance
- ·[yaml] Upgrade yaml to v1.38.9maintenance
- ·[hcl] Upgrade hcl to v0.18.4maintenance
- ·[sdk/dotnet] Upgrade dotnet to v3.114.2maintenance
23 lines5 added14 fixed4 maintenancetyped from the source notes
Pulumi v3.267.0 fixes a bug where concurrent pulumi new runs failed to clone the templates repository. It also fixes pulumi install for Python plugins and policy packs that use the uv toolchain and a [build-system] table.
platform teams Teams running parallel pulumi new commands in automation no longer hit clone failures from this bug. Teams that ship Python plugins or policy packs built with uv can install them with pulumi install again.
written by claude-haiku-5-5, prompt 7cbe154, checked by publish rules
- *[cli/new] Fix concurrent pulumi new runs failing to clone the templates repositoryfixed
- *[sdk/python] Fix pulumi install for Python plugins and policy packs that use the uv toolchain and a [build-system] tablefixed
2 lines2 fixedtyped from the source notes
- +[cli/neo] Report the console URL and update identifiers in pulumi neo pulumi_preview/pulumi_up tool resultsadded
- +[sdkgen] Support #/provider doc references in schema descriptionsadded
- *[sdk/go] Use an explicit provider for resources from an extension package, instead of falling back to a default providerfixed
- *[sdk/python] Use an explicit provider for resources from an extension package, instead of falling back to a default providerfixed
- *[pcl] Order the members of a union type by a fixed structural order rather than by their printed form, so that a recursive object type prints all of its properties and diagnostics list union members consistentlyfixed
- *[cli/new] Avoid printing the provider docs link twice in the pulumi new credentials warningfixed
5 maintenance lines (dependency bumps, CI, tests, docs)
- ·[sdk/go] Remove workspace.Credentials.AccessTokens and read stored logins only from the accounts object of credentials.jsonmaintenance
- ·[sdk/dotnet] Upgrade dotnet to v3.114.1maintenance
- ·[java] Upgrade java to v1.37.3maintenance
- ·[yaml] Upgrade yaml to v1.38.8maintenance
- ·[hcl] Upgrade hcl to v0.18.3maintenance
11 lines2 added4 fixed5 maintenancetyped from the source notes
Pulumi v3.265.0 adds a pulumi logout --all --delete-credentials-key option, Authenticode signing for Windows CLI and language host binaries, and a PCL error for literals that do not match a schema constant or enum. It also fixes 21 items, mostly in the PCL type checker and interpreter, code generation for Python, Node.js and Go SDKs, and engine handling of unknown outputs when a dependency fails during a --continue-on-error update.
platform teams Teams using Pulumi with --continue-on-error can now rely on Unknown=true being reported for skipped Read and Import steps, so SDK consumers no longer treat empty outputs as real values. Windows CLI binaries are now signed, which may matter for install policies.
written by claude-haiku-5-5, prompt 7cbe154, checked by publish rules
- +[cli/auth] Add pulumi logout --all --delete-credentials-key to delete the key that encrypts stored credentials from the OS credential storeadded
- +[pcl] Name the constant or the enum members a resource property admits when a literal does not match itadded
- +[cli/install] Authenticode-sign the Windows CLI and language host binariesadded
- *[programgen/python] Generate valid Python for output-dependent resource rangesfixed
- *[cli/policy] Recover from partial installs & wait for parallel installsfixed
- *[cli/install] Cancel cross-process waits with Ctrl-Cfixed
- *[engine] Report Unknown=true on the ReadResourceResponse when a Read is skipped because one of its dependencies failed during a --continue-on-error update, so SDKs can propagate unknowns to dependents rather than treating empty outputs as realfixed
- *[cli/auth] Keep encrypted credentials in other PULUMI_HOME directories readable after pulumi logout --all or pulumi login in one of themfixed
- *[engine] Report Unknown=true on the register response when an Import step is skipped because one of its dependencies failed during a --continue-on-error update, so SDKs propagate unknowns to dependents rather than treating empty outputs as realfixed
- *[sdkgen/nodejs] Fix generated Node.js SDK compilation for self-referencing resource inputsfixed
- *[pcl] Fix a panic when a PCL program indexes a tuple literal with an index equal to its lengthfixed
- *[pcl] Fix a binder panic on nested tuple literals of different shapes, and unify collection literals that hold different constants into one collection type so they can be iteratedfixed
12 more lines
- *[pcl] Fix the length built-in in the PCL interpreter to accept objects and mapsfixed
- *[pcl] Add the range built-in to the PCL interpreterfixed
- *[pcl] Type min and max as number when any argument is a non-integer literalfixed
- *[pcl] Report an error when a number or bool literal is assigned to a property whose schema constant or enum does not admit itfixed
- *[pcl] Report a type mismatch on a resource input property that the resource does not also declare as an outputfixed
- *[pcl] Allow a resource to be assigned to a plain property typed as a reference to its resource typefixed
- *[pcl] Type a quoted string with no interpolation as a constant so string constants and string enums are validated at bind timefixed
- *[programgen] Fix length on output values in generated programs, and count the keys of maps and objects in generated Node.js programsfixed
- *[sdk/go] Fix policy analyzer config schema serialization for Go analyzersfixed
- *[programgen] Fill the lists that range produces in Node.js programsfixed
- *[pcl] Fix PCL type conversion checks whose result depended on whether the same types had been unified firstfixed
- *[sdk/nodejs] Fix closure serialization for importStar-wrapped cached modulesfixed
24 lines3 added21 fixedtyped from the source notes
- +[sdk/python] Add component state migration callbacks to ResourceOptionsadded
- +[cli/deployment] Allow pulumi deployment settings edit to configure git authentication, dependency caching, template sources and drift remediationadded
- +[cli/deployment] Allow pulumi deployment settings edit to configure tag triggers, review stack labels and the version control integrationadded
- +[backend/service] Enable component state migrations for Pulumi Cloud updates using journal v2added
- +[sdk/go] Add component state migration callbacks to resource optionsadded
- +[sdk/nodejs] Add component state migration callbacks to resource optionsadded
- +[backend/service] Improve startup performanceadded
- +[sdk/go] Remove policyx.ResourceValidationArgs.DryRun as it was never correctly setadded
- +[engine] Report planned and applied state migrations through user-facing diagnosticsadded
- +[cli] Make all commands start slightly fasteradded
- *[sdk/python] Discover plugins from the current uv workspace member’s dependenciesfixed
- *[cli] Suppress the Neo diagnostic help prompt for informational messagesfixed
18 more lines
- *[cli] Run the pulumi new credentials preflight for parameterized providersfixed
- *[cli/env] Reference pulumi env rather than the retired standalone esc CLI in pulumi env messages and help textfixed
- *[cli/deployment] Allow pulumi deployment settings edit to move a stack configured against a repository URL onto a version control integrationfixed
- *[cli/deployment] Stop pulumi deployment settings get padding its output for labels it does not printfixed
- *[sdk/go] Serialize ESC boolean schemas as their equivalent object forms ({} for "always", {"not":{}} for "never") instead of bare JSON booleans, so schema-carrying payloads are valid instances of the OpenAPI models that describe themfixed
- *[sdk/go] Run Go policy remediations only at the remediate enforcement levelfixed
- *[engine] Avoid trying to delete resources PendingReplacementfixed
- *[backend/diy] Fix path handling with absolute pathsfixed
- *[pkg] Interpret documentation references on lazily-loaded packages after they are fully bound, and resolve references to members that have not been loaded yetfixed
- *[engine] Update the partially created resource instead of creating another one when an OnError hook retries a createfixed
- *[engine] Preserve root-first state ordering between chained state migration callbacksfixed
- *[sdk/go] Propagate the dependsOn resource option on ReadResource callsfixed
- *[pcl] Propagate the dependsOn resource option on read blocksfixed
- *[cli/neo] Skip the redundant preview step when pulumi neo runs the pulumi_up toolfixed
- *[sdkgen/go] Set the default plugin version when the schema sets a Go language optionfixed
- *[cli/package] Stop leaking package processes from pulumi package get-schemafixed
- *[cli] Remove the prompt to create a first project after an interactive loginfixed
- *[engine] When a Read is skipped because one of its dependencies failed during a --continue-on-error update, return the resource's last-known outputs to the SDK if it is already present in state, rather than an empty output mapfixed
8 maintenance lines (dependency bumps, CI, tests, docs)
- ·[engine] Retire the SKIP value from the RegisterResourceResponse.Result protobuf enum; dependency-skipped resources now report FAIL to the SDK, which matches how every language SDK already interpreted SKIPmaintenance
- ·[java] Upgrade java to v1.37.2maintenance
- ·[hcl] Upgrade hcl to v0.18.1maintenance
- ·[yaml] Upgrade yaml to v1.38.7maintenance
- ·[hcl] Upgrade hcl to v0.18.2maintenance
- ·[sdk/dotnet] Upgrade dotnet to v3.114.0maintenance
- ·[yaml] Upgrade yaml to v1.38.7maintenance
- ·[hcl] Upgrade hcl to v0.18.2maintenance
38 lines10 added20 fixed8 maintenancetyped from the source notes
- +[cli] Document automatic plugin installation and list the valid KIND values in pulumi plugin install --helpadded
- +[cli/plugin] Describe what pulumi plugin ls does and does not list in its help textadded
- +[cli] Reframe pulumi plugin help around automatic plugin installation and link the plugin-authoring docsadded
- +[cli] Protect resources retained by pulumi state promote so a subsequent update cannot delete them before the generated code is added to the programadded
- +[cli/env] Prompt for the ESC project and environment names in pulumi env setup, ask how to authenticate before choosing an access level, and print a success message when setup completesadded
- *[cli/deployment] Stop pulumi deployment settings edit overwriting the source of stacks that use a provider other than GitHub, take --path-filter once per filter rather than splitting it on commas, and report an unconfigured stack from get instead of failingfixed
- *[engine] Fix remote component provider state migrations being skipped when the caller also supplies migrationsfixed
- *[engine] Forward caller error hooks to remote component providersfixed
- *[cli/do] Error sooner if string values can't be cast to numeric/boolean inputsfixed
- *[build] Restore pr#<number> based downloadsfixed
- *[sdk/nodejs] Fix a panic in the pnpm package manager when pnpm config get allowBuilds prints nullfixed
4 maintenance lines (dependency bumps, CI, tests, docs)
- ·[java] Upgrade java to v1.37.1maintenance
- ·[hcl] Upgrade hcl to v0.18.0maintenance
- ·[yaml] Upgrade yaml to v1.38.6maintenance
- ·[sdk/dotnet] Upgrade dotnet to v3.113.3maintenance
15 lines5 added6 fixed4 maintenancetyped from the source notes
- +[engine] Support importing a pulumi:index:Stash resource. The stash adopts the given id and holds a null value, and the program's configured input then applies as an updateadded
- +[cli/plugin] Correct pulumi plugin rm help text to note that the CLI re-downloads removed plugins automaticallyadded
- +[cli] Add --filter to pulumi api list to filter endpoints by keywordadded
- +[cli/new] Warn in interactive pulumi new when cloud credentials are missing or invalid for providers that opt in via the new validateCredentialsOnNew and configurationDocsUrl schema fieldsadded
- +[sdk/nodejs] Add helper methods to transform ResourceOptions to InvokeOptionsadded
- +[cli] Read stack outputs for stack references through the Pulumi Cloud stack outputs endpoint when the service advertises it, instead of exporting the whole deploymentadded
- +[sdkgen/python] Replace parver with packaging in generated Python SDKsadded
- +[ci] Skip the unconsumed release-binary rebuild on pull requestsadded
- +[engine] Run provider configuration as part of provider create steps so errors are returned associated with the provider resource, not the first resource that uses itadded
- +[backend/service] Improve error messages if default org is invalidadded
- *[auto/go] Match wrapped errors in the Automation API error predicates, and unwrap the underlying causefixed
- *[cli/deployment] Stop pulumi deployment settings edit clearing settings it was not asked to change, let --branch and --commit replace one another rather than be combined, and reject --oidc-*-clear=false instead of ignoring itfixed
19 more lines
- *[cli] Re-validate an agent account claim marked unavailable instead of trusting the stale marker foreverfixed
- *[cli] Verify TLS certificates when downloading a template from a URL outside the configured servicefixed
- *[engine] Propagate --target-dependents and --exclude-dependents through resources read with .get()fixed
- *[engine] Run state migrations for aliased remote componentsfixed
- *[engine] Sort resources deterministically when repairing a snapshotfixed
- *[engine] Fix state migration ordering for components interleaved with other resourcesfixed
- *[sdk] Allow Automation API project settings to use any language runtimefixed
- *[engine] Redact secret property values in violates plan error messages unless --show-secrets is passedfixed
- *[cli] Treat a resource provider attached through PULUMI_DEBUG_PROVIDERS as installed, so package installation does not try to download itfixed
- *[cli] Install the packages a local plugin directory requires before the plugin is installed and runfixed
- *[engine] Avoid a deadlock when a resource provider asks the engine to load another plugin while it bootsfixed
- *[engine] Allow component state migrations to split managed state using compatible existing resource identitiesfixed
- *[sdk/go] Allow outputs and prompt values to be marshalled into fields typed as input interfaces, such as pulumi.StringInputfixed
- *[backend/diy] Make sure disableSSL doesn't override explicitly specified protocolsfixed
- *[cli] Fix pulumi install for a project that requires a resource provider attached through PULUMI_DEBUG_PROVIDERSfixed
- *[cli] Resolve a project's relative plugin and package paths against the project directory when a plugin starts from a subdirectory of the projectfixed
- *[sdk/go] Report the source position of the user code that calls a generated resource getter instead of the getter bodyfixed
- *[engine] Normalize successor references between chained component state migration callbacksfixed
- *[cli/new] Error out on ambiguous template names instead of failing silentlyfixed
3 maintenance lines (dependency bumps, CI, tests, docs)
- ·[sdk/dotnet] Upgrade dotnet to v3.113.2maintenance
- ·[java] Upgrade java to v1.37.0maintenance
- ·[hcl] Upgrade hcl to v0.17.0maintenance
34 lines10 added21 fixed3 maintenancetyped from the source notes
- +[engine] Support state migration callbacks on resource registrationsadded
- +[cli/env] Add pulumi env setup {aws,azure,gcp} to configure cloud OIDC trust and create the ESC environments that use itadded
- +[sdkgen] Generate precise Python output types for discriminated unions. An array of a union was typed Sequence[Any] and a scalar union Any, while the matching getters on the generated Args classes were already typedadded
- +[sdk/python] Resolve a union value to its member by matching the value's wire shape, so unions whose members carry no constant properties serialize and translate with the right member's property namesadded
- +[sdkgen/python] Accept a generated output type wherever the classes-and-dicts input types accept its Args class or TypedDict, so a resource's output can be passed to another resource's input without a type erroradded
- +[engine] Send previously persisted outputs to a provider's Check on update, gated by a new sends_old_outputs_to_check handshake capabilityadded
- +[sdk/python] Add helper methods to transform ResourceOptions to InvokeOptionsadded
- *[engine] Report a clear error instead of panicking when the stack's state contains a custom resource with no IDfixed
- *[cli] Show the agent account's claim URL instead of an inaccessible View Live link when running on ephemeral agent credentialsfixed
- *[pcl] Fix a crash when binding a schema property with an integer constant valuefixed
- *[cli/policy] Avoid hanging when policy pack fails to start upfixed
- *[pkg/testing] Fix ProgramTest for providers whose Go module or NuGet package has a double-digit major versionfixed
2 more lines
- *[sdk] Fix serialization of secret unknowns in NodeJS, Python and PCLfixed
- *[engine] Ignore internal property keys (those starting with an underscore) when generating and checking update plansfixed
3 maintenance lines (dependency bumps, CI, tests, docs)
- ·[java] Upgrade java to v1.36.3maintenance
- ·[yaml] Upgrade yaml to v1.38.5maintenance
- ·[sdk/dotnet] Upgrade dotnet to v3.113.1maintenance
17 lines7 added7 fixed3 maintenancetyped from the source notes
- +[cli/deployment] Make pulumi deployment settings get render every source kind and show environment variable values, changing the --output=json shape of environmentVariables from a list of names to a list of objectsadded
- +[sdk/go] Support Go 1.27added
- +[cli/state] Add pulumi state promote to turn stateful snippets into Pulumi program codeadded
- +[cli] Treat adjacent character swaps as a single typo when suggesting commandsadded
- +[sdk/python] Correctly resolve discriminated unions by their tagadded
- +[sdk/python] Allow transforms to be mockedadded
- +[sdk/nodejs] Allow transforms to be mockedadded
- +[sdk/go] Allow transforms to be mockedadded
- +[sdkgen] Allow hyphens in the member segment of tokens, so resource, object type and function names can be kebab-caseadded
- +[cli] Print secret provider information with other stack informationadded
- +[auto/python] Allow refresh, preview_refresh, and preview_destroy to request rich diffsadded
- +[engine] Cache provider mapping results on disk so repeated plans do not boot a provider to re-fetch an unchanged mappingadded
25 more lines
- +[sdk/python] Improve stack traces for providersadded
- *[engine] Replace resources whose deletedWith target is being replaced, instead of leaving them orphaned in statefixed
- *[sdk/python] Serialize typed object stack outputs with their wire-format (camelCase) property names, matching other language SDKsfixed
- *[cli/neo] Cancelling a task now interrupts a running local tool call instead of waiting for it to finishfixed
- *[programgen/python] Access schema properties whose names contain hyphens as attributes under their Python names instead of subscriptingfixed
- *[programgen/go] Generate valid struct field names for properties whose names contain hyphensfixed
- *[sdkgen/nodejs] Quote property names that are not legal identifiers (e.g. kebab-case) in generated declarations and use bracket access for themfixed
- *[cli/neo] Cancelling a local tool call no longer leaves the TUI stuck on "Thinking..." with input blockedfixed
- *[sdk/go] Use resolved environment names when evaluating ESC importsfixed
- *[codegen/pcl] Allow output-typed values for the id attribute of a read resourcefixed
- *[sdkgen/nodejs] Register resolvers for output-only properties in generated Resource.get so they resolve as unknown during preview when the id is unknownfixed
- *[engine] Avoid replacing imported resources when an input changes from plain to a secret or output-wrapped value with the same inner valuefixed
- *[backend/diy] Keep DIY backend stacks readable when checkpoint compression transitions failfixed
- *[cli/stack] Give a clearer error message when selecting a stack by name outside a directory with a Pulumi.yaml project filefixed
- *[sdk/python] Propagate runtime context across thread boundariesfixed
- *[programgen/python] Name plain function input object types without the Args suffix, matching the name the generated SDK exportsfixed
- *[cli/new] Reject zip template entries that resolve outside the extraction directoryfixed
- *[cli/package] Keep a package's pluginDownloadURL in SDKs regenerated by pulumi installfixed
- *[sdk/python] Preserve all providers passed to remote components in Python programsfixed
- *[sdkgen] Apply schema defaults to generated Python and Node.js function inputsfixed
- *[programgen/python] Mark required component inputs as required in generated Python TypedDictsfixed
- *[programgen/python] Add type annotations for config variables default values coming from invokesfixed
- *[programgen/python] Generate valid Python when a component with inputs instantiates another componentfixed
- *[cli/neo] Stop the running local tool immediately when a Neo task is cancelled and report it as cancelledfixed
- *[programgen/python] Support final argument expansion for min and max in Python programsfixed
3 maintenance lines (dependency bumps, CI, tests, docs)
- ·[sdk/dotnet] Upgrade dotnet to v3.113.0maintenance
- ·[java] Upgrade java to v1.36.2maintenance
- ·[yaml] Upgrade yaml to v1.38.4maintenance
40 lines13 added24 fixed3 maintenancetyped from the source notes
- +[cli/new] Show a single confirmation of project, stack, and config defaults in interactive pulumi new instead of prompting for each valueadded
- +[cli] Introduce PULUMI_DEFAULT_ORGANIZATION to be able to set the default orgadded
- +[cli] Explain which state backend pulumi login failed against, where that backend was configured, and how to change itadded
- +[backend/diy] Report the state backend URL as configured when it cannot be opened, adding the resolved form when normalization changed it, and name a local path a state directory rather than a bucketadded
- +[sdkgen/python] Type constant properties as Literal[value] instead of their primitive typeadded
- +[cli/plugin] Add --parallel flag to pulumi plugin installadded
- +[cli] Fix progress bar rendering for parallel plugin installsadded
- *[cli/stack] Announce Created stack when creating a stack against the Pulumi Cloud backendfixed
- *[cli] Retry pulumi neo cancellation requests that the service rejects and keep Esc responsive instead of showing "Cancelling..." foreverfixed
- *[cli/import] Generate a component resource definition when importing local componentsfixed
- *[auto/nodejs] Remove Node.js Automation API output buffer limitfixed
- *[sdk/go] Always emit the value and environment keys when serializing esc.Value and esc.Range, matching the fields the ESC OpenAPI contract marks requiredfixed
7 more lines
- *[engine] Fix the engine returning extension package refs for non-parameterised packages against the same basefixed
- *[cli/neo] Fix approval replies and mode changes being silently dropped when the outbound event queue is fullfixed
- *[codegen/go] Fix nondeterministic Go program codegen for objects that mix null and typed propertiesfixed
- *[cli/do] Keep snippets when delete fails, so delete can be retriedfixed
- *[cli/package] Report every schema validation error when pulumi package add fails to bind a package schemafixed
- *[programgen/python] Fix casing of local component outputsfixed
- *[cli/policy] Make policy group ls respect the default orgfixed
19 lines7 added12 fixedtyped from the source notes
- +[cli] Add opt-in encryption of stored credentials with a key protected by the operating system, selected with PULUMI_CREDENTIAL_STOREadded
- +[cli/new] Ask for a cloud provider and language in interactive pulumi new instead of listing every templateadded
- +[sdk/go] Add policyx.NewStackValidationPolicy and wire up the analyzer's AnalyzeStack RPC so Go policy packs can validate the full stackadded
- +[sdk/python] Use the resource monitor's advertised feature set consistently throughout the Python SDKadded
- *[sdkgen/go] Generate valid Go package clauses for schema modules whose names contain hyphensfixed
- *[sdkgen/nodejs] Export schema modules whose names contain hyphens under a valid sanitized identifier, including their type namespacesfixed
- *[cli/import] pulumi preview --import-file no longer emits unknown values, and pulumi import rejects files that contain themfixed
- *[auto/python] Add missing program argument on preview_refresh and preview_destroy stack methodsfixed
- *[cli/new] Fix cloning templates and repositories into paths containing symlinks with absolute targetsfixed
- *[cli/do] Fix global project lookupfixed
1 maintenance lines (dependency bumps, CI, tests, docs)
- ·[cli] Rewrite the pulumi login and pulumi logout help text to cover all supported state backends and document PULUMI_ACCESS_TOKEN, --default-org, and --interactivemaintenance
11 lines4 added6 fixed1 maintenancetyped from the source notes
19 older releases
| v3.257.0 | 2026-08-13 | minor | ++++++************ 26 lines |
| v3.256.0 | 2026-08-04 | minor | +++++************* 42 lines |
| v3.255.0 | 2026-07-28 | minor | +++++++++++***** 16 lines |
| v3.254.0 | 2026-07-23 | minor | +++++++++++++++*** 33 lines |
| v3.253.0 | 2026-07-14 | minor | +++*** 6 lines |
| v3.252.0 | 2026-07-13 | minor | ++++++++********** 21 lines |
| v3.251.0 | 2026-07-08 | minor | ++++++++++**** 16 lines |
| v3.250.0 | 2026-07-02 | minor | * 1 lines |
| v3.249.0 | 2026-07-01 | minor | ++++++++++++****** 24 lines |
| v3.248.0 | 2026-06-24 | minor | +++++++**** 11 lines |
| v3.247.0 | 2026-06-18 | minor | ++++++++++++++**** 29 lines |
| v3.246.0 | 2026-06-11 | minor | breaking +++++++++********* 27 lines |
| v3.245.0 | 2026-06-04 | minor | ++++++*** 10 lines |
| v3.244.0 | 2026-05-28 | minor | ****** 6 lines |
| v3.243.0 | 2026-05-22 | minor | +++++++++**** 15 lines |
| v3.242.0 | 2026-05-19 | minor | +++++++++*** 12 lines |
| v3.241.0 | 2026-05-18 | minor | +++++++++++++++*** 57 lines |
| v3.239.0 | 2026-05-14 | minor | ++++++** 8 lines |
| v3.238.0 | 2026-05-13 | minor | +++++++++++******* 28 lines |