Last 7 days
2
Features: 0
Changes: 0
Fixes: 2
Deprecations: 0
Infrastructure-as-code platform using general-purpose programming languages.
Latest Pulumi changelog updates, official release notes, breaking changes, security patches, pricing changes, and developer reactions in one product feed.
Follow this Pulumi release-notes page to spot useful features, risky migrations, noisy announcements, and source links before they hit your backlog.
Changes.Watch links back to official changelog and release-note sources so summaries stay easy to verify.
Use channels to follow groups of tools around a stack, workflow, or topic.
Rolling windows show how many product updates landed in the last 7, 30, 90, and 365 days, grouped by existing changelog semantics.
2
5
16
70
Added CLI enhancements: single confirmation prompt for `pulumi new`, new `PULUMI_DEFAULT_ORGANIZATION` env var, and clearer messages for stack creation, login failures, and policy group listing.
Added optional OS‑protected encryption for stored credentials and new interactive prompts for cloud provider/language in `pulumi new`.
CLI adds first‑project creation after login, auto‑assigns identifiers in "pulumi do", supports stateful resource patching, introduces "pulumi state get", and falls back to an auto‑created project/stack when run outside a Pulumi project.
Add ignore‑protect flag for pulumi up/preview/destroy and new export‑env and server flags for CLI commands; improve invoke dependency handling across SDKs to defer outputs and resolve pending resources
Added several CLI features: an --extension flag for package commands, environment variables for project file paths, a stack history summary flag, and DO inputs can reference existing resources in state.
Added numerous new CLI capabilities, including logs sharing, stack migration with secret re‑encryption, environment overrides, Neo ACP agent, upsert and stateful create/delete operations, expression support for numbers/booleans, and poli...
Added import pending creates support for preview and refresh operations in the Go Automation API.
Add auto-imports for generated automation APIs (NodeJS, Python, Go) and introduce a production runtime flag for Node.js projects to skip devDependencies.
Remove Pulumi.<stack>.deploy.yaml and related experimental deployment settings commands, shifting management to Pulumi Cloud APIs
Fix recursive property log marshaling in the CLI/engine
Add a `--skip-config-validation` flag to preview, up, refresh, and destroy commands to bypass stack config schema validation
Fixed CLI panic when fetching schema for uninstalled plugins and corrected code generation issues in Python/NodeJS programs.
Added numerous CLI enhancements: raw flag for config, provider flag, disable‑integrations flag, canonical list/remove commands, and auto‑refresh of OAuth tokens on 401 errors.
Add new CLI commands `pulumi logs ls` and `pulumi logs rm` and extend JSON output to include affected resource details for preview, up, destroy, and refresh operations
Updated backend dependencies to gocloud.dev 0.46 and AWS SDK v2.
Fixed top‑level CLI flags (e.g., logtostderr) for `pulumi do` and corrected plugin package selection during install.
Add numerous CLI enhancements: minimal project file generation, claimable temporary accounts, Neo UI improvements, resource support in `pulumi do`, markdown-preferred API output, and alias `pulumi new` to `pulumi project new`.
Added numerous new Pulumi CLI commands, including npx package support, org member edit/remove, deployment get, insights scan get/list, dedicated deployment flags, pulumi do starter, and non‑interactive prompt printing for pulumi neo.
Added JSON output flags to pulumi preview, refresh, and destroy for structured result summaries.
Added JSON output for pulumi import and new CLI commands for stack info, webhook get/ping, and deployment listing.
Add a `--language` flag to `pulumi package add` for running outside a project, and introduce JSON output for `pulumi up` to provide structured results.
CLI now includes the running command name and detected AI agent in the User-Agent header for Pulumi Cloud API calls and auto-fills language/OS query parameters when OpenAPI specs declare them.
Release version 3.236.0 published on 2026-05-06.
Added new CLI capabilities: `pulumi logs decrypt`, bundled HCL language host with auto‑install for `pulumi convert`, read blocks in PCL, and a generic `pulumi cloud api` command with pagination support.
Added `pulumi cloud api describe` to inspect API operation parameters, request body, and response schema with text, markdown, and JSON output.
Expose the auto‑generated Pulumi CLI as a workspace.cli API and add encrypted logging toggled by PULUMI_ENABLE_AUTOMATIC_LOGGING.
Added an experimental Pulumi Neo CLI with an interactive terminal UI, user approval handling, a plan‑mode toggle, improved spinner logic, and local execution of the edit‑filesystem tool.
CLI now auto‑detects Mercurial repositories for pulumi up/preview, mirroring existing Git support.
Added AI-agent detection in CLI updates, new org and new commands to the auto‑generated Node.js interface, and ESC environment resolution for policy packs
Added org get/default commands to Automation API across multiple SDKs and introduced new CLI flags (urns, TRACEPARENT) plus a policy analyze command.
Added GRPC and OpenTelemetry enhancements, including grpcs:// support with header authentication for OTLP exporter, new interceptors, root span metadata, and configurable GRPC endpoint for performance tests.
Engine now auto‑populates Name/Type for ResourceReference and fixes snapshot integrity; CLI adds distinct exit codes, clearer SAML SSO reauth errors, and auto‑installs missing policy analyzer plugins.
Added automatic snapshot integrity repair with backend error reporting
Fixed inheritance of default providers across resources from different packages.
Engine enhancements: auto‑mark invoke outputs as secrets when inputs are secret and provider lacks secret support, inherit provider option in resource registrations, and enable journaling by default (disable via env var).
Added zstd compression for DIY backend state files, automatic secret handling for invoke outputs, and source‑based package support in Pulumi schema checks.
Fixed engine bug that prevented proper reporting of policy pack installation errors (issue #21882).
Add Generate Call request support to programgen/go.
Added Go 1.26 support, reduced GitHub API calls for plugin downloads, and introduced several Node.js schema inference enhancements (enums, Partial<T>, Required<T>).
Added CLI and engine features: environment variable display on snapshot integrity errors, default Pulumi Cloud Registry for package resolution, and EnvVarMappings to remap provider env vars.
Added CLI options to set requiredPulumiVersion in Pulumi.yaml, use private packages as local dependencies, introduced `pulumi policy install` command, and parallelized analyzer and policy pack downloads.
Add OnError resource hook support to the Node.js SDK.
Added OnError resource hook support to the Go SDK
Added OIDC JWT claim extraction for org/team/user in CLI login and new SDK version‑requirement helpers (requirePulumiVersion/CheckPulumiVersion) for Node, Python, and Go.
Added OIDC‑based default login to Pulumi Cloud and introduced a new CheckPulumiVersion RPC in the engine
Added support for plugins to declare a compatible CLI version range.
cli/package: `pulumi package add` now preserves original behavior when used with a local provider
Added config and config‑path options to destroy/refresh CLI commands; introduced OutputStyleOnly flag in SDK generation and replacement‑trigger support in Python SDK
Fixed generation of three-level nested builtin output types in the Go SDK.
Update Pulumi YAML provider to version 1.26.1
DIY backends now support full stack‑tag CRUD, system tag injection, filtering, and atomic operations with versioned .pulumi tags files.
Added new CLI commands (pulumi package delete, improved schema output, toolchain info), updated Java SDK to v1.18, made Node local components use package.json version, and required grpcio 1.75.1 for Python 3.14.
CLI adds native OIDC token exchange for Pulumi Cloud login, enhancing authentication workflow.
Expose all CLI command flags as environment variables and make Pulumi install recurse into local packages
Added gRPC request logging, a ReplaceWith resource option, and full PEP440 version specifier support.
Add preview flag, PULUMI env vars in `pulumi about`, refresh env var, and gRPC event log retrieval for Go, Node.js, and Python auto SDKs.
Improve severity display for policy violations in CLI output
Added CLI diff output for blocked resource replacements, support for overriding policy severity on violations, and backend journal entry forwarding when supported.
Added CLI features: display policy severity for violations and show functions in package info.
Add SetAllConfigJson method and JSON input support for pulumi config, plus error summary for resource changes
Add support for non-object return types in Go SDK generation.
CLI now looks for .cmd and .ps1 extensions on Windows when locating executables
Added environment variable overrides for template repository settings and new `pulumi about` environment information.
Added new features: expanded snapshot integrity checks, Go policy SDK now receives a Pulumi Context, and Python SDK can retrieve registered resources from the mock monitor for testing.
Added ability for CLI to include new policy fields when publishing a policy pack and updated .NET SDK to v3.88.
Add policy summary events and new policy fields to SDK APIs
Add support for capturing program stack traces during resource registration (engine).
CLI now logs diagnostics to stderr, defaults to non‑full output, and Go SDK prints a compilation notice.
CLI now displays "Private Registry" instead of cloud or Pulumi registry and fixes double newline and Windows cobra error coloring in output.
Add pulumi state taint/untaint commands and a previewDestroy option for dry‑run destroy in the CLI and Node.js SDK.
Added documentation for the PULUMI_ENABLE_STREAMING_JSON_PREVIEW environment variable in the CLI.
Engine now silently skips ignoreChanges for missing prior data, avoiding errors
Removed CacheMS from CLIVersionResponse and added on‑demand calculation of PluginInfo.Size in SDKs.
Added `--remove-backups` flag to `pulumi stack rm` for DIY backends.
Added new CLI capabilities: support for v4 checkpoints/deployments, qualified registry template names in pulumi new, and always‑generate resources on import.
Add engine shutdown cancel messages and pass stack tags to policy plugins; yaml now supports object config type.
CLI: Added support for using `pulumi package add` with registry identifiers.
Added support for setting resource hooks in transforms for the Go and Node.js SDKs.
CLI now supports reading v4 checkpoints/deployments and lets transforms set resource hooks, with corresponding protobuf hook additions.
Added ResourceHooks support across the engine and Go, Node.js, and Python SDKs, plus automation API enhancements.
Added previewRefresh and preview destroy across auto SDKs for dry‑run refresh/destroy commands.
Added ability for providers to request default refresh from partial failures in protobuf support.
Added default support for views in the YAML SDK.
Engine now enables view support by default, adds PostgreSQL as a new backend, and introduces an experimental policy‑as‑code SDK for Go
Updated refresh run to utilize the new resource goal for programs with aliases.
Add PolicyPacks preview/up options and overhaul import handling so resources can be imported and updated in a single deployment.
Reverted the recent breaking change to the WithMocks function in the Go SDK.
Added provider protocol refresh request support and SDK scalar call return handling
Added numerous CLI and SDK enhancements: “pulumi esc” alias, debugging support for source‑based plugins, dependency installation inside plugin folders, and new explain/preview error summarization.
Engine defers policy pack installation to language hosts and separates analyzer handshake into distinct phases.
Added run program support for preview and up with refresh, language runtime boot for policy packs, MainContext for provider cancellation, and config file option for Automation API in NodeJS and Python.
CLI now treats unresolved references as validation errors with an optional flag to allow dangling references.
Added onError callback for capturing incremental stderr output in Node.js automation API
Added handshake support for analyzer plugins and new exclude/exclude-dependent options to the Automation API for Go and Python
Added PULUMI_RUN_PROGRAM environment variable and run program support in the automation API for destroy/refresh, plus remote executor image configuration for NodeJS.
CLI diffs now display "unknown" instead of Output<T> and package add saves the source path in Pulumi.yaml.
Reintroduces the @pulumi/pulumi/queryable module to the Node.js SDK.
Added new Go SDK features: property.Path functions and immutable property.Value.
Added run‑program support to `pulumi destroy` and improved the usability of `pulumi watch`.
Added preview‑only destroy option to NodeJS and Python Automation APIs and allowed pulumi new to use templates from Pulumi Cloud.
Added new SDK capabilities: array-based provider alias definitions, pulumiResourceName/type helpers, tryOutput for NodeJS, and support for installing package SDKs via `pulumi install`.
Engine enhancements: child resources can override `protect` back to false and a new `PULUMI_PARALLEL_DIFF` env var enables parallel diff calculations.
Fixed child resource protect flag override issue in the Go SDK.
Added batch encryption for snapshot serialization to boost performance with many secrets.
Added PULUMI_PARALLEL and PULUMI_STACK environment variables for controlling parallelism and stack selection via CLI.
Fixed concurrent map write panics in the caching mapper (programgen)
Updated Pulumi .NET SDK to v3.75.2 and added a preview‑only mode to the Python Automation API refresh command.
Fix handling of nested secret entries in configuration files
Introduced an experimental component system in the Node.js and Python SDKs, adding component discovery, schema inference, and handling of inputs/outputs and assets.
Added an "all" option to the state delete CLI and new Python SDK component capabilities for required input validation and plain type inference.
Update Pulumi Java to 1.2.0 and add extensive experimental component resource features to the Python SDK, including infrastructure bootstrapping, property analysis, and complex type inference for arrays and dicts
Added several CLI enhancements: type flag for config set, auto‑select latest git plugin version, support for git plugins in sub‑directories, and improved repository disambiguation docs.
Added support for remote git plugin sources, short hash version specs, and updated Go module to require Go 1.22.
Added multiple CLI and SDK features: version flag for `pulumi convert`, non‑experimental autonaming config, Git metadata capture, call intrinsic in PCL, color options for automation commands, support for parameterized packages/providers ...
Add clear‑pending‑creates support for refresh in the Go Automation API, enable automatic Terraform provider bridging in Pulumi Convert, and introduce deferred output handling in the Go SDK.
Reverts change 18041 in the Node.js SDK
Added new engine warning for outdated parameterized packages and expanded automation Go SDK with ConfigFile ops and GetAllConfigWithOptions.
Introduced experimental autonaming config, integrity‑panic state repair suggestions, and PULUMI_DEBUG_LANGUAGES for easier language debugging.
Reduced CLI binary size by stripping debug information; added OutputWithDependencies to Go SDK and upgraded Java SDK to 0.18.0.
Add SDK enhancements: updated .NET to 3.69.0, YAML to 1.12.0, and introduced dependency specification and deferred output for Node.js and Python invokes
Reject schemas with duplicate paths across resources and functions.
Added parallel documentation generation and support for mutually dependent components in PCL, plus new invoke options and configuration access in Node.js and Python dynamic providers.
Added new features: keep computers awake during updates, interactive account selection for pulumi login, stack colorization in listings, snapshot integrity metadata, package descriptor blocks in PCL, and Node.js 23 support.
Added background memory profiling, enhanced error messages for provider construct failures, and added Python 3.13 support
Updated the minimum required SDK version to v3.136.0 for Node.js and Python SDKs.
Added ability to cancel CLI operations via SIGTERM and introduced a new state repair command.
Added clearer error messages for provider construct failures in the Node.js SDK.
Add support for sending secret manager state when creating stacks and improve Poetry handling by searching upward for pyproject.toml
Engine now allows providers to return construct errors and formats them nicely
Engine now logs generated/matched aliases and retries token refresh errors; CLI adds unchanged resource count display and fallback to snapshot secret managers via env var.
Added debugger attachment flags to the CLI (preview/up) and a StartDebuggingEvent to the automation API, plus debugpy for Python, enhancing debugging capabilities.
Added full delete command set for source stack failures, revert-on-failure for destination stack, and ESC Projects support; engine now sends resource names/types in provider requests.
Added new engine event logging, a NewCachedLoader for schema caching, LocalWorkspace.install methods for Node.js and Python, and updated yaml to v1.10.
Added multiple features such as panic banners for snapshot errors, Python version setup via pyenv, and runner pool selection in remote automation API.
Added pulumi package add CLI command and extensive parameterization support across .NET, Node.js, Python, Go, and YAML SDKs
Added workspace install command, destroy‑preview mode, env‑var override for plugin download URLs, secret capture for Python dynamic providers, and updated Go SDK generation to use pulumi.Sprintf and handle nested plain input types.
Added batch import functions (Stack.ImportResources / Stack.import) for Go, Node.js, and Python automation APIs.
Added new conversion capabilities: DeletedWith support and project name specification in `pulumi convert`, plus Python SDK now supports invoke stack transforms.
Added invoke stack transform support to Go and NodeJS SDKs and enabled destroy‑remove in Automation API SDKs for Go, NodeJS, and Python.
Introduce a 'state move' CLI command for moving resources across stacks/projects.
- Added new features: language overlay constraints, import reference guessing for name/arn, and dependsOn option in NodeJS InvokeOptions.
Added new CLI env var PULUMI_CONTINUE_ON_ERROR, parallelized Construct/Call in Node.js SDK, and support for exclude_protected in Python automation SDK destroy.
Added support for pulumi install with policy packs, runtime options in pulumi new, and pnpm workspace detection; improved SDKs with Go attribute suggestions, Python auto‑conversion to pyproject.toml, NodeJS stack removal options, and Typ...
Upgrade .NET to 3.64.0, Node.js to 22.x, and add full Poetry support for Python toolchains and dependency auto‑install.
Updated CLI with esc v0.9.1 and added full stack‑ls parameter support to the Automation API for Go, Node.js, and Python.
Added stable stack transforms and enhanced SDK plugin interfaces, including mandatory forward‑compatibility policies and a new Go importPathPattern option.
Added engine logic to infer ID references for dependent resources during import code generation.
Increase default displayed supporting types in resource docs from 200 to 1000
Fix data races in snapshot/deployment engine and a race condition in Python output handling
Fixed a deadlock in CLI display handling
Fix concurrent reads/writes to display resource timer maps in the backend
Add import file option for preview in Automation API and make transforms a stable, non‑experimental feature
Add continue‑on‑error support to the Automation API and a new flag for `pulumi up`
Add plugin kind to the CLI about output
Elide state file writes for unchanged component outputs in the backend.
Add support for inheritSettings to Go, Node.js, and Python automation APIs
Node.js SDK makes TypeScript and ts-node optional peer dependencies with fallback to bundled versions; tsc binary removed from node_modules/.bin.
Added constructor syntax examples for TypeScript, Python, C#, Go, and YAML in docs, plus a continue‑on‑error flag for `pulumi destroy` and engine output values with dependency info.
Fixed extra newlines being output during CLI/display updates.
Added support for remote deployment executor image in auto/go.
Added "pulumi dn" as an alias for "pulumi destroy" and updated YAML support to v1.6.0.
Added new Automation API parameters (suppress progress/outputs) and expanded SDK features: async invokes in Python, experimental NodeJS transforms, .NET host update to 3.60.0, non‑overlay component codegen for Kubernetes, and plugin load...
Moved @types/glob to dev dependencies in the Node.js SDK, correcting dependency handling.
Added immediate exit from state edit when unchanged, docs processing via PulumiCodeChooser markers, Vim‑style shortcuts in live tree view, and experimental Go SDK support for new transforms system.
Introduced new CLI, automation, engine, testing, and SDK features including an open flag for pulumi config, refresh preview support, remote transforms, dev SDK installation, JSON output serialization, and workspace detection with pnpm su...
Component providers can now return output values to the engine (including proper handling in Go) and emit missing trivia for resources and local variables.
Added preview‑only flags for `pulumi refresh`, `destroy`, and `import`, and extended Go automation API to support refresh on Stack.Up, Stack.Preview, and Stack.Destroy.
Upgrade gocloud.dev dependency
Reverted the recent gocloud.dev upgrade
Added ability to set PULUMI_SKIP_CHECKPOINTS without the experimental flag and introduced Automation API methods to install the Pulumi CLI for Go and Python, plus async inline programs support in Python.
Add @types/semver as a dependency in the Node.js SDK to resolve type issues
Added support for import plugins to define components and logical names, introduced a new Automation API to install the Pulumi CLI, and added Python 3.12 support in the SDK
Added WithValue to pulumi.Context in the Go SDK.
Reverted the gocloud.dev upgrade in the backend/filestate component.
Added CLI flag to inject custom DOT fragments for graph styling.
Added ListEnvironments support to Go, Node.js and Python Automation APIs and enabled object keys as template expressions in .NET and Python program generation.
Added new CLI features: pulumi config env ls command, AI support in pulumi new, and an env var for output string conversion errors.
CLI import now distinguishes logical names from source names.
Added ChangeSecretsProvider and environment management (add/remove) functions to workspace and stack APIs across Go, Node.js, and Python Automation SDKs.
CLI now uses the yaml converter plugin instead of the built‑in yaml conversion logic.
Fix Node.js SDK by adding missing @types/google-protobuf dependency.
Added import file generation to `pulumi preview` and TypeScript definitions for gRPC/protobuf in the Node.js SDK.
Add CLI config commands to include ESC values, manage stack environments, and create ESC environments from stack config
Import files generated by converter plugins now omit empty optional fields
CLI now shows a loading display for policy packs
Import improvements: create empty component resources as parents, import parent and child resources in the same deployment, and remove parent URN requirement in import files
Added provider‑side caching for dynamic provider deserialization in the Python SDK.
Adds shallow repository clone support in automation API and ESC file projection in CLI.
Corrected misleading JSON output for `stack ls` in the CLI display.
Add new `pulumi install` CLI command to install packages and plugins for a project.
CLI: Prevent crashes when config values are empty.
Add support for a path option in config operations and allow converters to return diagnostics from ConvertState.
Engine now sends old inputs to provider Delete functions, preserving previous outputs.
Allow unmarshalling nil config values in CLI
Added policy remediations feature to the engine
Add PULUMI_DISABLE_AUTOMATIC_PLUGIN_ACQUISITION env var to optionally turn off auto-install of missing plugins.
Add token info to `pulumi about` and `pulumi whoami` output.
Engine provider mapping lookups optimized and now support multiple mappings.
Program conversion plugins now accept extra arguments passed from convert
Added support for Pulumi test language to test language runtimes against a standard suite of tests.
CLI improvements: added org search for individual accounts and enhanced state edit to support multi-part EDITOR environment variables.
Added `pulumi org search` and `pulumi org search ai` commands for resource lookup with query syntax and AI assistance, including customizable output formats and web view.
Added CLI enhancements: pass args from import to state converters and removed the PULUMI_DEV flag for org search.
Added sdk/go/pulumix package with type‑safe generics, made built‑in Pulumi Go types satisfy pulumix.Input[T], and updated SDK generators to support these APIs.
Added support for runtime plugins to return checksums via GetRequiredPlugins and allowed SDK generation to override the internal/utilities module name.
Update Pulumi YAML to 1.2.1 and pass Loader gRPC target to converter plugins.
Added new experimental `pack sdk` CLI command, updated Pulumi YAML to v1.2.0, and introduced output versioned invokes for functions without inputs in .NET and Node.js SDKs.
Revert warning in CLI regarding ambient plugins loaded from $PATH.
Added support for SSH‑style Git URLs in `pulumi new` and enhanced warnings for undefined values and ambient plugins
- Fixed engine bugs: target dependents no longer mis‑target all resources with default providers and panic avoided when constructing remote components with unknown provider values during preview.
Introduced an experimental `pulumi state edit` CLI tool, added resource source position reporting, support for explicit providers in packaged components, improved static typing of config variables, and allowed non‑strict binding of unsup...
Added support for generating code for unknown invokes (Terraform data sources) in non‑strict mode across .NET, Go, Node.js, and Python program generators.
Enhanced CLI with clearer stack validation errors, interactive upgrade prompts, and URN selection for state commands.
Added support for traversing unknown properties from resources when skipping type checking.
Fixed panic in CLI state caused by an invalid stack when a parent resource is renamed.
Reverted go.cloud update to fix Azure object store integration issues.
CLI now only warns about outdated version once per day and destroy command consistently sets the encrypted key
Add Pulumi CLI support for converting Terraform configs and clearer conversion error messages
CLI: 'convert' now lenient by default with optional strict mode; project description escaping fixed; language plugins respect PULUMI_IGNORE_AMBIENT_PLUGINS.
Introduced new CLI and engine capabilities: config path option, allocation profiling with memprofilerate, auto‑install of plugins for convert/import, lazy loading of provider plugins, and pyproject.toml generation for Python providers.
Improved backend service memory consumption and lowered CPU time for snapshot patching.
Added support for module resources in the Go program generator (programgen/go).
Add support in the Node.js SDK to load package.json from parent directories, honoring the npm "main" field.
Added diagnostics output to CLI convert command and support for output‑typed range expressions in Node.js and Python program generation.
Revert backend/filestate change that caused mismatched project name errors.
Added new resource options (excludeProtected, refresh) and expanded Go SDK support with vendored dependencies and additional component options (AdditionalSecretOutputs, Timeouts, etc.).
CLI shows an indicator and warning for resources being deleted or replaced when retainOnDelete is set.
Fixed config set all not saving secret provider and prevented panic when diffing empty archives.
Released v3.62.0 on 2023-04-06.
Added Python program generation support for PCL components.
Add project‑scoped stack support to the file‑state backend with automatic enablement and an environment‑variable opt‑out.
Default Python codegen now uses version 3.7 when unspecified and Go auto SDK gains a configurable path option for config operations.
Add state schema timestamps (Created/Modified) in RFC3339; inherit DeletedWith ResourceOption across SDKs; support object‑typed config variables for components.
Made SDK default logger thread‑safe
Added program generation enhancements: WriteSource outputs full source tree, description comments/docstrings for config variables, and component resources with nested components.
Added WhoAmIDetails (user, URL, orgs) to Go, NodeJS, and Python Automation APIs and a JSON output flag for the pulumi whoami CLI command.
Fix CLI/plugin sending empty authentication tokens to GitHub API
Added autoscroll and page‑up/page‑down support to the interactive CLI display, introduced retainOnDelete options across language SDKs, and enabled programmatic stack tagging for Go and Python.
Added colorized stack traces for Node.js CLI and GitLab URL schema support for plugin downloads.
Added StackReference.getOutputDetails (and GetOutputDetails) across Go, Node.js, and Python SDKs for retrieving raw output values
Added new CLI flags: `--shell` for `pulumi stack output` and `--insecure` for `pulumi login` to bypass TLS verification
Reverted recent Go Cloud upgrade in the engine.
Added programmatic stack tagging for Node.js automation, coerced ApplyT output types in Go SDK, and introduced optional generic types for dynamic ResourceProvider in Node.js SDK.
Fix launching non-Go plugins on Windows (engine)
Go SDK can now detect if a program runs with a mock monitor; Node.js SDK adds custom naming for dynamic provider resources; simplified invoke support added for .NET and Node.js SDK generation.
Added JSONUnmarshal to the Go SDK and JSON loads support to the Python SDK.
Add jsonParse output to the Node.js SDK using JSON.parse.
Fixed SDK installation error on Python 3.11 by bumping the grpcio dependency.
Fix flickering in the interactive CLI display
Added SkipInstallDependencies option for remote workspaces and new CLI flags (node label as resource name, destroy‑remove deletes stack config, rotation of cloud secret encryption key).
Added new SDK methods for casting pointers to Pulumi Ptr types and introduced InvokeSingle variants for .NET and Node.js; updated Pulumi YAML to v1.0.4, enabling future Docker image support.
Fixed CLI to suppress the update plan message when output is JSON.
Add a CLI prompt to enable experimental update plans
- Fixed SDK bug where stack selection fallback failed in createOrSelect
Added CLI debug tracing for Pulumi gRPC internals and made the interactive display treetable scrollable.
Added logical name support for config vars across language SDKs, made LocalSerializer public in .NET SDK, and upgraded Pulumi YAML to v1.0.0 with external config runtime support.
Added remote operation support to auto/providers for .NET, Go, NodeJS, and Python
Added a `--target-dependents` flag to the `pulumi state delete` CLI command.
Add CLI support for globbing resources that don't yet exist
Fixed an invalid cast in analyzer plugins, preventing runtime crashes.
Added InstallPluginFromServer method for Go, Node.js, and Python auto‑providers.
Reverted change 10738 to fix Python class generation in sdkgen.
Added parallel program support to the NodeJS Automation API and introduced a diff‑based snapshot saving protocol (opt‑in via env var) to reduce bandwidth.
Fixed cloning of templates from Azure DevOps repositories in the CLI.
Added CLI auth for Azure Blob storage and new SDK functions (UnsafeAwaitOutput, Provider.invoke, Output.format)
Add CLI ability to override the cloud secrets provider URL via an environment variable and enable Azure DevOps templates for `pulumi new`.
Add experimental PULUMI_SKIP_CHECKPOINTS flag to skip intermediate state checkpoints, improving deployment speed but introducing recovery risk if a crash occurs.
Engine now auto-installs missing plugins during resolution
Added token authentication support for Go providers that use Git.
Improved Python SDK error message when the main program cannot be found
Go SDK now logs a single error message when a program fails
Added lazy loading for Node.js modules, gzip compression for backend HTTPS payloads, and display outputs last in diff view.
Updated Pulumi YAML to v0.5.5 and introduced a new built‑in watch program using watchexec for faster, recursive file watching
Added logging/tracing options for Automation API across SDKs and enhanced CLI "about" to query language plugins.
Fixed .NET SDK serialization for non‑generic list types
CLI now groups Pulumi help commands by category
Engine now always encrypts secret return values in Invoke, introducing a breaking change and enhancing security.
Improved CLI experience: early preview output display, added Last Status column to stack list, allow destroy outside a project, and truncate long stack outputs.
Added first‑class GitHub URL schema for plugin download URLs
Added PreviewDigest to the Go SDK, enabling third‑party tools to ingest preview JSON.
CLI now warns when a resource option is applied to a Component resource that will have no effect, extending prior ignoreChanges warnings.
Extend automation API with policy pack configuration options and add support for alias objects, allowing SDKs to send aliases instead of URNs.
CLI now responds to SIGINT during plugin installation, fixes panic in `pulumi destroy` without config, and reverts to statically linked binaries on Windows/Linux;
Added new codegen and SDK features, including improved Go traversal handling, a CompositeInvoke function for Go, and full credentials support for GCP KMS URIs.
Added gzip compression support for the filestate backend and a logout confirmation message in the CLI.
Added stack display to `pulumi about` and enabled AWS SDK v2 profile support for the awskms secrets provider.
v3.33.0 was superseded by v3.33.1 during the release process; no changes were shipped in this version.
CLI plugins now auto‑lookup the latest version when no version is specified.
Added Pulumi Java support
.NET engine no longer round‑trips requests for the stack URN, improving request handling.
Added save plan and plan options to the automation API, introduced a composite resource option, and expanded codegen to support all Asset and Archive types.
Split CLI invoke request protobufs to separate monitor and provider arguments
CLI now delegates language‑specific dependency installation to language plugins and adds warnings for pending operations and misuse of additionalSecretOutputs.
Optimize alias handling by storing only the existing resource's alias in the state when aliasing to a different URN.
Added pulumi stack unselect, private GitHub release plugin download using GITHUB_TOKEN, and performance/UX improvements for stack commands
Fixed CLI `new` command error handling when the default project name is already taken
Added `pulumi state rename` command and plugin install now auto‑detects latest GitHub release versions.
Fixed Node fs.rmdir deprecation warnings for Node 15+ in the Node.js SDK.
Added configurable code generation via GenerateProgramWithOpts, RetainOnDelete resource option, and support for downloading plugins from private GitHub releases.
Added Go codegen optional type conversions and new SDK helper functions (StringRef, BoolRef, IntRef, Float64Ref); Go now respects import aliases and external type references across languages.
Removed sequence numbers from the dynamic provider interfaces in the Node.js and Python SDKs.
Removed sequence numbers from dynamic provider interfaces in Node.js and Python SDKs.
Added C extension rootNamespace and schema‑driven .csproj metadata; CLI now downloads provider plugins from GitHub releases, supports custom plugin URLs, and can disable default providers via config.
Added PluginDownloadURL resource option to .NET SDK, baked into generated Resource and Invoke calls