594 lines
11 KiB
Markdown
594 lines
11 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
## [Unreleased]
|
|
|
|
## [1.5.11] - 2023-03-17
|
|
|
|
### API Changes list
|
|
|
|
- Add a method to the Logger class to enable local time displaying.
|
|
|
|
- TRNANTOR_LOG_COMPACT - compact logs without source code details.
|
|
|
|
### Changed
|
|
|
|
- Refactor TcpServer I/O loop logic.
|
|
|
|
### Fixed
|
|
|
|
- Fix a conan issue.
|
|
|
|
## [1.5.10] - 2023-01-23
|
|
|
|
### API Changes list
|
|
|
|
### Changed
|
|
|
|
- Use gtest 1.13 in github actions
|
|
|
|
### Fixed
|
|
|
|
## [1.5.9] - 2023-01-23
|
|
|
|
### API Changes list
|
|
|
|
### Changed
|
|
|
|
- Search for \ if under msvc
|
|
|
|
### Fixed
|
|
|
|
## [1.5.8] - 2022-11-11
|
|
|
|
### API Changes list
|
|
|
|
### Changed
|
|
|
|
### Fixed
|
|
|
|
- Fix Date::timezoneOffset().
|
|
|
|
- Fix socket fd leak if Connector destruct before connection callback is made.
|
|
|
|
## [1.5.7] - 2022-09-25
|
|
|
|
### API changes list
|
|
|
|
- Add utc methods for trantor::Date.
|
|
|
|
### Changed
|
|
|
|
- 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.
|
|
|
|
### Fixed
|
|
|
|
- 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
|
|
|
|
### API changes list
|
|
|
|
- Add support for sending data streams via callback.
|
|
|
|
- Added mTLS support.
|
|
|
|
### Changed
|
|
|
|
- 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.
|
|
|
|
### Fixed
|
|
|
|
- Fix tolower with sanitizer cfi
|
|
|
|
- include <pthread_np.h> unconditionally on freebsd
|
|
|
|
- Fix thread sanitizer.
|
|
|
|
## [1.5.5] - 2022-02-19
|
|
|
|
### API changes list
|
|
|
|
### Changed
|
|
|
|
- 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.
|
|
|
|
### Fixed
|
|
|
|
- Fix a bug when closing connections on Windows/MacOS.
|
|
|
|
- Fix logger causes if statement mismatch.
|
|
|
|
## [1.5.4] - 2021-12-10
|
|
|
|
### API changes list
|
|
|
|
### Changed
|
|
|
|
- Correctly handle the error of the getaddrinfo function
|
|
|
|
### Fixed
|
|
|
|
- Fix the error when sending partial files
|
|
|
|
## [1.5.3] - 2021-11-28
|
|
|
|
### API changes list
|
|
|
|
- TcpClientImpl support SSL client certificate
|
|
|
|
### Changed
|
|
|
|
- Allow RVO in fromDbStringLocal
|
|
|
|
### Fixed
|
|
|
|
- Make sure resolvers are added when C-Ares is manually disabled
|
|
|
|
## [1.5.2] - 2021-10-17
|
|
|
|
### API changes list
|
|
|
|
### Changed
|
|
|
|
- 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
|
|
|
|
### Fixed
|
|
|
|
- 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
|
|
|
|
### API changes list
|
|
|
|
### Changed
|
|
|
|
- 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
|
|
|
|
### Fixed
|
|
|
|
- Fix the destructor of AresResolver
|
|
|
|
- Fix memory leak in NormalResolver
|
|
|
|
## [1.5.0] - 2021-06-18
|
|
|
|
### API changes list
|
|
|
|
- Enable multiple log files or streams.
|
|
|
|
- Add SSL_CONF_cmd support.
|
|
|
|
- Add runOnQuit to the EventLoop class.
|
|
|
|
### Changed
|
|
|
|
- Export the FixedBuffer.
|
|
|
|
- Added a try_compile block to detect if we need to link against atomic.
|
|
|
|
## [1.4.1] - 2021-05-15
|
|
|
|
### Changed
|
|
|
|
- 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.
|
|
|
|
### Fixed
|
|
|
|
- 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
|
|
|
|
### API changes list
|
|
|
|
- Add isUnspecified() to indicate if IP parsing failed.
|
|
|
|
- Add exports macro to allow Shared Library with hidden symbols by default.
|
|
|
|
### Changed
|
|
|
|
- Modify the AsyncFileLogger destructor.
|
|
|
|
### Fixed
|
|
|
|
- Recycle TimerID in the TimerQueue.
|
|
|
|
## [1.3.0] - 2021-03-05
|
|
|
|
### API changes list
|
|
|
|
- Add secondsSinceEpoch to trantor::Date.
|
|
|
|
- Rename the 'bzero' method of the FixedBuffer class to 'zeroBuffer'.
|
|
|
|
- Add SNI support to TcpClient.
|
|
|
|
- Add SSL certificate validation.
|
|
|
|
### Changed
|
|
|
|
- Change README.md.
|
|
|
|
## [1.2.0] - 2021-01-16
|
|
|
|
### API changes list
|
|
|
|
- Add LOG_IF and DLOG like glog lib.
|
|
|
|
### Changed
|
|
|
|
- Enable github actions.
|
|
|
|
- Add support for VS2019.
|
|
|
|
- Modify the LockFreeQueue.
|
|
|
|
### Fixed
|
|
|
|
- Fix MinGW error with inet_ntop and inet_pton.
|
|
|
|
- Fix a macro regression when using MSVC.
|
|
|
|
## [1.1.1] - 2020-12-12
|
|
|
|
### Changed
|
|
|
|
- Add Openbsd support.
|
|
|
|
## [1.1.0] - 2020-10-24
|
|
|
|
### Changed
|
|
|
|
- Disable TLS 1.0 and 1.1 by default.
|
|
|
|
- Use explicit lambda capture lists.
|
|
|
|
### Fixed
|
|
|
|
- Fix a bug in the Date::fromDbStringLocal() method.
|
|
|
|
## [1.0.0] - 2020-9-27
|
|
|
|
### API changes list
|
|
|
|
- Add the address() method to the TcpServer class.
|
|
|
|
- Change some internal methods from public to private in the Channel class.
|
|
|
|
### Changed
|
|
|
|
- Update the wepoll library.
|
|
|
|
- Add comments in public header files.
|
|
|
|
## [1.0.0-rc16] - 2020-8-15
|
|
|
|
### Fixed
|
|
|
|
- Fix a bug when sending big files on Windows.
|
|
|
|
### API changes list
|
|
|
|
- Add updateEvents() method to the Channel class.
|
|
|
|
## [1.0.0-rc15] - 2020-7-16
|
|
|
|
### Fixed
|
|
|
|
- Fix installation errors of shared library.
|
|
|
|
## [1.0.0-rc14] - 2020-6-14
|
|
|
|
### API changes list
|
|
|
|
- Add the moveToCurrentThread() method to EventLoop.
|
|
|
|
### Changed
|
|
|
|
- Optimized LockFreeQueue by Reducing Object Construction.
|
|
|
|
### Fixed
|
|
|
|
- Fix a bug when sending a file.
|
|
|
|
## [1.0.0-rc13] - 2020-5-23
|
|
|
|
### API changes list
|
|
|
|
- Make the Channel class as a part of the public API.
|
|
|
|
## [1.0.0-rc12] - 2020-5-22
|
|
|
|
### API changes list
|
|
|
|
- Add a method to show if the c-ares library is used
|
|
|
|
### Fixed
|
|
|
|
- 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
|
|
|
|
### API changes list
|
|
|
|
- Add fromDbStringLocal() method to the Date class
|
|
|
|
### Fixed
|
|
|
|
- Fix a race condition of TimingWheel class
|
|
|
|
- Fix localhost resolving on windows
|
|
|
|
## [1.0.0-rc10] - 2020-3-28
|
|
|
|
### API changes list
|
|
|
|
- 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
|
|
|
|
### Changed
|
|
|
|
- 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
|
|
|
|
### API changes list
|
|
|
|
- Add support for a delayed SSL handshake
|
|
|
|
- Change a method name of EventLoopThreadPool(getLoopNum() -> size())
|
|
|
|
### Changed
|
|
|
|
- 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
|
|
|
|
### API changes list
|
|
|
|
- Add the isSSLConnection() method to the TcpConnection class
|
|
|
|
### Changed
|
|
|
|
- Use the std::chrono::steady_clock for timers
|
|
|
|
## [1.0.0-rc7] - 2019-11-21
|
|
|
|
### Changed
|
|
|
|
- Modify some code styles
|
|
|
|
## [1.0.0-rc6] - 2019-10-4
|
|
|
|
### API changes list
|
|
|
|
- Add index() interface to the EventLoop class.
|
|
|
|
### Changed
|
|
|
|
- Fix some compilation warnings.
|
|
|
|
- Modify the CMakeLists.txt
|
|
|
|
## [1.0.0-rc5] - 2019-08-24
|
|
|
|
### API changes list
|
|
|
|
- Remove the resolve method from the InetAddress class.
|
|
|
|
### Added
|
|
|
|
- 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
|
|
|
|
### API changes list
|
|
|
|
- None
|
|
|
|
### Changed
|
|
|
|
- Add TrantorConfig.cmake so that users can use trantor with the `find_package(Trantor)` command.
|
|
|
|
### Fixed
|
|
|
|
- Fix an SSL error (occurs when sending large data via SSL).
|
|
|
|
## [1.0.0-rc3] - 2019-07-30
|
|
|
|
### API changes list
|
|
|
|
- TcpConnection::setContext, TcpConnection::getContext, etc.
|
|
- Remove the config.h from public API.
|
|
|
|
### Changed
|
|
|
|
- Modify the CMakeLists.txt.
|
|
- Modify some log output.
|
|
- Remove some unnecessary `std::dynamic_pointer_cast` calls.
|
|
|
|
## [1.0.0-rc2] - 2019-07-11
|
|
|
|
### Added
|
|
|
|
- Add bytes statistics methods to the TcpConnection class.
|
|
- Add the setIoLoopThreadPool method to the TcpServer class.
|
|
|
|
### Changed
|
|
|
|
- Ignore SIGPIPE signal when using the TcpClient class.
|
|
- Enable TCP_NODELAY by default (for higher performance).
|
|
|
|
## [1.0.0-rc1] - 2019-06-11
|
|
|
|
[Unreleased]: https://github.com/an-tao/trantor/compare/v1.5.11...HEAD
|
|
|
|
[1.5.11]: https://github.com/an-tao/trantor/compare/v1.5.10...v1.5.11
|
|
|
|
[1.5.10]: https://github.com/an-tao/trantor/compare/v1.5.9...v1.5.10
|
|
|
|
[1.5.9]: https://github.com/an-tao/trantor/compare/v1.5.8...v1.5.9
|
|
|
|
[1.5.8]: https://github.com/an-tao/trantor/compare/v1.5.7...v1.5.8
|
|
|
|
[1.5.7]: https://github.com/an-tao/trantor/compare/v1.5.6...v1.5.7
|
|
|
|
[1.5.6]: https://github.com/an-tao/trantor/compare/v1.5.5...v1.5.6
|
|
|
|
[1.5.5]: https://github.com/an-tao/trantor/compare/v1.5.4...v1.5.5
|
|
|
|
[1.5.4]: https://github.com/an-tao/trantor/compare/v1.5.3...v1.5.4
|
|
|
|
[1.5.3]: https://github.com/an-tao/trantor/compare/v1.5.2...v1.5.3
|
|
|
|
[1.5.2]: https://github.com/an-tao/trantor/compare/v1.5.1...v1.5.2
|
|
|
|
[1.5.1]: https://github.com/an-tao/trantor/compare/v1.5.0...v1.5.1
|
|
|
|
[1.5.0]: https://github.com/an-tao/trantor/compare/v1.4.1...v1.5.0
|
|
|
|
[1.4.1]: https://github.com/an-tao/trantor/compare/v1.4.0...v1.4.1
|
|
|
|
[1.4.0]: https://github.com/an-tao/trantor/compare/v1.3.0...v1.4.0
|
|
|
|
[1.3.0]: https://github.com/an-tao/trantor/compare/v1.2.0...v1.3.0
|
|
|
|
[1.2.0]: https://github.com/an-tao/trantor/compare/v1.1.1...v1.2.0
|
|
|
|
[1.1.1]: https://github.com/an-tao/trantor/compare/v1.1.0...v1.1.1
|
|
|
|
[1.1.0]: https://github.com/an-tao/trantor/compare/v1.0.0...v1.1.0
|
|
|
|
[1.0.0]: https://github.com/an-tao/trantor/compare/v1.0.0-rc16...v1.0.0
|
|
|
|
[1.0.0-rc16]: https://github.com/an-tao/trantor/compare/v1.0.0-rc15...v1.0.0-rc16
|
|
|
|
[1.0.0-rc15]: https://github.com/an-tao/trantor/compare/v1.0.0-rc14...v1.0.0-rc15
|
|
|
|
[1.0.0-rc14]: https://github.com/an-tao/trantor/compare/v1.0.0-rc13...v1.0.0-rc14
|
|
|
|
[1.0.0-rc13]: https://github.com/an-tao/trantor/compare/v1.0.0-rc12...v1.0.0-rc13
|
|
|
|
[1.0.0-rc12]: https://github.com/an-tao/trantor/compare/v1.0.0-rc11...v1.0.0-rc12
|
|
|
|
[1.0.0-rc11]: https://github.com/an-tao/trantor/compare/v1.0.0-rc10...v1.0.0-rc11
|
|
|
|
[1.0.0-rc10]: https://github.com/an-tao/trantor/compare/v1.0.0-rc9...v1.0.0-rc10
|
|
|
|
[1.0.0-rc9]: https://github.com/an-tao/trantor/compare/v1.0.0-rc8...v1.0.0-rc9
|
|
|
|
[1.0.0-rc8]: https://github.com/an-tao/trantor/compare/v1.0.0-rc7...v1.0.0-rc8
|
|
|
|
[1.0.0-rc7]: https://github.com/an-tao/trantor/compare/v1.0.0-rc6...v1.0.0-rc7
|
|
|
|
[1.0.0-rc6]: https://github.com/an-tao/trantor/compare/v1.0.0-rc5...v1.0.0-rc6
|
|
|
|
[1.0.0-rc5]: https://github.com/an-tao/trantor/compare/v1.0.0-rc4...v1.0.0-rc5
|
|
|
|
[1.0.0-rc4]: https://github.com/an-tao/trantor/compare/v1.0.0-rc3...v1.0.0-rc4
|
|
|
|
[1.0.0-rc3]: https://github.com/an-tao/trantor/compare/v1.0.0-rc2...v1.0.0-rc3
|
|
|
|
[1.0.0-rc2]: https://github.com/an-tao/trantor/compare/v1.0.0-rc1...v1.0.0-rc2
|
|
|
|
[1.0.0-rc1]: https://github.com/an-tao/trantor/releases/tag/v1.0.0-rc1
|