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

Version 0.28.0 #3404

Closed
wants to merge 5 commits into from
Closed

Version 0.28.0 #3404

wants to merge 5 commits into from

Conversation

tomchristie
Copy link
Member

@tomchristie tomchristie commented Nov 15, 2024

Hey team. 👋🏼

Alrighty we've got ourselves a release here. I think this strikes the right balance between pushing forwards towards an improved and simplified 1.0 release while minimising disruption in getting there.


0.28.0 (15th November, 2024)

The 0.28 release includes a limited set of backwards incompatible changes.

Backwards incompatible changes:

SSL configuration has been significantly simplified.

  • The verify argument no longer accepts string arguments.
  • The cert argument has now been removed.
  • The SSL_CERT_FILE and SSL_CERT_DIR environment variables are no longer automatically used.

For users of the standard verify=True or verify=False cases this should require no changes.

For information on configuring more complex SSL cases, please see the SSL documentation.

The following changes are also included:

@tomchristie tomchristie added the release A new package release label Nov 15, 2024
@tomchristie tomchristie requested a review from a team November 15, 2024 12:05
@agrueneberg
Copy link

@tomchristie How would I supply a custom root certificate if a dependency is using httpx but does not allow a custom context to be passed? So far we have used SSL_CERT_FILE in those situations.

@tomchristie
Copy link
Member Author

@agrueneberg Thanks. You would need the dependency to support passing an ssl context through, if you wanted to use a custom context...

Can you describe your setup just a little more?

@tomchristie tomchristie mentioned this pull request Nov 21, 2024
@tomchristie
Copy link
Member Author

@agrueneberg Thanks. You would need the dependency to support passing an ssl context through, if you wanted to use a custom context...

Good pointer towards why we might want to switch to truststore over certifi.

Perhaps you could take a look at #3409 and see if that'd resolve things for you.

@agrueneberg
Copy link

Sorry for the late response. Our dependency (qdrant-client) does in fact pass additional arguments to httpx, so the problem is not as bad as I thought. I still liked the configuration-free approach that SSL_CERT_FILE offered, being able to run in different environments without a change in code (e.g., dev / prod environment).

Truststore appears to be a step in the right direction.

@agrueneberg
Copy link

That said, I've never seen a code snippet where an explicit SSLContext is passed as an argument to verify. SSL_CERT_FILE is not universal (despite being mentioned in PEP 476) because requests only supports REQUESTS_CA_BUNDLE instead, but passing a string pointing to the CA bundle as an argument to verify is such a common solution to SSL problems that I'm not sure if breaking that behavior is worth it.

@tomchristie
Copy link
Member Author

tomchristie commented Nov 23, 2024

passing a string pointing to the CA bundle as an argument to verify is such a common solution to SSL problems that I'm not sure if breaking that behavior is worth it.

@agrueneberg That's a concession I'd be happy for us to take for a 0.28.0 release. Are you interested in issuing a PR resolving that?

@agrueneberg
Copy link

agrueneberg commented Nov 24, 2024 via email

@tomchristie
Copy link
Member Author

Okay, as much as I'd like to push forward with this quickly we really need a deprecation path rather than hard breakages here.

So... #3419

@tomchristie tomchristie deleted the version-0.28.0 branch November 28, 2024 13:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release A new package release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants