python / python/cpython

3.14.0a1 urljoin regression wrt //

Offen
#125,974 12 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

3.14 stdlib type-bug
Vorherrschende Sprache
Python
Sterne
77.2k
Forks
35.9k
PR-Merge-Kennzahlen
PR-Kennzahlen ausstehend

Beschreibung

Bug report

Bug description:

The tests of lxml do (simplified):

from urllib.parse import urljoin
urljoin('file:', '/foo/bar')
  • On Python 3.13.0 and earlier, the result of the urljoin call is file:///foo/bar.
  • On Python 3.14.0a1, the result of the urljoin call is file:/foo/bar.

This change of behavior was introduced in fc897fcc01964649f023e0baa4c95d142e4e8a10 https://github.com/python/cpython/pull/123273 cc @serhiy-storchaka

The NEWS entry in that change does not seem to indicate this change was intentional.

CPython versions tested on:

3.14, CPython main branch

Operating systems tested on:

Linux

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginnen Sie mit urllib.parse.urljoin und untersuchen Sie die durch fc897fcc01964649f023e0baa4c95d142e4e8a10 eingeführte Verhaltensänderung. Reproduzieren Sie das lxml-ähnliche Beispiel unter Python 3.14 und bestätigen Sie, dass die abgeschlossene Korrektur file:///foo/bar für urljoin('file:', '/foo/bar') wiederherstellt, ohne die gemeldete Änderung rückgängig zu machen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
networking
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.