Skip to content

Releases: drogonframework/drogon

v1.9.8

27 Oct 06:36
Compare
Choose a tag to compare

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

10 Sep 15:18
Compare
Choose a tag to compare

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

20 Jul 15:38
Compare
Choose a tag to compare

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

20 Jun 12:56
e7eff32
Compare
Choose a tag to compare

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

08 Jun 12:34
8bdb9b2
Compare
Choose a tag to compare

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

02 Jun 04:48
Compare
Choose a tag to compare

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

25 May 16:15
fb08813
Compare
Choose a tag to compare

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 with newHttpClient(...., 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

04 May 14:43
Compare
Choose a tag to compare

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

09 Feb 08:09
Compare
Choose a tag to compare

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

18 Jan 13:53
Compare
Choose a tag to compare

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.