- Fix a bug that caused the Python runtime to ignore unhandled exceptions and erroneously report that a Pulumi program executed successfully.
[3170](https://github.com/pulumi/pulumi/pull/3170)
- Read operations are no longer considered changes for the purposes of `--expect-no-changes`.
[3197](https://github.com/pulumi/pulumi/pull/3197)
- Increase the MaxCallRecvMsgSize for interacting with the gRPC server.
[3201](https://github.com/pulumi/pulumi/pull/3201)
- Do not ask for a passphrase in non-interactive sessions (fix [2758](https://github.com/pulumi/pulumi/issues/2758)).
[3204](https://github.com/pulumi/pulumi/pull/3204)
- Support combining the filestate backend (local or remote storage) with the cloud-backed secrets providers (KMS, etc.).
[3198](https://github.com/pulumi/pulumi/pull/3198)
- Moved `pulumi/pulumi` to target `es2016` instead of `es6`. As `pulumi/pulumi` programs run
inside Nodejs, this should not change anything externally as Nodejs already provides es2016
support. Internally, this makes more APIs available for `pulumi/pulumi` to use in its implementation.
- Fix the --stack option of the `pulumi new` command.
([3131](https://github.com/pulumi/pulumi/pull/3131) fixes [#2880](https://github.com/pulumi/pulumi/issues/2880))