Update first-party Pulumi dependencies (#855)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [@pulumi/pulumi](https://redirect.github.com/pulumi/pulumi)
([source](https://redirect.github.com/pulumi/pulumi/tree/HEAD/sdk/nodejs))
| dependencies | minor | [`3.237.0` ->
`3.239.0`](https://renovatebot.com/diffs/npm/@pulumi%2fpulumi/3.237.0/3.239.0)
|
| [github.com/pulumi/esc](https://redirect.github.com/pulumi/esc) |
indirect | minor | `v0.23.0` -> `v0.24.0` |
|
[github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild](https://redirect.github.com/pulumi/pulumi-docker-build)
| require | patch | `v0.0.16` -> `v0.0.17` |
|
[github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3](https://redirect.github.com/pulumi/pulumi-dotnet)
| require | patch | `v3.106.1` -> `v3.106.2` |
|
[github.com/pulumi/pulumi-java](https://redirect.github.com/pulumi/pulumi-java)
| require | minor | `v1.26.1` -> `v1.27.0` |
|
[github.com/pulumi/pulumi/pkg/v3](https://redirect.github.com/pulumi/pulumi)
| require | minor | `v3.237.0` -> `v3.239.0` |
---
> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.
---
### Release Notes
<details>
<summary>pulumi/pulumi (@​pulumi/pulumi)</summary>
###
[`v3.239.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#32390-2026-05-14)
[Compare
Source](https://redirect.github.com/pulumi/pulumi/compare/v3.238.0...v3.239.0)
##### Features
- \[cli] Add `--output json` to `pulumi import` for a structured JSON
summary of the operation result
[#​22929](https://redirect.github.com/pulumi/pulumi/pull/22929)
- \[cli] Add `pulumi stack get` to retrieve detailed information about a
stack
[#​23106](https://redirect.github.com/pulumi/pulumi/pull/23106)
- \[cli] Add `pulumi stack webhook get` to inspect a single stack
webhook
[#​23088](https://redirect.github.com/pulumi/pulumi/pull/23088)
- \[cli] Add `pulumi stack webhook ping` to send a test ping to a stack
webhook
- \[cli/cloud] Add `pulumi deployment list` to list deployment
executions for a stack
[#​23114](https://redirect.github.com/pulumi/pulumi/pull/23114)
- \[sdkgen] Validate that schema names can't conflict with module paths
[#​22956](https://redirect.github.com/pulumi/pulumi/pull/22956)
##### Bug Fixes
- \[engine] Fix batch encrypt/decrypt errors being silently dropped
[#​23149](https://redirect.github.com/pulumi/pulumi/pull/23149)
- \[cli/cloud] Fix `pulumi api` help examples that referenced
non-existent operation IDs and response fields
[#​23125](https://redirect.github.com/pulumi/pulumi/pull/23125)
###
[`v3.238.0`](https://redirect.github.com/pulumi/pulumi/blob/HEAD/CHANGELOG.md#32380-2026-05-13)
[Compare
Source](https://redirect.github.com/pulumi/pulumi/compare/v3.237.0...v3.238.0)
##### Features
- \[cli] Add a `--language` flag to `pulumi package add` to run outside
a Pulumi project or plugin
[#​22791](https://redirect.github.com/pulumi/pulumi/pull/22791)
- \[cli] Add `--output json` to `pulumi up` for a structured JSON
summary of the operation result
[#​22870](https://redirect.github.com/pulumi/pulumi/pull/22870)
- \[cli] Recommend `pulumi cloud api describe` in `pulumi cloud api
--help` to verify operation parameters before calling
[#​22881](https://redirect.github.com/pulumi/pulumi/pull/22881)
- \[cli] Add `pulumi stack webhook list` to list all webhooks configured
for a stack
[#​23082](https://redirect.github.com/pulumi/pulumi/pull/23082)
- \[cli/cloud] Rename `pulumi cloud api` to `pulumi api`
[#​22970](https://redirect.github.com/pulumi/pulumi/pull/22970)
- \[cli/cloud] Add `pulumi insights resource get` to look up a single
resource discovered by Pulumi Insights
[#​23077](https://redirect.github.com/pulumi/pulumi/pull/23077)
- \[cli/cloud] Add `pulumi template list` to list registry-backed
templates
[#​23074](https://redirect.github.com/pulumi/pulumi/pull/23074)
- \[cli/cloud] Rename the `--format` flag to `--output` on `pulumi api`
and its subcommands
[#​23072](https://redirect.github.com/pulumi/pulumi/pull/23072)
- \[cli/cloud] Add `pulumi insights resource search` to search for
resources discovered by Pulumi Insights
[#​23087](https://redirect.github.com/pulumi/pulumi/pull/23087)
- \[cli/engine] Add `--skip-plugin-pre-install` to skip up-front plugin
installation
- \[engine] Fail the deployment when an after hook fails
[#​22935](https://redirect.github.com/pulumi/pulumi/pull/22935)
- \[cli/neo] Render the agent's TODO list in the `pulumi neo` TUI
[#​22864](https://redirect.github.com/pulumi/pulumi/pull/22864)
- \[cli/neo] Add `--approval-mode` and `--permission-mode` flags to
`pulumi neo`, with Ctrl+A and Ctrl+R hotkeys to switch modes mid-session
[#​22950](https://redirect.github.com/pulumi/pulumi/pull/22950)
- \[cli/package] When invoked by an AI coding agent, print `pulumi api`
pointers after `pulumi package add` and `pulumi package gen-sdk`
[#​22904](https://redirect.github.com/pulumi/pulumi/pull/22904)
- \[pkg/testing] Recognize the `hcl` and `pcl` runtimes in
`integration.ProgramTest`
[#​23018](https://redirect.github.com/pulumi/pulumi/pull/23018)
- \[pkg/testing] Add `l1-config-types-optional` conformance test for
PCL's `optional` type constructor
[#​23108](https://redirect.github.com/pulumi/pulumi/pull/23108)
##### Bug Fixes
- \[backend/diy] Minify JSON persisted by the DIY backend for
checkpoints, history, and stack tags
[#​22245](https://redirect.github.com/pulumi/pulumi/pull/22245)
- \[cli/import] Ignore property values that do not conform to the schema
in maps
[#​23076](https://redirect.github.com/pulumi/pulumi/pull/23076)
- \[cli/import] Stop dropping map values whose element type is a union
of Input-wrapped types during HCL2 import
- \[cli/neo] Use the selected stack's organization when starting a
`pulumi neo` task instead of the user's default organization
[#​22951](https://redirect.github.com/pulumi/pulumi/pull/22951)
- \[cli/neo] Include the failure reason in `pulumi_preview` and
`pulumi_up` tool results when they fail, so the agent can react instead
of seeing a blank error
[#​22948](https://redirect.github.com/pulumi/pulumi/pull/22948)
- \[cli/neo] Retry `pulumi neo` task creation without the attached stack
when the backend rejects it with an "invalid entities" error
[#​22945](https://redirect.github.com/pulumi/pulumi/pull/22945)
- \[cli/neo] Surface the failure reason when a `filesystem` tool call
fails, instead of returning an empty result to the agent
[#​23019](https://redirect.github.com/pulumi/pulumi/pull/23019)
- \[cli/package] Use `--output=markdown` (not the renamed-away
`--format=markdown`) in the `pulumi api` pointers printed by `pulumi
package add` and `pulumi package gen-sdk`
[#​23098](https://redirect.github.com/pulumi/pulumi/pull/23098)
- \[programgen/pcl] Stop reporting spurious circular references when an
`ignoreChanges`, `hideDiffs`, `replaceOnChanges`, or
`additionalSecretOutputs` entry shares a name with a top-level node
[#​22931](https://redirect.github.com/pulumi/pulumi/pull/22931)
- \[sdk/python] Speed up python program resolution by using a set
instead of deque to track outputs
[#​22946](https://redirect.github.com/pulumi/pulumi/pull/22946)
##### Miscellaneous
- \[cli/neo] Tag Neo tasks created from the CLI with a `cli` source so
the service can attribute their origin
[#​23099](https://redirect.github.com/pulumi/pulumi/pull/23099)
- \[sdk/nodejs] Add registerPackage helper to cache package references
per deployment
[#​23014](https://redirect.github.com/pulumi/pulumi/pull/23014)
</details>
<details>
<summary>pulumi/esc (github.com/pulumi/esc)</summary>
###
[`v0.24.0`](https://redirect.github.com/pulumi/esc/releases/tag/v0.24.0)
[Compare
Source](https://redirect.github.com/pulumi/esc/compare/v0.23.0...v0.24.0)
##### Improvements
##### Bug Fixes
##### Breaking changes
</details>
<details>
<summary>pulumi/pulumi-docker-build
(github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild)</summary>
###
[`v0.0.17`](https://redirect.github.com/pulumi/pulumi-docker-build/compare/v0.0.16...v0.0.17)
[Compare
Source](https://redirect.github.com/pulumi/pulumi-docker-build/compare/v0.0.16...v0.0.17)
</details>
<details>
<summary>pulumi/pulumi-dotnet
(github.com/pulumi/pulumi-dotnet/pulumi-language-dotnet/v3)</summary>
###
[`v3.106.2`](https://redirect.github.com/pulumi/pulumi-dotnet/blob/HEAD/CHANGELOG.md#v31062---2026-05-13)
[Compare
Source](https://redirect.github.com/pulumi/pulumi-dotnet/compare/v3.106.1...v3.106.2)
##### Bug Fixes
- \[sdk] Fix programgen for arrays containing only null literals by
generating explicit `new object?[]` type annotation
[#​948](https://redirect.github.com/pulumi/pulumi-dotnet/pull/948)
- \[runtime] Translate PCL `length()` on strings to
`StringInfo.LengthInTextElements` so it returns Unicode grapheme
clusters rather than UTF-16 code units
[#​1000](https://redirect.github.com/pulumi/pulumi-dotnet/pull/1000)
- \[runtime] Translate PCL `singleOrNone()` to
`Enumerable.SingleOrDefault` so it returns null on an empty list instead
of throwing
[#​1001](https://redirect.github.com/pulumi/pulumi-dotnet/pull/1001)
- \[runtime] Generate correct .NET property names when the schema
version contains a hyphen
[#​1005](https://redirect.github.com/pulumi/pulumi-dotnet/pull/1005)
</details>
<details>
<summary>pulumi/pulumi-java (github.com/pulumi/pulumi-java)</summary>
###
[`v1.27.0`](https://redirect.github.com/pulumi/pulumi-java/blob/HEAD/CHANGELOG.md#v1270---2026-05-13)
[Compare
Source](https://redirect.github.com/pulumi/pulumi-java/compare/v1.26.1...v1.27.0)
##### Bug Fixes
- \[sdk] Fix child resources unable to override protect, retainOnDelete,
and deleteBeforeReplace from parent
[#​2156](https://redirect.github.com/pulumi/pulumi-java/pull/2156)
##### Improvements
- \[codegen] Implement the PCL `fromBase64` and `toBase64` builtins in
the Java program codegen
[#​2171](https://redirect.github.com/pulumi/pulumi-java/pull/2171)
- \[codegen] Fix l1-builtin-string by emitting a grapheme-cluster
counter for PCL length() on strings, and wrapping split() results as
List<String> so they serialize correctly through ctx.export
[#​2170](https://redirect.github.com/pulumi/pulumi-java/pull/2170)
- \[codegen] Fix l2-map-keys by fully qualifying generated Args types
when their simple names collide across imported packages
[#​2178](https://redirect.github.com/pulumi/pulumi-java/pull/2178)
- \[sdk/java] Implement the PCL `rootDirectory` builtin and surface the
project root directory on `Deployment`
[#​2176](https://redirect.github.com/pulumi/pulumi-java/pull/2176)
</details>
<details>
<summary>pulumi/pulumi (github.com/pulumi/pulumi/pkg/v3)</summary>
###
[`v3.239.0`](https://redirect.github.com/pulumi/pulumi/releases/tag/v3.239.0)
[Compare
Source](https://redirect.github.com/pulumi/pulumi/compare/v3.238.0...v3.239.0)
#### 3.239.0 (2026-05-14)
##### Features
- \[cli] Add `--output json` to `pulumi import` for a structured JSON
summary of the operation result
[#​22929](https://redirect.github.com/pulumi/pulumi/pull/22929)
- \[cli] Add `pulumi stack get` to retrieve detailed information about a
stack
[#​23106](https://redirect.github.com/pulumi/pulumi/pull/23106)
- \[cli] Add `pulumi stack webhook get` to inspect a single stack
webhook
[#​23088](https://redirect.github.com/pulumi/pulumi/pull/23088)
- \[cli] Add `pulumi stack webhook ping` to send a test ping to a stack
webhook
- \[cli/cloud] Add `pulumi deployment list` to list deployment
executions for a stack
[#​23114](https://redirect.github.com/pulumi/pulumi/pull/23114)
- \[sdkgen] Validate that schema names can't conflict with module paths
[#​22956](https://redirect.github.com/pulumi/pulumi/pull/22956)
##### Bug Fixes
- \[engine] Fix batch encrypt/decrypt errors being silently dropped
[#​23149](https://redirect.github.com/pulumi/pulumi/pull/23149)
- \[cli/cloud] Fix `pulumi api` help examples that referenced
non-existent operation IDs and response fields
[#​23125](https://redirect.github.com/pulumi/pulumi/pull/23125)
###
[`v3.238.0`](https://redirect.github.com/pulumi/pulumi/releases/tag/v3.238.0)
[Compare
Source](https://redirect.github.com/pulumi/pulumi/compare/v3.237.0...v3.238.0)
#### 3.238.0 (2026-05-13)
##### Features
- \[cli] Add a `--language` flag to `pulumi package add` to run outside
a Pulumi project or plugin
[#​22791](https://redirect.github.com/pulumi/pulumi/pull/22791)
- \[cli] Add `--output json` to `pulumi up` for a structured JSON
summary of the operation result
[#​22870](https://redirect.github.com/pulumi/pulumi/pull/22870)
- \[cli] Recommend `pulumi cloud api describe` in `pulumi cloud api
--help` to verify operation parameters before calling
[#​22881](https://redirect.github.com/pulumi/pulumi/pull/22881)
- \[cli] Add `pulumi stack webhook list` to list all webhooks configured
for a stack
[#​23082](https://redirect.github.com/pulumi/pulumi/pull/23082)
- \[cli/cloud] Rename `pulumi cloud api` to `pulumi api`
[#​22970](https://redirect.github.com/pulumi/pulumi/pull/22970)
- \[cli/cloud] Add `pulumi insights resource get` to look up a single
resource discovered by Pulumi Insights
[#​23077](https://redirect.github.com/pulumi/pulumi/pull/23077)
- \[cli/cloud] Add `pulumi template list` to list registry-backed
templates
[#​23074](https://redirect.github.com/pulumi/pulumi/pull/23074)
- \[cli/cloud] Rename the `--format` flag to `--output` on `pulumi api`
and its subcommands
[#​23072](https://redirect.github.com/pulumi/pulumi/pull/23072)
- \[cli/cloud] Add `pulumi insights resource search` to search for
resources discovered by Pulumi Insights
[#​23087](https://redirect.github.com/pulumi/pulumi/pull/23087)
- \[cli/engine] Add `--skip-plugin-pre-install` to skip up-front plugin
installation
- \[engine] Fail the deployment when an after hook fails
[#​22935](https://redirect.github.com/pulumi/pulumi/pull/22935)
- \[cli/neo] Render the agent's TODO list in the `pulumi neo` TUI
[#​22864](https://redirect.github.com/pulumi/pulumi/pull/22864)
- \[cli/neo] Add `--approval-mode` and `--permission-mode` flags to
`pulumi neo`, with Ctrl+A and Ctrl+R hotkeys to switch modes mid-session
[#​22950](https://redirect.github.com/pulumi/pulumi/pull/22950)
- \[cli/package] When invoked by an AI coding agent, print `pulumi api`
pointers after `pulumi package add` and `pulumi package gen-sdk`
[#​22904](https://redirect.github.com/pulumi/pulumi/pull/22904)
- \[pkg/testing] Recognize the `hcl` and `pcl` runtimes in
`integration.ProgramTest`
[#​23018](https://redirect.github.com/pulumi/pulumi/pull/23018)
- \[pkg/testing] Add `l1-config-types-optional` conformance test for
PCL's `optional` type constructor
[#​23108](https://redirect.github.com/pulumi/pulumi/pull/23108)
##### Bug Fixes
- \[backend/diy] Minify JSON persisted by the DIY backend for
checkpoints, history, and stack tags
[#​22245](https://redirect.github.com/pulumi/pulumi/pull/22245)
- \[cli/import] Ignore property values that do not conform to the schema
in maps
[#​23076](https://redirect.github.com/pulumi/pulumi/pull/23076)
- \[cli/import] Stop dropping map values whose element type is a union
of Input-wrapped types during HCL2 import
- \[cli/neo] Use the selected stack's organization when starting a
`pulumi neo` task instead of the user's default organization
[#​22951](https://redirect.github.com/pulumi/pulumi/pull/22951)
- \[cli/neo] Include the failure reason in `pulumi_preview` and
`pulumi_up` tool results when they fail, so the agent can react instead
of seeing a blank error
[#​22948](https://redirect.github.com/pulumi/pulumi/pull/22948)
- \[cli/neo] Retry `pulumi neo` task creation without the attached stack
when the backend rejects it with an "invalid entities" error
[#​22945](https://redirect.github.com/pulumi/pulumi/pull/22945)
- \[cli/neo] Surface the failure reason when a `filesystem` tool call
fails, instead of returning an empty result to the agent
[#​23019](https://redirect.github.com/pulumi/pulumi/pull/23019)
- \[cli/package] Use `--output=markdown` (not the renamed-away
`--format=markdown`) in the `pulumi api` pointers printed by `pulumi
package add` and `pulumi package gen-sdk`
[#​23098](https://redirect.github.com/pulumi/pulumi/pull/23098)
- \[programgen/pcl] Stop reporting spurious circular references when an
`ignoreChanges`, `hideDiffs`, `replaceOnChanges`, or
`additionalSecretOutputs` entry shares a name with a top-level node
[#​22931](https://redirect.github.com/pulumi/pulumi/pull/22931)
- \[sdk/python] Speed up python program resolution by using a set
instead of deque to track outputs
[#​22946](https://redirect.github.com/pulumi/pulumi/pull/22946)
##### Miscellaneous
- \[cli/neo] Tag Neo tasks created from the CLI with a `cli` source so
the service can attribute their origin
[#​23099](https://redirect.github.com/pulumi/pulumi/pull/23099)
- \[sdk/nodejs] Add registerPackage helper to cache package references
per deployment
[#​23014](https://redirect.github.com/pulumi/pulumi/pull/23014)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - Monday through Friday ( * * * * 1-5 ) (UTC).
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR has been generated by [Renovate
Bot](https://redirect.github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yNjQuMCIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiLCJpbXBhY3Qvbm8tY2hhbmdlbG9nLXJlcXVpcmVkIl19-->
---------
Co-authored-by: pulumi-renovate[bot] <189166143+pulumi-renovate[bot]@users.noreply.github.com>
Co-authored-by: pulumi-bot <bot@pulumi.com>