Releases: drogonframework/drogon
v1.6.0
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
v1.5.0
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
v1.4.0
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
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
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
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
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
Changed
- Modify the Result class in orm.
 
Fixed
- Fix zlib link error on Windows for the latest vcpkg.