v3.265.0
janhq/janv3.265.0Sep 25, 2026by github-actions[bot]
Upgrading?
AI Summary
Enhances the PCL interpreter with new built-ins like `range` and improves error handling for resource registration, while adding a CLI command to securely delete stored credentials.
Key Highlights
- Add `pulumi logout --all --delete-credentials-key` to delete encryption keys
- Add `range` built-in to the PCL interpreter
- Fix PCL panic on tuple literals and unify collection literals
- Report `Unknown=true` on skipped resources to SDKs
New Features
- Add `pulumi logout --all --delete-credentials-key` to delete the key that encrypts stored credentials
- Add `range` built-in to the PCL interpreter
- Fix PCL type conversion checks and tuple literal panics
- Report `Unknown=true` on ReadResource/Register responses for skipped resources
Full Release Notes
## 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](https://github.com/pulumi/pulumi/pull/24764) ### Bug Fixes - [programgen/python] Generate valid Python for output-dependent resource ranges [#24474](https://github.com/pulumi/pulumi/pull/24474) - [cli/policy] Recover from partial installs & wait for parallel installs [#24705](https://github.com/pulumi/pulumi/pull/24705) - [cli/install] Cancel cross-process waits with Ctrl-C [#24711](https://github.com/pulumi/pulumi/pull/24711) - [engine] Report `Unknown=true` on the `ReadResourceResponse` when a Read is skipped because one of its dependencies failed during a `--continue-on-error` update, so SDKs can propagate unknowns to dependents rather than treating empty outputs as real [#24747](https://github.com/pulumi/pulumi/pull/24747) - [cli/auth] Keep encrypted credentials in other `PULUMI_HOME` directories readable after `pulumi logout --all` or `pulumi login` in one of them [#24764](https://github.com/pulumi/pulumi/pull/24764) - [engine] Report `Unknown=true` on the register response when an Import step is skipped because one of its dependencies failed during a `--continue-on-error` update, so SDKs propagate unknowns to dependents rather than treating empty outputs as real [#24774](https://github.com/pulumi/pulumi/pull/24774) - [sdkgen/nodejs] Fix generated Node.js SDK compilation for self-referencing resource inputs [#24752](https://github.com/pulumi/pulumi/pull/24752) - [pcl] Fix a panic when a PCL program indexes a tuple literal with an index equal to its length [#24755](https://github.com/pulumi/pulumi/pull/24755) - [pcl] Fix a binder panic on nested tuple literals of different shapes, and unify collection literals that hold different constants into one collection type so they can be iterated [#24756](https://github.com/pulumi/pulumi/pull/24756) - [pcl] Fix the `length` built-in in the PCL interpreter to accept objects and maps [#24757](https://github.com/pulumi/pulumi/pull/24757) - [pcl] Add the `range` built-in to the PCL interpreter [#24758](https://github.com/pulumi/pulumi/pull/24758) - [pcl] Type `min` and `max` as number when any argument is a non-integer literal [#24759](https://github.com/pulumi/pulumi/pull/24759) - [pcl] Report an error when a number or bool literal is assigned to a property whose schema constant or enum does not admit it [#24761](https://github.com/pulumi/pulumi/pull/24761) - [pcl] Report a type mismatch on a resource input property that the resource does not also declare as an output [#24765](https://github.com/pulumi/pulumi/pull/24765) - [pcl] Allow a resource to be assigned to a plain property typed as a reference to its resource type [#24763](https://github.com/pulumi/pulumi/pull/24763) - [pcl] Type a quoted string with no interpolation as a constant so string constants and string enums are validated at bind time [#24766](https://github.com/pulumi/pulumi/pull/24766) - [programgen] Fix `length` on output values in generated programs, and count the keys of maps and objects in generated Node.js programs [#24757](https://github.com/pulumi/pulumi/pull/24757) - [sdk/go] Fix policy analyzer config schema serialization for Go analyzers [#24775](https://github.com/pulumi/pulumi/pull/24775) - [programgen] Fill the lists that `range` produces in Node.js programs [#24758](https://github.com/pulumi/pulumi/pull/24758) - [pcl] Fix PCL type conversion checks whose result depended on whether the same types had been unified first [#24793](https://github.com/pulumi/pulumi/pull/24793) - [sdk/nodejs] Fix closure serialization for `__importStar`-wrapped cached modules [#24797](https://github.com/pulumi/pulumi/pull/24797) ### Improvements - [pcl] Name the constant or the enum members a resource property admits when a literal does not match it [#24770](https://github.com/pulumi/pulumi/pull/24770) - [cli/install] Authenticode-sign the Windows CLI and language host binaries [#24785](https://github.com/pulumi/pulumi/pull/24785)
Related Repositories
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one