Releases: drogonframework/drogon
v1.9.1
API changes list
-
Pass HttpRequestPtr to custom error handlers.
-
Provide some functions for incrementing the value of given columns.
-
Return HttpAppFramework by setExceptionHandler.
Changed
-
Custom sessions.
-
Use the constexpr if instead of std::enable_if.
-
Make id generator consistent.
-
Update test_cmake.csp.
-
Simplify drogon test with c++17.
-
Remove unused and undefined overloads of isBase64.
Fixed
-
Fix build due to trantor commit out of date and address warnings.
-
Fix a bug of the GlobalFilters plugin.
-
Fix: uuid formatting.
v1.9.0
API changes list
- Added isTopicEmpty function;
Changed
-
Update the ubuntu Dockerfile;
-
Add optional Criteria && || operator support;
-
Bump actions/checkout from 3 to 4;
-
Make & and * directly adjacent to variable names;
-
Use wss:https://echo.websocket.events/.ws in WebSocket client example;
-
Change logs in the AccessLogger plugin to TRACE level;
Fixed
-
Fix an error in the secureRandomString function;
-
FIX int mapping to int64_t instead of uint64_t;
1.9.0-rc.1 - Goodbye cpp14
API changes list
-
Drop cpp14 build support.
-
Add isHead() method to HttpRequest, to preserve information about the original method for use in the controller.
-
Allow omitting template paremeter in execCommandSync.
-
Add a method to HttpRequest to access the matched routing parameters.
Changed
-
Update readme files.
-
Allow sync advice to be callable on websocket requests.
-
Set concurrency to prevent blocking CI queue.
-
Validate clang-format version & Customize clang-format path.
-
Extract format action into distinct job.
-
Split macOS and Ubuntu CIs for readability.
-
Set concurrency for CodeQL.
-
Add dependabot.yml for GH actions.
-
Replace sprintf with snprintf.
-
Use ninja to build faster.
-
Avoid using well-known ports for demoMain.
-
Simplify coroutine implementation.
-
Add a plugin for prometheus.
-
Optimize plugins with redirection functions.
-
Optimize regex generator.
-
Add override keyword to setSockOptCallback.
-
SlashRemover optimization.
Fixed
- Fix race condition when setting the secure flag during test.
v1.8.7
v1.8.6
v1.8.5
API changes list
-
Add the forwardCoro method to HttpAppFramework.
-
Possibility to add plugins without config file.
-
Implement QueryBuilder.
-
Add getOriginalPath function.
-
Add setsockopt to HttpClient.
-
Add overload function of newHttpResponse.
-
Add getConnectionCount method.
Changed
-
Add synchronization interface to model's associated query.
-
Use syncAdvices.empty() to check.
-
Remove the deprecated Json::Reader.
-
Adapt Drogon to take advitange of Trantor TLS refactor.
-
Add avatars of all contributors to the readme file.
-
Remove docsforge from readme.
-
Adapt to gcc13.
-
Modify the HttpMessageBody class.
-
Add the GlobalFilters plugin.
-
Add filters and plugins to the drogon.h header file.
-
Add webp and svg to the default file_types.
-
Update SqlBinder.h.
-
Remove path from COMPILER_COMMAND.
-
Hodor plugin - Use IP bytes for user IP identification.
-
Add SlashRemover plugin.
-
Support setting max_files in loggers.
-
Use shared_ptr to store plugins.
-
Throw custom exception in HttpClient.
-
Base64 improvements.
-
Add CT_TEXT_JAVASCRIPT.
-
Fix typo in newHttpJsonResponse documentation.
-
Add CodeQL workflow.
-
constexpr base64 length calculators.
-
Make isBase64() and isInteger() take string_view.
-
Chore: add package.xml.
-
Add an example of yaml config file.
-
Remove some unused functions.
-
Use unsigned char to call the std::isspace function.
-
Change options BUILD_CTL and BUILD_EXAMPLES and update readme with Building options.
-
Remove unused CI files and Jekyll config.
-
Ensure that all filters, AOP advices, and handlers are executed within the IO threads.
-
Update test.sh and build.sh by appending prefix "X" to string variable comparisons.
-
Recognize URI in request lines.
-
Address warnings on macOS CI.
-
Perform insensitive string compare of cookie SameSite attribute.
Fixed
-
Temporary fix dead HttpClient.
-
Fix a configuration error when building drogon_ctl.
-
Fix generation of JSON field validation for short type.
-
Fix bug on Mac M1 with redis chat example code.
-
Fix error: conversion from ‘long int’ to ‘Json::Value’ is ambiguous.
-
Bugfix: PgBatchConnection did not report error message.
-
Fix typo in config file.
-
Fix a hanging bug when writing large string to text field.
-
Fixed logic error of limiterExpireTime_.
-
Fix Missing Header BaseBuilder.h in CMakeLists.
-
Fix: Coroutine handle should be captured by value.
-
Fix issues in the ListParaView and content types.
-
Fix target link libraries of yaml-cpp to comaptiable with vcpkg.
-
Fix build error on win32/mingw.
-
Fix CI in MacOS.
-
Fix broken link in CONTRIBUTING.md.
v1.8.4
API Changes list
-
Add a configuration option to display local time in logs.
-
Add the stackLimit option for jsoncpp.
-
Add coroutine to wait until event loop ends.
-
Add switchThreadCoro().
-
Add queueInLoopCoro function.
Changed
-
Reduce overhead of constructing string from request status.
-
Add coroutine parameter binding test and make tests not blocking.
-
Use weakptr instead of shared_ptr in HttpClient.
-
Refactor HttpServer codes.
-
Add an option in CMakeLists.txt to set how to use trantor.
-
Add support to yaml config file.
-
Changes to free http client if no request is pending.
-
Trigger error message in drogon test when faced with bad parameter.
Fixed
-
Make the token bucket full when it is initialized
-
Fix file r/w race condition in integration test.
-
Postgresql: don't handle events anymore after connection closing.
-
Fix multipart boundary with charset.
-
Fix a conan issue in github actions.
-
Hold shared pointer from the very beginning in WebSocketConnectionImpl.
v1.8.3
API changes list
-
Add onSessionStart() and onSessionDestroy() events
-
Support postgresql asynchronous notification (LISTEN/NOTIFY).
Changed
-
Update Utilities.cc
-
Drogon test refactor
-
Enable json entry as string
-
Mark awaiters as non-copyable
Fixed
-
Fix HttpController regex path matching
-
Fix a memory leak in the redis example
-
Partial fix for MSYS2 compat
v1.8.2
API changes list
-
Add the queueInLoopCoro function.
-
Avoid HashDoS attacks via random per-session hash initial state.
Changed
-
Support the mediumint column when generate the mysql model.
-
Set Hiredis_FOUND to true when finding Hiredis library.
-
Add rate limiter.
-
Add some test cases for the sqlite datetime type.
Fixed
-
Fix typo in drogon_test.h.
-
Fix a date race in drogon_test.
-
Fix a deadlock bug when closing all database connections.
v1.8.1
API changes list
- Support redis subscription.
Changed
-
Remove redundant member functions of drogon::Task.
-
Small patches on orm_lib.
-
Add support for the string_view type to SqlBinder in orm.
Fixed
-
Fix a conflict of ssize_t type with hiredis.
-
Fix a test bug when clients start before servers.
-
Fix model template file Unreachable code.
-
Use the mysql_library_end() function to avoid memory leaks.