Releases: drogonframework/drogon
v1.9.8
API changes list
-
Add in-place base64 encode and decode.
-
Add check the client connection status.
Changed
-
Add Hodor whitelists.
-
Include exception header for std::exception_ptr.
-
Add support for escaped identifiers in Postgresql.
-
Remove content-length header from 101 Switching Protocols response.
-
Remove websocketResponseTest from windows shared library env.
-
Optimize query params and allow for empty values.
-
Replace rejection sampling and remove use of rand().
-
Add sending customized http requests to drogon_ctl.
Fixed
-
Fix coroutine continuation handle.
-
Fix some bugs in plugin PromExporter.
-
Fix a bug after removing content-length header in some responses.
v1.9.7
API changes list
-
Add coroutine mutex.
-
Add requestsBufferSize function.
-
Refine SQLite3 error types with new exception handling.
-
Add a new method to reload SSL files on the fly.
Changed
-
Allow MultiPartParser to be movable.
-
Add quotes to the table name in the ORM generator.
-
Change stoi to stoul in the Field class.
-
Modernize cookies.
-
Change a log level.
Fixed
- Use correct libraries when compiling statically.
v1.9.6
API changes list
-
Add setsockopt to HttpServer.
-
Support request stream.
Changed
-
Allow MultiPartParser to parse PATCH requests.
-
Add an example of prometheus.
-
Delay parsing json for HttpClient.
-
Update README.md.
Fixed
-
Fix some compilation warnings.
-
Fix typo in yaml config.
v1.10.0-beta.2 - HTTP/2 client beta release 2
This is a BETA RELEASE of our HTTP/2 client. As it is difficult for us to test our client against all possible situations. The beta release is meant for people to experiment and try our HTTP/2 client and report what does and does not work. This beta branch is synced with our main branch at least once per (beta) release.
Please help us test our HTTP/2 implementation. Open an issue and tag @marty1885 if you found any.
Comment on our compatibility tracker if you like. This allows us to gather a list of known working sites :)
BR, Martin Chang
Fixes
- Fix underflow in our client's HTTP/2 flow control
- In practice, this fixes server disconnecting due to client sending too much data at once when there's a large body
Changes
- Merge with latest
master
- Revised stream resumption logic to avoid edge cases leading to larger then necessary latency
- Better filtering for HTTP smuggling/desync
- Proactively send buffered HTTP/2 frames to reduce reallocation
Limitations
Please open an issue if you need any of them.
- No H2C (HTTP/2 over cleartext) support
- Technically supports handling server push. But no API to expose it to the user yet
- Does not support setting HTTP request dependency and priority
- Does not support trailers
v1.9.5
API changes list
-
Fix an error in the yaml format config file.
-
Support postgresql connection options.
-
Add regex support for websocket controller.
-
Add the registerMiddleware method.
Changed
-
Add the conan badge to readme files.
-
Install gcc in ci.
-
Intention to present an alternative to improve the performance of a method in models.
Fixed
-
Fix an error in the yaml format config file.
-
Fix CI on Windows.
-
Fix some spelling errors.
v1.10.0-beta.1 - HTTP/2 client beta release 1
This is a BETA RELEASE of our HTTP/2 client. As it is difficult for us to test our client against all possible situations. The beta release is meant for people to experiment and try our HTTP/2 client and report what does and does not work. This beta branch is synced with our main branch at least once per (beta) release.
Please help us test our HTTP/2 implementation. Open an issue and tag @marty1885 if you found any.
Comment on our compatibility tracker if you like. This allows us to gather a list of known working sites :)
BR, Martin Chang
Fixes
- Fix bad request when request path is empty
- Fix bad encoding/decoding when the server requests HPACK buffer size change
Changes
- Merge with latest
master
Limitations
Please open an issue if you need any of them.
- No H2C (HTTP/2 over cleartext) support
- Technically supports handling server push. But no API to expose it to the user yet
- Does not support setting HTTP request dependency and priority
- Does not support trailers
v1.10.0-beta.0 - HTTP/2 client beta release 0
This is a BETA RELEASE of our HTTP/2 client. As it is difficult for us to test our client against all possible situations. The beta release is meant for people to experiment and try our HTTP/2 client and report what does and does not work. This beta branch is synced with our main branch at least once per (beta) release.
Please help us test our HTTP/2 implementation. Open an issue and tag @marty1885 if you found any.
Comment on our compatibility tracker if you like. This allows us to gather a list of known working sites :)
BR, Martin Chang
Changed
- Add HTTP/2 Client
API changes
- New enum for HTTP/2
Version::kHttp2
HttpRequest::setVersion()
deprecated and has no affect.- HTTP version in client is no longer controlled by
req->setVersion()
but withnewHttpClient(...., DESIRED_HTTP_VERSION)
- It is more of a suggestion then requirement. The client negotiates and selects the highest supported one.
Limitations
Please open an issue if you need any of them.
- No H2C (HTTP/2 over cleartext) support
- Technically supports handling server push. But no API to expose it to the user yet
- Does not support setting HTTP request dependency and priority
- Does not support trailers
v1.9.4
API changes list
-
Add client cert support for websocket.
-
Add JSON send overloads for WebSocket connections.
Changed
-
Minor enhancement: move some smart pointers around instead of copying them.
-
Remove the request shared_ptr from the multipart parser.
-
Fix typo in HttpAppFrameworkImpl.cc.
-
Avoid string copy and lowercasing on every request.
-
Implemented database reconnection loop.
Fixed
- Bypass clang thread_local error.
v1.9.3
API changes list
-
Added getParameter() and getOptionalParameter().
-
Change drogon::MultiPartParser's parameters data type.
-
Use std::string_view for WebSockets.
Changed
-
Add support for gentoo linux, dev-db/mariadb contains mysql.
-
Introduce cpplint to the CI.
-
Enable readability/alt_tokens for cpplint.
-
Use clang-format-17.
-
Add newline at EOF.
-
Enable readability/inheritance for cpplint.
-
Enable build/explicit_make_pair for cpplint.
-
Enable build/include_order for cpplint.
-
Enable build/header_guard for cpplint.
-
Enable build/storage_class for cpplint.
-
Enable readability/multiline_string for cpplint.
-
Alias the safe hashmap template.
-
Simplify traits in utils.
-
Enhancement: extend drogon::ContentType for file handling.
Fixed
-
Fix a wrong place of return.
-
Fix drogon::util::fromString().
v1.9.2
API changes list
-
Feature: Integrate spdlog as logging backend.
-
Support asynchronous sending of chunked responses.
Changed
-
Modify the configuration file templates in drogon_ctl.
-
Use execute_process instead of exec_program in FindJsoncpp.cmake.
-
GitHub Action to find typos in the codebase using codespell.
-
add discord link to readme.
-
Add -k option to the drogon_ctl when running the press command.
-
Refine request routing process.
-
Add CI tests with more compilers.
-
Avoid a race condition in database listener tests.
-
Remove macos-11 CI; not supported by Homebrew.
-
Bump github/codeql-action from 2 to 3.
-
Move the RealIpResolver plugin to the PreRouting join point.
Fixed
-
Fix: typo on Mapper method.
-
Fix a error of coroutines on Windows.
-
Fix ORM: The original way did not handle exceptions correctly.
-
Remove the default ctor of the Row class in ORM.
-
Set the url of trantor to the official repository.
-
Fix htonll/ntohll redefinition.
-
Fix building with MSYS2.
-
Fix name issue when cross-compiling.