Releases: drogonframework/drogon
v1.8.0
API changes list
-
Add ‘not like‘ criteria.
-
Add HttpResponse::newStreamResponse().
-
Add the same site option for session cookie.
-
Add support for custom SQL query.
Changed
-
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.
Fixed
-
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.
v1.7.5
API changes list
-
Add toString for drogon::ReqResult.
-
Add max-age, samesite options to Cookie.
-
Enable setup output of logs to files at any time.
Changed
-
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.
Fixed
-
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.
v1.7.4
API Change List
-
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
Changes
-
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
Fixed
-
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)
v1.7.3
API Change List
-
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
Changes
-
Experimental HaikuOS Support
-
Improve AccessLogger
-
Add Alpine Dockerfile
-
Add option to disable brotli if desired by the builder
Fixed
-
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
v1.7.2
@an-tao Is busy so I'm making the release in place of him.
API Change List
-
Add port() and host() to HttpClient
-
Add stop() method to the WebSocketClient class
Changes
-
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.
Fixed
-
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
v1.7.1
v1.7.0
API changes list
-
Add the PreSendingAdvice to AOP.
-
Make Json::Value as a SQL parameters type.
-
Add the int type for the Row index parameter.
-
Add SSL_CONF_cmd support.
-
Add the setCustomStatusCode method.
Changes
-
Fix sync_wait/co_future use-after-free.
-
Add the AccessLogger plugin.
-
Make AsyncTask only destruct when the coroutine reaches end of executions.
-
Add Drogon test framework.
-
Improve WebSocket mask handling.
-
Add minimal server side examples.
-
Optimize HttpControllersRouter for cases where regex is not needed.
-
Create controller instances after running instead of after being called.
Fixed
-
Move resolverPtr when destroying an HttpClientImpl object.
-
Modify the way to create sqlite3 client.
-
Fix a bug when a network failure occurs on Redis connections.
-
Fix a bug of string_view for MSVC.
-
Fix 'build.sh -tshared'.
-
Fix compiler warnings.
-
Fix CacheMap crash in CI tests.
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.