mirror of
https://gitee.com/ldcsaa/HP-Socket.git
synced 2024-11-29 18:28:14 +08:00
474 lines
20 KiB
Plaintext
474 lines
20 KiB
Plaintext
==========================================================================================
|
||
v5.9.4 Update:
|
||
==========================================================================================
|
||
|
||
> Third-party library Upadate
|
||
-----------------
|
||
1. openssl upgrade to version 3.0.12.
|
||
2. llhttp upgrade to version 9.1.3.
|
||
3. brotli upgrade to version 1.1.0.
|
||
|
||
==========================================================================================
|
||
v5.9.3 Update:
|
||
==========================================================================================
|
||
|
||
> Major Upadate
|
||
-----------------
|
||
1. Bug fix: Upgrading to websocket protocol through HTTP methods such as POST/PUT that with request content, may cause HTTP Server exception.
|
||
2. Failure to send a single heartbeat packet between UDP clients/servers will not immediately disconnect, only detecting whether the heartbeat has timed out to determine whether to disconnect.
|
||
|
||
> Third-party library Upadate
|
||
-----------------
|
||
1. openssl upgrade to version 1.1.1v.
|
||
2. llhttp upgrade to version 8.1.1.
|
||
|
||
==========================================================================================
|
||
v5.9.2 Update:
|
||
==========================================================================================
|
||
|
||
> Major Upadate
|
||
-----------------
|
||
1. HTTP Cookie request and response headers 'Cookie' and 'Set-Cookie' support case-insensitive.
|
||
2. Better support for GCC 11 compiler.
|
||
3. Small scale code optimization.
|
||
|
||
> Third-party library Upadate
|
||
-----------------
|
||
1. openssl upgrade to version 1.1.1u.
|
||
2. mimalloc upgrade to version 1.8.2.
|
||
|
||
==========================================================================================
|
||
v5.9.1 Update:
|
||
==========================================================================================
|
||
|
||
> Major Upadate
|
||
-----------------
|
||
1. Update several APIs related to streaming compression/decompression, and support segmented compression/decompression (refer to Change-APIs.txt).
|
||
2. Update the SSL module to support OpenSSL 3.0.
|
||
|
||
> Third-party library Upadate
|
||
-----------------
|
||
1. llhttp upgrade to version 8.1.0.
|
||
2. zlib upgrade to version 1.2.13.
|
||
3. openssl upgrade to version 1.1.1s.
|
||
4. mimalloc upgrade to version 1.7.9.
|
||
5. jemalloc upgrade to version 5.3.0.
|
||
|
||
==========================================================================================
|
||
v5.8.8 Update:
|
||
==========================================================================================
|
||
|
||
> Major Upadate
|
||
-----------------
|
||
1. Client/Agent components supports specifying host name when connecting to remote server. The format is: '< hostaddress >[^< hostname >]', where '^< hostname >' is optional. One of scenario: pass SSL SNI hostname to target server through proxy server.
|
||
2. Add a series of character encoding conversion functions (Reference: Change-APIs.txt), which supports specifying the length of the source string.
|
||
3. Fix the abnormal problem of SSL Pull/Pack Server/Agent components in the scenario of manual start SSL: 'SetSSLAutoStart(FALSE)'.
|
||
|
||
> Third-party library Upadate
|
||
-----------------
|
||
1. zlib upgrade to version 1.2.12.
|
||
2. openssl upgrade to version 1.1.1n.
|
||
|
||
==========================================================================================
|
||
v5.8.7 Update:
|
||
==========================================================================================
|
||
|
||
> Major Upadate
|
||
-----------------
|
||
1. Optimize the garbage object collection and detection mechanism to improve the robustness of communication components in high load and high concurrency scenarios.
|
||
2. VS 2022 IDE supported.
|
||
|
||
> Third-party library Upadate
|
||
-----------------
|
||
1. mimalloc upgrade to version 1.7.5.
|
||
|
||
==========================================================================================
|
||
v5.8.6 Update:
|
||
==========================================================================================
|
||
|
||
> Major Upadate
|
||
-----------------
|
||
1. Added ZLib/GZip, Brotil streaming compression/decompression components: IHPCompressor and IHPDecompressor.
|
||
2. Optimize the garbage object collection and detection mechanism to improve the robustness of communication components in high load and high concurrency scenarios.
|
||
|
||
> Third-party library Upadate
|
||
-----------------
|
||
1. openssl upgrade to version 1.1.1m.
|
||
2. llhttp upgrade to version 6.0.6.
|
||
3. mimalloc upgrade to version 1.7.3.
|
||
|
||
==========================================================================================
|
||
v5.8.5 Update:
|
||
==========================================================================================
|
||
|
||
> Major Upadate
|
||
-----------------
|
||
1. Add thread pool listener interface IHPThreadPoolListener to monitor thread pool life cycle events.
|
||
2. Troubleshooting: When client series components are used as function local variables, they may crash when destroying client objects if they are not used properly.
|
||
3. Add MSBUILD one-click compilation script.
|
||
4. Code optimization to improve code robustness.
|
||
|
||
> Third-party library Upadate
|
||
-----------------
|
||
1. openssl upgrade to version 1.1.1l.
|
||
2. llhttp upgrade to version 6.0.5.
|
||
|
||
==========================================================================================
|
||
v5.8.4 Update:
|
||
==========================================================================================
|
||
|
||
> Major Upadate
|
||
-----------------
|
||
1. Add global functions: SYS_Calloc(), SYS_Alloca().
|
||
2. TCP series components add interface methods: SetNoDelay(), IsNoDelay().
|
||
3. Bug fix: mimalloc for NDK throws segment fault exception.
|
||
4. HP socket for NDK compilation script enable mimalloc by default.
|
||
|
||
> Third-party library Upadate
|
||
-----------------
|
||
1. mimalloc upgrade to version 1.7.2.
|
||
2. llhttp upgrade to version 6.0.4.
|
||
|
||
==========================================================================================
|
||
v5.8.3 Update:
|
||
==========================================================================================
|
||
|
||
> Major Upadate
|
||
-----------------
|
||
1. Bug fix: Deadlock may occur when ARQ UDP components send data.
|
||
2. HP socket for NDK compilation script disable mimalloc by default.
|
||
|
||
> Third-party library Upadate
|
||
-----------------
|
||
1. mimalloc upgrade to version 1.7.1.
|
||
2. llhttp upgrade to version 6.0.2.
|
||
3. openssl upgrade to version 1.1.1k.
|
||
|
||
==========================================================================================
|
||
v5.8.2 Update:
|
||
==========================================================================================
|
||
|
||
> Major Upadate
|
||
-----------------
|
||
1. Bug fix: some HP-Socket components raises segment fault in ARM32 platform.
|
||
2. Bug fix: UDP Client component raises segment fault in some special scenarios.
|
||
|
||
> Third-party library Upadate
|
||
-----------------
|
||
1. mimalloc upgrade to version 1.7.0.
|
||
2. llhttp upgrade to version 4.0.0.
|
||
3. openssl upgrade to version 1.1.1j.
|
||
|
||
==========================================================================================
|
||
v5.8.1 Update:
|
||
==========================================================================================
|
||
|
||
> Third-party library Upadate
|
||
-----------------
|
||
1. HTTP parser: llhttp replaces http_ parser.
|
||
2. Memory allocator: mimalloc replaces jemalloc.
|
||
3. openssl upgrade to version 1.1.1i.
|
||
|
||
> Other Upadate
|
||
-----------------
|
||
1. Move library header files to include/hpsocket directory.
|
||
|
||
==========================================================================================
|
||
v5.7.3 Update:
|
||
==========================================================================================
|
||
|
||
> Regular Upadate
|
||
-----------------
|
||
1. Add Brotli compression/decompression support, and provide _BROTLI_DISABLED recompiled macro to disable Brotli functions).
|
||
2. openssl upgrade to version 1.1.1h.
|
||
|
||
==========================================================================================
|
||
v5.7.2 Update:
|
||
==========================================================================================
|
||
|
||
> Regular Upadate
|
||
-----------------
|
||
1. Code optimization to improve stability.
|
||
2. openssl upgrade to version 1.1.1g.
|
||
3. http-parser upgrade to version 2.9.4.
|
||
4. kcp upgrade to version 1.6.
|
||
|
||
==========================================================================================
|
||
v5.7.1 Update:
|
||
==========================================================================================
|
||
|
||
> UDP Update
|
||
-----------------
|
||
1. Add new component: UDP Nod:
|
||
1) UDP Node has no concept of "connection", and can send and receive data with any address.
|
||
2) UDP Node supports three execution modes: unicast, multicast, and broadcast.
|
||
3) Add UDP Node component demo 'hp-testecho-udp-node'.
|
||
|
||
> Other Update
|
||
-----------------
|
||
1. Added 'Wait()' method for all components to wait for components to close.
|
||
2. Added 'SetReuseAddressPolicy()' method for all communication components to support setting address reuse policy.
|
||
3. Added 'SetSSLCipherList()' method for all SSL communication components to support setting SSL cipher suites.
|
||
4. Extensive API updates, code refactoring and optimization.
|
||
|
||
> Update instructions
|
||
-----------------
|
||
1. HP-Socket v5.7.1 has changed or deleted some old APIs, please refer to 'Chang-APIs.txt' when upgrading.
|
||
|
||
==========================================================================================
|
||
v5.6.4 Update:
|
||
==========================================================================================
|
||
|
||
> Regular Upadate
|
||
-----------------
|
||
1. Fix crash of HTTP component due to jemalloc bug.
|
||
|
||
==========================================================================================
|
||
v5.6.3 Update:
|
||
==========================================================================================
|
||
|
||
> Regular Upadate
|
||
-----------------
|
||
1. Code optimization to improve stability.
|
||
|
||
==========================================================================================
|
||
v5.6.2 Update:
|
||
==========================================================================================
|
||
|
||
> Regular Upadate
|
||
-----------------
|
||
1. Code optimization to improve stability.
|
||
|
||
==========================================================================================
|
||
v5.6.1 Update:
|
||
==========================================================================================
|
||
|
||
> SSL Update
|
||
-----------------
|
||
1. All SSL components add the following interface methods to support loading memory certificates:
|
||
1) Server: SetupSSLContextByMemory(), AddSSLContextByMemory()
|
||
2) Agent : SetupSSLContextByMemory()
|
||
3) Client: SetupSSLContextByMemory()
|
||
2. All SSL components add GetSSLSessionInfo() method to obtain information about SSL session.
|
||
3. SSL Server component provides a default SNI server domain name binding mechanism. In most cases, the application does not need to customize SNI callback function.
|
||
1) The default server domain name binding mechanism is enabled when the 'fnServerNameCallback' parameter value of SetupSSLContext() is nullptr.
|
||
2) BindSSLServerName() : Bind the server domain name to a specified certificate.
|
||
3) HP_SSL_DefaultServerNameCallback() : Default SNI callback function.
|
||
|
||
> HTTP Update
|
||
-----------------
|
||
1. The SendWSMessage() method of HTTP Server component delete 'lpszMask' parameter.
|
||
2. The 'pData' parameter type of the SendWSMessage() method for all HTTP components is changed to 'const BYTE*', so constants can be passed in.
|
||
3. All HTTP components add SendChunkData() method to send chunked data conveniently.
|
||
|
||
> UDP Update
|
||
-----------------
|
||
1. Optimize the UDP Cast component of Linux platform so that it behaves in accordance with the UDP Cast component of Windows platform.
|
||
2. Enhance IPv6 compatibility of all UDP components.
|
||
3. Automatically send a "close notification" datagram to the peer when the UDP Client/Server component is closing.
|
||
|
||
> Other Update
|
||
-----------------
|
||
1. jemalloc upgrade to version 5.2.1
|
||
2. openssl upgrade to version 1.1.1d.
|
||
3. Code optimization to improve stability
|
||
|
||
==========================================================================================
|
||
v5.5.3 Update:
|
||
==========================================================================================
|
||
|
||
> Typedef Update
|
||
-----------------
|
||
1. 'BOOL' typedef to int.
|
||
2. 'TRUE' value define to 1, 'FALSE' value define to 0.
|
||
|
||
> Regular Upadate
|
||
-----------------
|
||
1. Fix bug: Component startup fail of net core SDK on Linux platform.
|
||
2. Shell script 'compile.sh' support cross-compilation by use '-p|platform' command line parameter.
|
||
3. Code optimization to improve stability.
|
||
4. openssl upgrade to version 1.1.0k.
|
||
|
||
==========================================================================================
|
||
v5.5.2 Update:
|
||
==========================================================================================
|
||
|
||
> UDP Upadate
|
||
-----------------
|
||
1. Relax the maximum message length limit of UDP component, the maximum value of SetMaxDatagramSize() method can be set to 64KB.
|
||
2. Relax the maximum transmission unit length limit of ARQ UDP component. The maximum value of SetMaxTransUnit() method can be set to 64KB.
|
||
|
||
> Android NDK Update
|
||
-----------------
|
||
1. provided shell script 'build-android-ndk.sh' to build Android NDK libs.
|
||
2. provided shell script 'demo/build-android-ndk-demo.sh' to build Android NDK demo executable files.
|
||
3. provided Android NDK binary library files in the distribution package.
|
||
4. Android NDK libs are full support SSL and ICONV features now.
|
||
|
||
==========================================================================================
|
||
v5.5.1 Update:
|
||
==========================================================================================
|
||
|
||
> UDP Upadate
|
||
-----------------
|
||
1. Add ARQ UDP component: IUdpArqServer, IUdpArqClient.
|
||
2. Add ARQ UDP test demo "testecho-arq" and performance test demo testecho-arq-pfm.
|
||
3. For details on the ARQ UDP components, please refer to document <HP-Socket Development Guide>.
|
||
4. Optimize IUdpServer component to fix potential defects.
|
||
5. .net core SDK adds UDP components implementation classes.
|
||
|
||
> Other Update
|
||
-----------------
|
||
1. provided shell script 'compile.sh' to compile hp-socket libs in local machine.
|
||
2. provided Android NDK build script (script directory: /project/android-ndk).
|
||
3. jemalloc upgrade to version 5.2.0
|
||
4. http-parser upgrade to version 2.9.2
|
||
|
||
==========================================================================================
|
||
v5.4.4 Update:
|
||
==========================================================================================
|
||
|
||
> TCP Components Update
|
||
-----------------
|
||
1. The IAgent component supports specifying a local IP address and/or local port when connecting to the server.
|
||
|
||
> Other Update
|
||
-----------------
|
||
1. Code optimization.
|
||
2. http-parser upgrade to version 2.9.0
|
||
3. openssl upgrade to version 1.1.0j
|
||
4. provide _UDP_DISABLED precompiled macro to remove UDP components
|
||
|
||
==========================================================================================
|
||
v5.4.3 Update:
|
||
==========================================================================================
|
||
|
||
> HTTP Components Update
|
||
-----------------
|
||
1. The HTTP components can manually start HTTP communication to perform pre-operations such as SOCKS proxy server settings for HTTP communication.
|
||
2. The HTTP components (Server/Agent/Client) adds the following interface methods to support manual startup of the HTTP communication:
|
||
1) StartHttp(): Manually start HTTP communication. When the component is set to non-automatic start, this method needs to be called to start the HTTP communication.
|
||
2) SetHttpAutoStart(): Set the component's HTTP start mode (default: TRUE, automatic start).
|
||
3) IsHttpAutoStart(): Get the component's HTTP start mode.
|
||
|
||
> Other Update
|
||
-----------------
|
||
1. Bug fix: UDP Server may be trigger the OnAccept event repeatedly in high concurrent scenarios
|
||
|
||
==========================================================================================
|
||
v5.4.2 Update:
|
||
==========================================================================================
|
||
|
||
> SSL Components Update
|
||
-----------------
|
||
1. The SSL components can manually start SSL handshake to perform pre-operations such as proxy server settings for SSL/Https communication.
|
||
2. The SSL components (Server/Agent/Client) adds the following interface methods to support manual startup of the SSL handshake:
|
||
1) StartSSLHandShake(): Manually start SSL handshake. When the component is set to non-automatic handshake, this method needs to be called to start the SSL handshake.
|
||
2) SetSSLAutoHandShake(): Set the component's handshake mode (default: TRUE, automatic handshake).
|
||
3) IsSSLAutoHandShake(): Get the component's handshake mode.
|
||
|
||
> Other Update
|
||
-----------------
|
||
1. All component interface methods that may cause a Socket to close are asynchronously fired OnClose event in the Socket communication thread.
|
||
2. The Disconnect() method of the Server and Agent components no longer supports ‘non-forced disconnects’ (still retains the bForce parameter) and is forced to disconnect when invoked.
|
||
3. openssl upgrade to version 1.1.0i
|
||
|
||
==========================================================================================
|
||
v5.4.1 Update:
|
||
==========================================================================================
|
||
|
||
> Add Thread Pool Component
|
||
-----------------
|
||
1. add IHPThreadPool thread pool component
|
||
2. important methods ofIHPThreadPool:
|
||
1) Start: startup thread pool
|
||
2) Stop: shutdown thread pool
|
||
3) Submit: submit task
|
||
4) AdjustThreadCount: adjust thread count
|
||
|
||
> Interface Update
|
||
-----------------
|
||
1. The Connect() method of IAgent interface adds parameter 'usLocalPort', which can be bound to a local port when connecting
|
||
2. The Start() method of IClient interface adds parameter 'usLocalPort', which can be bound to a local port when connecting
|
||
3. IClient/IAgent/IServer interfaces add method IsConnected() to detect whether it is valid connection
|
||
|
||
> Regular Update
|
||
-----------------
|
||
1. fix known issues
|
||
2. performance optimization
|
||
|
||
==========================================================================================
|
||
v5.3.2 Update:
|
||
==========================================================================================
|
||
|
||
> Regular Update
|
||
-----------------
|
||
1. bug fix: shared library can not be loaded by dlopen() in version 5.3.1
|
||
2. jemalloc upgrade to version 5.1.0
|
||
|
||
==========================================================================================
|
||
v5.3.1 Update:
|
||
==========================================================================================
|
||
|
||
> Android NDK supported
|
||
-----------------
|
||
1. all components are compatible with Android NDK
|
||
2. provide _ZLIB_DISABLED precompiled macro to disable zlib functions
|
||
3. provide _ICONV_DISABLED precompiled macro to disable iconv functions
|
||
|
||
> Regular Update
|
||
-----------------
|
||
1. http-parser upgrade to version 2.8.1, and reference it using source code
|
||
2. jemalloc upgrade to version 5.0.1
|
||
3. openssl upgrade to version 1.1.0h
|
||
|
||
==========================================================================================
|
||
v5.2.1 Update:
|
||
==========================================================================================
|
||
|
||
> Create HP-Socket SSL Components
|
||
-----------------
|
||
1. Server: SSL Server, SSL Pull Server, SSL Pack Server
|
||
2. Agent: SSL Agent, SSL Pull Agent, SSL Pack Agent
|
||
3. Client: SSL Client, SSL Pull Client, SSL Pack Client
|
||
|
||
> Create HP-Socket HTTP Components
|
||
-----------------
|
||
1. Server: HTTP Server, HTTPS Server
|
||
2. Agent: HTTP Agent, HTTPS Agent
|
||
3. Client: HTTP Client, HTTPS Client, HTTP Sync Client, HTTPS Sync Client
|
||
|
||
> Create Demos:
|
||
-----------------
|
||
1. testecho-ssl: (SRC) SSL simple test echo server/agent/client
|
||
2. testecho-ssl-pfm: (SO) SSL performance test echo server/agent/client
|
||
3. testecho-ssl-pull: (SO) SSL pull echo server/agent/client
|
||
4. testecho-ssl-pack: (4C SO) SSL pack echo server/agent/client
|
||
5. testecho-http: (SRC) HTTP simple test echo server/agent/client/sync-client
|
||
6. testecho-http-4c: (4C SO) HTTP simple test echo server/agent/client/sync-client
|
||
|
||
> Other Updates:
|
||
-----------------
|
||
1. Version number revision: Use a unified version number for Windows & Linux distribution
|
||
2. Code optimization and knowing bug fixed
|
||
|
||
==========================================================================================
|
||
v1.0.0 Update:
|
||
==========================================================================================
|
||
|
||
> Create HP-Socket Basic Components
|
||
-----------------
|
||
1. Server: TCP Server, TCP Pull Server, TCP Pack Server, UDP Server
|
||
2. Agent: TCP Agent, TCP Pull Agent, TCP Pack Agent
|
||
3. Client: TCP Client, TCP Pull Client, TCP Pack Client, UDP Client, UDP Cast
|
||
|
||
> Create Demos:
|
||
-----------------
|
||
1. testecho: tcp simple test echo server/agent/client
|
||
2. testecho-pfm: tcp performance test echo server/agent/client
|
||
3. testecho-pull: tcp pull echo server/agent/client
|
||
4. testecho-pack: tcp pack echo server/agent/client
|
||
5. testecho-udp: udp simple echo server/client/cast
|
||
6. testecho-udp-pfm: udp performance test echo server/client
|
||
7. testecho-lib: tcp pull echo server/agent/client (use hpsocket.so and hpsocket4c.so)
|