This release adds 6 notable features for engineering teams evaluating rollout.
Published 3d
Infrastructure as Code
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
aws
azure
cloud
cloud-computing
containers
c#
+10 more
.net
fsharp
gcp
go
iac
javascript
kubernetes
python
serverless
typescript
Summary
AI summaryBroad release touches Bug Fixes, 3.254.0, Miscellaneous, and https://github.com/pulumi/pulumi/pull/23848.
Full changelog
3.254.0 (2026-07-23)
Features
- [cli] Add
pulumi logs sharecommand for sharing logs with Pulumi #22546 - [cli] Add
pulumi stack migrateto migrate a stack from another backend to the currently logged-in backend, including re-encrypting config secrets and stack state under the target secrets provider #22902 - [cli/config] Add an
--override-envflag toup,preview,destroy, andrefreshto substitute imported environments for a single run without editing the stack config #23562 - [cli] Add
pulumi neo acpto run Neo as an Agent Client Protocol agent over stdio for ACP-capable editors, with read-only and plan mode exposed as session config options #23886 - [cli/neo] Retry transient
pulumi neostream and message-send failures, and addpulumi neo resumewith chat history #23835 - [cli/neo] Make Ctrl+C clear typed text and preserve Ctrl+A/Ctrl+E line navigation in
pulumi neo#23932 - [cli/do] Add
upsertto do, allowing resources to be statefully created or updated in a stack #23813 - [sdk/python] Add
pulumi.runfor natively awaited Python program entrypoints that can return stack outputs #23945 - [cli/do] Allow expressions for number inputs #23954
- [cli/do] Allow expressions for boolean inputs #23967
- [cli/policy] Add
--runtime-optionstopulumi policy new#23992 - [cli/do] Add support for stateful create #23996
- [cli/do] Add support for stateful delete #24000
Bug Fixes
- [sdkgen/go] Fix Go codegen for plain properties nested inside non-plain objects #22524
- [cli/neo] Keep
pulumi neoconnected during quiet periods when the event stream only receives keep-alive heartbeats #23935 - [engine] Validate snippets before persisting them #23920
- [backend] Fix dangling ReplaceWith references in the journal replayer #23927
- [cli/do] Fix the converter plugin not being called if just attributes needed converting #23948
- [programgen/go] Generate compilable Go for programs that use discriminated union members as array/list elements #23980
Improvements
- [cli] Align commands with the CLI naming guidelines, adding
ls,rm,delete,mv,update,modify,createandsetupaliases to list/remove/move/edit/new commands and makingstate removeandpackage removethe canonical names withdeletekept as an alias #23903 - [cli] Suggest closely-matching commands from the whole command tree when an unknown command is entered #23848
- [cli] Print help but exit with a non-zero code when
pulumiis run without a command, matching the behavior of other group commands #23848 - [programgen] Support
onErrorresource hooks in generated Go, NodeJS, and Python programs and in the PCL runtime, retrying the failed operation when the hook command exits successfully #23839 - [protobuf] Add parent and properties fields to ResourceImport so state converters can express resource hierarchy and property filters #23929
- [protobuf] Allow state converters to declare explicit providers as resources in ConvertState responses and attach imported resources to them via the new provider field #23975
- [cli] Redact secrets in property values in logs #23931
- [cli] Make
-v<n> --logflowno longer produce separate log files for plugins #23938 - [protobuf] Pass a schema loader target to state converters in ConvertStateRequest #23944
- [cli/import] Allow explicit providers to be declared in the resources section of an import file and referenced by name #23972
- [cli] Remove the template count from
pulumi new --help, which required a slow template listing before help could display #23973 - [cli/import] Support inputs and outputs on resources in import files, importing supplied state directly and skipping the provider read when outputs are given #23984
Miscellaneous
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Earlier breaking changes
- v3.245.0 Remove "name" from plugin loading functions and require "Type" on Configure & DiffConfig calls in Go SDK.
- v3.245.0 Rename `pulumi stack init` command to `new`.
- v3.238.0 `--format` flag renamed to `--output` on `pulumi api` and subcommands.
- v3.238.0 `pulumi cloud api` renamed to `pulumi api`.
Beta — feedback welcome: [email protected]