Releases: libcpr/cpr
CMake Version Number Fix
This hotfix release fixes the invalid version number for the 1.10.0 release and adds enhanced support for the CPR_USE_BOOST_FILESYSTEM
on macOS.
What's Changed
Full Changelog: 1.10.0...1.10.1
1.10.0 - Welcome cpp17
With this release we are increasing the minimum required C++ standard from cpp11
to cpp17
.
BUT since we know not all of your projects are able to support a C++ standard <= cpp17
, we are still supporting cpr 1.9.x
until 01.01.2025. From now on the 1.9.x
release will only receive bug fixes.
What's Changed
- C++17 support by @simon-berger in #765
- Rename CPR_FORCE_USE_SYSTEM_CURL to CPR_USE_SYSTEM_CURL by @KingKili in #794
- Add support of uploading multiple files within the same multipart field (#563) by @leviliangtw in #793
- Implement curl_multi_perform by @simon-berger in #770
- Disable the header "Expect: 100-continue" by default (#293) by @leviliangtw in #798
- NuGet package by @simon-berger in #789
- iOS support by @ospfranco in #801
- Mongoose update by @saendigPhilip in #774
- 📝 add documentation to CMake find-package support by @guylevy84 in #806
- Fix iOS check for skipping CA bundle search by @ospfranco in #803
- Add CURL_VERBOSE_LOGGING option to enable debug features during curl … by @matthiasklein in #810
- Add std::map based constructors to Proxies and ProxyAuthentication by @kp-cat in #814
- Remove redundant const qualification in auth.h by @ciberst in #816
- Support manual hostname resolution by @hexadec in #820
- File loading cleanup by @andoalon in #821
- Compatiblity for OSX without filesystem.h by @kpeo in #812
- New Issue and Feature Request Forms by @COM8 in #835
- MacOS Ci Fix and Proxy Test Option by @COM8 in #836
- Fixed compiler warnings by @proxict in #842
- deb: split out dev package by @dbungert in #843
- Added a default cpr::Session move ctr by @COM8 in #848
- Add instructions for building with Bazel by @cpsauer in #846
- Disable adding configurations. by @rumgot in #853
- Bump RafikFarhad/clang-format-github-action from 2.1.0 to 3.0.0 by @dependabot in #854
- Fixed GetDownloadFileLength error by @zydxhs in #855
- API type tweaks by @tlammi in #857
- Mutiperform Intercept by @COM8 in #863
- build in -> built-in by @cpsauer in #867
- Fixed thread pool not creating enough new threads after awhile by @xfangfang in #868
- Disable HTTP_ONLY option by @christk1 in #873
- Add check for CMP0135 by @yeSpud in #874
- MultiAsync by @RuleOfThrees in #864
New Contributors
- @ospfranco made their first contribution in #801
- @guylevy84 made their first contribution in #806
- @matthiasklein made their first contribution in #810
- @kp-cat made their first contribution in #814
- @ciberst made their first contribution in #816
- @hexadec made their first contribution in #820
- @kpeo made their first contribution in #812
- @proxict made their first contribution in #842
- @dbungert made their first contribution in #843
- @cpsauer made their first contribution in #846
- @rumgot made their first contribution in #853
- @tlammi made their first contribution in #857
- @xfangfang made their first contribution in #868
- @christk1 made their first contribution in #873
- @yeSpud made their first contribution in #874
- @RuleOfThrees made their first contribution in #864
Full Changelog: 1.9.0...1.10.0
Replaced build types with flags
In this release we fixed a CMake crash caused by us adding custom build types for sanitizer builds. They now got replaced by CMake flags.
CPR_DEBUG_SANITIZER_FLAG_THREAD
CPR_DEBUG_SANITIZER_FLAG_ADDR
CPR_DEBUG_SANITIZER_FLAG_LEAK
CPR_DEBUG_SANITIZER_FLAG_UB
CPR_DEBUG_SANITIZER_FLAG_ALL
What's Changed
Full Changelog: 1.9.2...1.9.3
Thread Pool Fix and Proxie Constructor Enhancements
What's Changed
- Fixed thread pool not creating enough new threads by @COM8 in #802
- Add
std::map
based constructors toProxies
andProxyAuthentication
by @kp-cat in #814
Full Changelog: 1.9.1...1.9.2
1.9.1 - Include Bugfix
1.9.0 - Goodbye cpp11
This will be the last release where the minimum required C++ standard is cpp11
. With the next major release (1.10.0) in ~late 2022/early 2023 we will increase the minimum C++ standard to cpp17
(Issue).
This release (1.9.0) will still receive bug fixes, at least until the end of 2023, but all new features require from now on a cpp17
compatible compiler.
Thanks to everyone who helped making this next release of cpr possible 🎉!
Especially I would like to thank @simon-berger, @saendigPhilip @leviliangtw .
In case everything goes like planed we will even offer a .deb package and a NuGet package soon.
So stay tuned!
What's Changed
- Improve usability for ResponseStringReserve by @WorkingRobot in #726
- Make sure mutex is properly initialized by @cordbleibaum in #728
- Only use CURLOPT_SSLKEY_BLOB on curl 7.71.0+ by @alebcay in #737
- Unified basic, digest and ntlm authentication into one authenticaton class by @simon-berger in #735
- Use UpdateHeader to allow header updates from different sources by @simon-berger in #738
- Added function to get the full request URL by @simon-berger in #741
- Improved range requests and added support for multiple ranges by @simon-berger in #742
- Use thread pool to instead of std::async (#633) by @ithewei in #734
- Add Interceptors by @simon-berger in #744
- Support for CURLOPT_LOCALPORT and CURLOPT_LOCALPORTRANGE by @jmhersc in #748
- Add CaBuffer to enable loading of CA certificates from buffers by @simon-berger in #750
- Add method SetAcceptEncoding for customized Accept-Encoding header (#683) by @leviliangtw in #746
- Add support of customized filename for Multipart (#642) by @leviliangtw in #755
- Added CI script for automatically building a debian package by @saendigPhilip in #760
- Add unit tests for file uploading using buffer of rvalue/lvalue reference (#216) by @leviliangtw in #764
- Add async methods to the Session object interface by @simon-berger in #756
- Add support of file and buffer for the POST Body (#581) by @leviliangtw in #763
- Securely remove sensitive data from memory by @Garfield96 in #776
secureStringClear
Fix for Empty Strings by @COM8 in #779- New certificates for HTTPS tests by @saendigPhilip in #773
- MacOS and Windows OpenSSL CI fixes by @COM8 in #783
- Refactor cpr::Cookies for storing more fields (#777) by @leviliangtw in #778
- Fix certificate information extraction from the response (#769) by @leviliangtw in #781
- Workaround for PUT requests with a read callback by @COM8 in #787
New Contributors
- @WorkingRobot made their first contribution in #726
- @cordbleibaum made their first contribution in #728
- @alebcay made their first contribution in #737
- @simon-berger made their first contribution in #735
- @ithewei made their first contribution in #734
- @jmhersc made their first contribution in #748
- @leviliangtw made their first contribution in #746
- @saendigPhilip made their first contribution in #760
Full Changelog: 1.8.4...1.9.0
Securely remove sensitive data from memory
This release addresses a security concern, where an attacker could extract sensitive information from cpr after the application had been exited.
Changes:
- Explicit removal of sensitive data from memory (@Garfield96)
Full Changelog: 1.8.3...1.8.4
`CURLOPT_SSLKEY_BLOB` and old curl Versions
This release disables setting SSL-Key blobs for older versions of curl below 7.71.0
, since it was not available previously to that.
More information on that can be found here: #732
Full Changelog: 1.8.2...1.8.3
Windows and MacOS HTTPS fix
What's Changed
Full Changelog: 1.8.1...1.8.2
cpr v1.8.1
Changes
- Not including
curl.h
in cpr header files #716