changelog/v3.238.0.md
[cli] Add a --language flag to pulumi package add to run outside a Pulumi project or plugin
#22791
[cli] Add --output json to pulumi up for a structured JSON summary of the operation result
#22870
[cli] Recommend pulumi cloud api describe in pulumi cloud api --help to verify operation parameters before calling
#22881
[cli] Add pulumi stack webhook list to list all webhooks configured for a stack
#23082
[cli/cloud] Rename pulumi cloud api to pulumi api
#22970
[cli/cloud] Add pulumi insights resource get to look up a single resource discovered by Pulumi Insights
#23077
[cli/cloud] Add pulumi template list to list registry-backed templates
#23074
[cli/cloud] Rename the --format flag to --output on pulumi api and its subcommands
#23072
[cli/cloud] Add pulumi insights resource search to search for resources discovered by Pulumi Insights
#23087
[cli/engine] Add --skip-plugin-pre-install to skip up-front plugin installation
[engine] Fail the deployment when an after hook fails #22935
[cli/neo] Render the agent's TODO list in the pulumi neo TUI
#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
[cli/package] When invoked by an AI coding agent, print pulumi api pointers after pulumi package add and pulumi package gen-sdk
#22904
[pkg/testing] Recognize the hcl and pcl runtimes in integration.ProgramTest
#23018
[pkg/testing] Add l1-config-types-optional conformance test for PCL's optional type constructor
#23108
[backend/diy] Minify JSON persisted by the DIY backend for checkpoints, history, and stack tags #22245
[cli/import] Ignore property values that do not conform to the schema in maps #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
[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
[cli/neo] Retry pulumi neo task creation without the attached stack when the backend rejects it with an "invalid entities" error
#22945
[cli/neo] Surface the failure reason when a filesystem tool call fails, instead of returning an empty result to the agent
#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
[programgen/pcl] Stop reporting spurious circular references when an ignoreChanges, hideDiffs, replaceOnChanges, or additionalSecretOutputs entry shares a name with a top-level node
#22931
[sdk/python] Speed up python program resolution by using a set instead of deque to track outputs #22946