All notable changes to this project will be documented in this file.
1.5.22 - 2024-10-27
-
Fix a bug in the dtor of EventLoop.
-
Free leaked memory in ares resolver.
1.5.21 - 2024-09-10
- Add a method to reload the SSL certificate and private key on the fly.
- Keep log level consistency.
1.5.20 - 2024-07-20
- Add byte order detection for internal SHA1 implementation for OSX, POWER, RISC-V and s390.
-
Fix Windows CI build fail by using the latest MSVC.
-
Fix the Botan TLS provider build on Linux.
-
Fix "pthread not found" build error when using Android NDK.
1.5.19 - 2024-06-08
-
show forked repository build status.
-
Add cmake-format.
-
Some spelling corrections.
1.5.18 - 2024-05-04
-
Fix data type conflict.
-
Fix build on latest c-ares.
1.5.17 - 2024-02-09
-
Make FileBufferNodeWin aware of UWP Win32 API.
-
Use ssize_t declared by toolchain when available.
1.5.16 - 2024-01-18
-
Add build badge for individual OS.
-
deinit libressl.
-
Remove mutex.
-
Pile of fix for h2.
-
Fix a bug when sending data.
-
Fix c-ares CARES_EXTERN for static builds.
-
Fix header file name issue when cross-compiling on Windows.
-
Fix name issue when cross-compiling.
1.5.15 - 2023-11-27
- Feature: Integrate spdlog as logging backend for Trantor Logger.
-
Fix the botan backend always validating certificate and OpenSSL allowing empty ALPN.
-
Fix build error on OpenBSD.
-
Fix Botan leaking memory if connection force closed.
-
Fix a cmake warning.
-
Workaround botan backend init failure on MacOS.
-
Fix failing wstr conversion if locale is set to C.
1.5.14 - 2023-09-19
-
Fix OpenSSL: read can be incomplete.
-
Fix botan provider.
-
Fix botan3 not triggering handshake finish event.
-
Fix an compilation error when no STL lib is found.
1.5.13 - 2023-08-23
-
Fix an error when sending files.
-
Include <memory> header in TcpConnectionImpl.cc.
1.5.12 - 2023-08-20
-
Add NetEndian versions of toIp and toIpPort.
-
Add setsockopt to TcpClient and TcpServer.
-
Support setting max files in AsyncFileLogger.
-
Support returning multiple results for dns parsing.
-
Refactor SSL handling.
-
Add ability to use one log file until the size-limit.
-
Make the std::string_view work on windows.
-
Drop Botan 2 support and support Botan 3.
-
Make the getNextLoop method multi-thread safe.
-
Add fallback when OpenSSL not providing BLAKE2b.
-
Fix override mark.
-
Add missing <cstdint> header with GCC 13.
-
Fix AresResolver.
-
Fix building built-in hashes on Windows.
-
Fix MSYS2/Cygwin compatibility issues.
-
Fix more build errors on win32/mingw.
-
Fix off_t(on windows off_t defined with long, not longlong).
-
Fix bug with Trantor::Date timeZoneOffset calculation.
-
Fix wrong usage of shared pointer in TcpClient ctor.
1.5.11 - 2023-03-17
-
Add a method to the Logger class to enable local time displaying.
-
TRNANTOR_LOG_COMPACT - compact logs without source code details.
- Refactor TcpServer I/O loop logic.
- Fix a conan issue.
1.5.10 - 2023-01-23
- Use gtest 1.13 in github actions
1.5.9 - 2023-01-23
- Search for \ if under msvc
1.5.8 - 2022-11-11
-
Fix Date::timezoneOffset().
-
Fix socket fd leak if Connector destruct before connection callback is made.
1.5.7 - 2022-09-25
- Add utc methods for trantor::Date.
-
Remove an unnecessary semi-colon.
-
Added support for Solaris.
-
Define ssize_t as std::intptr_t on Windows.
-
Add an environment without openssl to github actions.
-
Added SSL Error Trace Log and mTLS Samples.
-
Use LOG_TRACE instead of LOG_DEBUG.
-
Fix a race condition.
-
Fix iterator invalidation bug when stopping TCP server.
-
Partial fix of exception safety in the event loop.
1.5.6 - 2022-07-09
-
Add support for sending data streams via callback.
-
Added mTLS support.
-
Make MsgBuffer constructor explicit.
-
Always queue connectDestroyed() in loop.
-
Stop calling abort() in runtime.
-
Give EventLoopThread::loop_ static lifetime.
-
Optimization SSL name matching.
-
Clarify SSL error message.
-
Rename BUILD_TRANTOR_SHARED to BUILD_SHARED_LIBS.
-
Fix tolower with sanitizer cfi
-
include <pthread_np.h> unconditionally on freebsd
-
Fix thread sanitizer.
1.5.5 - 2022-02-19
-
Move EventLoop::runAfter to a template.
-
Remove an assertion when removing channels.
-
Prevent TcpClient::removeConnection call on deleted TcpClient instance.
-
Wait for loop to exit in EventLoop destructor.
-
Add r-reference version of set-callback methods to TcpConnectionImpl.
-
Fix a bug when closing connections on Windows/MacOS.
-
Fix logger causes if statement mismatch.
1.5.4 - 2021-12-10
- Correctly handle the error of the getaddrinfo function
- Fix the error when sending partial files
1.5.3 - 2021-11-28
- TcpClientImpl support SSL client certificate
- Allow RVO in fromDbStringLocal
- Make sure resolvers are added when C-Ares is manually disabled
1.5.2 - 2021-10-17
-
Disable setting SSL Configs when using LibreSSL
-
cmake: Use GNUInstallDirs to figure out install dirs
-
support HaikuOS
-
Improve Error handling for certificates/private keys
-
Make c-ares support optional when building
-
Use locale.h
-
Assert fd >= 0 in updateChannel()
-
Add Clang support for -Wall -Wextra -Werror; fix -Wunused-parameter
-
Fix a small memory leak
-
Fix errors in log macros
-
Fix a race condition when TcpClient destroyed before connected
-
Fix the error of calling removeAndResetChannel twice
-
Fix a bug when EAGAIN on reading sockets
-
Fix compilation warnings
-
Fix a potential race condition
1.5.1 - 2021-08-08
-
Fix warning C4244 in MSVC
-
Disable strict compiler check on Windows with GCC
-
Add support for paths containing unicode characters on Windows
-
Add BUILD_DOC cmake option (doxygen)
-
Use make_shared instead of shared_ptr(new)
-
Detect and handle MinGW
-
Fix the destructor of AresResolver
-
Fix memory leak in NormalResolver
1.5.0 - 2021-06-18
-
Enable multiple log files or streams.
-
Add SSL_CONF_cmd support.
-
Add runOnQuit to the EventLoop class.
-
Export the FixedBuffer.
-
Added a try_compile block to detect if we need to link against atomic.
1.4.1 - 2021-05-15
-
Add github actions of Windows.
-
Modify the way the log file is opened.
-
Add version/soversion to shared library.
-
Use double instead of long double as the type for timer durations.
-
Fix a bug in the TcpConnectionImpl class.
-
Fix constructing Date in a daylight saving timezone.
-
GNU: -Wall -Wextra -Werror; fix related warnings.
-
Add wincrypt.h include for Windows.
1.4.0 - 2021-04-09
-
Add isUnspecified() to indicate if IP parsing failed.
-
Add exports macro to allow Shared Library with hidden symbols by default.
- Modify the AsyncFileLogger destructor.
- Recycle TimerID in the TimerQueue.
1.3.0 - 2021-03-05
-
Add secondsSinceEpoch to trantor::Date.
-
Rename the 'bzero' method of the FixedBuffer class to 'zeroBuffer'.
-
Add SNI support to TcpClient.
-
Add SSL certificate validation.
- Change README.md.
1.2.0 - 2021-01-16
- Add LOG_IF and DLOG like glog lib.
-
Enable github actions.
-
Add support for VS2019.
-
Modify the LockFreeQueue.
-
Fix MinGW error with inet_ntop and inet_pton.
-
Fix a macro regression when using MSVC.
1.1.1 - 2020-12-12
- Add Openbsd support.
1.1.0 - 2020-10-24
-
Disable TLS 1.0 and 1.1 by default.
-
Use explicit lambda capture lists.
- Fix a bug in the Date::fromDbStringLocal() method.
1.0.0 - 2020-9-27
-
Add the address() method to the TcpServer class.
-
Change some internal methods from public to private in the Channel class.
-
Update the wepoll library.
-
Add comments in public header files.
1.0.0-rc16 - 2020-8-15
- Fix a bug when sending big files on Windows.
- Add updateEvents() method to the Channel class.
1.0.0-rc15 - 2020-7-16
- Fix installation errors of shared library.
1.0.0-rc14 - 2020-6-14
- Add the moveToCurrentThread() method to EventLoop.
- Optimized LockFreeQueue by Reducing Object Construction.
- Fix a bug when sending a file.
1.0.0-rc13 - 2020-5-23
- Make the Channel class as a part of the public API.
1.0.0-rc12 - 2020-5-22
- Add a method to show if the c-ares library is used
-
Fix a bug in SSL mode (#85)
-
Use SOCKET type in windows for x86-windows compilation
-
Use env to find bash in build.sh script to support FreeBSD
1.0.0-rc11 - 2020-4-27
- Add fromDbStringLocal() method to the Date class
-
Fix a race condition of TimingWheel class
-
Fix localhost resolving on windows
1.0.0-rc10 - 2020-3-28
-
Add the send(const void *, size_t) method to the TcpConnection class
-
Add the send(const MsgBufferPtr &) method to TcpConnection class
-
Add stop() method to the TcpServer class
-
Compile wepoll directly into trantor (Windows)
-
Add CI for Windows
-
Make CMake install files relocatable
-
Modify the Resolver class
1.0.0-rc9 - 2020-2-17
-
Add support for a delayed SSL handshake
-
Change a method name of EventLoopThreadPool(getLoopNum() -> size())
-
Port Trantor to Windows
-
Use SSL_CTX_use_certificate_chain_file instead of SSL_CTX_use_certificate_file()
1.0.0-rc8 - 2019-11-30
- Add the isSSLConnection() method to the TcpConnection class
- Use the std::chrono::steady_clock for timers
1.0.0-rc7 - 2019-11-21
- Modify some code styles
1.0.0-rc6 - 2019-10-4
- Add index() interface to the EventLoop class.
-
Fix some compilation warnings.
-
Modify the CMakeLists.txt
1.0.0-rc5 - 2019-08-24
- Remove the resolve method from the InetAddress class.
- Add the Resolver class that provides high-performance DNS functionality(with c-ares library)
- Add some unit tests.
1.0.0-rc4 - 2019-08-08
- None
- Add TrantorConfig.cmake so that users can use trantor with the
find_package(Trantor)
command.
- Fix an SSL error (occurs when sending large data via SSL).
1.0.0-rc3 - 2019-07-30
- TcpConnection::setContext, TcpConnection::getContext, etc.
- Remove the config.h from public API.
- Modify the CMakeLists.txt.
- Modify some log output.
- Remove some unnecessary
std::dynamic_pointer_cast
calls.
1.0.0-rc2 - 2019-07-11
- Add bytes statistics methods to the TcpConnection class.
- Add the setIoLoopThreadPool method to the TcpServer class.
- Ignore SIGPIPE signal when using the TcpClient class.
- Enable TCP_NODELAY by default (for higher performance).