Releases: avocadoboi/cpp20-http-client
v3.0.0
v2.2.0
Added support for specifying ports in URLs, and fixed a few bugs.
MSVC SUPPORT! 🎉
As the latest versions of the MSVC compiler now support pretty much all C++20 features, the library was made buildable with MSVC!
Also fixed some bugs that showed themselves when trying to build with MSVC.
v2.1.2
- Fixed an issue with
UniqueHandle
that came up when testing on Windows. - Changed the template parameter naming convention.
- Updated README
v2.1.1
- Extracted a function from
parse_headers_string
to replace a loop with astd::ranges::copy
. - Replaced a loop in a
parse_headers_string
test with astd::ranges::equal
. - Removed a few GCC-specific warning flags (which weren't that important).
- Updated the version number in the CMake script.
- Small fixes.
v2.1.0
- Added optional std::size_t template parameter to
Socket::send
andSocket::send_async
functions to change the size of the receive buffer. - Added a simple async "DELETE" request example.
- Small improvements.
v2.0.0
Removed support for C++20 UTF-8 string types (char8_t, std::u8string, std::u8string_view) because they add unnecessary complexity (having to add overloads or write templates) and usage inconvenience (having to construct string views manually or specify the character type as template argument). Since regular strings have always been used for utf-8, utf-8 is backwards compatible with ASCII, and there is no support for utf-8 in the standard library other than these types, there is no real benefit from using them.
The code style was modified to be more normative (only use trailing return types where readability is improved, separated public/private sections in classes), code was improved and bugs were fixed.
v1.0.5
Mostly improved code quality and extended documentation.
V1.0.4
Fixed a bug where requests without bodies kept the Transfer-encoding and Content-Length headers, confusing some servers.
v1.0.3
Bodies in requests now work properly, and the post_request example was extended to demonstrate this. Some small things like adding [[nodiscard]] in more places as well.