feat!: Upgrading java-http-client to use apache httpclient5
Fixes #147
sendgrid-java, specifically the constructor that consumes a Client is currently incompatible with apache httpclient5 due to it's dependency on this repository, a simplified version of the http client. In order for projects on httpclient5 to use sendgrid-java, this dependency needs to be updated first.
Checklist
- [x] I acknowledge that all my contributions will be made under the project's license
- [x] I have made a material change to the repo (functionality, testing, spelling, grammar)
- [x] I have read the Contribution Guidelines and my PR follows them
- [x] I have titled the PR appropriately
- [x] I have updated my branch with the main branch
- [x] I have added tests that prove my fix is effective or that my feature works
- [x] I have added the necessary documentation about the functionality in the appropriate .md file
- [x] I have added inline documentation to the code I modified
If you have questions, please file a support ticket, or create a GitHub Issue in this repository.
I used the official Apache guide for the migration: https://hc.apache.org/httpcomponents-client-5.3.x/migration-guide/migration-to-classic.html, as well as other resources like some of the namespace mappings from here: https://docs.openrewrite.org/recipes/apache/httpclient5/upgradeapachehttpclient_5_classmapping.
My suggestion for this PR would be to release it under a new major version, such that it is clear that it is a breaking change for consumers. Then we can also update sendgrid-java with a major version change, again to not break existing functionality for consumers of that library.
Opened a linking issue in the main repo to hopefully make this more visible: https://github.com/sendgrid/sendgrid-java/issues/772
Is anyone watching this?