Releases: yhirose/cpp-httplib
Releases · yhirose/cpp-httplib
Bug fixes and new feature
🆕 New Features
- ErrorLogger Support (#870, #2195)
- Added long-requested error logging functionality
- Enhanced error handling and reporting capabilities
- Major implementation with 379 additions, 65 deletions
🔧 Improvements
-
Windows Compatibility (#2193)
- Changed 32-bit Windows support from
#error
to#warning
- Unified
_WIN64
macros to_WIN32
for better compatibility - Improved Windows environment support
- Changed 32-bit Windows support from
-
Build System Enhancements
🐛 Bug Fixes
-
OpenSSL Integration
- Fixed Chocolatey OpenSSL compatibility issues
- Improved SSL functionality stability on Windows
-
Windows Version Handling
- Resolved Windows version check problems
- Enhanced platform detection
Bug fixes
Bug Fixes
Issue #2184, #2185: URL Encoding/Decoding Improvements (#2190)
Files: httplib.h, test/test.cc
- Added new RFC 3986 compliant URL encoding/decoding functions alongside existing JavaScript-style URI functions
- Introduced encode_path_component(), decode_path_component(), encode_query_component(), decode_query_component()
- Improved path and query component processing with proper encoding separation
- Enhanced redirect handling with correct plus sign (+) processing in query parameters
- Added comprehensive test case Issue2185_Online for GitHub redirect scenarios
Issue #2187: Accept Header Quality Value Parsing Exception Handling
Files: httplib.h
- Improved exception handling for Accept header quality value parsing
- Added exception-free implementation when CPPHTTPLIB_NO_EXCEPTIONS macro is defined
- Replaced std::stod() with std::istringstream for more robust q-value parsing
- Enhanced Accept header processing reliability
Issue #2189: Missing Client::set_max_timeout Method Implementation
Files: httplib.h
- Added missing Client::set_max_timeout(time_t msec) method implementation
- Maintained existing template version of set_max_timeout method
- Improved API completeness for client timeout configuration
Summary
This release focuses on critical bug fixes that enhance the library's reliability and standard compliance. Key improvements include better URL processing, more robust HTTP header
parsing, and complete client API implementation.
Bug fixes and changes
Bug fixes, New features, Breaking changes
🐛 Bug Fixes
- #2167 - Fix #1601: Fix getaddrinfo stalling issue when network is down
- #2165 - Proxy problems: Fix proxy-related issues
- a636a09 - Fix #1656: Improve logging before compression
✨ New Features
- #2170 - Fix #2082: Add URL encoding helpers for user input in GET requests
- #2169 - Fix #1416: Add SSL error access functionality
- #2166 - Cleaner API: API improvements
- cfb56c0 - Fix #1818: Add POST with content receiver feature
- b2bf172 - Fix #1551: Add Params support for PUT/DELETE methods
🚨 Breaking Changes
Bug fixes
Bug fixes and new features
Bug fixes
Bug fixes and a new feature
- server_certificate_verifier extended to reuse built-in verifier #2064
- Assertion failed when destroying httplib::Client
#2068 - Spaces incorrectly allowed in header field names #2096
- build(meson): copy MountTest.MultibytesPathName files #2098
- Remove SSLInit #2102
- Add zstd support #2088
- Question the behavior of method read_content_without_length #2109
- Crash when calling std::exit while server running or client requests in flight #2097
Bug fix and new feature
- Global timeout feature (same as "--max-time" curl option) #2034
- Fix check for URI length to prevent incorrect HTTP 414 errors