OAuth auto-refresh on 401; registered resources retrievable from mock monitor
v3.247.0
10 features9 enhancements6 fixesThis release10 featuresNew capabilities9 enhancementsImprovements to existing features6 fixesBug fixesAI-tallied from the release notes
3.247.0 (2026-06-18)
Features
- [cli/config] Add --raw flag to
pulumi config setto avoid stripping newlines when input is piped through stdin #23593 - [cli/do] Add
--providerflag to pull provider config to use from existing provider state #23560 - [cli/engine] Resource providers now receive the active login's API address and access token through PULUMI_API and PULUMI_ACCESS_TOKEN #23589
- [cli/neo] Add a
--disable-integrationsflag topulumi neothat runs the task with no integration credentials #23531 - [engine] Send the address of a mapper service to resource providers as part of the provider handshake
- [programgen/go] Support functions with multiArgumentInputs #23554
- [programgen/python] Support functions with multiArgumentInputs #23574
- [sdk/nodejs] Registered resources can now be retrieved from the mock monitor for test assertions #20539
- [sdk/python] Add
Output.recoverto catch and recover from exceptions in outputs #23591 - [sdkgen] Adds support for language agnostic cross references in schemas. Use the form
{{% ref <target> %}}to reference other schema components in markdown descriptions. Such as `{{% ref #21369 - [sdkgen] Add extension parameterization to the package schema model #23536
- [sdkgen/go] Support functions with multiArgumentInputs #23554
- [sdkgen/python] Support functions with multiArgumentInputs #23574
- [cli/auth] When
credentials.jsoncarries an OAuth refresh token, the CLI now auto-refreshes the access token on 401 and retries the request once, instead of returning a "login required" error #23430
Improvements
- [cli] Respect PULUMI_SKIP_CONFIRMATIONS whenever we ask for confirmation #23607
- [cli] Use list and remove as the canonical names for list/remove commands, with ls and rm as aliases #23608
- [docs] Generate redirects for command aliases #23610
- [engine] Serve raw schema bytes from the engine's schema loader service instead of binding and re-marshaling the full schema on every request #23551
- [sdk/go] The
plugin.Hostinterface is now stateless with respect to workspaces; host methods that boot or resolve plugins take aplugin.Contextcarrying the workspace state, and closing aplugin.Contextno longer closes a host that was passed in to its constructor #23508 - [sdk/nodejs] Allow running the postinstall script for local SDKs under npm 12 #23568
- [sdk/python] Add register_package helper to cache package references per deployment #22459
Bug Fixes
- [cli] Ensure
pulumi logoutclears the current tokenless backend in coding agent environments #23540 - [cli] Read Git metadata correctly in repositories that enable the worktreeConfig extension, such as those hosted on Azure DevOps #23535
- [cli/display] Show interrupted steps as interrupted instead of as finished #23510
- [cli/plugin] Allow plugin tarballs containing symlinks #23587
- [sdk/nodejs] Fix
pulumi package addfailing with pnpm when the generated SDK has a scoped package name (@-prefix), caused by pnpm'spkg setrejecting@in dot-notation property paths #23365 - [codegen/pcl] Fix version comparison in NeedsVersionResourceOption to use semver.Version.Equals and reject "v"-prefixed versions #https://github.com/pulumi/pulumi/pull/23441
Miscellaneous
Fetched June 18, 2026


