Pulumi 3.264.0
3.264.0 (2026-09-23) Features [sdk/python] Add component state migration callbacks to ResourceOptions #24331 [cli/deployment] Allow pulumi deployment settings edit to configure git authentication, dependency caching, template sources and drift remediation #24528 [cli/deployment] Allow pulumi deployment settings edit to configure tag triggers, review stack...
Also shipped Sep 23, 2026Pulumi in September 2026 →
New features and improvements in Copilot for JetBrains
GitHub Copilot for JetBrains 1.18.0 brings AI-assisted tool approvals, more control over agent conversations, and shared skills and instructions for your organization. You can also review plans with the Codex agent and manage MCP tools with persistent controls.
Scalar and Batch Unity Catalog Python UDFs are now generally available
Scalar and Batch Unity Catalog Python UDFs are now generally available on all supported compute types. This release adds named handlers for row-at-a-time scalar UDFs, removes the five-UDF-call-per-query limit, and aligns scalar TIMESTAMP inputs with PySpark behavior.
Build governed data and AI apps without code (Beta)
You can now build governed data and AI apps without code. Genie App Builder authors apps in natural language, App Spaces enforce governance, and Serverless Micro Apps scale to zero when idle. See Governed agentic app building .
Non-deterministic aggregate functions are supported with dynamic table incremental refresh (General availability)
Non-deterministic aggregate functions such as approx count distinct , approx percentile , and approx top k are now supported with dynamic table incremental refresh in INCREMENTAL, AUTO, and ADAPTIVE refresh modes. For incremental refresh, these functions are supported only in the SELECT clause. any value remains unsupported.
More ways to request and configure Copilot code reviews
GitHub Copilot code review now offers additional personal configurations to an expanded set of Copilot plans and an enterprise-level default setting. These improvements are now generally available: A dedicated personal settings page for automatic review and your default review effort An enterprise-wide default review effort setting for organization-owned...
Node 20 is no longer available in GitHub Actions
This is the final notification that Node 20 is no longer available on GitHub Actions runners. Runners now use Node 24 for JavaScript actions. The temporary ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION opt-out is no longer available. If you maintain a JavaScript action, update its runs.using value to node24 and publish a new release as soon as possible.
More from PulumiEvery Pulumi release →
Pulumi 3.265.0
3.265.0 (2026-09-25) Features - [cli/auth] Add pulumi logout --all --delete-credentials-key to delete the key that encrypts stored credentials from the OS credential store #24764 Bug Fixes - [programgen/python] Generate valid Python for output-dependent resource ranges #24474 - [cli/policy] Recover from partial installs & wait for parallel installs #24705 -...
Pulumi 3.266.0
3.266.0 (2026-09-30) Bug Fixes - [sdk/go] Use an explicit provider for resources from an extension package, instead of falling back to a default provider #24702 - [sdk/python] Use an explicit provider for resources from an extension package, instead of falling back to a default provider #24702 - [pcl] Order the members of a union type by a fixed structural...
Pulumi 3.263.0
3.263.0 (2026-09-15) Bug Fixes [cli/deployment] Stop pulumi deployment settings edit overwriting the source of stacks that use a provider other than GitHub, take --path-filter once per filter rather than splitting it on commas, and report an unconfigured stack from get instead of failing #24526 [engine] Fix remote component provider state migrations being...
Pulumi 3.267.0
3.267.0 (2026-10-01) Bug Fixes - [cli/new] Fix concurrent pulumi new runs failing to clone the templates repository #24939 - [sdk/python] Fix pulumi install for Python plugins and policy packs that use the uv toolchain and a [build-system] table #24951
Pulumi 3.262.0
3.262.0 (2026-09-10) Features [engine] Support importing a pulumi:index:Stash resource. The stash adopts the given id and holds a null value, and the program's configured input then applies as an update #24544 Bug Fixes [auto/go] Match wrapped errors in the Automation API error predicates, and unwrap the underlying cause #24197 [cli/deployment] Stop pulumi...
Pulumi 3.268.0
3.268.0 (2026-10-07) Features - [engine] Negotiate OutputValues on Invoke so SDKs can pass dependency-carrying values in args and receive them in the response, and providers can process them, gated by a new accepts_outputs_in_invoke handshake capability #24953 - [auto] Add version to the generated automation APIs for NodeJS, Python and Go #24990 - [auto]...
Pulumi 3.270.0
3.270.0 (2026-10-16) Bug Fixes - [cli/env] Fix pulumi env edit, env set, env rm and env provider overwriting changes made after they read the environment; on a conflict, env edit reopens the editor with your edits and the current definition, and the others fail #24983 - [cli] Report an unknown drift status in pulumi stack drift status when drift detection...
Pulumi 3.271.0
3.271.0 (2026-10-21) Features - [engine] Add an id field to ReadResourceResponse so providers can return a resolved id that differs from the one supplied on the request; SDKs now surface this id via .id and resolve it as unknown when empty during preview #25228 - [cli/policy] Create version 2 of the --policy-pack-config format, nesting policy configs under...