- NodeJS Automation API.
[5347](https://github.com/pulumi/pulumi/pull/5347)
- Improve the accuracy of previews by allowing providers to participate in determining what
the impact of a change will be on output properties. Previously, Pulumi previews
conservatively assumed that any output-only properties changed their values when an update
occurred. For many properties, this was guaranteed to not be the case (because those
properties are immutable, for example), and by suggesting the value might change, this could
lead to the preview suggesting additional transitive updates of even replaces that would not
actually happen during an update. Pulumi now allows the provider to specify the details of
what properties will change during a preview, allowing them to expose more accurate
provider-specific knowledge. This change is less conservative than the previous behavior,
and so in case it causes preview results which are not deemed correct in some case - the
`PULUMI_DISABLE_PROVIDER_PREVIEW` flag can be set to a truthy value (e.g. `1`) to enable the
previous and more conservative behavior for previews.
[5443](https://github.com/pulumi/pulumi/pull/5443).
- Add an import command to the Pulumi CLI. This command can be used to import existing resources
into a Pulumi stack.
[4765](https://github.com/pulumi/pulumi/pull/4765)
- [cli] Remove eternal loop if a configured passphrase is invalid.
[5507](https://github.com/pulumi/pulumi/pull/5507)
- Correctly validate project names during 'pulumi new'
[5504](https://github.com/pulumi/pulumi/pull/5504)
- Fixing gzip compression for alternative backends.
[5484](https://github.com/pulumi/pulumi/pull/5484)
- Add internal scaffolding for using cross-language components from .NET.
[5485](https://github.com/pulumi/pulumi/pull/5485)
- Support self-contained executables as binary option for .NET programs.
[5519](https://github.com/pulumi/pulumi/pull/5519)
- [cli] Ensure old secret provider variables are cleaned up when changing between secret providers
[5545](https://github.com/pulumi/pulumi/pull/5545)
- [cli] Respect logging verbosity as part of pulumi plugin install commands
[5549](https://github.com/pulumi/pulumi/pull/5549)
- [cli] Accept `-f` as a shorthand for `--skip-preview` on `pulumi up`, `pulumi refresh` and `pulumi destroy` operations
[5556](https://github.com/pulumi/pulumi/pull/5556)
- [cli] Validate cloudUrl formats before `pulumi login` and throw an error if incorrect format specified
[5550](https://github.com/pulumi/pulumi/pull/5545)
- [automation api] Add support for passing a private ssh key for git authentication that doesn't rely on a file path
[5557](https://github.com/pulumi/pulumi/pull/5557)
- [cli] Improve user experience when pulumi plugin rm --all finds no plugins
to remove. The previous behaviour was an error and should not be so.
[5547](https://github.com/pulumi/pulumi/pull/5547)
- [sdk/python] Fix ResourceOptions annotations and doc strings.
[5559](https://github.com/pulumi/pulumi/pull/5559)
- [sdk/dotnet] Fix HashSet concurrency issue.
[5563](https://github.com/pulumi/pulumi/pull/5563)