Drogon: A C++14/17/20 based HTTP web application framework running on Linux/macOS/Unix/Windows
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.
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.
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.
Add onSessionStart() and onSessionDestroy() events
Support postgresql asynchronous notification (LISTEN/NOTIFY).
Update Utilities.cc
Drogon test refactor
Enable json entry as string
Mark awaiters as non-copyable
Fix HttpController regex path matching
Fix a memory leak in the redis example
Partial fix for MSYS2 compat
Add the queueInLoopCoro function.
Avoid HashDoS attacks via random per-session hash initial state.
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.
Fix typo in drogon_test.h.
Fix a date race in drogon_test.
Fix a deadlock bug when closing all database connections.
Remove redundant member functions of drogon::Task.
Small patches on orm_lib.
Add support for the string_view type to SqlBinder in orm.
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.
Add ‘not like‘ criteria.
Add HttpResponse::newStreamResponse().
Add the same site option for session cookie.
Add support for custom SQL query.
Update issue templates.
Enable automatic reconnect in mysql.
Add typename for clang-14.
A workaround for redis sync exec.
Resolve redis server hostname from config file.
Add username option to redis databases.
Return nullptr if a plugin is not loaded when getting it.
Support controller registration in plugin.
Check mysql-optionsv support in cmake.
Check if host header is set before setting.
Clear all database connections before quitting.
Add namespace to views when using drogon_ctl.
Support pipeline mode on PostgreSQL 14+.
Add content type to multipart file upload.
Make orm::Result compatible with C++ STL container concepts.
Throw exceptions instead of exiting when loading configuration fails.
Rename BUILD_TRANTOR_SHARED to BUILD_SHARED_LIBS.
Support compressed request.
Prevent sending multiple responses for a single request.
Remove the virtual specifier from functions marked with override.
Remove redundancies from the CMake action.
Ensure requiring a semi-colon after macros.
Omit redundant virtual specifiers.
Refactor orm::SqlBinder.
Implement toJson to convert std::vector to Json::Value.
Resolve real ip from HttpRequest.
Delete the unmaintained test script.
Change the listener port of the cookie test.
Use a raw string literal for the drogon banner.
Change timeout of pipeline test for the CI environment.
Accept "postgres" for DbClient type as well.
Log remote real address in AccessLogger.
Support coroutine filter.
Refactor db_test.cc.
Use nullopt instead of the no-argument constructor.
Set the running flag to false after calling the quit() method.
Fix doc link in README files.
Fix XXXControllers created on MSVC even if specified not to do so.
To avoid accessing a null point, make sure result == OK
before accessing the response ptr.
Fix a bug when stopping redis service.
Fix mutex lock missing.
Fix tolower with cfi sanitizer.
Add move constructor to fix clang-14 compile error.
Fix HttpClient dns cache.
Fix bug when resolving redis server hostname.
Reset timer afters relaunching on Linux.
Fix some configuration file issues.
Fix HttpFile unittest error on Windows.
Fix core dump causing by logging in destructor.
Fixing link error when linking with static c-ares.
Remove redundant resource release.
Install missing header file apply.h.
Fix deleteFutureByPrimaryKey compile fail.
Fix compilation failure without database support.
Fix Mapper::updateBy() async api.
Fix no BUILD_CTL with tests.
Fix some bugs in RedisClient.
Fix a misuse of std::move.
Fix a bug when creating models with composite keys in sqlite3.
Fix a bug when converting the content-length string to size_t.
Fix a bug when parsing multipart/form-data.
Export the getVersion method for Windows.
Add a pre-compilation macro in the pg pipeline test code.
Add toString for drogon::ReqResult.
Add max-age, samesite options to Cookie.
Enable setup output of logs to files at any time.
Use operator<< to convert ReqResult to string.
Remove sudo from build.sh.
Remove sudo from dependencies in Dockerfile.
Avoid attempt linking to std::fs when target does not exist.
Destroy fastdb client on quit.
Check HTTP client is not sending requests in sync mode on the same event loop.
Start listening after beginning advices.
Allow using json_cpp in other sublibraries.
Accept system lib for uuid on macOS.
Add Not In
to ORM Criteria.
Fix WS test potentially can get stuck.
Fix a bug in model generation.
Prevent malformed upload path causing arbitrary write.
Fix missing "using namespace drogon::orm;" at autogenerated restful controllers.
Support setting client certificate and SSL options on HTTP client
Add more method for mapper
Add overloads for SqlBinder::operator<< with non-const ref parameter
Use decay_t instead of remove_cvref_t
Prevent drogon_ctl create_view
appending empty new lines to resulting
Add an example for using coroutines of redis clients
Export some symbols for Windows
Mark all awaiters as nodiscard
Handle SIGINT too
Support CoroMapper method chaining
Remove setting c++17 in FindFilesystem
Fix Drogon not building caused by FindFilesystem
Fix deprecated warning when using openssl 3
Fix coroutine object destructing before coroutine ends in async_run
Fix build fail on CentOS8
Fix some compiler warnings
Fix the error with multiple results when calling a procedure in mysql
Fix an error when binding a function pointer to SqlBinder
Fix orm tests
Fix CI to actually build in C++14
Fix a race condition when resetting ws
Fix an error of std::bad_function_call
Update Trantor (fix sending partial files)
Support sending files by range
Allow outside access to the file path of an HTTP response
Support custom MIME types and extensions
Add the getOptionalParameter method
Add async_run
Experimental HaikuOS Support
Improve AccessLogger
Add Alpine Dockerfile
Add option to disable brotli if desired by the builder
Fix a bug in the getIOLoop method
Return on redis connection errors
Fix(MutliPart): Does not respect quotes in Content-Disposition header
Fix(cmake): error in FindFilesystem
Fix(style): Change the NotFound page text color
Fix a race condition in testing
@an-tao Is busy so I'm making the release in place of him.
Add port() and host() to HttpClient
Add stop() method to the WebSocketClient class
Enables higher level of warnings when building on UNIX with GCC
Generic optimizations
Add redis example
Added support for paths containing unicode characters on Windows
Load ParseAndAddDrogonTests in DrogonConfig
Add BUILD_DOC to cmake options
Add websocket server example
CMake: Add CPack for .deb and .rpm package generation
cmake: Use GNUInstallDirs to figure out install dirs.
Fix WS client example not working with integration_test
Fix WS client example error when encountering bad IP addresses
CacheFile supports >2GB files on 64-bit Windows
drogon_ctl
now emits error on failing to create view from CSP
Added the make
program to Ubuntu docker environment
Correctly check the case-insensitive value of the upgrade header of responses in websocket connections
Fix incorrect MD5 hash when using internal MD5 implementation when input size == block size+1
Fix test success message incorrectly shown for a failed test when -s is flag present
Force using boost::filesystem when building for Android
Escape connection string in drogon_ctl create model
Fix some memory leak and race conditions in WebSocketClient