Skip to content

1.9.3

Compare
Choose a tag to compare
@github-actions github-actions released this 20 Nov 21:59
· 382 commits to master since this release
v1.9.3
0698dc9

🐛 Bug fixes

  • Stopped dropping trailing slashes in yarl.URL.joinpath() -- by @gmacon. (#862, #866)
  • Started accepting string subclasses in __truediv__() operations (URL / segment) -- by @mjpieters. (#871, #884)
  • Fixed the human representation of URLs with square brackets in usernames and passwords -- by @mjpieters. (#876, #882)
  • Updated type hints to include URL.missing_port(), URL.__bytes__() and the encoding argument to yarl.URL.joinpath() -- by @mjpieters. (#891)

📦 Packaging updates and notes for downstreams

  • Integrated Cython 3 to enable building yarl under Python 3.12 -- by @mjpieters. (#829, #881)

  • Added the changelog URL to the dist metadata -- by @scop. (#877)

  • Declared modern setuptools.build_meta as the :pep:517 build backend in pyproject.toml explicitly -- by @webknjaz. (#886)

  • Converted most of the packaging setup into a declarative setup.cfg config -- by @webknjaz. (#890)

  • Replaced the packaging is replaced from an old-fashioned setup.py to an in-tree :pep:517 build backend -- by @webknjaz.

    Whenever the end-users or downstream packagers need to build yarl from source (a Git checkout or an sdist), they may pass a config_settings flag --pure-python. If this flag is not set, a C-extension will be built and included into the distribution.

    Here is how this can be done with pip:

    $ python -m pip install . --config-settings=--pure-python=

    This will also work with -e | --editable.

    The same can be achieved via pypa/build:

    $ python -m build --config-setting=--pure-python=

    Adding -w | --wheel can force pypa/build produce a wheel from source directly, as opposed to building an sdist and then building from it. (#893)

  • Declared Python 3.12 supported officially in the distribution package metadata -- by @edgarrmondragon. (#942)

🛠️ Contributor-facing changes

  • A regression test for no-host URLs was added per #821 and RFC 3986 -- by @kenballus. (#821, #822)

  • Started testing yarl against Python 3.12 in CI -- by @mjpieters. (#881)

  • All Python 3.12 jobs are now marked as required to pass in CI -- by @edgarrmondragon. (#942)

  • MyST is now integrated in Sphinx -- by @webknjaz.

    This allows the contributors to author new documents in Markdown when they have difficulties with going straight RST. (#953)

💪 New Contributors

🪞 Full Diff: v1.9.2...v1.9.3