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

chore(deps): bump the sdk-python group across 1 directory with 21 updates #16

Closed
wants to merge 8,351 commits into from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jun 12, 2024

Bumps the sdk-python group with 21 updates in the /sdk/python directory:

Package From To
anyio 4.3.0 4.4.0
typing-extensions 4.11.0 4.12.2
opentelemetry-sdk 1.24.0 1.25.0
opentelemetry-exporter-otlp-proto-grpc 1.24.0 1.25.0
babel 2.14.0 2.15.0
black 23.12.1 24.4.2
certifi 2024.2.2 2024.6.2
docutils 0.20.1 0.21.2
grpcio 1.63.0 1.64.1
importlib-metadata 7.0.0 7.1.0
opentelemetry-api 1.24.0 1.25.0
opentelemetry-exporter-otlp-proto-common 1.24.0 1.25.0
opentelemetry-proto 1.24.0 1.25.0
packaging 24.0 24.1
protobuf 4.25.3 5.27.1
pygments 2.17.2 2.18.0
pytest 7.4.4 8.2.2
requests 2.31.0 2.32.3
ruff 0.1.15 0.4.8
zipp 3.18.1 3.19.2
uv 0.1.36 0.2.11

Updates anyio from 4.3.0 to 4.4.0

Release notes

Sourced from anyio's releases.

4.4.0

  • Added the BlockingPortalProvider class to aid with constructing synchronous counterparts to asynchronous interfaces that would otherwise require multiple blocking portals
  • Added __slots__ to AsyncResource so that child classes can use __slots__ (#733; PR by Justin Su)
  • Added the TaskInfo.has_pending_cancellation() method
  • Fixed erroneous RuntimeError: called 'started' twice on the same task status when cancelling a task in a TaskGroup created with the start() method before the first checkpoint is reached after calling task_status.started() (#706; PR by Dominik Schwabe)
  • Fixed two bugs with TaskGroup.start() on asyncio:
    • Fixed erroneous RuntimeError: called 'started' twice on the same task status when cancelling a task in a TaskGroup created with the start() method before the first checkpoint is reached after calling task_status.started() (#706; PR by Dominik Schwabe)
    • Fixed the entire task group being cancelled if a TaskGroup.start() call gets cancelled (#685, #710)
  • Fixed a race condition that caused crashes when multiple event loops of the same backend were running in separate threads and simultaneously attempted to use AnyIO for their first time (#425; PR by David Jiricek and Ganden Schaffner)
  • Fixed cancellation delivery on asyncio incrementing the wrong cancel scope's cancellation counter when cascading a cancel operation to a child scope, thus failing to uncancel the host task (#716)
  • Fixed erroneous TypedAttributeLookupError if a typed attribute getter raises KeyError
  • Fixed the asyncio backend not respecting the PYTHONASYNCIODEBUG environment variable when setting the debug flag in anyio.run()
  • Fixed SocketStream.receive() not detecting EOF on asyncio if there is also data in the read buffer (#701)
  • Fixed MemoryObjectStream dropping an item if the item is delivered to a recipient that is waiting to receive an item but has a cancellation pending (#728)
  • Emit a ResourceWarning for MemoryObjectReceiveStream and MemoryObjectSendStream that were garbage collected without being closed (PR by Andrey Kazantcev)
  • Fixed MemoryObjectSendStream.send() not raising BrokenResourceError when the last corresponding MemoryObjectReceiveStream is closed while waiting to send a falsey item (#731; PR by Ganden Schaffner)
Changelog

Sourced from anyio's changelog.

Version history

This library adheres to Semantic Versioning 2.0 <http://semver.org/>_.

UNRELEASED

  • Added support for the from_uri(), full_match(), parser methods/properties in anyio.Path, newly added in Python 3.13
  • Changed the ResourceWarning from an unclosed memory object stream to include its address for easier identification

4.4.0

  • Added the BlockingPortalProvider class to aid with constructing synchronous counterparts to asynchronous interfaces that would otherwise require multiple blocking portals

  • Added __slots__ to AsyncResource so that child classes can use __slots__ ([#733](https://github.com/agronholm/anyio/issues/733) <https://github.com/agronholm/anyio/pull/733>_; PR by Justin Su)

  • Added the TaskInfo.has_pending_cancellation() method

  • Fixed erroneous RuntimeError: called 'started' twice on the same task status when cancelling a task in a TaskGroup created with the start() method before the first checkpoint is reached after calling task_status.started() ([#706](https://github.com/agronholm/anyio/issues/706) <https://github.com/agronholm/anyio/issues/706>_; PR by Dominik Schwabe)

  • Fixed two bugs with TaskGroup.start() on asyncio:

    • Fixed erroneous RuntimeError: called 'started' twice on the same task status when cancelling a task in a TaskGroup created with the start() method before the first checkpoint is reached after calling task_status.started() ([#706](https://github.com/agronholm/anyio/issues/706) <https://github.com/agronholm/anyio/issues/706>_; PR by Dominik Schwabe)
    • Fixed the entire task group being cancelled if a TaskGroup.start() call gets cancelled ([#685](https://github.com/agronholm/anyio/issues/685) <https://github.com/agronholm/anyio/issues/685>, [#710](https://github.com/agronholm/anyio/issues/710) <https://github.com/agronholm/anyio/issues/710>)
  • Fixed a race condition that caused crashes when multiple event loops of the same backend were running in separate threads and simultaneously attempted to use AnyIO for their first time ([#425](https://github.com/agronholm/anyio/issues/425) <https://github.com/agronholm/anyio/issues/425>_; PR by David Jiricek and Ganden Schaffner)

  • Fixed cancellation delivery on asyncio incrementing the wrong cancel scope's cancellation counter when cascading a cancel operation to a child scope, thus failing to uncancel the host task ([#716](https://github.com/agronholm/anyio/issues/716) <https://github.com/agronholm/anyio/issues/716>_)

  • Fixed erroneous TypedAttributeLookupError if a typed attribute getter raises KeyError

  • Fixed the asyncio backend not respecting the PYTHONASYNCIODEBUG environment variable when setting the debug flag in anyio.run()

  • Fixed SocketStream.receive() not detecting EOF on asyncio if there is also data in the read buffer ([#701](https://github.com/agronholm/anyio/issues/701) <https://github.com/agronholm/anyio/issues/701>_)

  • Fixed MemoryObjectStream dropping an item if the item is delivered to a recipient that is waiting to receive an item but has a cancellation pending ([#728](https://github.com/agronholm/anyio/issues/728) <https://github.com/agronholm/anyio/issues/728>_)

  • Emit a ResourceWarning for MemoryObjectReceiveStream and

... (truncated)

Commits
  • 053e8f0 Bumped up the version
  • e7f750b Fixed memory object stream sometimes dropping sent items (#735)
  • 9f5f14b Fixed task group getting cancelled if start() gets cancelled (#717)
  • 8b648bc Adjusted the pull request template
  • 3ff5e9a Rearranged changelog items
  • 541d1f8 [pre-commit.ci] pre-commit autoupdate (#734)
  • 8a07690 Fix MemoryObjectSendStream.send(falsey) not raising BrokenResourceError w...
  • 4b3de97 Adjust the headings in the PR template
  • dfc44cf Added __slots__ to AsyncResource (#733)
  • 96920b0 Fix typo in PR template (#730)
  • Additional commits viewable in compare view

Updates typing-extensions from 4.11.0 to 4.12.2

Release notes

Sourced from typing-extensions's releases.

4.12.2

  • Fix regression in v4.12.0 where specialization of certain generics with an overridden __eq__ method would raise errors. Patch by Jelle Zijlstra.
  • Fix tests so they pass on 3.13.0b2

4.12.1

  • Preliminary changes for compatibility with the draft implementation of PEP 649 in Python 3.14. Patch by Jelle Zijlstra.
  • Fix regression in v4.12.0 where nested Annotated types would cause TypeError to be raised if the nested Annotated type had unhashable metadata. Patch by Alex Waygood.

4.12.0

This release focuses on compatibility with the upcoming release of Python 3.13. Most changes are related to the implementation of type parameter defaults (PEP 696).

Thanks to all of the people who contributed patches, especially Alex Waygood, who did most of the work adapting typing-extensions to the CPython PEP 696 implementation.

There is a single change since 4.12.0rc1:

  • Fix incorrect behaviour of typing_extensions.ParamSpec on Python 3.8 and 3.9 that meant that isinstance(typing_extensions.ParamSpec("P"), typing.TypeVar) would have a different result in some situations depending on whether or not a profiling function had been set using sys.setprofile. Patch by Alex Waygood.

Changes included in 4.12.0rc1:

  • Improve the implementation of type parameter defaults (PEP 696)
    • Backport the typing.NoDefault sentinel object from Python 3.13. TypeVars, ParamSpecs and TypeVarTuples without default values now have their __default__ attribute set to this sentinel value.
    • TypeVars, ParamSpecs and TypeVarTuples now have a has_default() method, matching typing.TypeVar, typing.ParamSpec and typing.TypeVarTuple on Python 3.13+.
    • TypeVars, ParamSpecs and TypeVarTuples with default=None passed to their constructors now have their __default__ attribute set to None at runtime rather than types.NoneType.
    • Fix most tests for TypeVar, ParamSpec and TypeVarTuple on Python 3.13.0b1 and newer.
    • Backport CPython PR #118774, allowing type parameters without default values to follow those with default values in some type parameter lists. Patch by Alex Waygood, backporting a CPython PR by Jelle Zijlstra.
    • It is now disallowed to use a TypeVar with a default value after a TypeVarTuple in a type parameter list. This matches the CPython implementation of PEP 696 on Python 3.13+.
    • Fix bug in PEP-696 implementation where a default value for a ParamSpec

... (truncated)

Changelog

Sourced from typing-extensions's changelog.

Release 4.12.2 (June 7, 2024)

  • Add typing_extensions.get_annotations, a backport of inspect.get_annotations that adds features specified by PEP 649. Patch by Jelle Zijlstra.
  • Fix regression in v4.12.0 where specialization of certain generics with an overridden __eq__ method would raise errors. Patch by Jelle Zijlstra.
  • Fix tests so they pass on 3.13.0b2

Release 4.12.1 (June 1, 2024)

  • Preliminary changes for compatibility with the draft implementation of PEP 649 in Python 3.14. Patch by Jelle Zijlstra.
  • Fix regression in v4.12.0 where nested Annotated types would cause TypeError to be raised if the nested Annotated type had unhashable metadata. Patch by Alex Waygood.

Release 4.12.0 (May 23, 2024)

This release is mostly the same as 4.12.0rc1 but fixes one more longstanding bug.

  • Fix incorrect behaviour of typing_extensions.ParamSpec on Python 3.8 and 3.9 that meant that isinstance(typing_extensions.ParamSpec("P"), typing.TypeVar) would have a different result in some situations depending on whether or not a profiling function had been set using sys.setprofile. Patch by Alex Waygood.

Release 4.12.0rc1 (May 16, 2024)

This release focuses on compatibility with the upcoming release of Python 3.13. Most changes are related to the implementation of type parameter defaults (PEP 696).

Thanks to all of the people who contributed patches, especially Alex Waygood, who did most of the work adapting typing-extensions to the CPython PEP 696 implementation.

Full changelog:

  • Improve the implementation of type parameter defaults (PEP 696)
    • Backport the typing.NoDefault sentinel object from Python 3.13. TypeVars, ParamSpecs and TypeVarTuples without default values now have their __default__ attribute set to this sentinel value.
    • TypeVars, ParamSpecs and TypeVarTuples now have a has_default() method, matching typing.TypeVar, typing.ParamSpec and typing.TypeVarTuple on Python 3.13+.
    • TypeVars, ParamSpecs and TypeVarTuples with default=None passed to their constructors now have their __default__ attribute set to None

... (truncated)

Commits

Updates opentelemetry-sdk from 1.24.0 to 1.25.0

Changelog

Sourced from opentelemetry-sdk's changelog.

Version 1.25.0/0.46b0 (2024-05-30)

  • Fix class BoundedAttributes to have RLock rather than Lock (#3859)
  • Remove thread lock by loading RuntimeContext explicitly. (#3763)
  • Update proto version to v1.2.0 (#3844)
  • Add to_json method to ExponentialHistogram (#3780)
  • Bump mypy to 1.9.0 (#3795)
  • Fix exponential histograms (#3798)
  • Fix otlp exporter to export log_record.observed_timestamp (#3785)
  • Add capture the fully qualified type name for raised exceptions in spans (#3837)
  • Prometheus exporter sort label keys to prevent duplicate metrics when user input changes order (#3698)
  • Update semantic conventions to version 1.25.0. Refactor semantic-convention structure:
    • SpanAttributes, ResourceAttributes, and MetricInstruments are deprecated.
    • Attribute and metric definitions are now grouped by the namespace.
    • Stable attributes and metrics are moved to opentelemetry.semconv.attributes and opentelemetry.semconv.metrics modules.
    • Stable and experimental attributes and metrics are defined under opentelemetry.semconv._incubating import path. (#3586)
  • Rename test objects to avoid pytest warnings (#3823 (open-telemetry/opentelemetry-python#3823))
  • Add span flags to OTLP spans and links (#3881)
  • Record links with invalid SpanContext if either attributes or TraceState are not empty (#3917)
  • Add OpenTelemetry trove classifiers to PyPI packages (#3913 (open-telemetry/opentelemetry-python#3913))
  • Fix prometheus metric name and unit conversion (#3924)
    • this is a breaking change to prometheus metric names so they comply with the specification.
    • you can temporarily opt-out of the unit normalization by setting the environment variable OTEL_PYTHON_EXPERIMENTAL_DISABLE_PROMETHEUS_UNIT_NORMALIZATION=true
    • common unit abbreviations are converted to Prometheus conventions (s -> seconds), following the collector's implementation
    • repeated _ are replaced with a single _
    • unit annotations (enclosed in curly braces like {requests}) are stripped away
    • units with slash are converted e.g. m/s -> meters_per_second.
    • The exporter's API is not changed
  • Add parameters for Distros and configurators to configure autoinstrumentation in addition to existing environment variables.

... (truncated)

Commits
  • 257e6fe [release/v1.25.x-0.46bx] Prepare release 1.25.0/0.46b0 (#3942)
  • c6edd0f Auto instrumentation parameters (#3864)
  • d73593d Fix prometheus metric name and unit conversion (#3924)
  • 187048a Record links with invalid SpanContext (#3917)
  • 832e859 Add OpenTelemetry trove classifiers to PyPI packages (#3913)
  • dbf6943 Fixup pylint broad exceptions warnings (#3923)
  • 808d0ce Pin codespell version to fix builds (#3930)
  • 8b80a28 Fix class BoundedAttributes to have RLock rather than Lock (#3859)
  • a156bf1 Do not install unnecessary packages (#3896)
  • eef2015 Bump jinja2 from 3.1.3 to 3.1.4 in /docs/getting_started/tests (#3907)
  • Additional commits viewable in compare view

Updates opentelemetry-exporter-otlp-proto-grpc from 1.24.0 to 1.25.0

Changelog

Sourced from opentelemetry-exporter-otlp-proto-grpc's changelog.

Version 1.25.0/0.46b0 (2024-05-30)

  • Fix class BoundedAttributes to have RLock rather than Lock (#3859)
  • Remove thread lock by loading RuntimeContext explicitly. (#3763)
  • Update proto version to v1.2.0 (#3844)
  • Add to_json method to ExponentialHistogram (#3780)
  • Bump mypy to 1.9.0 (#3795)
  • Fix exponential histograms (#3798)
  • Fix otlp exporter to export log_record.observed_timestamp (#3785)
  • Add capture the fully qualified type name for raised exceptions in spans (#3837)
  • Prometheus exporter sort label keys to prevent duplicate metrics when user input changes order (#3698)
  • Update semantic conventions to version 1.25.0. Refactor semantic-convention structure:
    • SpanAttributes, ResourceAttributes, and MetricInstruments are deprecated.
    • Attribute and metric definitions are now grouped by the namespace.
    • Stable attributes and metrics are moved to opentelemetry.semconv.attributes and opentelemetry.semconv.metrics modules.
    • Stable and experimental attributes and metrics are defined under opentelemetry.semconv._incubating import path. (#3586)
  • Rename test objects to avoid pytest warnings (#3823 (open-telemetry/opentelemetry-python#3823))
  • Add span flags to OTLP spans and links (#3881)
  • Record links with invalid SpanContext if either attributes or TraceState are not empty (#3917)
  • Add OpenTelemetry trove classifiers to PyPI packages (#3913 (open-telemetry/opentelemetry-python#3913))
  • Fix prometheus metric name and unit conversion (#3924)
    • this is a breaking change to prometheus metric names so they comply with the specification.
    • you can temporarily opt-out of the unit normalization by setting the environment variable OTEL_PYTHON_EXPERIMENTAL_DISABLE_PROMETHEUS_UNIT_NORMALIZATION=true
    • common unit abbreviations are converted to Prometheus conventions (s -> seconds), following the collector's implementation
    • repeated _ are replaced with a single _
    • unit annotations (enclosed in curly braces like {requests}) are stripped away
    • units with slash are converted e.g. m/s -> meters_per_second.
    • The exporter's API is not changed
  • Add parameters for Distros and configurators to configure autoinstrumentation in addition to existing environment variables.

... (truncated)

Commits
  • 257e6fe [release/v1.25.x-0.46bx] Prepare release 1.25.0/0.46b0 (#3942)
  • d73593d Fix prometheus metric name and unit conversion (#3924)
  • 832e859 Add OpenTelemetry trove classifiers to PyPI packages (#3913)
  • dbf6943 Fixup pylint broad exceptions warnings (#3923)
  • a156bf1 Do not install unnecessary packages (#3896)
  • 6e84b1f exporter: add is_remote_parent span flags to OTLP exported spans and links (#...
  • fbbf5b5 Revert modifications to Apache license (#3870)
  • afc3ace Bump black to 24.3.0 (#3871)
  • b51a6f8 Sort by label keys before generating labels key and value lists (#3698)
  • 9398f26 Use a single install command for lint (#3848)
  • Additional commits viewable in compare view

Updates babel from 2.14.0 to 2.15.0

Release notes

Sourced from babel's releases.

v2.15.0

The changelog below is auto-generated by GitHub.

The binary artifacts attached to this GitHub release were generated by the GitHub Actions workflow.

Please see CHANGELOG.rst for additional details.


What's Changed

New Contributors

Full Changelog: python-babel/babel@v2.14.0...v2.15.0

Changelog

Sourced from babel's changelog.

Version 2.15.0

Python version support


* Babel 2.15.0 will require Python 3.8 or newer. (:gh:`1048`)

Features


* CLDR: Upgrade to CLDR 44 (:gh:`1071`) (@akx)
* Dates: Support for the &quot;fall back to short format&quot; logic for time delta formatting (:gh:`1075`) (@akx)
* Message: More versatile .po IO functions (:gh:`1068`) (@akx)
* Numbers: Improved support for alternate spaces when parsing numbers (:gh:`1007`) (@ronnix's first contribution)

Infrastructure

  • Upgrade GitHub Actions (:gh:1054) (@​cclauss's first contribution)
  • The Unicode license is now included in locale-data and in the documentation (:gh:1074) (@​akx)
Commits
  • 40b194f Prepare for 2.15.0 release (#1079)
  • c2e6c6e Encode support for the "fall back to short format" logic for time delta forma...
  • 1a03526 Include Unicode license in locale-data and in documentation (#1074)
  • c0fb56e Allow alternative space characters as group separator when parsing numbers (#...
  • fe82fbc Use CLDR 44 and adjust tests to match new data (#1071)
  • e0d1018 Improve .po IO (#1068)
  • 40e60a1 Upgrade GitHub Actions (#1054)
  • 2a1709a Drop support for Python 3.7 (EOL since June 2023) (#1048)
  • See full diff in compare view

Updates black from 23.12.1 to 24.4.2

Release notes

Sourced from black's releases.

24.4.2

This is a bugfix release to fix two regressions in the new f-string parser introduced in 24.4.1.

Parser

  • Fix regression where certain complex f-strings failed to parse (#4332)

Performance

  • Fix bad performance on certain complex string literals (#4331)

24.4.1

Highlights

  • Add support for the new Python 3.12 f-string syntax introduced by PEP 701 (#3822)

Stable style

  • Fix crash involving indented dummy functions containing newlines (#4318)

Parser

  • Add support for type parameter defaults, a new syntactic feature added to Python 3.13 by PEP 696 (#4327)

Integrations

  • Github Action now works even when git archive is skipped (#4313)

24.4.0

Stable style

  • Fix unwanted crashes caused by AST equivalency check (#4290)

Preview style

  • if guards in case blocks are now wrapped in parentheses when the line is too long. (#4269)
  • Stop moving multiline strings to a new line unless inside brackets (#4289)

Integrations

  • Add a new option use_pyproject to the GitHub Action psf/black. This will read the Black version from pyproject.toml. (#4294)

24.3.0

Highlights

... (truncated)

Changelog

Sourced from black's changelog.

24.4.2

This is a bugfix release to fix two regressions in the new f-string parser introduced in 24.4.1.

Parser

  • Fix regression where certain complex f-strings failed to parse (#4332)

Performance

  • Fix bad performance on certain complex string literals (#4331)

24.4.1

Highlights

  • Add support for the new Python 3.12 f-string syntax introduced by PEP 701 (#3822)

Stable style

  • Fix crash involving indented dummy functions containing newlines (#4318)

Parser

  • Add support for type parameter defaults, a new syntactic feature added to Python 3.13 by PEP 696 (#4327)

Integrations

  • Github Action now works even when git archive is skipped (#4313)

24.4.0

Stable style

  • Fix unwanted crashes caused by AST equivalency check (#4290)

Preview style

  • if guards in case blocks are now wrapped in parentheses when the line is too long. (#4269)
  • Stop moving multiline strings to a new line unless inside brackets (#4289)

Integrations

  • Add a new option use_pyproject to the GitHub Action psf/black. This will read the Black version from pyproject.toml. (#4294)

24.3.0

... (truncated)

Commits

Updates certifi from 2024.2.2 to 2024.6.2

Commits
  • 124f4ad 2024.06.02 (#291)
  • c2196ce --- (#290)
  • fefdeec Bump actions/checkout from 4.1.4 to 4.1.5 (#289)
  • 3c5fb15 Bump actions/download-artifact from 4.1.6 to 4.1.7 (#286)
  • 4a9569a Bump actions/checkout from 4.1.2 to 4.1.4 (#287)
  • 1fc8086 Bump peter-evans/create-pull-request from 6.0.4 to 6.0.5 (#288)
  • ad52dce Bump peter-evans/create-pull-request from 6.0.3 to 6.0.4 (#283)
  • 651904f Bump actions/upload-artifact from 4.3.1 to 4.3.3 (#284)
  • 84fcfba Bump actions/download-artifact from 4.1.4 to 4.1.6 (#285)
  • 46b8057 Bump peter-evans/create-pull-request from 6.0.2 to 6.0.3 (#282)
  • Additional commits viewable in compare view

Updates docutils from 0.20.1 to 0.21.2

Updates grpcio from 1.63.0 to 1.64.1

Release notes

Sourced from grpcio's releases.

Release v1.64.1

This is release 1.64.1 (grateful) of gRPC Core.

For gRPC documentation, see grpc.io. For previous releases, see Releases.

This release contains refinements, improvements, and bug fixes, with highlights listed below.

Core

C++

  • [OTel] Generate pkg-config file for grpcpp_otel_plugin (#36686). (#36722)
  • [OTel] Add find_package call for OTel dependency in installed gRPC configuration (#36674). (#36688)

Python

  • [Python Server] Remove abstractmethod notation for add_registered_method_handlers (v1.64.x backport). (#36696)

Release v1.64.0

This is release 1.64.0 (grateful) of gRPC Core.

For gRPC documentation, see grpc.io. For previous releases, see Releases.

This release contains refinements, improvements, and bug fixes, with highlights listed below.

Core

  • [BoringSSL] Update third_party/boringssl-with-bazel. (#36435)
  • [build] Restrict visibility of grpc_public_hdrs and grpc++_public_hdrs. (#36289)
  • [Deps] Rollfoward Protobuf upgrade to v26.1. (#36323)

C++

  • [CSM] Fix CSM Observability for trailers-only response. (#36413)
  • [CSM] Remove requirement that servers have to be xDS enabled. (#36410)

Python

  • [Asyncio] Semantic task names for RPC tasks. (#36422)

... (truncated)

Commits

Updates importlib-metadata from 7.0.0 to 7.1.0

Changelog

Sourced from importlib-metadata's changelog.

v7.1.0

Features

  • python/cpython#114664

Bugfixes

  • Make MetadataPathFinder.find_distributions a classmethod for consistency with CPython. Closes #484. (#484)
  • Allow MetadataPathFinder.invalidate_caches to be called as a classmethod.

v7.0.2

No significant changes.

v7.0.1

Bugfixes

  • Corrected the interface for SimplePath to encompass the expectations of locate_file and PackagePath.
  • Fixed type annotations to allow strings.
Commits
  • f5d6b5f Finalize
  • 2ef3b5f Merge commit '1711b2c198'
  • 1711b2c Need to include names from test.support for py312 compat.
  • 47b14ac Make MetadataPathFinder.find_distributions a classmethod for consistency with...
  • adc4b12 Ensure tests do not leak references in sys.modules.
  • 07d894d Copy backport of isolated_modules from importlib_resources.
  • e30a16d Consolidated test support logic in jaraco.test.cpython.
  • 41ca039 Moved compatibility tests to the compat package, as they're not included in C...
  • 5950f43 Remove legacy logic for Python 3.7.
  • ffa719b Moved compatibility module to compat package.
  • Additional commits viewable in compare view

Updates opentelemetry-api from 1.24.0 to 1.25.0

Changelog

Sourced from opentelemetry-api's changelog.

Version 1.25.0/0.46b0 (2024-05-30)

  • Fix class BoundedAttributes to have RLock rather than Lock (#3859)
  • Remove thread lock by loading RuntimeContext explicitly. (#3763)
  • Update proto version to v1.2.0 (#3844)
  • Add to_json method to ExponentialHistogram (#3780)
  • Bump mypy to 1.9.0 (#3795)
  • Fix exponential histograms (#3798)
  • Fix otlp exporter to export log_record.observed_timestamp (#3785)
  • Add capture the fully qualified type name for raised exceptions in spans (#3837)
  • Prometheus exporter sort label keys to prevent duplicate metrics when user input changes order (#3698)
  • Update semantic conventions to version 1.25.0. Refactor semantic-convention structure:
    • SpanAttributes, ResourceAttributes, and MetricInstruments are deprecated.
    • Attribute and metric definitions are now grouped by the namespace.
    • Stable attributes and metrics are moved to opentelemetry.semconv.attributes and opentelemetry.semconv.metrics modules.
    • Stable and experimental attributes and metrics are defined under opentelemetry.semconv._incubating import path. (#3586)
  • Rename test objects to avoid pytest warnings (#3823 (open-telemetry/opentelemetry-python#3823))
  • Add span flags to OTLP spans and links (#3881)
  • Record links with invalid SpanContext if either attributes or TraceState are not empty (#3917)
  • Add OpenTelemetry trove classifiers to PyPI packages (#3913 (open-telemetry/opentelemetry-python#3913))
  • Fix prometheus metric name and unit conversion (#3924)
    • this is a breaking change to prometheus metric names so they comply with the specification.
    • you can temporarily opt-out of the unit normalization by setting the environment...

      Description has been truncated

jedevc and others added 30 commits May 1, 2024 14:30
This significantly improves initial directory upload speed, on my
computer this goes from 4.8s to a much better 2.5s.

*Ideally*, we could also avoid uploading the git directory. This is a
bit of a pain *right now* though, so we don't do it!

Signed-off-by: Justin Chadwell <[email protected]>
* Upgrade `ex_doc` to latest version.
* Update documentation on the `Dagger` module.
* Remove `getting_started.livemd`, it's quite out-of-date.

Signed-off-by: Thanabodee Charoenpiriyakij <[email protected]>
This is a very bad default to recommend - essentially this "de-secrets"
a value, and this could then be leaked accidentally:
- Potentially into OTEL spans
- Potentially into cache keys
- Potentially into engine logs

We should recommend using `WithSecretVariable` instead, which is much
better - then rely on the shell to do the interpolation, which avoids
all of these problems. The secret scrubber will then guarantee that we
don't secrets leaked into logs.

Signed-off-by: Justin Chadwell <[email protected]>
* fix gitlab before_script

Fixes gitlab beore script by installing the Dagger CLI in a location that's availabe in the $PATH

Signed-off-by: Marcos Nils <[email protected]>
* engine: remove ftp_proxy hack

This removes the ftp_proxy hack we've had for a while for passing
uncached metadata to containers (previously a lot, but recently trimmed
down to just ServerID).

Instead, we take advantage of the new custom executor added recently and
use that to set the _DAGGER_SERVER_ID env var in containers. The
plumbing passes the ServerID via job values, which get read by the
solver's ResolveOp callback and used to tell the Executor for ExecOps
which ServerID to set in the container.

There's quite a bit more cleanup coming to everything involved here, but
wanted to get this first step out since that hack, besides being
annoying, was kind of dubious in nature and was a suspect in some
strange behavior reported sometimes.

Signed-off-by: Erik Sipsma <[email protected]>

* engine: remove apparently unused opTrackingGateway

I don't see that this is actually used or ends up modifying anything.
Suspect it's vestigial from pre-OTEL days so removing it.

Signed-off-by: Erik Sipsma <[email protected]>

* engine: pass worker around instead of custom executor

This fixes the problem in the previous commit where Dockerfiles with a
syntax pragma hit the executor directly before a ServerID could be set.

This wasn't the shortest fix, but it seems to be the best long term one.
The end result is that the Worker provided to LLBSolvers is always
scoped to the server, so we don't even need to be careful about ensuring
the right executor is being used everywhere. It just will be now because
it's the only executor available to buildkit internals we use.

This required a few adjustments from the previous code:
1. The custom executor has been expanded to also be a custom worker.
   Fortunately, it almost entirely reuses functionality from upstream's
   base.Worker, so this doesn't another big chunk of code to maintain.
2. llbSolver is now created in each buildkit.Client and setup with a
   worker.Controller with the Worker scoped to the current ServerID.
3. Rather than passing the ServerID through job keys, we just pass the
   whole Worker and use that to resolve ops.
4. Some more general cleanup of worker initialization made possible by
   these changes.

Signed-off-by: Erik Sipsma <[email protected]>

* backfill integ test coverage for dockerfile w/ syntax pragma

Signed-off-by: Erik Sipsma <[email protected]>

* add comment pointing to original runc executor implementation

Signed-off-by: Erik Sipsma <[email protected]>

---------

Signed-off-by: Erik Sipsma <[email protected]>
* sdk(rust): use `load*FromID` in tests

Use these newer methods instead of using `container` and `file` to load
IDs, which is deprecated and *going to be removed soon*.

Signed-off-by: Justin Chadwell <[email protected]>

* sdk(go): use load*FromID in tests

Signed-off-by: Justin Chadwell <[email protected]>

* sdk(typescript): use load*FromID in tests

Signed-off-by: Justin Chadwell <[email protected]>

* chore: use load*FromID in tests

Signed-off-by: Justin Chadwell <[email protected]>

---------

Signed-off-by: Justin Chadwell <[email protected]>
* ci: exclude .git dir in ci build

Previously, we were using this to generate a work-tree hash, so that new
builds would have a different version tag, which helped to solve some
weird caching issues with nested execs.

However! A problem with this was that we needed to upload *the entire*
git directory every time we built - which is an expensive operation,
my .git directory for dagger/dagger is 147MB.

Instead of relying on git for this, we can use the ID of the input
directory! Because of our use of blob sources, a different ID represents
a different directory. Additionally, we prefix these new builds with a
special "dev-" string to specifically indicate that these are dev
builds, with no specific version passed in - these aren't commit hashes,
and cannot be treated as such.

Signed-off-by: Justin Chadwell <[email protected]>

* ci: remove dependency on go sdk

The only thing this was being used for here was the connect job - we can
just use `--help` to get this info to sanity check it.

Signed-off-by: Justin Chadwell <[email protected]>

* ci: run linting over ci itself

Signed-off-by: Justin Chadwell <[email protected]>

---------

Signed-off-by: Justin Chadwell <[email protected]>
With this typo, the yaml file was invalid and so the config failed to be
applied.

I *finally* found where you can check the validity of a dependabot
config - see https://github.com/dagger/dagger/network/updates.

Signed-off-by: Justin Chadwell <[email protected]>
* chore: run dagger develop on typescript runtime

Signed-off-by: Justin Chadwell <[email protected]>

* fix: top-level dagger.gen.go should have correct imports

Previously it wasn't, we were missing `telemetry` and `querybuilder`.
And `go mod tidy` wouldn't *always* seem to pick it up, which is a bit
of a pain.

Signed-off-by: Justin Chadwell <[email protected]>

* fix: avoid overwriting go mod/sum files on module generation

This is a bit of a mess - but essentially, what *was* happening was that
we had some very strange issues with go.mod generation. When generating
code, we had a couple of issues:
- If we were generating on top of an existing go.{mod,sum}, we were
  essentially replacing its contents, and then relying on `go mod tidy`
  to give reasonable results - however, this meant that explicitly
  installed dependencies were getting lost, and that we were losing the
  pins in the sum file.
- Additionally, if we were generating a new `dagger` subfolder in an
  existing monorepo, we were overriding the previous go.{mod,sum} with
  dagger's go.{mod,sum}, and then relying on `go mod tidy` to find all
  the user dependencies.
The main issue with the above is that we were replacing contents of
these important dependency files in weird ways that make go modules much
more difficult to consume, especially in monorepos.

To fix these issues, we heavily rework the logic - we explicitly find
the correct go.mod file we want to work on, and then apply *the same*
processing everywhere. This processing involves checking go versions,
adding dependencies that aren't present, merging go.sum values, etc.

However - in doing this, something becomes quite apparent - we were
relying on some weird undefined behavior in the Go SDK. Generally the
structure of the paths passed in was that `ModuleContextPath` was a
parent to `OutputDir`, and we wouldn't modify anything outside
`OutputDir`. But consider, if the output directory is `./dagger` (the
default), then we may need to modify the top-level `./go.mod` (that
isn't in `OutputDir`). We technically *were* doing this, but by using
`go mod tidy` to get it to do this magically - but as mentioned above,
we need to avoid this automatic behavior, and do some better merging
ourselves.

To resolve this, `OutputDir` becomes the top-level, while `ModulePath`
becomes a relative sub-path in `OutputDir` that the module can be found
at (in the above, that's `./dagger`). This is why this patch also needs
to touch the Typescript runtime files, since we change the format of the
arguments to use this new format (also the Typescript generation was
confusing here, so picked up a couple of refactors as well along the
way).

Signed-off-by: Justin Chadwell <[email protected]>

* tests: fix incorrect go.{mod,work} tests

- The `go.mod` test was incorrect because prior to the commit before
  this one, we were actually generating a `go.mod` in the child. This
  was *hard* to notice, because essentially, there was a weird disparity
  between having a `go.mod` and having a `go.mod` *and* a `main.go` in
  the top-level (since `loadPackage` fails on the former, but succeeds
  on the latter).

  The test is modified to ensure we can catch this in the future, and
  the prior commit makes sure that this weird disparity is removed.

- The `go.work` tests were incorrect because we shouldn't have been
  putting `go.mod`s in the children (the same `loadPackage` issue as
  above). Each of these test cases should only have *one* module, so we
  alter the tests to check for this.

Signed-off-by: Justin Chadwell <[email protected]>

* review comments

Signed-off-by: Justin Chadwell <[email protected]>

---------

Signed-off-by: Justin Chadwell <[email protected]>
* chore: fix some doc comments for daqgl to match

Signed-off-by: Justin Chadwell <[email protected]>

* chore: remove some unused parameters

And also enable a linter to catch these in the future. `unparam` seems
to be optimized more heavily to avoid false positives, and is
significantly better at not bringing up weird interface cases that
revive seems to love.

Signed-off-by: Justin Chadwell <[email protected]>

* fixups

Signed-off-by: Justin Chadwell <[email protected]>

---------

Signed-off-by: Justin Chadwell <[email protected]>
Signed-off-by: Justin Chadwell <[email protected]>
* cli: visual cue for required flags

Append [required] to flags that are marked as required. As proposed by Helder, this follows the behavior of Typer: https://typer.tiangolo.com/tutorial/options/required/

Signed-off-by: grouville <[email protected]>

* Rename template function to be more descriptive

Signed-off-by: Helder Correia <[email protected]>

* Simplify flagset merge

Signed-off-by: Helder Correia <[email protected]>

* Replace clone with mutation

This preserves the `flag.Annotations` map, which is needed for validation.

Signed-off-by: Helder Correia <[email protected]>

* Replace string key with const

The rest wasn't wrong but follows how `Command.ValidateRequiredFlags` handles these flags.

Signed-off-by: Helder Correia <[email protected]>

* Add change log

Signed-off-by: Helder Correia <[email protected]>

---------

Signed-off-by: grouville <[email protected]>
Signed-off-by: Helder Correia <[email protected]>
Co-authored-by: grouville <[email protected]>
Co-authored-by: Helder Correia <[email protected]>
* ci: Add Wolfi base image option

Signed-off-by: Adrian Mouat <[email protected]>

* Simplify apk command.

Signed-off-by: Adrian Mouat <[email protected]>

* nit: use const for Wolfi image reference.

Signed-off-by: Adrian Mouat <[email protected]>

* Plumb through setting base image.

Use `engine with-base image="wolfi"` etc

Also fix typo in error return

Signed-off-by: Adrian Mouat <[email protected]>

* ci: rework gpusupport into a common WithBase function

And also update mage calls to get the right base image, so we can
definitely publish.

Signed-off-by: Justin Chadwell <[email protected]>

* ci: simplify gpu support checks into switches

Signed-off-by: Justin Chadwell <[email protected]>

---------

Signed-off-by: Adrian Mouat <[email protected]>
Signed-off-by: Justin Chadwell <[email protected]>
Co-authored-by: Justin Chadwell <[email protected]>
Goreleaser needs this :(

Signed-off-by: Justin Chadwell <[email protected]>
* docs: Adds information on Dagger Cloud cache

Signed-off-by: Vikram Vaswani <[email protected]>

* Updated note

Signed-off-by: Vikram Vaswani <[email protected]>

* Added link

Signed-off-by: Vikram Vaswani <[email protected]>

---------

Signed-off-by: Vikram Vaswani <[email protected]>
* chore: update internal tooling to v0.11.2

Signed-off-by: Justin Chadwell <[email protected]>

* docs: update docs to refer to newest v0.11.2 release

Signed-off-by: Justin Chadwell <[email protected]>

* ci: update to install dagger cli v0.11.2

Signed-off-by: Justin Chadwell <[email protected]>

* chore: update RELEASING guide

Signed-off-by: Justin Chadwell <[email protected]>

* chore: Add Helm releasing instructions to RELEASING.md

Also prepare the Helm chart for release right after this gets merged.

Also run `go mod tidy` after rebasing.

Signed-off-by: Gerhard Lazu <[email protected]>

---------

Signed-off-by: Justin Chadwell <[email protected]>
Signed-off-by: Gerhard Lazu <[email protected]>
Co-authored-by: Gerhard Lazu <[email protected]>
* cli: conventionalize on <command> in cmd.Use

Unifies the DX around usage across all commands. The convention follows the standards (gh / git CLIs) as well as the defaults from cobra.

The grammar is as follow:
- []: optional
- <>: user input, when argument is not optional, to differenciate with static args
- ...: one or more

This commit applies it everywhere and unifies according to this grammar.

Signed-off-by: grouville <[email protected]>

* Fix incorrections

Signed-off-by: Helder Correia <[email protected]>

* Remove second use line

Sometimes a subcommand is required (`dagger call`), and other times it's optional (`dagger config`). Best make it explicit in `Use`.

Signed-off-by: Helder Correia <[email protected]>

* Fix required mark when flag has no description

Signed-off-by: Helder Correia <[email protected]>

---------

Signed-off-by: grouville <[email protected]>
Signed-off-by: Helder Correia <[email protected]>
Co-authored-by: grouville <[email protected]>
Co-authored-by: Helder Correia <[email protected]>
Upgrading the Erlang/OTP to fix Erlang
erlang/otp#8238 bug.

Signed-off-by: Thanabodee Charoenpiriyakij <[email protected]>
…ns" in `dagger call --help` (#7286)

* cli: use "functions" and "arguments" instead of "commands" and "options" in `dagger call`

Signed-off-by: Helder Correia <[email protected]>

* Add change log

Signed-off-by: Helder Correia <[email protected]>

---------

Signed-off-by: Helder Correia <[email protected]>
Every section was indented except for the examples.

Signed-off-by: Helder Correia <[email protected]>
Fixed generated default values for typescript SDK

Signed-off-by: Bochi <[email protected]>
* chore: remove unneccessary InputType

Signed-off-by: Justin Chadwell <[email protected]>

* chore: format mod typedef query

Signed-off-by: Justin Chadwell <[email protected]>

* chore: avoid ModuleObjectType typed nil

Signed-off-by: Justin Chadwell <[email protected]>

* feat: add scalar typedefs to propagate scalars

Signed-off-by: Justin Chadwell <[email protected]>

* feat: interpret current arg to get current platform

Signed-off-by: Justin Chadwell <[email protected]>

* Add Python fix

Signed-off-by: Helder Correia <[email protected]>

* Replace ignored stdout with sync

Signed-off-by: Helder Correia <[email protected]>

* fix test to-platform

Signed-off-by: Justin Chadwell <[email protected]>

* Test return values and enum types

Signed-off-by: Helder Correia <[email protected]>

* Fix linter on changed function

Signed-off-by: Helder Correia <[email protected]>

* chore: regen rust

Signed-off-by: Justin Chadwell <[email protected]>

* feat: support scalar in TypeScript

Signed-off-by: Tom Chauveau <[email protected]>

* feat: add enum tests

Signed-off-by: Tom Chauveau <[email protected]>

* Remove old tests

Signed-off-by: Helder Correia <[email protected]>

* Add change log

Signed-off-by: Helder Correia <[email protected]>

---------

Signed-off-by: Justin Chadwell <[email protected]>
Signed-off-by: Helder Correia <[email protected]>
Signed-off-by: Tom Chauveau <[email protected]>
Co-authored-by: Helder Correia <[email protected]>
Co-authored-by: Tom Chauveau <[email protected]>
* Use Dagger v0.11.2 via the new CI setup for all workflows except dev-engine

This one requires Docker with specific fixes that we don't yet have in
the new CI setup.

Signed-off-by: Gerhard Lazu <[email protected]>

* Setup CI for new, legacy and vertical scaling

The setup we want for production is:
- For all <LANG> SDK jobs, run them on the new CI only
- For testdev, run them on the docker-fix legacy CI
- For test/dagger-runner, run them on both legacy CI and new CI
- For all the rest, run them on the new CI and github runners for the really simple jobs

Signed-off-by: Matias Pan <[email protected]>

* Rename concurrency group

Signed-off-by: Matias Pan <[email protected]>

* Install curl on production vertical scaling runner

Signed-off-by: Matias Pan <[email protected]>

* Add customizable runner for separate perf tests

Signed-off-by: Matias Pan <[email protected]>

* Rename to _async_hack_make

Signed-off-by: Matias Pan <[email protected]>

* Upgrade missing workflow to v0.11.1

Signed-off-by: Matias Pan <[email protected]>

* Target nvme

Signed-off-by: Matias Pan <[email protected]>

* CI: Default to 4CPUs & NVMe disks

Otherwise the workflows are too slow on the new CI runners and are
blocking the migration off the legacy CI runners.

Signed-off-by: Gerhard Lazu <[email protected]>

* Bump to v0.11.2 & capture extra details in comments

Signed-off-by: Gerhard Lazu <[email protected]>

* Debug dagger-engine.dev in large GitHub Runner

Signed-off-by: Gerhard Lazu <[email protected]>

* Continuer running engine:testdev in dagger-runner-docker-fix runner

Large GitHub Runners are failing consistently, not worth debugging at
this point since we know this works on a vanilla Ubuntu 24.04 instance
with Docker - must be an issue related to GitHub Large Runners.

FTR: dagger/dagger#7223 (comment)

Signed-off-by: Gerhard Lazu <[email protected]>

---------

Signed-off-by: Gerhard Lazu <[email protected]>
Signed-off-by: Matias Pan <[email protected]>
Co-authored-by: Gerhard Lazu <[email protected]>
Co-authored-by: Matias Pan <[email protected]>
Changelogs summary:

 - symfony/deprecation-contracts updated from v3.4.0 to v3.5.0 minor
   See changes: symfony/deprecation-contracts@v3.4.0...v3.5.0
   Release notes: https://github.com/symfony/deprecation-contracts/releases/tag/v3.5.0

 - symfony/polyfill-mbstring updated from v1.28.0 to v1.29.0 minor
   See changes: symfony/polyfill-mbstring@v1.28.0...v1.29.0
   Release notes: https://github.com/symfony/polyfill-mbstring/releases/tag/v1.29.0

 - symfony/polyfill-intl-normalizer updated from v1.28.0 to v1.29.0 minor
   See changes: symfony/polyfill-intl-normalizer@v1.28.0...v1.29.0
   Release notes: https://github.com/symfony/polyfill-intl-normalizer/releases/tag/v1.29.0

 - symfony/polyfill-intl-grapheme updated from v1.28.0 to v1.29.0 minor
   See changes: symfony/polyfill-intl-grapheme@v1.28.0...v1.29.0
   Release notes: https://github.com/symfony/polyfill-intl-grapheme/releases/tag/v1.29.0

 - symfony/polyfill-ctype updated from v1.28.0 to v1.29.0 minor
   See changes: symfony/polyfill-ctype@v1.28.0...v1.29.0
   Release notes: https://github.com/symfony/polyfill-ctype/releases/tag/v1.29.0

 - symfony/string updated from v7.0.0 to v7.0.7 patch
   See changes: symfony/string@v7.0.0...v7.0.7
   Release notes: https://github.com/symfony/string/releases/tag/v7.0.7

 - symfony/service-contracts updated from v3.4.0 to v3.5.0 minor
   See changes: symfony/service-contracts@v3.4.0...v3.5.0
   Release notes: https://github.com/symfony/service-contracts/releases/tag/v3.5.0

 - symfony/console updated from v6.4.1 to v7.0.7 major
   See changes: symfony/console@v6.4.1...v7.0.7
   Release notes: https://github.com/symfony/console/releases/tag/v7.0.7

 - symfony/process updated from v6.4.0 to v7.0.7 major
   See changes: symfony/process@v6.4.0...v7.0.7
   Release notes: https://github.com/symfony/process/releases/tag/v7.0.7

Signed-off-by: Romain Gautier <[email protected]>
sipsma and others added 24 commits June 10, 2024 14:45
This has been reported to happen intermittently by a few users. The
error originates from gqlgen and suggests that something in the http
request is unhandled; it basically tries to find a matching pattern for
gql requests based on http method and some headers.

It's unclear how this could happen only occasionally and I've never seen
this myself yet, so I think our best bet is to log the parts of the
request checked by gqlgen and wait for it to get hit again.

Signed-off-by: Erik Sipsma <[email protected]>
Bumps [rustls](https://github.com/rustls/rustls) from 0.21.10 to 0.21.12.
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](rustls/rustls@v/0.21.10...v/0.21.12)

---
updated-dependencies:
- dependency-name: rustls
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* close service logs too

Signed-off-by: Alex Suraci <[email protected]>

* telemetry: fix tunnel log draining and other missing closes

I was still having to wait 5 minutes for OTEL logs to drain on some test
runs that involved service tunneling. I believe there was a race
condition where the tunnel code could end up writing logs after they
were closed, which seems to create a leak and cause us to have to wait 5
minutes before a timeout is hit.

I also saw a few other place otel logs were created and not closed, so
added a close there too.

Signed-off-by: Erik Sipsma <[email protected]>

* unify on slog, focus draining on stdio use case

* SpanLogger no longer writes to stdio streams, since it's unclear at
  each logging site who has responsibility to Close(); this way no one
  does.
* switch last few holdouts to slog - for better or for worse, we should
  be consistent and iterate. We've started using slog for client-side
  logs, so we might as well adopt them server-side too.

Signed-off-by: Alex Suraci <[email protected]>

* propagate debug/no-color mode to server

uses otel baggage, which I thankfully already went through the trouble
of propagating, and hadn't used yet. neat!

Signed-off-by: Alex Suraci <[email protected]>

---------

Signed-off-by: Alex Suraci <[email protected]>
Signed-off-by: Erik Sipsma <[email protected]>
Co-authored-by: Erik Sipsma <[email protected]>
When an exec fails due to context canceled, we were dropping the
cancelation error and just returning the exec error. I believe this got
fat-fingered while updating the code from upstream to use fmt.Errorf
instead of github.com/pkg/errors.

It's not clear if this is really meaningful, but noticed it changed
while attempting to debug occurances of "exit code 137" in our CI, which
plausibly could be related to all of this. It's possible there's calling
code that tries to handle cancelation with errors.Is, which this
would have broken. This is purely hypothetical at this point though.

Signed-off-by: Erik Sipsma <[email protected]>
There was a race condition where contexts get canceled after a job is
sent to the netns worker but before the result got read. This caused
runInNetNS to exit (due to canceled context) but the result chan to
never be read from. It was crucially an unbuffered chan, which resulted
in the worker never being able to exit and the whole container cleanup
to block indefinitely.

The fix here is just to make that chan buffered with a size of 1 so that
the worker doesn't ever get blocked trying to write to it.

There's a few other related changes of making some other chans buffered
and explicitly closing them with a defer (to handle panic cases) which
aren't needed to fix this issue but seemed worth tidying up now.

Signed-off-by: Erik Sipsma <[email protected]>
* fix: ensure nested frontend builds get secret translation

When doing a nested frontend build - i.e. when dockerfile.v0 calls
gateway.v0 (triggered by a syntax directive), we need to ensure that
the second frontend gets the same secret translation as each prior
layer.

To do this, we heavily refactor the filtering gateway and essentially
have it pass itself into the frontend Solve - this propagates the
filtering all the way down, so secrets can be correctly accessed.

Signed-off-by: Justin Chadwell <[email protected]>

* tests: add test for remote frontend

Signed-off-by: Justin Chadwell <[email protected]>

* chore: add changelog

Signed-off-by: Justin Chadwell <[email protected]>

---------

Signed-off-by: Justin Chadwell <[email protected]>
The tsx issue has been fixed so this isn't needed anymore. Worst case if
something else pops up this SDK would still be usable by it's git commit
ref, so may as well remove it now.

Signed-off-by: Erik Sipsma <[email protected]>
* ci: upgrade golangci lint to v1.59

Signed-off-by: Justin Chadwell <[email protected]>

* chore: fix linting issues

Signed-off-by: Justin Chadwell <[email protected]>

---------

Signed-off-by: Justin Chadwell <[email protected]>
* fix(ts-sdk) rollback to npm to ignore packageManager field

#7096 introduced a regression by using `yarn install --production`.
If the field `packagaManager` is set, it might lead to failure because
yarn post v1.22.11 doesn't support the `--production` flag anymore,
it has been removed in favor of `yarn workspaces focus --production`.

However, depending on the yarn major version (v2, v3, v4), the options
are different but also the results and the way they handle
subdependencies.

It seems `npm` is the only package manager that actually force install
all the sub dependencies, which ensure the TS SDK runtime properly
works.

Signed-off-by: Tom Chauveau <[email protected]>

* chore: add release note

Signed-off-by: Tom Chauveau <[email protected]>

* feat: move corepack init inside SDK installation

Signed-off-by: Tom Chauveau <[email protected]>

* fix: remove `--production` on user's install deps

Signed-off-by: Tom Chauveau <[email protected]>

---------

Signed-off-by: Tom Chauveau <[email protected]>
Co-authored-by: Tom Chauveau <[email protected]>
* ci: enable best-effort cache reuse for nested engines

We were previously always putting a random id in the cache volume used
for engines created in various CI functions, which meant none of them
ever had any local cache. The main reason was that two engines can't use
the same local cache at the same time.

We can't lift that limitation, but by using the engine version and
private cache mounts we can get *best effort* re-use of these cache
volumes, which is a simple enough performance improvement for some cases
that we may as well take it.

Signed-off-by: Erik Sipsma <[email protected]>

* ci: make engine service version optional

Signed-off-by: Justin Chadwell <[email protected]>

---------

Signed-off-by: Erik Sipsma <[email protected]>
Signed-off-by: Justin Chadwell <[email protected]>
Co-authored-by: Justin Chadwell <[email protected]>
* fix(sdk/elixir): add :inets to :extra_applications

`:inets` requires to start before using the SDK because of `:httpc`
module.

Signed-off-by: Thanabodee Charoenpiriyakij <[email protected]>

* Add changie log

Signed-off-by: Thanabodee Charoenpiriyakij <[email protected]>

---------

Signed-off-by: Thanabodee Charoenpiriyakij <[email protected]>
* fix: don't hide quick top-level progress rows

Signed-off-by: Justin Chadwell <[email protected]>

* fix: always simplify internal operations on render

In particular, this ensures that `blob` operations are always simplified
to their source, which hugely helps to improve readability.

Signed-off-by: Justin Chadwell <[email protected]>

* fix: add empty line after progress before result

Signed-off-by: Justin Chadwell <[email protected]>

* fix: omit return type on DONE

Signed-off-by: Justin Chadwell <[email protected]>

* chore: extract prefix generation

Signed-off-by: Justin Chadwell <[email protected]>

* chore: refactor logs views into a panel

Signed-off-by: Justin Chadwell <[email protected]>

* feat: rework cloud progress printing

For pretty progress, we add a new little message panel at the bottom
containing a "Full trace at ..." message.

For plain progress, in addition to the above, we also add a little fake
virtual log to the "connecting to engine" span, so that it's available
from the very start of the trace.

Signed-off-by: Justin Chadwell <[email protected]>

* tests: fixup some failing tests

Signed-off-by: Justin Chadwell <[email protected]>

* fix: move msgs panel to top

Signed-off-by: Justin Chadwell <[email protected]>

* fix: failing version test

Signed-off-by: Justin Chadwell <[email protected]>

---------

Signed-off-by: Justin Chadwell <[email protected]>
we're changing the default minConnectTimeout and backoff settings since
in some cases, the `connect` happens before the engine is ready to
accept connections, causing the client to wait for the default
minConnectTimeout (20s) before retrying. This causes very long
connection times when the engine is not ready to accept connections.

fixes #7599

Signed-off-by: Marcos Lilljedahl <[email protected]>
* sdk: Bump engine dependency to v0.11.7

Signed-off-by: Dagger CI <[email protected]>

* chore: add sdk release notes for v0.11.7

Signed-off-by: Justin Chadwell <[email protected]>

* chore: bump helm dagger version to v0.11.7

Signed-off-by: Justin Chadwell <[email protected]>

* docs: bump dagger version to v0.11.7

Signed-off-by: Justin Chadwell <[email protected]>

---------

Signed-off-by: Dagger CI <[email protected]>
Signed-off-by: Justin Chadwell <[email protected]>
Co-authored-by: Dagger CI <[email protected]>
Co-authored-by: Justin Chadwell <[email protected]>
There's an enormous amount of buildkit+containerd entities like
snapshotters, various cache dbs, the solver, worker+executor, etc.
which are all important to understand, but previously they were all
setup all over the place which was extremely confusing to follow.

This consolidates them all to be setup and stored in one place. There's
quite a bit there, but at least you don't have to search far and wide to
know what exists and how it's configured.

Signed-off-by: Erik Sipsma <[email protected]>
This commit focuses on making sessions + associated state management
simpler:

* More comprehensible+centralized state management
  * Rather than spread all over the place and tied together in random
    places, all of the state associated with a given session is in a
    daggerSession object and all of the state associated with a given client
    in a session is a daggerClient object
  * The code is also a lot more structured and "boring" in terms of
    locking/mutating state/etc. Not a rube goldberg machine anymore
  * The whole "pre-register a nested client's state before it calls", which
    was a fountain of confusion and bugs, is gone.
* No more insane gRPC tunneling, the engine API is just an HTTP server now
  * graphQL http requests are just that, don't have to tunnel them through
    gRPC streams
  * session attachables are still gRPC based, but over a hijacked http conn
    (as opposed to a gRPC stream embedded in another gRPC stream)
  * This allowed us to move off the Session method from buildkit's upstream
    controller interface
  * That in turn let us delete huge chunks of complicated code around
    handing conns (i.e. engine/server/conn.go) and no longer need to be
    paranoid about gRPC max message limits in as many places

There are more details in the PR description (7315).

Signed-off-by: Erik Sipsma <[email protected]>
The --experimental-privileged-nesting flag was broken when used with
terminal due to a panic around registering clients.

This was fixed by commits before this one which completely removed the
need to register clients, but backfilling the coverage now.

Signed-off-by: Erik Sipsma <[email protected]>
Otherwise we only use the otel spans from the initial client connect,
not any per-request config.

Signed-off-by: Erik Sipsma <[email protected]>
Bumps [jinja2](https://github.com/pallets/jinja) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](pallets/jinja@3.1.3...3.1.4)

---
updated-dependencies:
- dependency-name: jinja2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ates

Bumps the sdk-python group with 21 updates in the /sdk/python directory:

| Package | From | To |
| --- | --- | --- |
| [anyio](https://github.com/agronholm/anyio) | `4.3.0` | `4.4.0` |
| [typing-extensions](https://github.com/python/typing_extensions) | `4.11.0` | `4.12.2` |
| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.24.0` | `1.25.0` |
| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.24.0` | `1.25.0` |
| [babel](https://github.com/python-babel/babel) | `2.14.0` | `2.15.0` |
| [black](https://github.com/psf/black) | `23.12.1` | `24.4.2` |
| [certifi](https://github.com/certifi/python-certifi) | `2024.2.2` | `2024.6.2` |
| [docutils](https://docutils.sourceforge.io) | `0.20.1` | `0.21.2` |
| [grpcio](https://github.com/grpc/grpc) | `1.63.0` | `1.64.1` |
| [importlib-metadata](https://github.com/python/importlib_metadata) | `7.0.0` | `7.1.0` |
| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.24.0` | `1.25.0` |
| [opentelemetry-exporter-otlp-proto-common](https://github.com/open-telemetry/opentelemetry-python) | `1.24.0` | `1.25.0` |
| [opentelemetry-proto](https://github.com/open-telemetry/opentelemetry-python) | `1.24.0` | `1.25.0` |
| [packaging](https://github.com/pypa/packaging) | `24.0` | `24.1` |
| [protobuf](https://github.com/protocolbuffers/protobuf) | `4.25.3` | `5.27.1` |
| [pygments](https://github.com/pygments/pygments) | `2.17.2` | `2.18.0` |
| [pytest](https://github.com/pytest-dev/pytest) | `7.4.4` | `8.2.2` |
| [requests](https://github.com/psf/requests) | `2.31.0` | `2.32.3` |
| [ruff](https://github.com/astral-sh/ruff) | `0.1.15` | `0.4.8` |
| [zipp](https://github.com/jaraco/zipp) | `3.18.1` | `3.19.2` |
| [uv](https://github.com/astral-sh/uv) | `0.1.36` | `0.2.11` |



Updates `anyio` from 4.3.0 to 4.4.0
- [Release notes](https://github.com/agronholm/anyio/releases)
- [Changelog](https://github.com/agronholm/anyio/blob/master/docs/versionhistory.rst)
- [Commits](agronholm/anyio@4.3.0...4.4.0)

Updates `typing-extensions` from 4.11.0 to 4.12.2
- [Release notes](https://github.com/python/typing_extensions/releases)
- [Changelog](https://github.com/python/typing_extensions/blob/main/CHANGELOG.md)
- [Commits](python/typing_extensions@4.11.0...4.12.2)

Updates `opentelemetry-sdk` from 1.24.0 to 1.25.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.24.0...v1.25.0)

Updates `opentelemetry-exporter-otlp-proto-grpc` from 1.24.0 to 1.25.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.24.0...v1.25.0)

Updates `babel` from 2.14.0 to 2.15.0
- [Release notes](https://github.com/python-babel/babel/releases)
- [Changelog](https://github.com/python-babel/babel/blob/master/CHANGES.rst)
- [Commits](python-babel/babel@v2.14.0...v2.15.0)

Updates `black` from 23.12.1 to 24.4.2
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@23.12.1...24.4.2)

Updates `certifi` from 2024.2.2 to 2024.6.2
- [Commits](certifi/python-certifi@2024.02.02...2024.06.02)

Updates `docutils` from 0.20.1 to 0.21.2

Updates `grpcio` from 1.63.0 to 1.64.1
- [Release notes](https://github.com/grpc/grpc/releases)
- [Changelog](https://github.com/grpc/grpc/blob/master/doc/grpc_release_schedule.md)
- [Commits](grpc/grpc@v1.63.0...v1.64.1)

Updates `importlib-metadata` from 7.0.0 to 7.1.0
- [Release notes](https://github.com/python/importlib_metadata/releases)
- [Changelog](https://github.com/python/importlib_metadata/blob/main/NEWS.rst)
- [Commits](python/importlib_metadata@v7.0.0...v7.1.0)

Updates `opentelemetry-api` from 1.24.0 to 1.25.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.24.0...v1.25.0)

Updates `opentelemetry-exporter-otlp-proto-common` from 1.24.0 to 1.25.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.24.0...v1.25.0)

Updates `opentelemetry-proto` from 1.24.0 to 1.25.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.24.0...v1.25.0)

Updates `packaging` from 24.0 to 24.1
- [Release notes](https://github.com/pypa/packaging/releases)
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst)
- [Commits](pypa/packaging@24.0...24.1)

Updates `protobuf` from 4.25.3 to 5.27.1
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Changelog](https://github.com/protocolbuffers/protobuf/blob/main/protobuf_release.bzl)
- [Commits](protocolbuffers/protobuf@v4.25.3...v5.27.1)

Updates `pygments` from 2.17.2 to 2.18.0
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](pygments/pygments@2.17.2...2.18.0)

Updates `pytest` from 7.4.4 to 8.2.2
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@7.4.4...8.2.2)

Updates `requests` from 2.31.0 to 2.32.3
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](psf/requests@v2.31.0...v2.32.3)

Updates `ruff` from 0.1.15 to 0.4.8
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@v0.1.15...v0.4.8)

Updates `zipp` from 3.18.1 to 3.19.2
- [Release notes](https://github.com/jaraco/zipp/releases)
- [Changelog](https://github.com/jaraco/zipp/blob/main/NEWS.rst)
- [Commits](jaraco/zipp@v3.18.1...v3.19.2)

Updates `uv` from 0.1.36 to 0.2.11
- [Release notes](https://github.com/astral-sh/uv/releases)
- [Changelog](https://github.com/astral-sh/uv/blob/main/CHANGELOG-PREVIEW.md)
- [Commits](astral-sh/uv@0.1.36...0.2.11)

---
updated-dependencies:
- dependency-name: anyio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
- dependency-name: typing-extensions
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
- dependency-name: opentelemetry-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
- dependency-name: opentelemetry-exporter-otlp-proto-grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
- dependency-name: babel
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
- dependency-name: black
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: sdk-python
- dependency-name: certifi
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
- dependency-name: docutils
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
- dependency-name: grpcio
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
- dependency-name: importlib-metadata
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
- dependency-name: opentelemetry-api
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
- dependency-name: opentelemetry-exporter-otlp-proto-common
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
- dependency-name: opentelemetry-proto
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
- dependency-name: packaging
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
- dependency-name: protobuf
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: sdk-python
- dependency-name: pygments
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
- dependency-name: pytest
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: sdk-python
- dependency-name: requests
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
- dependency-name: ruff
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
- dependency-name: zipp
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
- dependency-name: uv
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: sdk-python
...

Signed-off-by: dependabot[bot] <[email protected]>
Copy link
Contributor Author

dependabot bot commented on behalf of github Jun 12, 2024

The following labels could not be found: kind/dependencies, area/sdk/python.

Copy link
Contributor Author

dependabot bot commented on behalf of github Jun 12, 2024

This pull request was built based on a group rule. Closing it will not ignore any of these versions in future pull requests.

To ignore these dependencies, configure ignore rules in dependabot.yml

@dependabot dependabot bot deleted the dependabot/pip/sdk/python/sdk-python-0ffeacbfe3 branch June 12, 2024 10:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.