Skip to content

Version 0.28.0 - #3404

Closed
lovelydinosaur wants to merge 5 commits into
masterfrom
version-0.28.0
Closed

Version 0.28.0#3404
lovelydinosaur wants to merge 5 commits into
masterfrom
version-0.28.0

Conversation

@lovelydinosaur

@lovelydinosaurlovelydinosaur commented Nov 15, 2024

Copy link
Copy Markdown
Contributor

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:

@lovelydinosaurlovelydinosaur added the release A new package release label Nov 15, 2024
@lovelydinosaur
lovelydinosaur requested a review from a teamNovember 15, 2024 12:05
@agrueneberg

Copy link
Copy Markdown

@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
Copy Markdown
ContributorAuthor

@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?

@lovelydinosaurlovelydinosaur mentioned this pull request Nov 21, 2024
@lovelydinosaur

Copy link
Copy Markdown
ContributorAuthor

@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
Copy Markdown

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
Copy Markdown

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

lovelydinosaur commented Nov 23, 2024

Copy link
Copy Markdown
ContributorAuthor

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

agrueneberg commented Nov 24, 2024 via email

Copy link
Copy Markdown

@lovelydinosaur

Copy link
Copy Markdown
ContributorAuthor

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

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

releaseA new package release

Development

Successfully merging this pull request may close these issues.

3 participants

@lovelydinosaur@agrueneberg@zanieb