Skip to content

Update dependency @pulumi/pulumi to v3.106.0

Renovatebot (ydkn) requested to merge renovate/pulumi-pulumi-3.x-lockfile into main

This MR contains the following updates:

Package Type Update Change
@pulumi/pulumi (source) dependencies minor 3.18.1 -> 3.106.0

Release Notes

pulumi/pulumi (@​pulumi/pulumi)

v3.106.0

Features
  • [components] Component providers can return output values in their response to the engine. #​15408

  • [programgen/{dotnet,go,nodejs,python}] Emit missing trivia for resources and local variables #​15419

  • [sdk/{nodejs,python}] Publish dev versions of the nodejs and python SDKs #​15299

Bug Fixes
  • [cli] Fix pulumi destroy to fill in stack config with the secret config from state, not fresh secret config. #​15432

  • [engine] Engine no longer assumes program dependencies are specified as semantic versions. #​15409

  • [components/go] Component providers now correctly return output values to the engine. #​15405

Miscellaneous
  • [protobuf] Split CallRequest into ResourceCallRequest for the ResourceMonitor service. #​15404

  • [backend/diy] Add a warning that non-project mode will be deprecated at some point. #​15411

v3.105.0

Features
  • [auto/go] Adds support for --refresh to Stack.Up(), Stack.Preview() and Stack.Destroy() via go automation api #​15350

  • [cli] Adds a preview-only flag to pulumi refresh. #​15330

  • [cli] Adds preview-only flag for pulumi destroy and pulumi import #​15336

  • [engine] Translate all Computed and Secret values to OutputValues for Construct and Call methods. #​15362

  • [cli/display] Add --suppress-progress option to not print dots #​14690

  • [sdk/go] Add UpgradeToOutputValues to MarshalOptions. #​15349

  • [cli/plugin] Add experimental plugin run command for running plugin binaries directly. #​12613

  • [sdkgen/python] Update the default minimum required version of Python to 3.8 or greater for generated provider SDKs. #​15368

Bug Fixes
  • [backend/diy] Fix an issue where state stored on a mounted device would result in errors #​15375

  • [cli/state] Fix a panic when trying to delete a provider from the state that's still referenced. #​15322

  • [cli/state] Fix a nil reference panic in the state edit command. #​15354

Miscellaneous
  • [docs] Add kubernetes as a supported pulumi convert language #​15359

  • [sdk/python] Require Python 3.8 or greater. #​15363

  • [sdk/python] Upgrade grpcio to 1.60.1 #​15366

v3.104.2

Compare Source

Bug Fixes
  • [backend/diy] Upgrade gocloud.dev and fix an issue with azurekeyvault keys. #​15334

v3.104.1

Compare Source

Bug Fixes
  • [backend/diy] Revert gocloud.dev upgrade #​15333

v3.104.0

Compare Source

Features
  • [backend] Allows the PULUMI_SKIP_CHECKPOINTS environment variable to be set without requiring the PULUMI_EXPERIMENTAL flag. #​15318

  • [auto/go] Add new API to install the Pulumi CLI from the Automation API #​15049

  • [auto/nodejs] Allow disabling version validation when using a custom PulumiCommand instance #​15242

  • [auto/python] Add new API to install the Pulumi CLI #​15204

  • [auto/python] Inline programs can now be defined as async functions. #​15278

  • [pkg/testing] Add RequireEmptyPreviewAfterRefresh option to ProgramTest

Bug Fixes
  • [engine] Fix a hang in preview --import-file. #​15203

  • [engine] Engine will now error if aliases request a parent with no URN. #​15232

  • [engine] Fix stack name validation when PULUMI_DISABLE_VALIDATION isn't set. #​15245

  • [engine] Fix a performance issue doing unneeded secret encryption. #​15306

  • [sdk/go] Include error message in local workspace validation. #​15279

  • [sdkgen/go] Remove pulumix references from generated enums #​15280

  • [programgen/nodejs] Fixes generated expression for filebase64 function to use fs.readFileSync directly with base64 encoding option #​15253

  • [sdkgen/python] Use importlib.metadata instead of pkg_resources #​15266

Miscellaneous
  • [auto/go] Remove obsolete note from FullyQualifiedStackName comment. #​15281

  • [backend/filestate] Upgrade gocloud.dev to the latest version #​15202

  • [sdk/python] Remove compatability code for Python 3.7 and below. #​15276

v3.103.1

Compare Source

Bug Fixes

v3.103.0

Compare Source

Features
  • [engine] Allow import plugins to define components and logical names. #​15199

  • [cli/display] Incremental improvement on the output when installing plugins #​15201

  • [sdk] Bake the release version into the SDK #​15185

  • [sdk/go] Parse config paths strictly #​15173

  • [cli/new] Adds pulumi:template tag to pulumi new created projects #​15056

  • [auto/nodejs] Add new API to install the Pulumi CLI from the Automation API #​14991

  • [sdk/python] Add support for Python 3.12 #​15190

Bug Fixes
  • [engine] Fix a bug where mapping lookup could sometimes lead to an infinite loop. #​15200

  • [engine] Remove an incorrect assert that resources must have inputs. #​15197

  • [cli/display] Improve output when installing policy packs #​15186

  • [sdk/go] Removes omitempty from StepEventMetadata.DetailedDiff #​15213

  • [sdk/go] Replace a deleted type used by Pulumi Cloud code. #​15216

Miscellaneous

v3.102.0

Compare Source

Features
  • [sdk/go] Add WithValue to pulumi.Context #​15149
Bug Fixes
  • [cli] Fix a panic when user's home directory could not be looked up. #​15160

  • [cli/display] Fix JSON/YAML value diff displays. #​15171

  • [sdk/go] Update github.com/cloudflare/circl to v1.3.7. #​15151

  • [cli/import] --import-file now omits empty resource lists. #​15132

  • [sdk/python] Allow remote components to use output property called id #​15115

Miscellaneous
  • [sdkgen] Emit a warning when using id or urn as resource outputs #​15060

v3.101.1

Compare Source

Bug Fixes
  • [backend/filestate] Revert gocloud.dev upgrade to fix regressions introduced by the upgrade. #​15128

v3.101.0

Compare Source

Features
  • [cli] Adds a flag that allows inserting a fragment into the dot file when generating a graph. This can be used for styling the graph elements, setting properties etc. #​14858
Bug Fixes
  • [engine] Fix an uncommon datarace with replace steps. #​15112

  • [sdkgen/go] Revert using plain object type when the plainness is shallow and we should use inputty-types instead #​15059

  • [cli/state] Fix a panic in pulumi state when no snapshots are available #​15045

  • [sdkgen/python] Fixes resource imports when importing across different modules #​14832

Miscellaneous
  • [backend/filestate] Upgrade gocloud.dev to the latest version #​15011

v3.100.0

Compare Source

Features
  • [auto/{go,nodejs,python}] Adds ListEnvironments support to Go, Nodejs and Python Automation API. #​14995

  • [cli/display] Warn correctly about new versions being availablen when using the CLI dev channel #​14954

Bug Fixes
  • [cli/new] Fixes duplicate printing of the AI prompt & answer on Windows. #​15010

  • [engine] Fix bug where unimported resources (of different types) with the same name would cause --import-file to panic. #​15008

  • [engine] Default parallel operations to a reasonable limit. #​15016

  • [programgen] Fixes type-annotating nested resource properties when these have quoted keys #​15001

  • [sdkgen] Temporarily revert validation of urn and id resource output properties #​15025

  • [programgen/{dotnet,python}] Allow object keys to be template expressions such as static quoted strings #​15000

  • [backend/service] Exclude internal events from those sent to Pulumi Cloud. #​14972

  • [sdk/go] fixes fulfillValue error when joining a nil output state #​14949

Miscellaneous

v3.99.0

Compare Source

Features
  • [cli/config] Adds pulumi config env ls command to list the environment imports declared in a stack configuration. #​14855

  • [cli/new] Adds pulumi new --ai functionality. #​14685

  • [sdk/nodejs] Add an environment variable (PULUMI_ERROR_OUTPUT_STRING) to throw when an output tries to convert to a string. #​14811

Bug Fixes
  • [auto/nodejs] Always run cleanup for refresh and destroy commands #​14948

  • [auto/nodejs] Don't mutate original stack settings when saving #​14952

  • [programgen] Avoid pretty printing large object graphs when a resource property doesn't type-check when binding PCL programs #​14864

  • [cli/config] Fixes config copy command to also copy environments from the source stack #​14847

  • [cli/config] Fix a bug in pulumi config env ls --json where the json flag was not being correctly passed through. #​14961

  • [programgen/go] Fix required config variables of type bool and number #​14958

Miscellaneous

v3.98.0

Compare Source

Features
  • [cli/import] Import can now distinguish between logical names and source names. #​14745
Bug Fixes
  • [programgen/{dotnet,go,nodejs,python}] Fix generated utility functions for filebase64, filebase64sha256, sha1 and mimeType #​14857

  • [programgen/{nodejs,python}] Fix duplicated import statements when instantiating a component multiple times #​14829

Miscellaneous

v3.97.0

Compare Source

Features
  • [auto/go] Add ChangeSecretsProvider to workspace and stack APIs. #​14039

  • [auto/go] Adds AddEnvironments and RemoveEnvironment functions to Stack and LocalWorkspace types for Go Automation API. #​14785

  • [auto/nodejs] Adds addEnvironments and removeEnvironment functions to Stack and LocalWorkspace classes for Nodejs Automation API. #​14788

  • [auto/python] Adds add_environments and remove_environment functions to Stack and LocalWorkspace classes for python Automation API. #​14776

Bug Fixes
  • [sdk/nodejs] Fix a bug in nodejs providers returning empty inputs on read. #​14803

  • [sdkgen/go] Fix generated usage documentation for enum input types #​14739

v3.96.2

Compare Source

Features
  • [cli] The CLI now uses the yaml converter plugin rather than yaml convert logic linked in. #​14437
Bug Fixes
  • [cli/display] Fixes displaying warning: GOCOVERDIR not set, no coverage data emitted #​14804

  • [engine] Don't validate URNs, this was causing issues with unexpected data from filestate backends. #​14741

v3.96.1

Compare Source

Bug Fixes

v3.96.0

Compare Source

Features
  • [cli] Add --import-file to pulumi preview to generate a placeholder import file for every resource that needs to Create. #​14548

  • [sdk/nodejs] Add TypeScript definitions for the grpc and protobuf generated code. #​14415

Bug Fixes
  • [auto] Don't swallow error if EditDir is not found in ProgramTest. #​14695

  • [cli/display] Fix a panic in diff display when parsing YAML strings #​14710

  • [auto/python] Ensures that the project_settings has a main directory for inline programs in python #​14709

  • [engine] Error if a resource's parent is a skipped create. #​14672

  • [engine] Warn if SDKs are trying to use old RegisterResource style StackReferences. #​14678

  • [engine] Send resource inputs as inputs and state for Reads. #​14683

  • [engine] Engine now prefers stable plugin versions to pre-releases when no explict version is given. #​14700

  • [engine] Fix handling of delete failures for targeted destroys #​14735

  • [sdkgen] Return all bind diagnostics in sdk-gen rather than just the first. #​14661

  • [sdkgen/go] Fix compiling plain element type with plain maps #​14704

  • [sdkgen/go] Fix generating input collection types for enums when used from an array of map of enums #​14744

  • [backend/service] Service backend now validates snapshots are valid on load, same as the self managed backend. This can be disabled with --disable-integrity-checking. #​14046

v3.95.0

Compare Source

Features
  • [cli/config] Include config values from ESC in pulumi config #​14560

  • [cli/config] Add commands for managing stack environments #​14628

  • [cli/config] Add a command to create an ESC environment from stack config #​14634

  • [sdk/go] add optional display name and tag fields to project templates #​14587

  • [sdk/nodejs] Enable resource imports for nodejs providers #​14668

  • [cli/plugin] Load policy packs in parallel on startup to reduce startup time #​14495

  • [sdkgen/dotnet] Added support for language specific settings for resources and support for overriding resource name in dotnet codegen #​14308

  • [sdkgen/{go,nodejs,python}] Resource methods with plain: true outputs can now return plain values without an Output wrapper. In particular, this feature enables resource methods to serve as explicit provider factories by returning preconfigured explicit providers. #​13592

Bug Fixes
  • [auto/go] Fix a datarace in cloning git repos. #​14643

  • [auto/go] Fixes event stream lag on windows runtime #​14659

  • [engine] Engine now correctly handles any resource name. #​14107

  • [engine] Fix a panic in cancellation. #​14612

  • [engine] Fix root directory passed to langauge plugins when starting pulumi in a subfolder. #​14684

  • [sdkgen] Schemas now validate that 'urn' and 'id' are not used as resource output properties. #​14637

  • [sdkgen] Fixes marshalling the "plain" flag from object or resource properties #​14648

  • [yaml] Upgrade yaml to 1.4.3 #​14693

  • [programgen/nodejs] Fix generated readFile function so that it includes the encoding and returns a string #​14633

  • [sdkgen/{dotnet,go,nodejs,python}] No longer writing out name and project from alias definitions into SDKs, only type #​14625

  • [sdk/go] Fix optional handling on nested props #​14629

  • [sdk/nodejs] Use local storage to track per stack error log count #​14702

  • [sdkgen/go] Fixes plain and optional properties for generated types for Go SDKs using generics #​14616

  • [sdkgen/go] Generate non-plain type variants for types used as inputs inside unions #​14679

  • [sdk/python] Introduces RuntimeError when we detect a cycle upon adding dependencies to the graph. Additionally adds "PULUMI_ERROR_ON_DEPENDENCY_CYCLES" as a new environment variable to control this behavior. Set to False to return to the previous behavior, which could potentially re-introduce infinite hangs for some programs. #​14597

v3.94.2

Compare Source

Features
  • [cli/import] Generated import files from converter plugins omit empty optional fields. #​14574
Bug Fixes
  • [yaml] Upgrade yaml to 1.4.2 #​14603

  • [cli/engine] Fix an issue where the CLI could panic because of a newly introduced event #​14600

  • [sdkgen/go] Fix generics-only option for go missing ToOutput(...) methods #​14584

v3.94.1

Compare Source

Features
  • [cli/display] Adds display when policy packs are being loaded #​14493

  • [sdk/dotnet] Update dotnet language host to 3.59.0. #​14577

Bug Fixes
  • [engine] Fix ignore changes ignoring secret values. #​14565

  • [sdk/python] Use typing.Dict in type annotation instead of dict. #​14579

v3.94.0

Compare Source

Features
  • [engine] import can now create empty component resource to use as the parent of other imported resources. #​14467

  • [engine] import can now import a parent resource in the same deployment as a child resource. #​14461

  • [engine] Import files no longer need parent URNs in the name table for resource being imported in the same file. #​14524

  • [cli/config] config refresh will now restore secret provider config from the last deployment. #​13900

  • [cli/new] Simplifies URL parsing for pulumi new zip #​14546

Bug Fixes
  • [components/yaml] Upgrade yaml to 1.4.1 #​14542

  • [engine] Ignore spurious error from Kubernetes providers DiffConfig method. #​14533

  • [sdk/python] Maintain old behavior for empty Kubernetes invoke results #​14535

v3.93.0

Compare Source

3.93.0 (2023-11-09)

Features
  • [sdk/python] Add provider side caching for dynamic provider deserialization. #​14491
Bug Fixes
  • [cli/new] Fix panic parsing template URL. #​14504

  • [pkg] Fixes a panic in property mapping logic #​14498

  • [sdkgen/go] Remove generic ToOutput methods from legacy non-generic go SDKs #​14492

v3.92.0

Compare Source

Features
  • [auto] Allow shallow repository clones in NewLocalWorkspace #​14312

  • [cli] Add support for ESC file projection #​14447

  • [cli/new] Adds support for remote zip archive templates to pulumi new #​14443

  • [engine] Support {NAME} in http plugin download URLs. #​14435

  • [yaml] Update pulumi-yaml to 1.4.0 #​14425

  • [auto/nodejs] Add refresh option for up #​14306

Bug Fixes
  • [cli/new] Adds nested directory support to pulumi new .zip #​14473

  • [auto/nodejs] Pin @​grpc/grpc-js to v1.9.6 to resolve automation-api hang in NodeJS. #​14445

  • [engine] Correctly propogate provider errors from DiffConfig. #​14436

  • [engine] Fix parsing of property paths such as "root.[1]" being returned from providers. #​14451

  • [programgen/go] Fix using inline invoke expressions inside resources, objects and arrays #​14484

  • [sdk/python] Fix error on empty invoke returns #​14470

  • [sdk/python] Fix traceback diagnostic from being printed when using Python dynamic providers #​14474

Miscellaneous
  • [ci] Bump homebrew using pulumi's fork instead of pulumi-bot's #​14449

  • [ci] Additional fixes for the homebrew release job #​14482

  • [cli] Pull in fixes from esc v0.5.7 #​14430

v3.91.1

Compare Source

Bug Fixes
  • [cli/display] Fix misleading output in stack ls --json #​14309

  • [sdkgen/python] Fix regression where constructing ResourceArgs would fail if required arguments were missing. #​14427

v3.91.0

Compare Source

Features
  • [cli] Adds a new pulumi install command which will install packages and plugins for a project. #​13081
Bug Fixes
  • [engine] Fix generation of property paths in diff. #​14337

v3.90.1

Compare Source

Bug Fixes
  • [cli/config] Don't crash on empty config values #​14328

  • [sdkgen/python] Fix issue calling nonexistent _configure method on external types #​14318

  • [sdkgen/python] Fix calling _configure with an Output value #​14321

v3.90.0

Compare Source

Features
  • [auto/nodejs] Add support for the path option for config operations #​14305

  • [engine] Converters can return diagnostics from ConvertState. #​14135

Bug Fixes
  • [cli] Tightened the parser for property paths to be less prone to typos #​14257

  • [engine] Fix handling of explicit providers and --target-dependents. #​14238

  • [engine] Fix automatic diffs comparing against output instead of input properties. #​14256

  • [sdkgen/dotnet] Fix codegen with nested modules. #​14297

  • [programgen/go] Fix codegen to correctly output pulumi.Array instead of pulumi.AnyArray #​14299

  • [cli/new] pulumi new now allows users to bypass existing project name checks. #​14081

  • [sdk/nodejs] Nodejs now supports unknown resource IDs. #​14137

  • [sdkgen/python] Fix _configure failing due to required args mismatch. #​14281

Miscellaneous
  • [cli] Pull in fixes from esc v0.5.6 #​14284

  • [protobuf] Add a config as property map field to RunRequest and pass that to the SDK #​14273

  • [sdk/python] updates grpcio dependency #​14259

v3.89.0

Compare Source

Features
  • [engine] Old inputs are sent to provider Delete functions, as well as the old outputs. #​14051
Bug Fixes
  • [engine] Fix a panic in the engine when same steps failed due to provider errors. #​14076

  • [engine] Engine is now more efficent about starting up provider processes, generally saving at least one process startup per deployment. #​14127

  • [programgen] Fixes panic when binding the signature of output-versioned invokes without input arguments #​14234

  • [sdkgen/python] Python SDK generation _configure now correctly handles original property names for resource arguments (i.e. user provides propName instead of prop_name). #​14235

v3.88.1

Compare Source

Bug Fixes
  • [cli] allow unmarshalling nil as a config value. #​14149

  • [auto/nodejs] Remove unneeded SxS check for inline programs #​14154

Miscellaneous
  • [cli] Pull in fixes from esc v0.5.2 #​14155

v3.88.0

Compare Source

Features
  • [engine] Add the new policy remediations feature. #​14080

  • [auto] Added a tracing span for plugin launch #​14100

Bug Fixes
  • [cli/package] Fix a panic in get-mapping when not passing a provider name. #​14124

  • [engine] Engine will now error earlier if a deployment needs a bundled plugin that is missing. #​14103

  • [sdk/{go,nodejs,python}] Fix MockMonitor reporting DeletedWith wasn't supported #​14118

  • [programgen/python] Fix panic in python program-gen when rewriting index expressions #​14099

v3.87.0

Compare Source

Features
  • [cli] Users can now set PULUMI_DISABLE_AUTOMATIC_PLUGIN_ACQUISITION to disable the engine trying to auto install missing plugins. #​14083

  • [pkg] Upgrade pulumi-java to v0.9.8

  • [cli/import] Import converters will write out their intermediate import file for manual fixups if needed. #​14067

  • [sdkgen/go] Generate output-versioned invokes for functions without inputs #​13694

  • [sdk/python] Add default arg to Config.get_secret #​12279

Bug Fixes
  • [cli] policy publish: default to default-org if possible #​14090

  • [cli] Fix a panic in whoami with tokens missing expected information.

  • [engine] Calling RegisterResourceOutputs twice no longer panics and returns an error instead. #​14062

  • [engine] ComponentResources now emit resourceOutputEvent on Deletion. This fixes the time elapsed timer not ending when the resource is deleted. #​14061

  • [engine] Lifecycle tests shouldn't reuse a closed plugin host. #​14063

  • [engine] ctrl-c should cause Pulumi to send cancellation signal to providers #​14057

  • [engine] Fix a race condition in the engine access step event data. #​14049

  • [engine] Restore elided asset contents into returned inputs and state from Read operations

  • [engine] DISABLE_AUTOMATIC_PLUGIN_ACQUISITION is respected for deployment operations now. #​14104

  • [programgen] pulumi import supports resources with duplicate names, it will fail if referenced as a provider/parent due to the ambiguity. #​13989

  • [programgen/dotnet] Fixes compiling an empty list of expressions from object properties #​14027

v3.86.0

Compare Source

Features
  • [cli/about] pulumi about and pulumi whoami will now return information about the access token used to login to the service. #​13206
Bug Fixes
  • [cli] Add filestate variables to pulumi env. #​14015

  • [cli] Include a newline in pulumi whoami's output #​14025

  • [cli/import] import --from=plugin will now try to auto-install the plugin if missing. #​14048

  • [engine] Fix creation and modification timestamps sometimes not setting. #​14038

  • [engine] Fixes the engine using aliases from old deployments when writing out statefiles.

  • [sdk/python] Resource property parameters are now runtime type checked to ensure they are a Mapping object. #​14030

v3.85.0

Compare Source

Features
  • [engine] Provider mapping information lookups are now more efficient. Providers can also support multiple mappings. #​13975

  • [sdkgen/python] Generate output-versioned invokes for functions without inputs #​13685

Bug Fixes
  • [sdkgen/dotnet] Fixes potential conflicts when generating resources called System #​14011

  • [cli/engine] Errors writing out snapshots now print error messages to be seen by users. #​14016

  • [sdk/go] Ensure Assets of AssetArchive are non-nil when creating and deserializing #​14007

  • [cli/new] Fix selector wrapping on narrow terminals. #​13979

  • [sdkgen/python] Fix error calling _configure when the value is None #​14014

v3.84.0

Compare Source

Features
  • [engine] Program conversion plugins can now be passed extra arguments from convert. #​13973

  • [sdkgen/go] Support generating Go SDKs that use generic input and output types #​13828

Bug Fixes
  • [cli/new] pulumi new no longer defaults to a project name of "pulum" if ran in a folder called "pulumi". #​13953

v3.83.0

Compare Source

Features
  • [engine] pulumi-test-language can now be used to test language runtimes against a standard suite of tests. #​13705
Bug Fixes
  • [cli] Fixes panic when default org is not set and no org is provided to org search #​13947

  • [engine] Fix aliases of parents tracking over partial deployments. #​13935

  • [sdkgen/python] Python sdkgen now correctly sets default values on dicts passed as resource arguments. #​13825

v3.82.1

Compare Source

Bug Fixes
  • [cli/config] Allows org search for individual accounts #​13930

  • [sdkgen/{go,nodejs,python}] Fix a bug in marshalling enums across gRPC

  • [cli/state] pulumi state edit now handles multi-part EDITOR env vars (i.e. emacs -nw). #​13922

  • [programgen/python] Fix deprecation warning triggering on ResourceArgs with default values. #​13890

v3.82.0

Compare Source

Features
  • [cli] Adds pulumi org search and pulumi org search ai for Pulumi Insights in the CLI. These commands render a table containing all resources in a given organization matching the query provided.

    -q <query> will search for resources in the organization using a query provided in Pulumi Query Syntax.

    -o <json|csv|yaml> flag customizes the output.

    The ai command uses AI Assist to translate a natural language query into Pulumi Query Syntax.

    Default table output will show a count of displayed resources out of the total. Additional output includes the query run, a URL to view and explore search results in the Pulumi Console and the query, and the query run.

    Additional output is suppressed for non-table output formats such that they can be easily piped into other tools.

    The --web flag will open the search results in a default browser. #​13611 #​13879 #​13888 #​13846

  • [cli] Adds pulumi ai command - currently the only functionality in this group is pulumi ai web, which will open the Pulumi AI application in a default browser. An optional --prompt/-p flag can be provided with a query to pre-populate the search bar in the Pulumi AI application. By default, that prompt will be submitted automatically, but passing --no-auto-submit will prevent that. #​13808 #​13846

  • [engine] Support SDKs sending plugin checksums as part of resource requests. #​13789

Bug Fixes
  • [cli/new] Fixes pulumi policy new <template-name> to not require --yes when run non-interactively. #​13902

v3.81.0

Compare Source

Features
  • [cli] Pass args from import to state converters. #​13862

  • [cli/config] Removes PULUMI_DEV flag for org search #​13888

  • [sdkgen/python] Opting into pyproject.toml SDK generation no longer generates setup.py, but instead generates a standalone pyproject.toml that can be built with python -m build . #​13812

Bug Fixes
  • [engine] Check for old resources first by URN and then aliases #​13883

  • [sdk/nodejs] Fix a possible panic in running NodeJS programs. #​13689

Miscellaneous
  • [sdk/go] Support multi-errors built from errors.Join for RunFunc, Exit, and friends. #​13813

  • [sdk/go] Rename Join in pulumix to Flatten. #​13882

v3.80.0

Compare Source

Features
  • [sdk/go] Add sdk/go/pulumix package with type-safe generics-based APIs to interact with Pulumi's core functionality. #​13509

  • [sdk/go] Built-in Pulumi types all satisfy pulumix.Input[T] for their underlying types. #​13509

  • [sdkgen/go] Generate types that are compatible with sdk/go/pulumix's type-safe APIs. #​13510

  • [sdkgen/{nodejs,python}] NodeJS and Python packages no longer running plugin install scripts on package install. #​13800

Bug Fixes
  • [cli/new] Fix regression where pulumi new -s org/project/stack would fail if the project already exists. #​13786

  • [sdk/nodejs] Fix provider used for resource methods #​13796

Miscellaneous
  • [cli] Some CLI prompts now support backspace, arrow keys, etc. #​13815

  • [sdk/go] Add cmdutil.TerminateProcessGroup to terminate processes gracefully. #​13792

  • [sdk/{go,nodejs,python}] Language plugins now clean up resources and exit cleanly on receiving SIGINT or CTRL_BREAK signals. #​13809

v3.79.0

Compare Source

Features
  • [engine] Support runtime plugins returning plugin checksums from GetRequiredPlugins. #​13776

  • [sdkgen/go] Implement option to override the name of the generated internal/utilities module #​13749

Bug Fixes
  • [engine] Fix panic when analyzer plugin is not found on PATH. #​13767

  • [programgen/go] Fixes go.mod version requirement #​13729

  • [sdk/nodejs] When using closure serializtion, lookup package.json up from current working directory up to parent directories recursively #​13770

Miscellaneous
  • [pkg] Update pulumi-yaml (v1.2.1 -> v1.2.2) pulumi-java (v0.9.0 -> v0.9.6) pulumi-dotnet (v3.54.0 -> v3.56.1) #​13763

  • [sdk/python] Update grpc-io from 1.56.0 to 1.56.2 #​13759

v3.78.1

Compare Source

Features
  • [yaml] Update pulumi-yaml to 1.2.1. #​13712
Bug Fixes
  • [engine] Fixes some synchronization in plugin shutdown to prevent panics on Ctrl-C. #​13682

  • [sdkgen/python] Fixes rendering v1.2.3-alpha.8 style of versions to valid PyPI versions when respectSchemaVersions option is set in sdkgen. #​13707

Miscellaneous
  • [ci] Add preliminary support for GitHub's native merge queues. #​13681

  • [engine] Pass Loader gRPC target to converter plugins. #​13696

  • [sdk/go] Updates aws-sdk-go to 1.44.298 to enable support for sso-session link AWS profiles. #​13619

v3.78.0

Compare Source

Features
  • [yaml] Update pulumi-yaml to 1.2.0. #​13674

  • [sdkgen/dotnet] Generate output-versioned invokes for functions without inputs. #​13669

  • [sdkgen/nodejs] Generate output-versioned invokes for functions without inputs. #​13678

  • [cli/package] New experimental "pack-sdk" command to pack an SDK into an artifact. #​13675

  • [cli/plugin] CLI will now warn when loading ambient plugins from $PATH. #​13670

Bug Fixes
  • [programgen/dotnet] Fixes code generation of ForExpressions, both when creating a list or a dictionary. #​13620

  • [programgen/dotnet] Fixes list initializer for plain lists in resource properties. #​13630

  • [programgen/{go,nodejs}] Fix a bug in marshalling type refs across gRPC. #​13676

  • [programgen/nodejs] Fixes parseProxyApply to handle nested outputs within index expressions. #​13629

  • [sdk/nodejs] Fix finding the pulumi package when the runtime wasn't started in the project directory. #​13639

  • [cli/plugin] Improve error message during pulumi plugin install if the plugin is bundled with Pulumi. #​12575

Miscellaneous
  • [sdkgen/nodejs] Remove the pluginVersion and pluginName options from nodejs schema options. #​13646

v3.77.1

Compare Source

Bug Fixes

v3.77.0

Compare Source

Features
  • [programgen/dotnet] Fix typing for optional and complex config variables in main program #​13590

  • [cli/new] Support SSH-style Git URLs, including private template repositories for pulumi new #​13515

  • [sdk/nodejs] NodeJS programs will now warn that undefined values will not show as stack outputs. #​13608

  • [cli/plugin] CLI will now warn when loading ambient plugins from $PATH. #​13607

Bug Fixes
  • [cli] Several fixes for pulumi logs including support for first-class providers, support for ambient credentials and improved error reporting. #​13588

  • [cli/state] Fix panic in pulumi state edit when no stack is selected. #​13638

  • [engine] Language plugins now defer schema loading to the engine via a gRPC interface. #​13605

  • [programgen/{dotnet,go,nodejs,python}] Normalize the declaration name of generated resource components #​13606

  • [sdk/python] Output.from_input now recurses into tuples. #​13603

  • [sdkgen] Fix bug binding provider schema where type default int values could not take integers. #​13599

  • [sdkgen/python] Fixes python external enum types missing the import reference to the external package. #​13584

Miscellaneous
  • [sdk/go] Move some types to an internal package, re-exporting them from sdk/go/pulumi. This should have no meaningful effect on users of these APIs. #​13495

  • [sdk/go] Bump the minimum required versions of google.golang.org/genproto and google.golang.org/grpc. #​13593

v3.76.1

Compare Source

Bug Fixes
  • [engine] Fix --target-dependents from targeting all resources with default providers. #​13560

  • [engine] Fix a panic when trying to construct a remote component with an explicit provider configured with unknown values during preview. #​13579

  • [programgen/go] Fix conflicting imports generated when two imported packages have the same name. #​13289

  • [programgen/nodejs] Fixes issue with javascript program generation where enums would incorrectly reference the package rather than the import alias. #​13546

v3.76.0

Compare Source

Features
  • [cli/state] Adds pulumi state edit an experimental developer utility for manually editing state files. #​13462

  • [programgen] Allow binding unsupported range and collection types in non-strict mode for pulumi convert #​13459

  • [programgen/nodejs] Improve static typing of config variables in main program #​13496

  • [sdk/{go,nodejs,python}] Add support for reporting resource source positions #​13449

  • [sdk/{nodejs,python}] Support explicit providers for packaged components #​13282

Bug Fixes
  • [cli/config] Pulumi no longer falls back on old config when config resolution fails (except for pulumi destroy --stack <stack-name> where the config may be unavailable). #​13511

  • [cli/new] Fix the use of uninitalized backend when running new with --generate-only. When --generate-only is set new will skip all checks that require the backend. #​13530

  • [engine] Fix alias resoloution when parent alieses where also aliased. #​13480

  • [engine] Validate URNs passed via ResourceOptions are valid. #​13531

  • [engine] Add a missing lock that could cause a concurrent map read/write panic. #​13532

  • [programgen/go] Fix panic in GenerateProject when version is not set in schema #​13488

  • [sdkgen/{go,nodejs}] Fix ReplaceOnChanges being dropped in Go and NodeJS codegen. #​13519

  • [programgen/nodejs] Fix interpolated strings used as keys of maps #​13514

  • [cli/plugin] Automatically install pulumiverse provider plugins during convert. #​13486

  • [cli/plugin] Fix lookup of side-by-side binaries when PULUMI_IGNORE_AMBIENT_PLUGINS is set. #​13521

  • [sdk/python] Move some global state to context state for parallel updates. #​13458

Miscellaneous
  • [programgen] Consistently use the same non-strict bind options when applicable #​13479

  • [programgen] Propagate SkipRangeTypechecking option down to program components #​13493

v3.75.0

Compare Source

Features
  • [programgen/{dotnet,go,nodejs,python}] Allow generating code for unknown invokes (tf data sources) in non-strict mode #​13448

  • [programgen/go] Adds explicit package versioning to Golang codegen #​13136

Bug Fixes
  • [sdk/go] Fix downloading of unimported external plugins. #​13455

  • [cli/new] pulumi new -s 'org/project/stack' checks the specified organization for project existence rather than the currentUser. #​13234

  • [cli/new] When providing a --stack and --name to pulumi new, the project names must match before creating Pulumi.yaml. #​13250

  • [cli/plugin] Fix interpolation of vesion into http plugin source URLs. #​13447

  • [sdk/nodejs] Add dependency on @​opentelemetry/instrumentation #​13278

  • [sdk/nodejs] Node.js dynamic providers mark serialized functions as secret if they capture any secrets #​13329

  • [sdk/python] Python dynamic provider serialized code is now saved to state as secret. #​13315

v3.74.0

Compare Source

Features
  • [cli] Improve the CLI stack validation error message #​13285

  • [engine] Old inputs are sent to provider Diff and Update functions, as well as the old outputs. #​13139

  • [sdk/nodejs] Support loading package.json from parent directory. If package.json is not found in the Pulumi main directory, Pulumi recursively searches up the directory tree until it is found. If package.json provides a main field, per the NPM spec, that field is relative to the directory containing package.json. #​13273

  • [programgen/{nodejs,python}] Prefer output-versioned invokes in generated programs for nodejs and python #​13251

  • [cli/state] The upgrade command now prompts the user to supply project names for stacks for which the project name could not be automatically guessed. #​13078

  • [cli/state] Add interactive URN selection to pulumi state {rename,unprotect,delete}. #​13302

Bug Fixes
  • [auto/nodejs] Adds a better error message for invalid NodeJS AutoAPI workDir. #​13275

  • [cli] Stack output on the console no longer escapes HTML characters inside JSON strings. This matches the behavior of the --json flag. #​13257

  • [engine] Engine marks outputs secret if an output of the same name is marked secret. #​13260

  • [sdkgen] Fix loading schemas from providers on PATH. #​13305

  • [cli/display] Print the summary event for previews that contain non-error level diagnostic messages. #​13264

  • [cli/display] Fix diffs sometimes not showing even in details view. #​13311

  • [cli/package] Fixes resolving plugins when they are not yet installed in plugin cache #​13283

  • [cli/state] Disallow renaming resources to invalid names that will corrupt the state. #​13254

  • [programgen/go] Fix aliasing package names using dashes when schema doesn't include go package info override #​13212

  • [programgen/go] Use raw string literals for long, multi-line strings. #​13249

  • [sdk/{go,nodejs,python}] Missing config error text includes "--secret" if requireSecret was used. #​13241

  • [sdkgen/nodejs] Fix isInstance methods for generated provider types. #​13265

Miscellaneous

v3.73.0

Compare Source

Features
  • [programgen] Allow traversing unknown properties from resources when skipping resource type checking #​13180
Bug Fixes
  • [backend/filestate] Fix auto-opt-in to project mode. #​13243

  • [cli] pulumi convert will now cleanup temporary pulumi-convert directories when the command is finished. #​13185

  • [cli] Fix Markdown formatting issues in command usage. #​13225

  • [cli] Fix stack rm removing config files for the wrong project. #​13227

  • [cli/config] No longer error on directory read permissions when searching for project files. #​13211

  • [cli/display] Fix diff display partially parsing JSON/YAML from strings.

  • [cli/display] Fix large integers displaying in scientific notation. #​13209

  • [cli/display] Update summary is now correctly shown when advisory and disabled policy events are encountered. #​13218

  • [cli/display] Fix formatting bugs in display causing text like (MISSING) showing in output. #​13228

  • [cli/display] On Windows, make pulumi state unprotect command suggestion use double-quotes instead of single-quotes. #​13236

  • [cli/new] pulumi new now correctly supports numeric stack names. #​13220

  • [cli/new] Fix empty config values being added to the config file as part of new. #​13233

  • [cli/plugin] Fixes the output of plugin rm --yes command to explicitly say that plugins were removed #​13216

  • [engine] Fix wildcards in IgnoreChanges. #​13005

  • [engine] Fix ignoreChanges setting ignore array indexes to zero. #​13005

  • [sdk/nodejs] Write port to stdout as a string so Node doesn't colorize the output #​13204

  • [sdk/python] Allow tuples as Sequence input values to resources. #​13210

  • [sdkgen/python] Python SDK only prints a Function Invoke result's deprecation messages when using getters rather than on instantiation. #​13213

Miscellaneous
  • [cli] Make no retry attempts for the Pulumi new version query. This should speed up the CLI in certain environments. #​13215

v3.72.2

Compare Source

Bug Fixes
  • [cli/state] Fix panic caused by an invalid stack when a parent resource is renamed in the state. Now, parent references are also updated when the resource is renamed. #​13190

v3.72.1

Compare Source

Bug Fixes
  • [cli] Revert go.cloud update to fixes issues with using azure object store and secrets. #​13184

v3.72.0

Compare Source

Features
  • [cli] Don't warn about the CLI version being out of date on every run. The CLI will now only warn once a day, when it queries for the latest version. #​12660

  • [programgen/{dotnet,go,nodejs,python}] Extend SkipResourceTypechecking to allow generating unknown resources #​13172

  • [cli/package] Add a "get-mapping" command to query providers for their mapping information. #​13155

Bug Fixes
  • [cli/config] pulumi destroy now sets the encryptedkey every run like the rest of the CLI commands. #​13168

  • [engine] Fix aliasing children #​12848

  • [sdk/nodejs] Fix Parent/NoParent aliases #​12848

  • [sdk/nodejs] Fixes uncaught rejections on the resource monitor terminating causing Automation API programs to exit prematurely. #​13070

Miscellaneous
  • [backend/filestate] Add an option to the Upgrade operation allowing injection of an external source of project names for stacks where the project name could not be automatically determined. #​13077

  • [sdk/go] Adds tokens.ValidateProjectName to validate project names. #​13165

v3.71.0

Compare Source

Features
  • [cli] Support for pulumi convert --from terraform

  • [cli] Make convert errors more clear to users #​13126

  • [programgen/{dotnet,go}] Add support for the singleOrNone intrinsic #​13149

Bug Fixes
  • [engine] Fix plugin installation when looking up new schemas. #​13140

  • [programgen] Fixes range scoping for PCL components #​13131

  • [programgen] Fixes panic when trying to convert a null literal to a string value #​13138

  • [sdkgen/dotnet] sdkgen no longer sets the UseSharedCompilation project setting. #​13146

  • [programgen/python] Fixes python panic when emiting code for index expressions that aren't typechecked #​13137

  • [sdkgen/python] Fixes python always printing input deprecation messages. #​13141

v3.70.0

Compare Source

Features
  • [cli] 'convert' now defaults to be more leniant about program correctness, old behaviour can be toggled back on with --strict. #​13120

  • [engine] DeletedWith ResourceOption is now inherited from its parent across SDKs. #​12572

  • [engine] Add 'pulumi:tags' config option to set stack tags. #​12856

  • [pkg] Upgrade pulumi-java to v0.9.4. #​13121

  • [programgen/nodejs] Allow output variables to have the same identifier as other program nodes #​13115

  • [sdk/nodejs] Add support for asynchronous mock implementations

Bug Fixes
  • [cli/new] Escape special characters in project description #​13122

  • [engine] Fixes a bug where targeted previews would error on deletes of targeted resources. #​13010

  • [programgen/dotnet] Only await task-returning invokes in dotnet program-gen #​13092

  • [programgen/{dotnet,go}] Do not error out when generaing not yet implemented ForExpressions #​13083

  • [cli/plugin] Language plugins respect PULUMI_IGNORE_AMBIENT_PLUGINS. #​13086

  • [programgen/go] Fix conversion of programs with components for Go. #​13037

  • [programgen/go] Fix panic in go program-gen when encountering splat expressions #​13116

  • [programgen/{go,nodejs}] Fix a panic in diagnostics from go/nodejs project generation. #​13084

  • [programgen/nodejs] Only await promise-returning invokes in typescript program-gen #​13085

v3.69.0

Compare Source

Features
  • [auto/python] Add support for the path option for config operations #​13052

  • [cli] Replace heap profiles with allocation profiles and add a flag, --memprofilerate, to control the sampling rate. --memprofilerate behaves like the -memprofilerate flag to go test; set it to "1" to profile every allocation site. #​13026

  • [cli] The convert and import commands will try to install plugins needed for correct conversions. #​13046

  • [cli/plugin] Plugin install auto-fills the download URL for some known third-party plugins. #​13020

  • [engine] Provider plugins are now loaded as needed, not at startup based on old state information. #​12657

  • [programgen] Include the component source directory in diagnostics when reporting PCL errors #​13017

  • [programgen/{nodejs,python}] Implement singleOrNone intrinsic #​13032

  • [sdkgen/python] Generate a pyproject.toml file. This enables Python providers to build Wheels per PEP 621 #​12805

Bug Fixes
  • [backend] Fixes a bug where Resource instances as stack exports got printed as if it had diff in the end steps #​12261

  • [engine] Fix --replace behavior to be not considered a targeted update (where only --replace resources would be targeted). #​13011

  • [backend/filestate] Fix the project filter when listing stacks from new stores that support per-project stack references. #​12994

  • [backend/filestate] Fix stack rename renaming projects for the self-managed backend. #​13047

  • [programgen/go] Do not error when generated Go code cannot be formatted #​13053

  • [cli/plugin] Fixes PULUMI_DEBUG_GRPC to surface provider errors #​12984

  • [sdkgen/go] For properties with environment variable defaults, differentiate between unset environment variables and empty. #​12976

  • [sdkgen/go] When a property has an environment variable default, and the environment variable is not set, sdkgen would incorrectly set it to the zero value of that property. Fixes by only setting the property if the environment variable is set. #​12976

  • [sdkgen/go] Fix versioned typerefs being marshalled across code generator RPCs. #​13006

v3.68.0

Compare Source

Features
  • [backend/service] Improve memory consumption and decrease CPU time required when using snapshot patching #​12962
Bug Fixes
  • [engine] Step generation now uses old inputs for untargeted resources and does not send current inputs to Check() on providers. #​12973

  • [sdk/go] Fix regression disallowing placing a Pulumi program in a subdirectory of a Go module. #​12967

  • [programgen/nodejs] Allow iterating dynamic entries in TypeScript #​12961

v3.67.1

Compare Source

Features
  • [programgen/go] Module support as component resources #​12840
Bug Fixes
  • [engine] Non-targeted resources are now added to internal update plans fixing a bug where the step_executor would error due to missing resources in the plan. #​12939

  • [programgen] Fix stack overflow panic when pretty printing recursive types #​12866

  • [sdk/nodejs] Revert recursive package.json lookup. #​12944

Miscellaneous
  • [sdk/go] testing.Environment now tolerates errors in deleting the test environment. #​12927

  • [sdk/nodejs] Replaces empty interfaces with type aliases. Empty interfaces are equivalent to their supertype; this change expresses these type definitions using type aliases instead of interface extention to provide better clarity. This change will not affect type-checking. #​12865

v3.67.0

Compare Source

Features
  • [sdk/nodejs] Support loading package.json from parent directory. If package.json is not found in the Pulumi main directory, Pulumi recursively searches up the directory tree until it is found. If package.json provides a main field, per the NPM spec, that field is relative to the directory containing package.json. #​12759
Bug Fixes
  • [build] Fixes race condition in building Go sdk. #​12821

  • [cli] Convert to PCL will recover from panics in program binding. #​12827

  • [engine] Fix bug with targeting and plans where root stack resource and target-replaces were not being marked targeted. #​12834

  • [engine] Fix the engine trying to install the pulumi-resource-pulumi plugin which is builtin. #​12858

  • [programgen] Allow null literal as a default value for config variables #​12817

  • [programgen] Fix panic on component type traversal #​12828

  • [sdk/python] Fix hang due to component children cycles #​12855

Miscellaneous
  • [sdk/nodejs] With Node14 sunset on April 30, the minimum version of Node is now Node 16. #​12648

v3.66.0

Compare Source

Features
  • [cli] convert now prints all diagnostics from program conversion #​12808

  • [programgen/nodejs] Support range expressions that are of type output #​12749

  • [programgen/python] Support range expressions that are of type output #​12804

Bug Fixes
  • [cli] Fix destroy without project file. #​12766

  • [engine] Fix bug where non-default providers are created even when not specified as a target. #​12628

Miscellaneous
  • [backend/filestate] Improve performance of project-existence check. #​12798

v3.65.1

Compare Source

Bug Fixes
  • [backend/filestate] Revert change causing provided project name "" doesn't match Pulumi.yaml error #​12761

v3.65.0

Compare Source

Features
  • [auto/nodejs] Add excludeProtected option for destroy #​12734

  • [auto/nodejs] Add refresh option for preview #​12743

  • [cli] Speed up conversion mapping lookups for the common case of Pulumi names matching external ecosystem names. #​12711

  • [engine] Support propagating more resource options to packaged components. #​12682

  • [cli/display] Pulumi CLI can now display messages provided by the service. #​12671

  • [sdk/go] Support new options on packaged components (MLCs), including: AdditionalSecretOutputs, Timeouts, DeletedWith, DeleteBeforeReplace, IgnoreChanges, ReplaceOnChanges, and RetainOnDelete. #​12701

  • [sdk/go] Support vendored dependencies for Pulumi programs. #​12727

Bug Fixes
  • [cli] Fix destroy without project file. #​12728

  • [programgen] Allow using option(T) in range expressions #​12717

  • [sdk/go] Ensure that dependency searches happen in the Pulumi program directory. #​12732

  • [pkg/testing] Fix failure in writing a package.json for test overrides. #​12700

Miscellaneous
  • [pkg/testing] ProgramTest now supports --exclude-protected during stack cleanup. #​12699

v3.64.0

Compare Source

Features
  • [cli/display] Adds an indicator for resources that are being deleted/replaced with retainOnDelete set as well as an itemized warning. #​12157

  • [backend/{filestate,service}] Add more information to pulumi stack history (Update CLI Args, Environment Variables, Pulumi Version, OS, Architecture). #​12574

Bug Fixes
  • [pkg/testing] deploytest: Fix nil custom timeouts and timeouts smaller than a minute being ignored. #​12681

  • [programgen] Do not panic when PCL attribute type or PCL resource variable type isn't fully bound #​12661

  • [sdk/go] Fixed NewResourceOptions dropping MLC dependencies from the options preview. #​12683

  • [programgen/nodejs] Linearize component resource nodes #​12676

  • [sdk/python] Fix component resources not correctly propagating the provider option to their children. This is a re-application of #​12292, which was previously reverted in #​12522.

    #​12639

  • [sdk/python] Fix multi-language components dropping the provider option intended for their descendants. #​12639

  • [sdkgen/python] Fix referencing local types with a different package name #​12669

Miscellaneous
  • [pkg] Bump pulumi-terraform-bridge #​12625

  • [programgen] Do not panic when the type of PCL local variable isn't known #​12670

v3.63.0

Compare Source

Bug Fixes
  • [cli/config] Fix config set-all not saving secret provider configuration. #​12643

  • [cli/display] Fix a panic when diffing empty archives. #​12656

  • [programgen] Suppport the any type in config and outputs. #​12619

  • [sdk/go] Fix hang due to component children cycles #​12516

  • [sdk/nodejs] Fix hang due to component children cycles #​12515

  • [sdk/python] Fix hang due to component children cycles #​12462

Miscellaneous
  • [backend/filestate] Propagate request context to external call sites. #​12638

v3.62.0

Compare Source

Features
  • [yaml] Updates Pulumi YAML to v1.1.0. #​12612

v3.61.1

Compare Source

Features
  • [programgen/python] Impleneted python program-gen for PCL components #​12555
Bug Fixes
  • [programgen/{nodejs,python}] Fixes the type signature of PCL function "entries" to return list of key-value pair objects #​12607

  • [cli/package] Fix bug in package get-schema subcommand caused it to bail on certain providers. #​12459

  • [cli/state] Fixes panic when renaming providers in pulumi state rename. #​12599

v3.61.0

Compare Source

Features
  • [backend/filestate] Add support for project-scoped stacks. Newly initialized backends will automatically use this mode. Set PULUMI_SELF_MANAGED_STATE_LEGACY_LAYOUT=1 to opt-out of this. This mode needs write access to the root of the .pulumi directory; if you're using a cloud storage, be sure to update your ACLs.

    #​12437

  • [cli/state] Add 'upgrade' subcommand to upgrade a Pulumi self-managed state to use project layout. #​12438

Bug Fixes
  • [cli/display] Fix a bug in the interactive update tree display where small terminals would cause the Pulumi CLI to panic. #​12571

  • [sdkgen/dotnet] Fix a whitespace error in generated .csproj files. #​12577

Miscellaneous
  • [backend/filestate] Print a warning if a project-scoped backend has non-project stacks in it. Disable this warning by setting PULUMI_SELF_MANAGED_STATE_NO_LEGACY_WARNING=1.

    #​12437

v3.60.1

Compare Source

Features
  • [sdkgen/python] In codegen, use 3.7 as a default if not provided. #​12287
Bug Fixes
  • [backend/filestate] Don't write a state metadata file for legacy layouts. This should prevent permissioning issues for users with tight access control to the storage backend.

    #​12537

  • [docs] Fix filename clashes between resources and functions on case-insensitive filesystems in docsgen. #​12453

  • [engine] Fix updating a resource from a component to custom resource. #​12561

  • [engine] Revert MR moving deletedWith inheritance logic to the engine as get resources and packaged components are incompatible. #​12564

  • [sdk] Fix multiplied retries when downloading plugins. #​12504

  • [auto/go] Added support for the path option for config operations #​12265

Miscellaneous
  • [backend/filestate] Rename state metadata file from .pulumi/Pulumi.yaml to .pulumi/meta.yaml. This is an internal detail to the self-managed backend's storage format intended to avoid confusion with Pulumi project files, and should not affect most users.

    #​12538

v3.60.0

Compare Source

Features
  • [engine] Enhances the state schema to track fields Created, Modified per each resource. The timestamp is captured in RFC3339. It pertains to timestamps of state modification done by the engine. #​12082

  • [engine] DeletedWith ResourceOption is now inherited from its parent across SDKs. #​12446

  • [programgen/{dotnet,nodejs}] Object-typed config variables for components #​12488

Bug Fixes
  • [sdk] common: Fix extraneous backoff during retries. #​12502

  • [sdkgen/dotnet] respectSchemaVersion now writes the package version to the .csproj file. #​12518

  • [sdk/python] Revert #​12292 to unbreak some users. #​12522

  • [sdkgen/{dotnet,go,nodejs,python}] Add respectSchemaVersion to schema. #​12511

v3.59.1

Compare Source

Bug Fixes
  • [sdk] Make default logger thread-safe. #​12485

  • [sdk/go] Track rehydrated components as dependencies. #​12494

  • [sdkgen/go] Fixes emission of dup types breaking Go compilation when chunking >500 helper types. #​12484

Miscellaneous
  • [cli] Improve CLI upgrade instructions for macOS. #​12483

v3.59.0

Compare Source

Features
  • [programgen] PCL program.WriteSource(afero.Fs) writes the full directory tree of PCL source files. #​12428

  • [programgen/{dotnet,go,nodejs,python}] Implement description as comments or docstring for config variables in program-gen #​12464

  • [programgen/{dotnet,nodejs}] Component resources implementation including nested components #​12398

  • [backend/service] Add "--teams" flag to assign team name to stack during init #​11974

Bug Fixes
  • [auto/go] Fix memory leak in stack.Up() in Automation API. #​12475

  • [auto/{go,nodejs,python}] Fix calling WhoAmI against pre 3.58 CLIs. #​12466

  • [engine] Fixed automatic plugin downloads for third-party plugins. #​12441

  • [programgen/python] Fix handling of reserved words in imports. #​12447

Miscellaneous
  • [ci] Bumps python version in matrix to 3.11 #​11238

v3.58.0

Compare Source

Features
  • [auto/go] Add WhoAmIDetails which includes user, url and organizations to Go Automation API #​12374

  • [auto/nodejs] Add url and organizations to WhoAmIResult for NodeJS Automation API #​12374

  • [auto/python] Add url and organizations to WhoAmIResult for Python Automation API #​12374

  • [cli] Add --json flag to pulumi whoami to emit output as JSON #​12374

  • [cli/display] Add a view in browser shortcut to the interactive display. #​12412 #​12380

  • [programgen/dotnet] PCL components and dotnet program-gen implementation #​12361

  • [programgen/{dotnet,go,nodejs,python}] Add "NotImplemented" PCL function intrinsic #​12409

  • [sdk/go] Adds NewInvokeOptions to preview the effect of a list of InvokeOption values. #​12128

Bug Fixes
  • [cli/display] Do not treat single-line strings as YAML values #​12406

  • [sdk/go] Fixes an ID handling bug in provider_server Read implementation #​12410

  • [sdk/go] Fixes use of Provider option from parent resources with mismatched packages. #​12433

v3.57.1

Compare Source

Bug Fixes
  • [cli/plugin] Fix sending empty tokens to GitHub API. #​12392

v3.57.0

Compare Source

Features
  • [cli/display] Autoscroll the interactive display and support pgup/pgdown #​12363

  • [programgen] Support options.retainOnDelete on resources in PCL. #​12305

  • [sdkgen/dotnet] Update sdkgen to target dotnet 6. #​12333

  • [programgen/{dotnet,go,nodejs,python}] Adds support for generating RetainOnDelete options. #​12306

  • [auto/go] Enable programmatic tagging of stacks (Go only) #​12329

  • [auto/python] Enable programmatic tagging of stacks (Python only) #​12275

  • [sdk/go] Adds NewResourceOptions to preview the effect of a list of ResourceOption values. #​12124

  • [sdk/python] Added support for shimless Python plugins. #​12362

Bug Fixes
  • [cli/display] Reorder options to handle pending creates. Users can now hold enter to select the clear option which should be more ergonomic. #​12375

  • [auto/{dotnet,go,nodejs,python}] Fix support for specifying a git commit for remote workspaces #​11716

  • [auto/go] Fetch commits before checkout #​12331

  • [auto/go] The various workspace load routines (e.g. LoadProject) are no longer singularly cached. #​12370

  • [sdk/go] Fixes overwrite of the Provider option by the Providers option due to ordering. #​12296

  • [auto/nodejs] Fixes issue with specifying a git username for remote workspaces #​12269

  • [sdk/python] Fixes Component Resources not correctly propagating the provider option to its children. #​12292

Miscellaneous
  • [sdk/go] common/util/contract: Deprecate functions that don't accept printf-style arguments. #​12350

v3.56.0

Compare Source

Features
Bug Fixes
  • [backend/service] Reduce retrieval-validation latency for update tokens #​12323

  • [sdk/go] Fix panic from attempting to create a resource with an uninitialized parent resource. #​12303

  • [cli/import] Fixes panic on incomplete resources in JSON file. #​12182

  • [sdk/nodejs] Cleanup temporary pulumi-node-pipes folders after running. #​12294

  • [sdk/nodejs] Fix stack outputs picking up co-located JSON files. #​12302

  • [cli/plugin] Remove temporary files from plugin downloads. #​12146

Miscellaneous
  • [sdk/go] common/resource/testing: Returns strongly typed generators instead of interface{} generators. #​12197

  • [sdk/python] grpc 1.51.3 Python SDK contains native arm64 binaries (universal2) #​12313

v3.55.0

Compare Source

Features
  • [cli] Remove the [experimental] yes, using Update Plans prompt. #​12135

  • [backend/filestate] pulumi login gs:// to support google oauth access tokens via environment variable for Google Cloud Storage backends #​12102

  • [sdk/go] Adds StackReference.GetOutputDetails to retrieve outputs from StackReferences as plain objects. #​12034

  • [sdk/nodejs] Adds StackReference.getOutputDetails to retrieve outputs from StackReferences as plain objects. #​12072

  • [sdk/python] Adds StackReference.get_output_details to retrieve outputs from StackReferences as plain objects. #​12071

Bug Fixes
  • [cli] Fix verbose logging to filter secrets. #​12079

  • [engine] This fixes an issue where 'pulumi state delete ' would prompt the user to disambiguate between multiple resources in state with the same URN and proceed to delete all of them. With this change, dependency checks are performed only if the deletion will lead to no resources possessing the URN. The targetDependents flag will only target dependents if the deleted resource will orphan the dependents. #​12111

  • [engine] Fixed issue where pulumi displays multiline secrets when the newlines(' ') are escaped. #​12140

  • [sdkgen/go] Prevent defaults from overriding set values. #​12099

Miscellaneous
  • [pkg] Raise 'go' directive to 1.18. #​11807

  • [sdk/go] Raise 'go' directive to 1.18. #​11807

v3.54.0

Compare Source

Features
  • [cli] Add --shell flag to pulumi stack output to print outputs as a shell script. #​11956

  • [cli] Add --insecure flag to pulumi login which disables https certificate checks #​9159

  • [programgen] Add a new unsecret intrinsic function to PCL. #​12026

  • [sdkgen/go] Go SDKs now use errors.New instead of github.com/pkg/errors.New. #​12046

Bug Fixes
  • [auto] Add support for cloning from Azure DevOps #​12001

  • [sdkgen] Correctly error on resource using the reserved name "provider". #​11996

  • [sdk/python] Fix handling of Output keys in dicts passed to Output.from_input. #​11968

Miscellaneous
  • [sdk/go] Delegate alias computation to the engine #​12025

  • [sdk/python] Delegate alias computation to the engine #​12015

v3.53.1

Compare Source

Bug Fixes
  • [engine] Revert go-cloud upgrade to fix issues with Azure secrets. #​11984

v3.53.0

Compare Source

Features
  • [auto/nodejs] Enable programmatic tagging of stacks (Nodejs only) #​11659

  • [sdk/go] Coerces output values in ApplyT calls if the types are equivalent. #​11903

  • [sdk/nodejs] Add optional / backwards compatible generic types to pulumi.dynamic.ResourceProvider. #​11881

Bug Fixes
  • [auto/nodejs] Fix NodeJS automation api always setting the PULUMI_CONFIG environment variable. #​11943

  • [cli/display] Display text-based diff if yaml/json diff is semantically equal #​11803

  • [sdk/go] Fixes data race in provider plugin resulting in weakly typed secrets. #​11975

  • [sdk/nodejs] Fix handling of recursive symlinks in node_modules. #​11950

v3.52.1

Compare Source

Bug Fixes
  • [engine] Fix launching non-Go plugins on Windows. #​11915

v3.52.0

Compare Source

Features
  • [sdk/go] Allows users to discover if their program is being run with a mock monitor #​11788

  • [sdk/nodejs] Add support for custom naming of dynamic provider resource. #​11873

  • [sdkgen/{dotnet,nodejs}] Initial implementation of simplified invokes for dotnet and nodejs. #​11753

Bug Fixes
  • [cli/display] Fixes #​11864. Pulumi panics before main when Pulumi.yaml provider plugin does not have a path provided. #​11892

  • [sdk/{go,nodejs,python}] Fix DeletedWith resource option #​11883

  • [sdk/python] Fix a TypeError in Output.from_input. #​11852

v3.51.1

Compare Source

Features
  • [sdk/go] Add JSONUnmarshal to go sdk. #​11745

  • [sdk/python] Add output json_loads using json.loads. #​11741

Bug Fixes
  • [cli/new] Allow running inside new VCS repositories. #​11804

  • [auto/python] Fix issue specifying log_verbosity #​11778

  • [protobuf] Downstream implementers of the RPC server interfaces must embed UnimplementedServer structs or opt out of forward compatibility. #​11652

v3.51.0

Compare Source

Happy New Years from the Pulumi team! This is our first release of 2023, and we're very excited for all the things to come this year.

Features
  • [sdk/nodejs] Add output jsonParse using JSON.parse. #​11735

v3.50.2

Compare Source

3.50.2 (2022-12-21)

Happy holidays! The Pulumi team thanks grpc maintainers for addressing build issues and publishing wheels on macOS.

Miscellaneous
  • [sdk/python] Fix error installing SDK when using Python 3.11, bumping grpcio dependency. #​11431

v3.50.1

Compare Source

Bug Fixes
  • [cli/display] Fix flickering in the interactive display #​11695

  • [cli/plugin] Fix check of executable bits on Windows. #​11692

  • [codegen] Revert change to codegen schema spec. #​11701

v3.50.0

Compare Source

We're approaching the end of 2022, and this is the final minor release scheduled for the year! 🎸 Thank you very much to our wonderful community for your many contributions!

Features
  • [auto/{go,nodejs,python}] Adds SkipInstallDependencies option for Remote Workspaces #​11674

  • [ci] GitHub release artifacts are now signed using cosign and signatures are uploaded to the Rekor transparency log. #​11310

  • [cli] Adds a flag that allows user to set the node label as the resource name instead of full URN in the stack graph #​11383

  • [cli] pulumi destroy --remove will now delete the stack config file #​11394

  • [cli] Allow rotating the encrpytion key for cloud secrets. #​11554

  • [cli/{config,new,package}] Preserve comments on editing of project and config files. #​11456

  • [sdk/dotnet] Add Output.JsonSerialize using System.Text.Json. #​11556

  • [sdk/go] Add JSONMarshal to go sdk. #​11609

  • [sdkgen/{dotnet,nodejs}] Initial implementation of simplified invokes for dotnet and nodejs. #​11418

  • [sdk/nodejs] Delegates alias computation to engine for Node SDK #​11206

  • [sdk/nodejs] Emit closure requires in global scope for improved cold start on Lambda #​11481

  • [sdk/nodejs] Add output jsonStringify using JSON.stringify. #​11605

  • [sdk/python] Add json_dumps to python sdk. #​11607

Bug Fixes
  • [backend/service] Fixes out-of-memory issues when using PULUMI_OPTIMIZED_CHECKPOINT_PATCH protocol #​11666

  • [cli] Improve performance of convert to not try and load so many provider plugins. #​11639

  • [programgen] Don't panic on some empty objects #​11660

  • [cli/display] Fixes negative durations on update display. #​11631

  • [programgen/go] Check for optional/ Ptr types within Union types. This fixes a bug in Go programgen where optional outputs are not returned as pointers. #​11635

  • [sdkgen/{dotnet,go,nodejs,python}] Do not generate Result types for functions with empty outputs #​11596

  • [sdk/python] Fix a deadlock on provider-side error with automation api #​11595

  • [sdkgen/{dotnet,nodejs}] Fix imports when a component is using another component from the same schema as a property #​11606 #​11467

  • [sdkgen/go] Illegal cast in resource constructors when secret-wrapping input arguments. #​11673

Miscellaneous
  • [sdk/nodejs] Remove function serialization code for out of suppport NodeJS versions. #​11551 queue-merge: true run-dispatch-commands: true version-set: { "dotnet": "6.0.x", "go": "1.18.x", "nodejs": "14.x", "python": "3.9.x" }

v3.49.0

Compare Source

Features
  • [sdk] Add methods to cast pointer types to corresponding Pulumi Ptr types #​11539

  • [yaml] Updates Pulumi YAML to v1.0.4 unblocking Docker Image resource support in a future Docker provider release. #​11583

  • [backend/service] Allows the service to opt into a bandwidth-optimized DIFF protocol for storing checkpoints. Previously this required setting the PULUMI_OPTIMIZED_CHECKPOINT_PATCH env variable on the client. This env variable is now deprecated. #​11421

  • [cli/about] Add fully qualified stack name to current stack. #​11387

  • [sdk/{dotnet,nodejs}] Add InvokeSingle variants to dotnet and nodejs SDKs #​11564

Bug Fixes
  • [docs] Exclude id output property for component resources #​11469

  • [engine] Fix an assert for resources being replaced but also pending deletion. #​11475

  • [pkg] Fixes codegen/python generation of non-string secrets in provider properties #​11494

  • [pkg/testing] Optionally caches python venvs for testing #​11532

  • [programgen] Improve error message for invalid enum values on pulumi convert. #​11019

  • [programgen] Interpret schema.Asset as pcl.AssetOrArchive. #​11593

  • [programgen/go] Convert the result of immediate invokes to ouputs when necessary. #​11480

  • [programgen/nodejs] Add . between ? and [. #​11477

  • [programgen/nodejs] Fix capitalization when generating fs.readdirSync. #​11478

  • [sdk/nodejs] Fix regression when passing a provider to a MLC #​11509

  • [sdk/python] Allows for duplicate output values in python #​11559

  • [sdkgen/go] Fixes superfluous newline being added between documentation comment and package statement in doc.go #​11492

  • [sdkgen/nodejs] Generate JS doc comments for output-versioned invokes and use explicit any type. #​11511

v3.48.0

Compare Source

Bug Fixes
  • [cli] Don't print update plan message with --json. #​11454

  • [cli] up --yes should not use update plans. #​11445

v3.47.2

Compare Source

Features
  • [cli] Add prompt to up to use experimental update plans. #​11353
Bug Fixes
  • [sdk/python] Don't error on type mismatches when using input values for outputs #​11422

v3.47.1

Compare Source

Bug Fixes
  • [sdk/{dotnet,go,nodejs}] Attempt to select stack then create as fallback on 'createOrSelect' #​11402

v3.47.0

Compare Source

Features
  • [cli] Added "--from=tf" to pulumi convert. #​11341

  • [engine] Engine and Golang support for language plugins starting providers directly. #​10916

  • [sdk/dotnet] Add DictionaryInvokeArgs for dynamically constructing invoke input bag of properties. #​11335

  • [sdk/go] Allow sane conversions for As*Map* and As*Array* conversions. #​11351

  • [sdkgen/{dotnet,nodejs}] Add default dependencies for generated SDKs. #​11315

  • [sdkgen/nodejs] Splits input and output definitions into multiple files. #​10831

Bug Fixes
  • [cli] Fix stack selection prompt. #​11354

  • [engine] Always keep resources when pulumi:pulumi:getResource is invoked #​11382

  • [pkg] Fix a panic in codegen for an edge case involving object expressions without corresponding function arguments. #​11311

  • [programgen] Enable type checking for resource attributes #​11371

  • [cli/display] Fix text cutting off prior to the edge of the terminal #​11202

  • [programgen/{dotnet,go,nodejs,python}] Don't generate traverse errors when typechecking a dynamic type #​11359

  • [sdk/{go,nodejs,python}] Set acceptResources when invoking pulumi:pulumi:getResource #​11382

  • [sdk/python] Copy ResourceOptions correctly during a merge. #​11327

v3.46.1

Compare Source

Features
  • [cli] Enables debug tracing of Pulumi gRPC internals: PULUMI_DEBUG_GRPC=$PWD/grpc.json pulumi up #​11085

  • [cli/display] Improve the usability of the interactive dipslay by making the treetable scrollable #​11200

  • [pkg] Add DeletedWith as a resource option. #​11095

  • [programgen] More programs can be converted to Pulumi when using pulumi convert, provider bridging, and conversion tools by allowing property accesses and field names to fall back to a case insensitive lookup. #​11266

Bug Fixes

v3.46.0

Compare Source

Features
Bug Fixes
  • [engine] Fix a bug in update plans handling resources being replaced due to other resources being deleted before replacement. #​11009

  • [engine] Pending deletes are no longer executed before everything else. This correctly handles dependencies for resource graphs that were partially deleted. #​11027

  • [engine] Expand duplicate URN checks across direct URNs and aliases. #​11212

v3.45.0

Compare Source

Features
  • [auto/dotnet] Support for remote operations #​11194

  • [cli/config] Typing made optional, extended short-hand values to arrays and correctly pass stack name to config validator #​11192

  • [auto/go] Support for remote operations #​11168

  • [auto/nodejs] Support for remote operations #​11170

  • [auto/python] Support for remote operations #​11174

Bug Fixes
  • [sdk/{go,yaml}] Block IsSecret until secretness is known #​11189

  • [sdk/{go,yaml}] Prevent race on resource output #​11186

v3.44.3

Compare Source

Features
  • [cli/state] Add the --target-dependents flag to pulumi state delete #​11164
Bug Fixes
  • [cli] Hard reset the templates checkout to work around a go-git issue with ignored files. #​11175

  • [auto/dotnet] allow deserializing complex stack config values. #​11143

  • [auto/{dotnet,go,nodejs,python}] detect concurrent update error from local backend. #​11146

v3.44.2

Compare Source

Features
  • [cli] Allow globbing for resources that do not yet exist #​11150

  • [auto/dotnet] Add Json option to UpdateOptions. #​11148

Bug Fixes
  • [build] Fix release build to continue to use MacOS 11. #​11155

  • [engine] Prevent concurrent read/writes to the component providers map. #​11151

v3.44.1

Compare Source

Bug Fixes
  • [engine] Fix an invalid cast in analyzer plugins. #​11141

v3.44.0

Compare Source

Features
  • [auto/go] Add InstallPluginFromServer method #​10955

  • [auto/nodejs] Add InstallPluginFromServer #​10955

  • [auto/python] Add install_plugin_from_server #​10955

  • [cli] Implement initial MVP for hierarchical and structured project configuration. #​10832

  • [cli] Allow rotating the passphrase non-interactively #​11094

  • [programgen] Add error reporting infrastructure #​11032

Bug Fixes
  • [ci] Fix pull request URLs in Pulumi changelogs #​11060

  • [engine] Fix type validation of stack config with secure values. #​11084

  • [cli/engine] Component Resources inherit thier parents providers map #​10933

  • [cli/import] Only trigger an import when necessary during refresh. #​11100

  • [sdk/go] Allow decoding *asset and *archive values #​11053

  • [sdkgen/{go,python}] Handle hypheneated names in go and python #​11049

  • [sdk/nodejs] Fixes loss of undefined type case in all() #​11048

  • [sdk/python] pulumi.automation.create_or_select_stack() attempts to select the stack before attempting to create #​11115

  • [sdk/python] Python runtime now respects the --parallel flag. #​11122

Miscellaneous
  • [protobuf] Bumps python grpcio version #​11067

  • [sdk/go] Update notes, update the deprecated functions, make some lint. #​11002

v3.43.1

Compare Source

Bug Fixes
  • [sdkgen/{go,python}] Revert 10738, fixing python class generation #​11033

v3.43.0

Compare Source

Features
  • [auto/nodejs] Adds support for parallel programs in NodeJS Automation API #​10568

  • [backend/service] Implements diff-based snapshot saving protocol that reduces bandwidth on large stacks. To opt into this feature, set the environment variable and value PULUMI_OPTIMIZED_CHECKPOINT_PATCH=true. #​10788

  • [engine] Adds structured alias support to the engine #​10819

  • [cli/display] Displays time elapsed when modifying a resource. #​10953

  • [sdk/go] Modifies built-in As-ArrayOutput methods to attempt to convert []interface{} to []T. #​10991

  • [sdkgen/go] Add modulePath to go, allowing accurate go.mod files for prerelease packages #​10944

  • [cli/new] Add --remove flag topulumi destroy #​10943

Bug Fixes
  • [cli] Project path is included in error messages when a project can't be loaded. #​10973

  • [cli/display] Fix gocloud unconditonally writing to stderr. #​11007

  • [cli/{display,engine}] Use of unsupported ResourceOptions on components will no longer raise resource warnings, instead they are just logged to the diagnostic error stream. #​11010

  • [cli/import] Handle importing resource properties that are typed as a union #​10995

  • [cli/package] Require a path separator for path based binaries. This allows us to distinguish between ./myProvider (execute the binary at path) and myProvider (execute the installed plugin). #​11015

  • [programgen/dotnet] Annotate deeply nested objects with their schema types and apply property name overrides #​10976

  • [programgen/go] Fixes int constant range expressions for go #​10979

  • [programgen/go] Missing default case handling when generating local variables #​10978

  • [sdk/go] Avoid backfilling property deps for Go #​11021

  • [sdkgen] Re-enables caching the schemas of versioned provider plugins. #​10971

  • [programgen/python] Recursively annotate expressions under invoke calls with their associated schema types #​10958

Miscellaneous

v3.42.0

Compare Source

Bug Fixes
  • [cli/new] Fix cloning templates from Azure DevOps repos. #​10954

  • [docs] Allow more flexible parsing when extracting examples from doc comments #​10913

  • [sdkgen/python] Fixes dangling type-refs generated under compatibility=tfbridge20 for schemas that refer to types aross modules. #​10935

v3.41.1

Compare Source

Features
Bug Fixes
  • [cli] Prevent sending on a closed channel panics during 'pulumi convert' #​10893

  • [programgen/go] Fix codegen for __apply functions #​10775

  • [sdk/go] Go programs run with Go 1.17 or below failed due to go mod tidy being run with -compat=1.18. The change is reverted. #​10865

  • [sdk/go] Fixed bug in (ours, theirs) to (theirs, theirs) #​10881

  • [sdk/python] Fix KeyError in UpdateSummary. #​10907

  • [sdkgen/nodejs] Fixes a bug with lazy-loaded modules that caused mixins to observe unexpected null values. #​10871

v3.40.3

Compare Source

v3.40.2

Compare Source

Features
  • [cli] Allow per-execution override of the cloud secrets provider url via the PULUMI_CLOUD_SECRET_OVERRIDE environment variable. This allows a temporary replacement without updating the stack config, such a during CI. This does not effect stacks using service secrets or passphrases. #​10749 #​10749 #​10749

  • [cli/new] Enables pulumi new to use templates from Azure DevOps(currently limited to master/main branches and does not support providing subdirectories). #​10789

  • [engine] 'pulumi policy new' now uses the same system as 'pulumi new' to install dependencies. #​10797

  • [programgen] Support resource option "version" in pulumi convert to select specific provider SDK versions. #​10194

  • [yaml] Updates Pulumi YAML to v0.5.8 #​10856

  • [cli/plugin] Don't retry plugin downloads in 403 and 404 responses #​10803

  • [sdk/dotnet] Added Deployment.OrganizationName to return the current organization if available. #​10564

  • [sdk/go] Pulumi Go Programs now support a Pulumi.yaml option buildTarget: path/to/binary to compile/recompile a Go binary to that location. #​10731

  • [sdk/go] Added Context.Organization to return the current organization if available. #​10811

Bug Fixes
  • [ci] Re-enable Homebrew Tap publishing. #​10796

  • [cli] Fixes --tracing to account for response parsing in HTTP api/* spans. #​10828

  • [cli] Fixes Pulumi.yaml validation error when the refresh: always option is specified #​10833

  • [engine] Mark pulumi-analyzer-policy and pulumi-analyzer-policy-python as bundled plugins. #​10817

  • [engine] Fix node and python MLCs on Windows. #​10827

  • [sdkgen/dotnet] Fixes a .NET SDK codegen bug when emitting functions with secret parameters. #​10840

  • [sdkgen/dotnet] Fix the type emitted for ImmutableArray.Create and ImmutableDictionary.Create for secret properties. #​10850

  • [sdk/nodejs] The @pulumi/pulumi package is now interoperable with ESModules. #​10622

  • [sdk/{nodejs,python}] getOrganization now returns "organization" by default. #​10820

  • [programgen/yaml] Fix incorrect import for non-pulumi owned package on convert #​10727

v3.40.1

Compare Source

Features
  • [backend] Adds a flag PULUMI_SKIP_CHECKPOINTS=true that makes Pulumi skip saving state checkpoints as it modifies resources and only save the final state of a deployment. #​10750

    This is an experimental feature that also requires PULUMI_EXPERIMENTAL=true to be set.

    Using the feature introduces risk that in the case of network disconnect or crash state edits will be lost and may require manual recovery. When this risk is acceptable, using the feature can speed up Pulumi deployments.

    See also:

  • [ci] Improves first-time contributor developer experience and reduces test execution time by defaulting integration.ProgramTest to a filestate backend. Tests that require running against a service should set RequireService to true. #​10720

  • [cli] Add a package author focused subcommand: pulumi package with subcommands pulumi package gen-sdk and pulumi package get-schema. #​10711

  • [cli] Use "https://github.com/pulumi/pulumi/blob/master/sdk/go/common/workspace/project.json" to validate loaded project files. #​10596

Bug Fixes
  • [sdk/go] Correctly handle nil resource references in the RPC layer. #​10739

v3.40.0

Compare Source

Bug fixes
  • [engine] Plugin resolution now automatically installs any missing plugins as they are encountered. #​10691
Miscellaneous
  • [ci] Miscellaneous improvements to release process.

v3.39.4

Compare Source

Improvements
  • [provider/go]: Added support for token authentication in the go providers which use git. #​10628

  • [codegen/go] Chunk the pulumiTypes.go file to reduce max file size. #​10666

Bug Fixes
  • Fix invalid resource type on pulumi convert to Go #​10670

  • [auto/nodejs] onOutput is now called incrementally as the underyling Pulumi process produces data, instead of being called once at the end of the process execution. This restores behavior that regressed since 3.39.0. #​10678

Miscellaneous
  • [ci] Migrate to merge queues for more reliable builds #​10644

v3.39.3

Compare Source

Improvements
  • [sdk/python] Improve error message when pulumi-python cannot find a main program. #​10617

  • [cli] provide info message to user if a pulumi program contains no resources #​10461

Bug Fixes
  • [engine/plugins]: Revert change causing third party provider packages to prevent deployment commands (up, preview, ...) when used with the nodejs runtime. Reverts #​10530. #​10650

v3.39.2

Compare Source

Improvements
  • [sdk/go] Pulumi Go programs, on failure, now log a single error message. #​10347

  • [sdk/nodejs] Updated the vendored version of TypeScript in the NodeJS SDK and runtime from v3.7.3 to v3.8.3 #​10618

Bug Fixes
  • [sdk/nodejs] Calls onOutput in runPulumiCmd #​10631

v3.39.1

Compare Source

Improvements
  • [cli] Display outputs last in diff view. #​10535

  • [sdk/python] Dropped support for Python 3.6. #​10529

  • [codegen/nodejs] Support lazy-loading Node modules. #​10538

  • [cli/backend] Gzip compress HTTPS payloads for pulumi import and secret decryption against the Pulumi Service backend. #​10558

Bug Fixes
  • [cli] Fix the "no Pulumi.yaml project file found" error message. #​10592

  • [cli/refresh] Do not panic when snapshot is nil. #​10593

  • [sdk/{python,nodejs}] Fix the use of getOrganization in policy packs. #​10574

v3.39.0

Compare Source

Improvements
  • [yaml] Updates Pulumi YAML to v0.5.5

  • [cli] Allow pulumi refresh to interactively resolve pending creates. #​10394

  • [cli] Clarify highlighting of confirmation text in confirmPrompt. #​10413

  • [provider/python]: Improved exception display. The traceback is now shorter and it always starts with user code. #​10336

  • [sdk/python] Update PyYAML to 6.0

  • [cli/watch] pulumi watch now uses relies on a program built on watchexec to implement recursive file watching, improving performance and cross-platform compatibility. This pulumi-watch program is now included in releases. #​10213

  • [codegen] Reduce time to execute pulumi convert and some YAML programs, depending on providers used, by up to 3 seconds. #​10444

  • [dotnet/sdk] Implement Deployment.TestAsync overloads which accept functions that create resources without requiring a stack definition. #​10458

  • [sdk/nodejs] Added stack truncation to SyntaxError in nodejs. #​10465

  • [sdk/python] Makes global SETTINGS values context-aware to not leak state between Pulumi programs running in parallel #​10402

  • [sdk/python] Makes global ROOT, CONFIG, _SECRET_KEYS ContextVars to not leak state between parallel inline Pulumi programs #​10472

  • [sdk/go] Improve error messages for StackReferences #​10477

  • [sdk/dotnet] Added Output.CreateSecret<T>(Output<T> value) to set the secret bit on an output value. #​10467

  • [policy] pulumi policy publish now takes into account .gitignore files higher in the file tree. #​10493

  • [sdk/go] enable direct compilation via go build(set PULUMI_GO_USE_RUN=true to opt out) #​10375

  • [cli/backend] Updates no longer immediately renew the token but wait until the token is halfway through its expiration period. Currently it is assumed tokens expire in 5 minutes, so with this change the first lease renewal now happens approximately 2.5 minutes after the start of the update. The change optimizes startup latency for Pulumi CLI. #​10462

  • [cli/plugin] plugin install now supports a --checksum option. #​10528

  • [sdk/{nodejs/python}] Added getOrganization() to return the current organization if available. #​10504

Bug Fixes
  • [codegen/go] Fix StackReference codegen. [#​10260](https://github.com/pulumi/pulumi/pull/10260

  • [engine/backends]: Fix bug where File state backend failed to apply validation to stack names, resulting in a panic. #​10417

  • [cli] Fix VCS detection for domains other than .com and .org. #​10415

  • [codegen/go] Fix incorrect method call for reading floating point values from configuration. #​10445

  • [engine]: HTML characters are no longer escaped in JSON output. #​10440

  • [codegen/go] Ensure consistency between go docs information and package name #​10452

  • [auto/go] Clone non-default branches (and tags). #​10285

  • [cli] Fixes survey.v1 panics in Terminal UI introduced in #​10130 in v3.38.0. #​10475

  • [codegen/ts] Fix non-pulumi owned provider import alias. #​10447

  • [codegen/go] Fix import path for non-pulumi owner providers #​10485

  • [cli] Fixes panics on repeat Ctrl+C invocation during long-running updates #​10489

  • [cli] Improve Windows reliability with dependency update to ssh-agent #​10486

  • [sdk/{dotnet,nodejs,python}] Dynamic providers and automation API will not trigger a firewall permission prompt, will only accept network requests via loopback address. #​10498 #​10502 #​10503

  • [cli] Fix pulumi console command to follow documented behavior in help message/docs. #​10509

  • [sdk/nodejs] Fixes an issue which would occur when multiple processes were spawned and some would receive no stdout/stderr 10522

  • [engine] Plugin resolution now automatically installs any missing plugins as they are encountered. #​10530

  • [python] put python version check after installing dependencies to resolve fork/exec warning #​10524

  • [go/codegen] Fix generating invalid Go code when derivatives of input types collide with existing resource types #​10551

v3.38.0

Compare Source

Improvements
  • [cli] Updated to the latest version of go-git. #​10330

  • [sdk] Merge python error message and traceback into single error message. #​10348

  • [sdk/python] Support optional default parameters in pulumi.Config #​10344

  • [sdk/nodejs] Adds warning message when entrypoint resolution is ambiguous #​3582

  • [automation] Add options for Automation API in each SDK to control logging and tracing, allowing automation API to run with the equivalent of CLI arguments --logflow, --verbose, --logtostderr, --tracing and --debug #​10338

  • [yaml] Updates Pulumi YAML to v0.5.4

  • [java] Updates Pulumi Java to v0.5.4

  • [cli] pulumi about now queries language plugins for information, rather than having hardcoded language logic. #​10392

  • [sdk/python] Deprecate PULUMI_TEST_MODE #​10400

Bug Fixes

v3.37.2

Compare Source

Bug Fixes

v3.37.1

Compare Source

Improvements
  • [cli] Groups pulumi help commands by category #​10170

  • [sdk/nodejs] Removed stack trace output for Typescript compilation errors #​10259

Bug Fixes
  • [cli] Fix installation failures on Windows due to release artifacts shipped omitting a folder, pulumi/*.exe instead of pulumi/bin/*.exe. #​10264

v3.37.0

Compare Source

Breaking
  • [engine] Engine now always encrypts secret return values in Invoke. May break Language SDKs<3.0.0 #​10239
Improvements
  • [auto/go] Adds the ability to capture incremental stderr via the new option ErrorProgressStreams. #​10179

  • [cli/plugins] Warn that using GITHUB_REPOSITORY_OWNER is deprecated. #​10142

  • [dotnet/codegen] code generation for csharp Pulumi programs now targets .NET 6 #​10143

  • [cli] Allow pulumi plugin install <type> <pkg> -f <path> to target a binary file or a folder. #​10094

  • [cli/config] Allow pulumi config cp --path between objects. #​10147

  • [codegen/schema] Support stack reference as a resource #​10174

  • [backends] When logging in to a file backend, validate that the bucket is accessible. #​10012

  • [cli] Add flag to specify whether to install dependencies on pulumi convert. #​10198

  • [cli] Expose gen-completion command when running pulumi --help. #​10218

  • [sdk/go] Expose context.Context from pulumi.Context. #​10190

  • [cli/plugins] Add local plugin linkage in Pulumi.yaml. #​10146

  • [engine] Remove sequence numbers from the engine and provider interfaces. #​10203

  • [engine] The engine will retry plugin downloads that error. #​10248

Bug Fixes
  • [cli] Only log github request headers at log level 11. #​10140

  • [sdk/go] config.Encrypter and config.Decrypter interfaces now require explicit Context. This is a minor breaking change to the SDK. The change fixes parenting of opentracing spans that decorate calls to the Pulumi Service crypter.

    #​10037

  • [codegen/go] Support program generation, pulumi convert for programs that create explicit provider resources. #​10132

  • [sdk/go] Remove the AsName and AsQName asserting functions. #​10156

  • [python] PULUMI_PYTHON_CMD is checked for deciding what python binary to use in a virtual environment. #​10155

  • [cli] Reduced the noisiness of pulumi new --help by replacing the list of available templates to just the number. #​10164

  • [cli] Revert "Add last status to pulumi stack ls output #​10059" #​10221

  • [python] Fix overriding of PATH on Windows. #​10236

  • [dotnet/codgen] Allow specified root namespace to be suffixed with "Pulumi" when generating packages #​10245

  • [dotnet/sdk] Serialize immutable arrays initialized by default. #​10247

  • [dotnet/codegen] Override static Empty property to return concrete argument types #​10250

v3.36.0

Compare Source

Improvements
  • [cli] Display outputs during the very first preview. #​10031

  • [cli] Add Last Status to pulumi stack ls output. #​6148

  • [cli] Allow pulumi destroy -s <stack> if not in a Pulumi project dir #​9918

  • [protobuf] Pulumi protobuf messages are now namespaced under "pulumi". #​10074

  • [cli] Truncate long stack outputs #​9905

  • [sdk/go] Add As*Output methods to AnyOutput #​10085

  • [yaml] Updates Pulumi YAML to v0.5.3

  • [sdk/go] Accept a short branch name in GitRepo.Branch #​10118

Bug Fixes
  • [cli] pulumi convert help text is wrong #​9892

  • [go/codegen] fix error assignment when creating a new resource in generated go code #​10049

  • [cli] pulumi convert generates incorrect input parameter names for C# #​10042

  • [engine] Un-parent child resource when a resource is deleted during a refresh. #​10073

  • [cli] pulumi state change-secrets-provider now takes --stack into account #​10075

  • [nodejs/sdkgen] Default set pulumi.name in package.json to the pulumi package name. #​10088

  • [sdk/python] update protobuf library to v4 which speeds up pulumi CLI dramatically on M1 machines #​10063

  • [engine] Fix data races discovered in CLI and Go SDK that could cause nondeterministic behavior or a panic. #​10081, #​10100

  • [go] Fix panic when returning pulumi.Bool, .String, .Int, and .Float64 in the argument to ApplyT and casting the result to the corresponding output, e.g.: BoolOutput. #​10103

v3.35.3

Compare Source

Improvements
Bug Fixes
  • [cli] pulumi convert supports provider packages without a version. #​9976

  • [cli] Revert changes to how --target works. This means that non-targeted resources do need enough valid inputs to pass Check. #​10024

v3.35.2

Compare Source

Improvements
  • [sdk/go] Added PreviewDigest for third party tools to be able to ingest the preview json #​9886

  • [cli] Do not require the --yes option if the --skip-preview option is set. #​9972

  • [yaml] Updates Pulumi YAML to v0.5.2, containing bug fixes and improvements primarily for pulumi convert from YAML. #​9993

Bug Fixes
  • [engine] Filter out non-targeted resources much earlier in the engine cycle. #​9960

  • [cli] Fix a panic in pulumi plugin ls --project --json. #​9998

  • [engine] Revert support for aliases in the engine. #​9999

v3.35.1

Compare Source

Improvements
  • [cli] The engine will now warn when a resource option is applied to a Component resource when that option will have no effect. This extends #​9863 which only warns for the ignoreChanges resource options. #​9921

  • [auto/*] Add a option to control the --show-secrets flag in the automation API. #​9879

Bug Fixes
  • [auto/go] Fix passing of the color option. #​9940

  • [engine] Fix panic from unexpected resource name formats. #​9950

v3.35.0

Compare Source

Improvements
  • [auto/*] Add --policy-pack and --policy-pack-configs options to automation API. #​9872

  • [cli] The engine now produces a warning when the 'ignoreChanges' option is applied to a Component resource. #​9863

  • [sdk/python] Changed Output[T].__str__() to return an informative message rather than "<pulumi.output.Output object at 0x012345ABCDEF>". #​9848

  • [cli] The engine will now default resource parent to the root stack if it exists. #​9481

  • [engine] Reduce memory usage in convert and yaml programs by caching of package schemas. #​9684

  • [sdk/go] Added NewUniqueName for providers to use for generating autonames. #​9852

  • [engine] The engine now understands alias objects which it can resolve to URNs, requiring less logic in SDKs. #​9731

  • [sdk/dotnet] The dotnet SDK will now send alias objects rather than URNs to the engine. #​9731

  • [cli] Add java to pulumi convert #​9917

Bug Fixes
  • [sdk/go] Handle nils in mapper encoding. #​9810

  • [engine] Explicit providers use the same plugin as default providers unless otherwise requested. #​9708

  • [sdk/go] Correctly parse nested git projects in GitLab. #​9354

  • [sdk/go] Mark StackReference keys that don't exist as unknown. Error when converting unknown keys to strings. #​9855

  • [sdk/go] Precisely mark values obtained via stack reference Get...Output(key) methods as secret or not. #​9842

  • [codegen/go] Import external Enum types as external. #​9920

  • [codegen/go] Correctly generate nested Input and Ouput collection types. #​9887

  • [engine] Revert the additional secret outputs warning until the engine can understand optional outputs. #​9922

v3.34.1

Compare Source

Improvements
  • [cli/python] Respond to SIGINT when installing plugins. #​9793

  • [codegen/go] Always chose the correct version when respectSchemaVersion is set. #​9798

Bug Fixes
  • [sdk/python] Better explain the keyword arguments to create(etc)_stack. #​9794

  • [cli] Revert changes causing a panic in pulumi destroy that tried to operate without config files. #​9821

  • [cli] Revert to statically linked binaries on Windows and Linux, fixing a regression introduced in 3.34.0 #​9816

  • [codegen/python] ResourceOptions are no longer mutated by resources. #​9802

v3.34.0

Compare Source

Improvements
  • [codegen/go] Handle long and complicated traversals in a nicer way. #​9726

  • [cli] Allow pulumi destroy -s <stack> if not in a Pulumi project dir #​9613

  • [cli] Plugins will now shut themselves down if they can't contact the engine that started them. #​9735

  • [cli/engine] The engine will emit a warning of a key given in additional secret outputs doesn't match any of the property keys on the resources. #​9750

  • [sdk/go] Add CompositeInvoke function, like Composite but for InvokeOption. #​9752

  • [cli] The gcpkms:// now supports the same credentials resolution mechanism as the state store, including the GOOGLE_CREDENTIALS.` #​6379

  • [yaml] Updates Pulumi YAML to v0.5.1, containing bug fixes, new functions, diagnostics and validation. Fixes support for using providers such as awsx. #​9797

Bug Fixes
  • [sdk/nodejs] Fix a crash due to dependency cycles from component resources. #​9683

  • [cli/about] Make pulumi about aware of the YAML and Java runtimes. #​9745

  • [cli/engine] Fix a panic deserializing resource plans without goals. #​9749

  • [cli/engine] Provide a sorting for plugins of equivalent version. #​9761

  • [cli/backend] Fix degraded performance in filestate backend #​9777 #​9796

  • [engine] Engine correctly the number of bytes written to a TAR archive is what was expected. #​9792

v3.33.2

Compare Source

Improvements
  • [cli] pulumi logout now prints a confirmation message that it logged out. #​9641

  • [cli/backend] Add gzip compression to filestate backend. Compression can be enabled via PULUMI_SELF_MANAGED_STATE_GZIP=true. Special thanks to @​awoimbee for the initial MR. #​9610

  • [sdk/nodejs] Lazy load inflight context to remove module import side-effect. #​9375

Bug Fixes
  • [sdk/python] Fix spurious diffs causing an "update" on resources created by dynamic providers. #​9656

  • [sdk/python] Do not depend on the children of remote component resources. #​9665

  • [codegen/nodejs] Emit the "package.json".pulumi.server as "server" correctly. Previously, "pluginDownloadURL" was emitted but never read. #​9662

  • [cli] Fix panic in pulumi console when no stack is selected. #​9594

  • [cli] Engine now correctly tracks that resource reads have unique URNs. #​9516

  • [sdk/python] Fixed bug in automation API that invoked Pulumi with malformed arguments. #​9607

  • [cli/backend] Fix a panic in the filestate backend when renaming history files. #​9673

  • [sdk/python] Pin protobuf library to <4. #​9696

  • [sdk/proto] Inline dockerfile used to generate protobuf code. #​9700

v3.33.1

Compare Source

Improvements
  • [cli] Add --stack to pulumi about. #​9518

  • [sdk/dotnet] Bumped several dependency versions to avoid pulling packages with known vulnerabilities. #​9591

  • [cli] Updated gocloud.dev to 0.24.0, which adds support for using AWS SDK v2. It enables users to pass an AWS profile to the awskms secrets provider url (i.e. awskms://alias/pulumi?awssdk=v2&region=eu-west-1&profile=aws-prod) #​9590

  • [sdk/nodejs] Lazy load V8 inspector session to remove module import side-effect #​9375

Bug Fixes
  • [cli] The PULUMI_CONFIG_PASSPHRASE environment variables can be empty, this is treated different to being unset. #​9568

  • [codegen/python] Fix importing of enum types from other packages. #​9579

  • [cli] Fix panic in pulumi console when no stack is selected. #​9594

  • [auto/python] - Fix text color argument being ignored during stack operations. #​9615

v3.32.1

Compare Source

Improvements
  • [cli/plugins] The engine will try to lookup the latest version of plugins if the program doesn't specify a version to use. #​9537
Bug Fixes
  • [cli] Fix an issue using PULUMI_CONFIG_PASSPHRASE_FILE. #​9540

  • [cli/display] Avoid an assert in the table display logic. #​9543

v3.32.0

Compare Source

Improvements
  • Pulumi Java support
  • Pulumi YAML support

v3.31.1

Compare Source

Improvements
  • [dotnet] No longer roundtrips requests for the stack URN via the engine. #​9515
Bug Fixes
  • [codegen/go] Enable obtaining resource outputs off a ResourceOutput. #​9513

  • [codegen/go] Ensure that "plain" generates shallowly plain types. #​9512

  • [codegen/nodejs] Fix enum naming when the enum name starts with _. #​9453

  • [cli] Empty passphrases environment variables are now treated as if the variable was not set. #​9490

  • [sdk/go] Fix awaits for outputs containing resources. #​9106

  • [cli] Decode YAML mappings with numeric keys during diff. #​9502

  • [cli] Fix an issue with explicit and default organization names in pulumi new #​9514

v3.31.0

Compare Source

Improvements
  • [auto/*] Add --save-plan and --plan options to automation API. #​9391

  • [cli] "down" is now treated as an alias of "destroy". #​9458

  • [go] Add Composite resource option allowing several options to be encapsulated into a "single" option. #​9459

  • [codegen] Support all Asset and Archive types. #​9463

  • [cli] Display JSON/YAML property values as objects for creates, sames, and deletes. #​9484

Bug Fixes
  • [codegen/go] Ensure that plain properties are plain. #​9430 #​9488

  • [cli] Fixed some context leaks where shutdown code wasn't correctly called. #​9438

  • [cli] Do not render array diffs for unchanged elements without recorded values. #​9448

  • [auto/go] Fixed the exit code reported by runPulumiCommandSync to be zero if the command runs successfully. Previously it returned -2 which could lead to confusing messages if the exit code was used for other errors, such as in Stack.Preview. #​9443

  • [auto/go] Fixed a race condition that could cause Preview to fail with "failed to get preview summary". #​9467

  • [backend/filestate] Fix a bug creating stack.json.bak files. #​9476

v3.30.0

Compare Source

Improvements
  • [cli] Split invoke request protobufs, as monitors and providers take different arguments. #​9323

  • [providers] - gRPC providers can now support an Attach method for debugging. The engine will attach to providers listed in the PULUMI_DEBUG_PROVIDERS environment variable. This should be of the form "providerName:port,otherProvider:port". #​8979

Bug Fixes
  • [cli/plugin] - Dynamic provider binaries will now be found even if pulumi/bin is not on $PATH. #​9396

  • [sdk/go] - Fail appropriatly for config.Try* and config.Require* where the key is present but of the wrong type. #​9407

v3.29.1

Compare Source

Improvements
  • [cli] - Installing of language specific project dependencies is now managed by the language plugins, not the pulumi cli. #​9294

  • [cli] Warn users when there are pending operations but proceed with deployment #​9293

  • [cli] Display more useful diffs for secrets that are not primitive values #​9351

  • [cli] - Warn when additionalSecretOutputs is used to mark the id property as secret. #​9360

  • [cli] Display richer diffs for texutal property values. #​9376

  • [cli] Display richer diffs for JSON/YAML property values. #​9380

Bug Fixes
  • [codegen/node] - Fix an issue with escaping deprecation messages. #​9371

  • [cli] - StackReferences will now correctly use the service bulk decryption end point. #​9373

v3.29.0

Compare Source

v3.28.0

Compare Source

Improvements
  • When a resource is aliased to an existing resource with a different URN, only store the alias of the existing resource in the statefile rather than storing all possible aliases. #​9288

  • Clear pending operations during pulumi refresh or pulumi up -r. #​8435

  • [cli] - pulumi whoami --verbose and pulumi about include a list of the current users organizations. #​9211

Bug Fixes
  • [codegen/go] - Fix Go SDK function output to check for errors pulumi-aws#1872

  • [cli/engine] - Fix a panic due to Check returning nil while using update plans. #​9304

v3.27.0

Compare Source

Improvements
  • [cli] - Implement pulumi stack unselect. #​9179

  • [language/dotnet] - Updated Pulumi dotnet packages to use grpc-dotnet instead of grpc. #​9149

  • [cli/config] - Rename the config property in Pulumi.yaml to stackConfigDir. The config key will continue to be supported. #​9145

  • [cli/plugins] Add support for downloading plugin from private Pulumi GitHub releases. This also drops the use of the GITHUB_ACTOR and GITHUB_PERSONAL_ACCESS_TOKEN environment variables for authenticating to github. Only GITHUB_TOKEN is now used, but this can be set to a personal access token. #​9185

  • [cli] - Speed up pulumi stack --show-name by skipping unneeded snapshot loading. #​9199

  • [cli/plugins] - Improved error message for missing plugins. #​5208

  • [sdk/nodejs] - Take engines property into account when engine-strict appear in npmrc file #​9249

Bug Fixes
  • [sdk/nodejs] - Fix uncaught error "ENOENT: no such file or directory" when an error occurs during the stack up. #​9065

  • [sdk/nodejs] - Fix uncaught error "ENOENT: no such file or directory" when an error occurs during the stack preview. #​9272

  • [sdk/go] - Fix a panic in pulumi.All when using pointer inputs. #​9197

  • [cli/engine] - Fix a panic due to passing "" as the ID for a resource read. #​9243

  • [cli/engine] - Fix a panic due to Check failing while using update plans. #​9254

  • [cli] - Stack names correctly take org set-default into account when printing. #​9240

v3.26.1

Compare Source

Improvements
Bug Fixes
  • [cli/new] Fix an error message when the project name picked by default was already used. #​9156

v3.26.0

Compare Source

Improvements
  • [area/cli] - Implemented state rename command. #​9098

  • [cli/plugins] pulumi plugin install can now look up the latest version of plugins on GitHub releases. #​9012

  • [cli/backend] - pulumi cancel is now supported for the file state backend. #​9100

  • [cli/import] - The import command no longer errors if resource properties do not validate. Instead the engine warns about property issues returned by the provider but then continues with the import and codegen as best it can. This should result in more resources being imported to the pulumi state and being able to generate some code, at the cost that the generated code may not work as is in an update. Users will have to edit the code to successfully run. #​8922

  • [cli/import] - Code generation in pulumi import can now be disabled with the --generate-code=false flag. #​9141

Bug Fixes
  • [sdk/python] - Fix build warnings. See #​9011 for more details. #​9139

  • [cli/backend] - Fixed an issue with non-atomicity when saving file state stacks. #​9122

  • [sdk/go] - Fixed an issue where the RetainOnDelete resource option is not applied. #​9147

v3.25.1

Compare Source

Improvements
Bug Fixes
  • [sdk/nodejs] - Fix Node fs.rmdir DeprecationWarning for Node JS 15.X+ #​9044

  • [engine] - Fix deny default provider handling for Invokes and Reads. #​9067

  • [codegen/go] - Fix secret codegen for input properties #​9052

  • [sdk/nodejs] - PULUMI_NODEJS_TSCONFIG_PATH is now explicitly passed to tsnode for the tsconfig file. #​9062

v3.25.0

Compare Source

Improvements
  • [codegen/go] - Add GenerateProgramWithOpts function to enable configurable codegen options. #​8997

  • [cli] - Enabled dot spinner for non-interactive mode #​8996

  • [sdk] - Add RetainOnDelete as a resource option. #​8746

  • [cli] - Adding completion as an alias to gen-completion #​9006

  • [cli/plugins] Add support for downloading plugin from private GitHub releases. #​8944

Bug Fixes
  • [sdk/go] - Normalize merge behavior for ResourceOptions, inline with other SDKs. See https://github.com/pulumi/pulumi/issues/8796 for more details. #​8882

  • [sdk/go] - Correctly parse GoLang version. #​8920

  • [sdk/go] - Fix git initialization in git_test.go #​8924

  • [cli/go] - Fix git initialization in util_test.go #​8924

  • [sdk/nodejs] - Fix nodejs function serialization module path to comply with package.json exports if exports is specified. #​8893

  • [cli/python] - Parse a larger subset of PEP440 when guessing Pulumi package versions. #​8958

  • [sdk/nodejs] - Allow disabling TypeScript typechecking #​8981

  • [cli/backend] - Revert a change to file state locking that was causing stacks to stay locked. #​8995

  • [cli] - Fix passphrase secrets provider prompting. #​8986

  • [cli] - Fix an assert when replacing protected resources. #​9004

v3.24.1

Compare Source

Bug Fixes
  • [release] - Update .gitignore to allow for a clean git repository for release. #​8932

v3.23.2

Compare Source

v3.23.0

Compare Source

Improvements
  • [codegen/dotnet] - Add C# extension rootNamespace, allowing the user to replace Pulumi as the default C# global namespace in generated programs. The Company and Author fields of the .csproj file are now driven by schema.publisher. #​8735

  • [cli] Download provider plugins from GitHub Releases #​8785

  • [cli] Using a decryptAll functionality when deserializing a deployment. This will allow decryption of secrets stored in the Pulumi Service backend to happen in bulk for performance increase #​8676

  • [sdk/dotnet] - Changed Output<T>.ToString() to return an informative message rather than just "Output`1[X]" #​8767

  • [cli] Add the concept of sequence numbers to the engine and resource provider interface. #​8631

  • [common] Allow names with hyphens.

  • [cli] - Add support for overriding plugin download URLs. #​8798

  • [automation] - Add color option to stack up, preview, refresh, and destroy commands. #​8811

  • [sdk/nodejs] - Support top-level default exports in ESM. #​8766

  • [cli] - Allow disabling default providers via the Pulumi config. #​8829

  • [cli] Add better error message for pulumi service rate limit responses #​7963

Bug Fixes
  • [sdk/{python,nodejs}] - Prevent ResourceOptions.merge from promoting between the .provider and .providers fields. This changes the general behavior of merging for .provider and .providers, as described in #​8796. Note that this is a breaking change in two ways:

    1. Passing a provider to a custom resource of the wrong package now produces a ValueError. In the past it would send to the provider, and generally crash the provider.
    2. Merging two ResourceOptions with provider set no longer hoists to providers. One provider will now take priority over the other. The new behavior reflects the common case for ResourceOptions.merge. To restore the old behavior, replace ResourceOptions(provider=FooProvider).merge(ResourceOptions(provider=BarProvider)) with ResourceOptions(providers=[FooProvider]).merge(ResourceOptions(providers=[BarProvider])). #​8770
  • [codegen/nodejs] - Generate an install script that runs pulumi plugin install with the --server flag when necessary. #​8730

  • [cli] The engine will no longer try to replace resources that are protected as that entails a delete. #​8810

  • [codegen/pcl] - Fix handling of function invokes without args #​8805

v3.22.1

Compare Source

Improvements
  • [sdk/dotnet] - Add PluginDownloadURL as a resource option. When provided by the schema, PluginDownloadURL will be baked into new Resource and Invoke requests in generated SDKs. #​8739

  • [sdk] - Allow property paths to accept [*] as sugar for ["*"]. #​8743

  • [sdk/dotnet] Add Union.Bimap function for converting both sides of a union at once. #​8733

Bug Fixes
  • [sdk/dotnet] Allow Output<Union> to be converted to InputUnion. #​8733

  • [cli/config] - Revert number handling in pulumi config. #​8754

v3.22.0

Compare Source

Improvements
  • [sdk/{nodejs,go,python}] - Add PluginDownloadURL as a resource option. When provided by the schema, PluginDownloadURL will be baked into new Resource and Invoke requests in generated SDKs. #​8698 #​8690 #​8692
Bug Fixes
  • [auto/python] - Fixes an issue with exception isolation in a sequence of inline programs that caused all inline programs to fail after the first one failed #​8693

v3.21.1

Compare Source

Improvements
  • [sdk/go] - Add PluginDownloadURL as a resource option. #​8555

  • [sdk/go] - Allow users to override enviromental variables for GetCommandResults. #​8610

  • [sdk/nodejs] Support using native ES modules as Pulumi scripts #​7764

  • [sdk/nodejs] Support a nodeargs option for passing node arguments to the Node language host #​8655

Bug Fixes
  • [cli/engine] - Fix #​3982, a bug where the engine ignored the final line of stdout/stderr if it didn't terminate with a newline. #​8671

  • [nodejs/sdk] - GetRequiredPlugins: Return plugins even when there're errors. #​8699

v3.21.0

Compare Source

Improvements
  • [engine] - Interpret pluginDownloadURL as the provider host url when downloading plugins. #​8544

  • [sdk/dotnet] - InputMap and InputList can now be initialized with any value that implicitly converts to the collection type. These values are then automatically appended, for example:

      var list = new InputList<string>
      {
          "V1",
          Output.Create("V2"),
          new[] { "V3", "V4" },
          new List<string> { "V5", "V6" },
          Output.Create(ImmutableArray.Create("V7", "V8"))
      };

    This feature simplifies the syntax for constructing resources and specifying resource options such as the DependsOn option.

    #​8498

Bug Fixes
  • [sdk/python] - Fixes an issue with stack outputs persisting after they are removed from the Pulumi program #​8583

  • [auto/*] - Fixes stack.setConfig() breaking when trying to set values that look like flags (such as -value) #​8518

  • [sdk/dotnet] - Don't throw converting value types that don't match schema #​8628

  • [sdk/{go,nodejs,dotnet,python}] - Compute full set of aliases when both parent and child are aliased. #​8627

  • [cli/import] - Fix import of resource with non-identifier map keys #​8645

  • [backend/filestate] - Allow preview on locked stack #​8642

v3.20.0

Compare Source

Improvements
  • [codegen/go] - Do not generate unreferenced input types by default. #​7943

  • [codegen/go] - Simplify the application of object defaults in generated SDKs. #​8539

  • [codegen/{python,dotnet}] - Emit pulumi-plugin.json unconditionally. #​8527 #​8532

  • [sdk/python] - Lookup Pulumi packages by searching for pulumi-plugin.json. Pulumi packages need not be prefixed by pulumi- anymore. #​8515

  • [sdk/go] - Lookup packages by searching for pulumi-plugin.json. Pulumi packages need not be prefixed by github.com/pulumi/pulumi- anymore. #​8516

  • [sdk/dotnet] - Lookup packages by searching for pulumi-plugin.json. Pulumi packages need not be prefixed by Pulumi. anymore. #​8517

  • [sdk/go] - Emit pulumi-plugin.json #​8530

  • [cli] - Always use locking in filestate backends. This feature was previously disabled by default and activated by setting the PULUMI_SELF_MANAGED_STATE_LOCKING=1 environment variable. #​8565

  • [{cli,auto}] - Exclude language plugins from PULUMI_IGNORE_AMBIENT_PLUGINS. #​8576

  • [sdk/dotnet] - Fixes a rare race condition that sporadically caused NullReferenceException to be raised when constructing resources #​8495

  • [cli] Log secret decryption events when a project uses the Pulumi Service and a 3rd party secrets provider #​8563

  • [schema] Do not validate against the metaschema in ImportSpec. Clients that need to validate input schemas should use the BindSpec API instead. #​8543

Bug Fixes
  • [codegen/schema] - Error on type token names that are not allowed (schema.Name or specified in allowedPackageNames). #​8538 #​8558

  • [codegen/go] - Fix ElementType for nested collection input and output types. #​8535

  • [{codegen,sdk}/{python,dotnet,go}] - Use pulumi-plugin.json rather than pulumiplugin.json. #​8593

v3.19.0

Compare Source

Improvements
  • [codegen/go] - Remove ResourcePtr types from generated SDKs. Besides being unnecessary--Resource types already accommodate nil to indicate the lack of a value--the implementation of Ptr types for resources was incorrect, making these types virtually unusable in practice. #​8449

  • [cli] - Allow interpolating plugin custom server URLs. #​8507

Bug Fixes
  • [cli/engine] - Accurately computes the fields changed when diffing with unhelpful providers. This allows the replaceOnChanges feature to be respected for all providers. #​8488

  • [codegen/go] - Respect default values in Pulumi object types. #​8411


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by Renovatebot (ydkn)

Merge request reports