Skip to content

test: remove registry close workaround after cargo-edit adopts HTTP fix #337

Open

Description

@acgetchell

Summary

Remove the local Cargo-registry connection-close workaround after adopting a published cargo-edit release that includes the upstream HTTP/1.0 connection-pooling fix. This is a follow-up to #336 and #335, not a prerequisite for either or for v0.5.3.

Current state

Commit 9376250 adds RegistryHandler in tests/tooling/test_cargo_update_integration.py. It sends Connection: close so cargo-edit does not reuse a retiring HTTP/1.0 connection after a cached 304 response.

The pinned and currently latest published cargo-edit is 0.13.14. Its locked dependencies include ureq 3.5.0 and ureq-proto 0.6.5. The defect is tracked by ureq #1224; the upstream fix targets ureq-proto 0.7.0 and was incorporated in ureq commit 81d1b40. A fixed upstream source commit alone does not establish that a published cargo-edit contains it.

Proposed changes and acceptance

  • Identify a published cargo-edit release whose locked dependency graph contains the HTTP/1.0 fix; record the version and supplier evidence.
  • Update the declared tool pin through the normal managed-tool update workflow and verify the installed version.
  • Remove the explicit-close handler and use the standard registry handler.
  • Retain ClientClosingServer and both real update-recipe regressions. They must pass without the workaround under normal and deliberately delayed server closure, preserving every successful-exit and dependency assertion.
  • Run the required local validators and native Linux/macOS/Windows CI on the exact removal commit. Do not remove the workaround based only on a green ordinary retry or a version number.

Benefits

Retire compatibility code when the client itself implements correct connection ownership, while keeping regression coverage for the original race.

Implementation notes

Keep this issue open if the published tool still bundles affected dependencies or the regression fails. No research-repo-tools package change is inherently required: cargo-edit is a consumer-owned tool pin. Schedule the cleanup when a suitable supplier release exists; do not add it to the current release's blocking acceptance.

Activity

  1. added
    dependenciesPull requests that update a dependency file
    testingIssues that come up in testing
    pythonPull requests that update Python code
    on Nov 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    dependenciesPull requests that update a dependency filepythonPull requests that update Python codetestingIssues that come up in testing

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions