Skip to content

Conversation

@lovelydinosaur
Copy link
Contributor

@lovelydinosaur lovelydinosaur 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:

@lovelydinosaur lovelydinosaur added the release A new package release label Nov 15, 2024
@lovelydinosaur lovelydinosaur 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.

@lovelydinosaur
Copy link
Contributor 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?

@lovelydinosaur lovelydinosaur mentioned this pull request Nov 21, 2024
@lovelydinosaur
Copy link
Contributor 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.

@lovelydinosaur
Copy link
Contributor Author

lovelydinosaur 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

@lovelydinosaur
Copy link
Contributor 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

@lovelydinosaur lovelydinosaur 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.

4 participants