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

Introduce new SSLContext API & escalate deprecations. #3319

Merged
merged 23 commits into from
Oct 28, 2024
Merged

Conversation

tomchristie
Copy link
Member

@tomchristie tomchristie commented Sep 26, 2024

Branch for Version 1.0, so that we can incrementally merge ongoing changes and figure out at what point we want to cut a release.

  • Add release notes.
    • Why choose HTTPX.
      • Sync + async support.
      • HTTP/1.1 + HTTP/2 support.
      • Command line client.
      • Strict typing.
      • Timeouts by default.
      • Usage as WSGI/ASGI test client.
      • Well defined transport API.
      • URL, Headers, QueryParams models.
      • Low-level API.
      • Roadmap for future improvements.
    • Document version changes.
    • Sponsorship callout. (Related... I need to conduct an end-of-month appraisal)
  • Increment version.
  • Merge changes.
    • Improved SSL configuration API.
    • Error when conflicting transport options passed.
    • Reduced dependency footprint.
    • Added NetworkOptions.
    • Deprecation for proxies escalated into removal.
    • Deprecation for app escalated into removal.
    • Removed undocumented raw_url interface.
    • Removed undocumented unnamed 4-tuple timeout.

Possible roadmap items...

  • Response timeouts.
  • Response max size.
  • Added routing.
  • Stricter typing for auth, proxy & timeout.
  • Stricter typing for default_encoding.
  • Stricter typing for params, headers & cookies.
  • Stricter typing for content, data, files.
  • Improved exception messaging for different network failure cases.

...

  • DNS caching.
  • Expose urlparse & friends.
  • Add URLLib3Transport.
  • Add AIOHttpTransport.
  • Built-in WebSocket support.
  • HTTP/3 support.

@karpetrosyan
Copy link
Member

Add URLLib3Transport.

I have updated the urllib3 transport from the gist, and it seems ready to use as well as a good example of how transport can be implemented.

I've also worked a bit on AiohttpTransport, and hopefully, we'll see it soon. We could emphasize the possibility of using httpx as a Sans-IO library, capable of working with HTTP streams.

@tomchristie tomchristie added the 1.0 proposal Pull requests proposing 1.0 API changes label Sep 27, 2024
tomchristie and others added 5 commits September 27, 2024 12:14
Co-authored-by: Tom Christie <tom@tomchristie.com>
Co-authored-by: T-256 <132141463+T-256@users.noreply.github.com>
Co-authored-by: T-256 <132141463+T-256@users.noreply.github.com>
@RobertCraigie
Copy link
Contributor

RobertCraigie commented Oct 10, 2024

Would be very excited to see built-in websocket support on the roadmap!

@tomchristie
Copy link
Member Author

I'm reviewing this and thinking we ought to be aiming for an interim 0.28 release here...

  • Introduce @karpetrosyan's work on improving the ssl_context = ... API.
  • Continue to include deprecated cert/verify` parameters, so we can get this merged and released.

.github/CONTRIBUTING.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
@tomchristie
Copy link
Member Author

Since we're now deprecating rather than removing verify and cert, I'd like to merge this into mainline now.
We can take a call later on if we'll issue any interim 0.28+ releases, or if we'll move directly to 1.0.

Co-authored-by: T-256 <132141463+T-256@users.noreply.github.com>
@tomchristie tomchristie changed the title Version 1.0 Introduce new SSLContext API & escalate deprecations. Oct 28, 2024
CHANGELOG.md Outdated Show resolved Hide resolved
docs/advanced/ssl.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
CHANGELOG.md Outdated Show resolved Hide resolved
@tomchristie tomchristie merged commit 8e36f2b into master Oct 28, 2024
5 checks passed
@tomchristie tomchristie deleted the version-1.0 branch October 28, 2024 14:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1.0 proposal Pull requests proposing 1.0 API changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants