Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update first-party Pulumi dependencies (major) #781

Merged
merged 1 commit into from
Jan 7, 2025

Conversation

pulumi-renovate[bot]
Copy link
Contributor

@pulumi-renovate pulumi-renovate bot commented Dec 27, 2024

This PR contains the following updates:

Package Type Update Change
@pulumi/kubernetes (source) dependencies major 3.30.2 -> 4.19.0
@pulumi/kubernetes (source) dependencies major 2.9.1 -> 4.19.0
@pulumi/pulumi (source) dependencies major 2.25.2 -> 3.145.0

Release Notes

pulumi/pulumi-kubernetes (@​pulumi/kubernetes)

v4.19.0

Compare Source

Changed

v4.18.4

Compare Source

Changed
Fixed

v4.18.3

Compare Source

Fixed

v4.18.2

Compare Source

Fixed

v4.18.1

Compare Source

Added
Changed

v4.18.0

Compare Source

Added
  • The new enableSecretMutable provider configuration option treats changes to
    Secrets as updates instead of replacements (similar to the
    enableConfigMapMutable option).

    The default replacement behavior can be preserved for a particular Secret
    by setting its immutable field to true.
    https://github.com/pulumi/pulumi-kubernetes/issues/22912291)

    Note: These options (enableSecretMutable and enableConfigMapMutable)
    may become the default behavior in a future v5 release of the provider.
    Programs that depend on the replacement of Secrets and ConfigMaps (e.g.
    to trigger updates for downstream dependencies like Deployments) are
    recommended to explicitly specify immutable: true.

  • A warning is now emitted if an object has finalizers which might be blocking
    deletiohttps://github.com/pulumi/pulumi-kubernetes/issues/14181418)

  • EXPERIMENTAL: Generic await logic is now available as an opt-in feature.
    Running a program with PULUMI_K8S_AWAIT_ALL=true will now cause Pulumi to
    await readiness for all resources, including custom resources.

    Generic readiness is determined according to some well-known conventions (like
    the "Ready" condition) as determined by cli-utils.

    Pulumi's current behavior, without this feature enabled, is to assume some
    resources are immediately available, which can cause downstream resources to
    fail.

    Existing readiness logic is unaffected by this setting.
    https://github.com/pulumi/pulumi-kubernetes/issues/29962996)

  • EXPERIMENTAL: The pulumi.com/waitFor annotation was introduced to allow
    for custom readiness checks. This override Pulumi's own await logic for the
    resource (however the pulumi.com/skipAwait annotation still takes
    precedence).

    The value of this annotation can take 3 forms:

    1. A string prefixed with jsonpath= followed by a
      JSONPath
      expression and an optional value.

      The JSONPath expression accepts the same syntax as
      kubectl get -o jsonpath={...}.

      If a value is provided, the resource is considered ready when the
      JSONPath expression evaluates to the same value. For example this
      resource expects its "phase" field to have a value of "Running":

      `pulumi.com/waitFor: "jsonpath={.status.phase}=Running"`
      

      If a value is not provided, the resource will be considered ready when
      any value exists at the given path, similar to kubectl wait --for jsonpath=.... This resource will wait until it has a webhook configured
      with a CA bundle:

      `pulumi.com/waitFor: "jsonpath={.webhooks[*].clientConfig.caBundle}"`
      
    2. A string prefixed with condition= followed by the type of the
      condition and an optional status. This matches the behavior of
      kubectl wait --for=condition=... and will wait until the resource has a
      matching condition. The expected status defaults to "True" if not
      specified.

      `pulumi.com/waitFor: "condition=Synced"`
      
      `pulumi.com/waitFor: "condition=Reconciling=False"`
      
    3. A string containing a JSON array of multiple jsonpath= and
      condition= expressions.

      `pulumi.com/waitFor: '["jsonpath={.foo}", "condition=Bar"]'` 
      
  • Pulumi will now emit logs for any Kubernetes "Warning" Events associated with
    resources being created, updated or deletehttps://github.com/pulumi/pulumi-kubernetes/pull/3135ull/3135/files)

Fixed

v4.17.1

Compare Source

Fixed

v4.17.0

Compare Source

Changed
Fixed

v4.16.0

Compare Source

Added
  • clusterIdentifier configuration can now be used to manually control the
    replacement behavior of a provider resourchttps://github.com/pulumi/pulumi-kubernetes/pull/3068ull/3068)

  • Pod errors now include the pod's last termination state, as well as the pod's
    termination message if availablhttps://github.com/pulumi/pulumi-kubernetes/pull/3091ull/3091)

    The pod's termination message can be helpful in CrashLoopBackOff situations but
    will only be reported if it was correctly configured.

    By default, the pod's termination message is read from
    /dev/termination-log. This location can be configured with
    terminationMessagePath.

    Use terminationMessagePolicy: FallbackToLogsOnError to use the pod's logs
    as its termination message.

  • Documentation is now generated for all languages supported by overlay types.
    https://github.com/pulumi/pulumi-kubernetes/pull/31073107)

Fixed

v4.15.0

Compare Source

Changed
Fixed

v4.14.0

Compare Source

Added
Changed
Fixed

v4.13.1

Compare Source

Added
Changed
Fixed

v4.12.0

Compare Source

Added
Changed
Fixed

v4.11.0

Compare Source

v4.10.0

Compare Source

New Features

A new MLC-based implementation of ConfigGroup and of ConfigFile is now available in the "yaml/v2" package. These resources are
usable in all Pulumi languages, including Pulumi YAML and in the Java Pulumi SDK.

Note that transformations aren't supported in this release (see https://github.com/pulumi/pulumi/issues/12996).

v4.9.1

Compare Source

v4.9.0

Compare Source

v4.8.1

Compare Source

v4.8.0

Compare Source

v4.7.1

Compare Source

  • Fix deployment await logic for accurate rollout detection

v4.7.0

Compare Source

Breaking Changes

In previous versions of the pulumi-kubernetes .NET SDK, the ConfigFile and ConfigGroup component resources inadvertently assigned the wrong parent to the child resource(s).
This would happen when the component resource itself had a parent; the child would be assigned that same parent. This also had the effect of disregarding the component resource's provider in favor of the parent's provider.

For example, here's a before/after look at the component hierarchy:

Before:

├─ pkg:index:MyComponent            parent
│  ├─ kubernetes:core/v1:ConfigMap  cg-options-cg-options-cm-1
│  ├─ kubernetes:yaml:ConfigFile    cg-options-testdata/options/configgroup/manifest.yaml
│  ├─ kubernetes:core/v1:ConfigMap  cg-options-configgroup-cm-1
│  ├─ kubernetes:yaml:ConfigFile    cg-options-testdata/options/configgroup/empty.yaml
│  └─ kubernetes:yaml:ConfigGroup   cg-options

After:

└─ pkg:index:MyComponent                  parent
   └─ kubernetes:yaml:ConfigGroup         cg-options
      ├─ kubernetes:yaml:ConfigFile       cg-options-testdata/options/configgroup/manifest.yaml
      │  └─ kubernetes:core/v1:ConfigMap  cg-options-configgroup-cm-1
      └─ kubernetes:core/v1:ConfigMap     cg-options-cg-options-cm-1

This release addresses this issue and attempts to heal existing stacks using aliases. This is effective at avoiding a replacement except in the case where the child was created with the wrong provider. In this case, Pulumi will suggest a replacement of the child resource(s), such that they use the correct provider.

v4.6.1

Compare Source

v4.6.0

Compare Source

Resources Renamed:
  • #/types/kubernetes:core/v1:ResourceRequirements
    • renamed to: #/types/kubernetes:core/v1:VolumeResourceRequirements
  • #/types/kubernetes:core/v1:ResourceRequirementsPatch
    • renamed to: #/types/kubernetes:core/v1:VolumeResourceRequirementsPatch
New Resources:
  • flowcontrol.apiserver.k8s.io/v1.FlowSchema
  • flowcontrol.apiserver.k8s.io/v1.FlowSchemaList
  • flowcontrol.apiserver.k8s.io/v1.FlowSchemaPatch
  • flowcontrol.apiserver.k8s.io/v1.PriorityLevelConfiguration
  • flowcontrol.apiserver.k8s.io/v1.PriorityLevelConfigurationList
  • flowcontrol.apiserver.k8s.io/v1.PriorityLevelConfigurationPatch
  • networking.k8s.io/v1alpha1.ServiceCIDR
  • networking.k8s.io/v1alpha1.ServiceCIDRList
  • networking.k8s.io/v1alpha1.ServiceCIDRPatch
  • storage.k8s.io/v1alpha1.VolumeAttributesClass
  • storage.k8s.io/v1alpha1.VolumeAttributesClassList
  • storage.k8s.io/v1alpha1.VolumeAttributesClassPatch

v4.5.6

Compare Source

v4.5.5

Compare Source

v4.5.4

Compare Source

v4.5.3

Compare Source

v4.5.2

Compare Source

v4.5.1

Compare Source

v4.5.0

Compare Source

v4.4.0

Compare Source

v4.3.0

Compare Source

v4.2.0

Compare Source

  • Reintroduce switching builds to pyproject.toml; when publishing the package to PyPI both
    source-based and wheel distributions are now published. For most users the installs will now favor
    the wheel distribution, but users invoking pip with --no-binary :all: will continue having
    installs based on the source distribution.
  • Return mapping information for terraform conversions (https://github.com/pulumi/pulumi-kubernetes/pull/2457)
  • feature: added skipUpdateUnreachable flag to proceed with the updates without failing (https://github.com/pulumi/pulumi-kubernetes/pull/2528)

v4.1.1

Compare Source

v4.1.0

Compare Source

v4.0.3

Compare Source

v4.0.2

Compare Source

v4.0.1

Compare Source

v4.0.0

Compare Source

Breaking changes:

Other changes:

pulumi/pulumi (@​pulumi/pulumi)

v3.145.0

Compare Source

3.145.0 (2025-01-07)

Features
  • [auto/go] Support --clear-pending-creates for refresh command in Go Automation API for preview refresh and refresh operations.
    #​18101

  • [programgen/{java,sdkgen/java}] Only use gRPC to communicate with the Java host
    #​18138

  • [cli/package] Support bridging to terraform providers automatically in pulumi convert
    #​17992

  • [sdk/go] Implement deferred output for the Go SDK and program-gen
    #​17885

Bug Fixes
  • [cli] Fix TestPackageAddGoParameterized to utilize version path
    #​18150

  • [cli/engine] Clarify the usage string for the --expect-no-changes flag
    #​18105

  • [auto/go] Return error if no inline program specified
    #​18086

  • [auto/go] Interrupt programs gracefully when the context is canceled
    #​18124

  • [cli/new] Provide a better error message when pulumi new --ai generates a program with errors
    #​18091

  • [cli/new] Provide a more meaningful message for the --language flag
    #​18092

  • [engine] Enable pulumi:pulumi:getResource to hydrate Read resources
    #​18070

  • [programgen] Allow for case-insensitive terraform convert source
    #​18111

  • [programgen/go] Fix importing module names in Go programs that aren't lower-case
    #​18113

  • [sdk/go] Fix panic when diffing computed property values
    #​18104

  • [sdk/go] Avoid calling invokes with dependencies on unknown resources
    #​18133

  • [sdk/nodejs] Fix source maps when using jest
    #​18108

  • [sdk/nodejs] Avoid calling invokes with dependencies on unknown resources
    #​18152

  • [sdk/python] Fix reading pulumi-plugin.json when using the uv toolchain
    #​18107

  • [sdk/python] Fix ListPackages when using uv
    #​18121

  • [sdk/python] Fix dynamic providers when using Poetry or uv
    #​18126

  • [sdk/python] Fix prerelease version
    #​18125

  • [sdk/python] Avoid calling invokes with dependencies on unknown resources
    #​18141

Miscellaneous
  • [programgen/java] Bump Java SDK dependency version so that package gen-sdk emits buildable code
    #​18130

  • [sdk/python] Switch to pyproject.toml + uv
    #​18081

  • [sdk/python] Move mypy configuration into pyproject.toml
    #​18118

  • [sdk/python] Move pyright configuration into pyproject.toml
    #​18116

  • [sdk/python] Move ruff configuration into pyproject.toml
    #​18117

v3.144.1

Compare Source

Bug Fixes

v3.144.0

Compare Source

Features
  • [engine] Warn if refresh or destroy use older parameterized packages
    #​18029

  • [sdk/dotnet] Update dotnet to 3.71.1
    #​18084

  • [auto/go] Add ConfigFile to GetConfig and SetConfig operations, add GetAllConfigWithOptions to extend GetAllConfig
    #​17939

  • [cli/plugin] Log plugin unstructured output to debug instead of info
    #​17943

  • [sdk/yaml] Update pulumi-yaml to 1.13.0
    #​18077

Bug Fixes
  • [backend/diy] Retry deletes of lock files if they fail
    #​18059

  • [auto/go] Fix potential race condition when using automation API
    #​18044

  • [auto/go] Fix "debug" flag in automation api
    #​18071

  • [cli/install] Avoid unnecessary Node.js installations
    #​18041

  • [engine] Use package load v2 in loader server so it can include paramaterization
    #​18072
    #​18021

  • [programgen/dotnet] Emit local dependencies in restore sources deterministically
    #​18026

  • [sdk/go] Ignore DependsOn for direct form invokes instead of raising an error
    #​18089

  • [sdk/nodejs] Respect the noCheck option from tsconfig.json
    #​18067

  • [sdk/nodejs] Gracefully handle errors that don't implement toString
    #​18080

  • [sdk/python] Fix hang on error when using uv on Windows
    #​18054

  • [sdkgen/dotnet] Compute restore sources from local dependencies and referenced packages
    #​18042

Miscellaneous
  • [sdkgen/go] Skip TestPackageAddGoParameterized
    #​18049

v3.143.0

Compare Source

Features
  • [cli] Autonaming configuration in experimental mode
    #​17916

  • [cli] Suggest state repair as part of integrity panics
    #​17919

  • [engine] Add PULUMI_DEBUG_LANGUAGES much like PULUMI_DEBUG_PROVIDERS so we can attach debuggers to languages easily
    #​17821

  • [engine] Warn if refresh or destroy use older plugins
    #​12196

  • [protobuf] Add Handshake to the provider protocol
    #​17819

  • [sdk/dotnet] Upgrade pulumi-dotnet to 3.71.0
    #​17937

  • [sdkgen/dotnet] Codegen for .NET InvokeOutputOptions
    #​17890

  • [programgen/{dotnet,nodejs,python}] Emit deferred outputs for mutually dependant components
    #​17859

  • [sdk/go] Allow specifying dependencies for output invokes. Go code generation for Output form invokes will use the new Context.InvokeOutput method.
    #​17791

  • [sdk/nodejs] Add getSchema to Provider interface
    #​17950

  • [sdk/{nodejs,python}] Update Python and NodeJS to use the new GetRequiredPackage functionality
    #​17910

  • [cli/package] Automatically set up package dependencies when adding a package when possible
    #​17815

  • [sdk/python] Drop Python 3.8 support
    #​17883

Bug Fixes
  • [backend/diy] Show a more correct URL for lock files in error messages
    #​17961

  • [sdk/go] Inherit protect from parents in the Go SDK
    #​17936

  • [sdk/go] Fix a defer leak when writing memory profiles
    #​17581

  • [sdk/go] Return when rejecting the InvokeOutput output on error
    #​18010

  • [sdkgen/go] Fix writing of go.mod files for parameterized packages
    #​17923

  • [auto/{go,nodejs,python}] Expose whoami token information in automation API types
    #​17735

  • [cli/install] Don't recreate virtualenvs when using venv
    #​17892

  • [auto/nodejs] Don't hang indefinitely on failed inputs
    #​17899

  • [auto/python] Catch BaseException in automation API server
    #​17909

  • [sdk/nodejs] Throw from output() on circular structures
    #​17852

  • [sdkgen/{nodejs,python}] Bump the minimum SDK version to 3.142.0
    #​17997

Miscellaneous
  • [pkg] Upgrade pulumi-java to v0.19.0
    #​18014

  • [sdk/python] Switch to ruff for linting and formatting
    #​17882

  • [sdkgen] Include parameterization details in pulumi-plugin.json
    #​17867

v3.142.0

Compare Source

Features
  • [cli] Reduce binary size by stripping debug information
    #​17868

  • [sdk/go] Add OutputWithDependencies
    #​17856

  • [sdk/java] Bump pulumi-java to 0.18.0

Bug Fixes
  • [cli] Fix login --interactive when no accounts are in the credentials file
    #​17860

  • [cli/new] Fix new to work with local template directories again
    #​17866

  • [sdkgen/dotnet] Fix parameterized packages to have version.txt
    #​17851

  • [sdk/python] uv toolchain: preserve env-vars when executing uv command
    #​17849

v3.141.0

Compare Source

Features
  • [sdk/dotnet] Update dotnet to 3.69.0
    #​17828

  • [cli/new] Allow URLs without a scheme for downloading templates
    #​17824

  • [sdk/nodejs] Allow specifiying additional dependencies for output invokes
    #​17632

  • [sdk/{nodejs,python}] Implement deferred output for nodejs and python
    #​17793

  • [sdk/python] Allow specifiying dependencies for output invokes
    #​17751

  • [sdk/yaml] Update yaml to 1.12.0
    #​17811

Bug Fixes
  • [engine] Send the same program arguments to shimless and binary plugins
    #​17833

  • [auto/go] Work around a race where the summary event in the automation API sometimes cannot be found
    #​17825

  • [sdk/nodejs] Fix mocks when multiple versions of @​pulumi/pulumi are loaded in a project
    #​17769

Miscellaneous
  • [sdk/go] Split public and internal representation of InvokeOptions
    #​17818

v3.140.0

Compare Source

Features
  • [pkg] Reject schemas with duplicate paths across resources and functions
    #​17797

  • [auto/go] Add --config-file functionality to Go Automation API preview, update, refresh, and destroy
    #​17774

Bug Fixes
  • [cli/plugin] Workaround for escape codes in output from .NET 9
    #​17783

  • [sdk/python] Fix merging InvokeOptions.version
    #​17750

v3.139.0

Compare Source

Features
  • [pkg] Allow generating docs in parallel
    #​17711

  • [programgen] Allow specifying mutually dependant components in PCL

  • [programgen/{dotnet,go,nodejs,python}] Support generating invokes options from PCL for invokes
    #​17696

  • [sdk/nodejs] Allow accessing configuration in Node.js dynamic providers
    #​17697

  • [sdk/nodejs] Implement RunPlugin for the NodeJS language runtime
    #​17724

  • [sdk/nodejs] Support parameterization for TypeScript providers
    #​17738

  • [sdk/python] Add Uv as a Python toolchain
    #​17609

  • [sdk/python] Allow accessing configuration in Python dynamic providers
    #​17673

Bug Fixes
  • [engine] Make plugin downloads/installation cancellable
    #​17621

  • [engine] Fix frequent retries on 403 errors when the update token expires
    #​17714

  • [engine] Don't copy deleted dependencies of untargeted resources
    #​17743

  • [engine] Support renaming providers in targeted operations
    #​17746

  • [engine] Pass correct working directory to RunPlugin
    #​17763

  • [programgen] Allow PCL function element to take a dynamic expression as input in non-strict mode
    #​17587

  • [sdk/nodejs] Fix pnpm pack for pnpm@9.13
    #​17766

  • [sdk/python] Log a message about deleting requirements.txt when converting to using Poetry
    #​17716

  • [sdk/python] Fix an exception in automation api when reading whoami results.
    #​17770

Miscellaneous
  • [sdk/dotnet] Run tests with .NET 9.0
    #​17768

v3.138.0

Compare Source

Features
  • [backend/diy] Keep computer awake while an update is running
    #​17699

  • [backend/service] Keep computer awake while an update is running
    #​17699
    #​17675

  • [cli] Add interactive account selection to pulumi login command
    #​17618

  • [cli/display] Colorize selected stack when listing
    #​17606

  • [engine] Persist metadata about snapshot integrity errors
    [#​172


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - "every weekday" (UTC).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

@pulumi-renovate pulumi-renovate bot added dependencies Pull requests that update a dependency file impact/no-changelog-required This issue doesn't require a CHANGELOG update labels Dec 27, 2024
@pulumi-renovate pulumi-renovate bot enabled auto-merge (squash) January 2, 2025 21:09
@pulumi-renovate pulumi-renovate bot force-pushed the renovate/major-pulumi branch from 6c4d4df to f6e9544 Compare January 7, 2025 15:10
@pulumi-renovate pulumi-renovate bot merged commit 1024ce1 into master Jan 7, 2025
5 checks passed
@pulumi-renovate pulumi-renovate bot deleted the renovate/major-pulumi branch January 7, 2025 15:17
Copy link

codecov bot commented Jan 7, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 50.16%. Comparing base (7a713c1) to head (f6e9544).
Report is 2 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #781   +/-   ##
=======================================
  Coverage   50.16%   50.16%           
=======================================
  Files          30       30           
  Lines        4212     4212           
=======================================
  Hits         2113     2113           
  Misses       1912     1912           
  Partials      187      187           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file impact/no-changelog-required This issue doesn't require a CHANGELOG update
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants