Skip to content

Releases: drogonframework/drogon

v1.9.1

27 Nov 11:00
Compare
Choose a tag to compare

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

29 Oct 03:46
Compare
Choose a tag to compare

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

24 Sep 03:00
94ca651
Compare
Choose a tag to compare

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

24 Sep 04:16
Compare
Choose a tag to compare

Fixed

  • Fix compatibility issue with c++14.

v1.8.6

23 Aug 02:03
Compare
Choose a tag to compare
v1.8.6 Pre-release
Pre-release

Changed

  • Show outputs of try_compile for UUID libs.

  • Update Trantor to fix a serious bug when sending files.

v1.8.5

20 Aug 05:19
Compare
Choose a tag to compare
v1.8.5 Pre-release
Pre-release

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

20 Mar 15:40
ceab5f3
Compare
Choose a tag to compare

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

23 Jan 03:05
0b3147c
Compare
Choose a tag to compare

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

11 Nov 13:10
Compare
Choose a tag to compare

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

25 Sep 15:14
Compare
Choose a tag to compare

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.