audio_trans/trantor/ChangeLog.md

594 lines
11 KiB
Markdown
Raw Permalink Normal View History

2025-04-07 11:31:21 +08:00
# 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