Skip to content

Releases: drogonframework/drogon

v1.6.0

15 May 10:15

Choose a tag to compare

API changes list

  • Add option to set default handler.

  • Add the setTimeout() method to the DbClient class and the RedisClient class.

  • Add the validateCert parameter to the newWebSocketClient method.

Changed

  • A few mini changes to drogon_ctl command.

  • Improve the MultiPartParser class.

  • Add GNU -Werror & fix warnings.

  • Enhancements on files part.

  • Add version/soversion to shared library.

  • Disallow coroutines to be resolved as plain subroutine handlers.

  • Send the content-length header even if the body(POST,PUT,OPTIONS,PATCH) is empty.

  • Use make_exception_ptr instead of throw/catch when possible.

  • Remove duplicated inclusion.

  • Print error before terminating in AsyncTask.

  • Allow users to override drogon Find modules.

  • Use two-phase construction for the DbClientImpl and the RedisClientImpl.

  • Add support 'select ' for redis.

Fixed

  • Fix a bug of the Transaction class.

  • Copy CoroMapper.h to installation location.

  • Remove the related request from the buffer if it's not sent after the timeout.

  • Fix ORM with SQLite3 not compiling on Arch Linux.

  • Fix an error when constructing RedisClientImpl objects.

  • Fix coroutine frame leak upon assigning to awaitable.

  • Set running flag to true before installing plugins.

  • Fix double free in coroutine exception handling.

v1.5.1

10 Apr 12:31

Choose a tag to compare

Fixed

  • Fix a bug of reflection failure.

v1.5.0

10 Apr 01:40

Choose a tag to compare

API changes list

  • Add option to disable signal handling.

  • Added newFileResponse Support for buffers in memory.

  • Add a method to HttpRequest to set the user_agent header.

  • Catch exceptions thrown by handlers.

Changed

  • Add convert method to models.

  • Add Arch Dockerfile.

  • Add Redis support.

  • Print error and exit when IP parsing failed in server startup.

  • Use a canonical way of calling max() function on Windows.

  • Remove an assertion statement in the HttpClientImpl class.

  • Send ping messages by default for WebSockets.

  • Use canonical cmake logic for cross-compilation.

  • set make job count to the number of threads in GitHub Actions workflow.

  • Use lambda instead of std::bind in HttpServer.

  • Add exports macro to allow Shared Library with hidden symbols by default.

  • Remove repeated class names on relationships from the model generator.

Fixed

  • Fix compile warnings in SQL client.

  • Fix compilation errors for the TimeFilter example.

  • Fix build.sh missing nproc error in build for macOS.

  • Fix a bug when creating sqlite3 models.

  • Fix two building corner cases, CMake quality of life improvements.

  • Add CoroMapper to models' friends.

v1.4.1

07 Mar 12:50

Choose a tag to compare

Fixed

  • Fix a bug of DbClientImpl class that can lead to a crash when database connections are breaking.

v1.4.0

06 Mar 08:42

Choose a tag to compare

API change list

  • Add coroutine support.

  • Add default value interface to SqlBinder for MySQL and PostgreSQL.

  • Support SNI in the HttpClient class.

  • Validate certificate in HttpClient.

  • HttpRequest: add a feature to avoid URL encoding of the path.

Changed

  • Handle cross-compiling properly.

  • Lowercase all HTTP headers, add webp and avif types.

  • Modify FindMySQL.cmake

Fixed

  • Fix an error in the HttpClient class when a response has no content-length.

  • Return 404 or 405 responses correctly.

  • Fix compilation errors on vs2019.

  • Fix stack use after scope error in client_example.

  • Fix the error when the SSL handshake fails.

Note: an-tao is still the author. But marty1885 starts the draft and didn't expect it's his name.

v1.3.0

17 Jan 04:08
0168cd0

Choose a tag to compare

API change list

  • Add an option for setting float precision in Json string.

Fixed

  • Fix brotli link order.

  • Fix cmake with drogonctl cross-compilation.

  • sqlite3: Insert into stmtsMap_ as string_view.

  • Fix some bugs when creating models via drogon_ctl.

  • Fix an error in sqlite3 ORM generator.

  • Fix an error with missing composite key to sqlite3 ORM generator.

Changed

  • Remove the use of std::filesystem to adapt to old compilers.

  • Add github actions.

  • Serve wasm files with the correct MIME type.

v1.2.0

12 Dec 08:41

Choose a tag to compare

Fixed

  • Fix error when receiving response without content-length header.

  • Fix a stack-overflow error when high concurrency happening on sqlite3.

  • Fix MinGW ORM building by enabling htonll and ntohll.

Changed

  • Modify the WebSocketTest controller to create a simple chat room.

  • Add support for OpenBSD.

  • Return 400 if the content-length is invalid.

  • Don't send content type in a 304 response.

  • Add the reuse_port option to app() interface.

  • Add the 'std::optional' support in the SqlBinder class and the Session class.

  • Add implicit page resolving capability.

v1.1.0

31 Oct 03:12

Choose a tag to compare

Fixed

  • Fix failing to connect to DB if parameters contains spaces.

  • Fix a CMAKE bug when SHARED and EXAMPLES are on.

  • Fix the HttpServer::isWebSocket method.

  • Find mariadb client library correctly on Ubuntu 20.04.

  • Fix a bug when creating sqlite3 database models.

  • Fix a bug in the Mapper::insertFuture method.

Changed

  • Disable TLS1.0/1.1 on HTTPS by default.

  • Use explicit lambda capture lists.

  • Modify the procedure of the app().run() method.

  • Support namespaces when creating view source files.

  • Add --path-to-namespace option to drogon_ctl for creating views.

  • Add the Host and Sec-WebSocket-Version headers when connecting to a websocket server.

v1.0.0

27 Sep 14:54
bbb338b

Choose a tag to compare

Fixed

  • Fix an issue of simple_reverse_proxy when handling chunked transfer-encoding.

  • Fix a bug when losting connection to MySQL server during query.

  • Remove the expired std::iterator template.

  • Fix a bug when creating models in some special cases.

API changes list

  • Modify methods related to headers.

  • Remove the expired std::iterator template.

  • Add getListeners() method to the HttpAppFramework class.

  • Remove the useless method stat() from the PluginBase class.

  • Add ConfigLoader::ConfigLoader(const Json::Value &data).

Changed

  • Add support for status code 418.

  • Modify session handling.

  • Modify the FileUpload.csp in simple_example to avoid CORS.

  • remove execution permission on /tmp/drogon.lock.

v1.0.0-beta21

19 Aug 16:13

Choose a tag to compare

v1.0.0-beta21 Pre-release
Pre-release

Changed

  • Modify the Result class in orm.

Fixed

  • Fix zlib link error on Windows for the latest vcpkg.