scrapy/scrapy
Apoorva Verma 21daf7c66e Add a leading slash to request URLs with a host and query/fragment but no path
A Request URL like "http://host?query" kept an empty path, so the HTTP request
line started with "?query" instead of "/?query", which some servers reject with
a 400 (the request never reaches the application). Normalize such URLs to keep
the "/" before the query or fragment, the same way w3lib's safe_download_url
does. URLs that already have a path, and hosts with neither a query nor a
fragment, are unchanged.
2026-06-29 12:05:48 +05:30
..
commands Deprecate ScrapyCommand.help() (#7633) 2026-06-19 06:49:32 +02:00
contracts Address warnings in tests. (#7637) 2026-06-19 06:55:02 +02:00
core Close various garbage collectible resources (mostly in tests) (#7644) 2026-06-26 23:05:08 +05:00
downloadermiddlewares Improve test coverage for downloader middlewares (#7655) 2026-06-25 01:48:28 +05:00
extensions Close various garbage collectible resources (mostly in tests) (#7644) 2026-06-26 23:05:08 +05:00
http Add a leading slash to request URLs with a host and query/fragment but no path 2026-06-29 12:05:48 +05:30
linkextractors chore: more ruff rules and overall minor improvements (#7386) 2026-04-03 19:00:13 +05:00
loader Small docs fixes. (#7598) 2026-06-11 10:51:03 +02:00
pipelines Fix image store ACL settings for S3 and GCS (#7614) 2026-06-16 00:24:44 +05:00
selector Enable the flake8-builtins rules. (#6942) 2025-07-05 21:43:18 +05:00
settings Implement HTTP Auth settings and request metadata keys (#7590) 2026-06-11 15:56:53 +05:00
spidermiddlewares Improve test coverage for spider middlewares (#7664) 2026-06-25 15:35:25 +05:00
spiders Document scrapy-lint, remove start_url check (#7627) 2026-06-22 20:12:16 +05:00
templates Improve the item pipeline docs (#7676) 2026-06-26 16:18:22 +05:00
utils Fix request_to_curl() corrupting dict cookies with bytes keys/values (#7675) 2026-06-27 00:53:32 +05:00
VERSION Bump version: 2.15.2 → 2.16.0 2026-05-19 17:27:16 +05:00
__init__.py Remove code deprecated in 2.12.0 (#7126) 2025-10-27 17:14:38 +05:00
__main__.py Improve coverage statscollectors (#7641) 2026-06-19 16:59:25 +02:00
addons.py Move to mypy --strict with exceptions. (#7300) 2026-03-02 15:47:23 +05:00
cmdline.py Reactorless shell and other small shell improvements (#7395) 2026-04-08 18:24:51 +05:00
crawler.py Do not ignore CrawlerProcess settings (#7647) 2026-06-22 20:10:10 +05:00
dupefilters.py Add Jobdir documentation (#5260) 2026-02-06 22:33:02 +04:00
exceptions.py Refactor HTTP download handlers (#7238) 2026-02-03 20:13:30 +01:00
exporters.py Close various garbage collectible resources (mostly in tests) (#7644) 2026-06-26 23:05:08 +05:00
extension.py Restore 2.14 getwithbase, add a new method for class key deduplication (#7449) 2026-04-22 19:01:59 +05:00
interfaces.py Remove useless pylint: disable lines. 2025-01-02 12:32:25 +05:00
item.py Update the outdated Item docstring. (#6427) 2024-11-04 16:17:56 +05:00
link.py Link.__eq__: return NotImplemented instead of raising NotImplementedError (#7611) 2026-06-12 14:56:15 +02:00
logformatter.py Release notes for 2.14.0 (#7035) 2026-01-05 14:51:05 +05:00
mail.py chore: more ruff rules and overall minor improvements (#7386) 2026-04-03 19:00:13 +05:00
middleware.py Disable mypy allow_any_generics. (#7532) 2026-05-18 15:54:06 +02:00
mime.types moved module scrapy.core.downloader.responsetypes to scrapy.responsetypes 2011-08-07 02:49:57 -03:00
pqueues.py Close various garbage collectible resources (mostly in tests) (#7644) 2026-06-26 23:05:08 +05:00
py.typed Add py.typed 2023-09-21 13:06:12 +02:00
resolver.py Improve coverage resolver (#7642) 2026-06-19 23:26:54 +05:00
responsetypes.py Improve test coverage for responsetypes.py (#7646) 2026-06-22 20:10:38 +05:00
robotstxt.py Enable mypy warn_return_any. (#7492) 2026-05-04 22:24:47 +02:00
shell.py Small docs fixes. (#7598) 2026-06-11 10:51:03 +02:00
signalmanager.py Move to mypy --strict with exceptions. (#7300) 2026-03-02 15:47:23 +05:00
signals.py Deprecate the mail API (#7263) 2026-03-24 21:31:12 +01:00
spiderloader.py chore: more ruff rules and overall minor improvements (#7386) 2026-04-03 19:00:13 +05:00
squeues.py Disable mypy allow_any_generics. (#7532) 2026-05-18 15:54:06 +02:00
statscollectors.py Move to mypy --strict with exceptions. (#7300) 2026-03-02 15:47:23 +05:00