Skip to content

Commit 9c0578b

Browse files
release v6.1.1 (#5903)
1 parent 1131a51 commit 9c0578b

File tree

4 files changed

+19
-34
lines changed

4 files changed

+19
-34
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.10)
22
project(libswoole)
33

44
enable_language(ASM)
5-
set(SWOOLE_VERSION 6.1.0)
5+
set(SWOOLE_VERSION 6.1.1)
66

77
set(CMAKE_CXX_STANDARD 14)
88
set(CMAKE_CXX_STANDARD_REQUIRED ON)

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"license": "Apache-2.0",
55
"description": "Swoole is an event-driven, asynchronous, coroutine-based concurrency library with high performance for PHP.",
66
"require": {
7-
"php": ">= 8.1"
7+
"php": ">=8.1 <8.5"
88
},
99
"php-ext": {
1010
"extension-name": "swoole",

include/swoole_version.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020

2121
#define SWOOLE_MAJOR_VERSION 6
2222
#define SWOOLE_MINOR_VERSION 1
23-
#define SWOOLE_RELEASE_VERSION 0
23+
#define SWOOLE_RELEASE_VERSION 1
2424
#define SWOOLE_EXTRA_VERSION ""
25-
#define SWOOLE_VERSION "6.1.0"
26-
#define SWOOLE_VERSION_ID 60100
25+
#define SWOOLE_VERSION "6.1.1"
26+
#define SWOOLE_VERSION_ID 60101
2727
#define SWOOLE_API_VERSION_ID 0x202208a
2828

2929
#define SWOOLE_BUG_REPORT \

package.xml

Lines changed: 14 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,10 @@
4949
<email>[email protected]</email>
5050
<active>yes</active>
5151
</developer>
52-
<date>2025-10-15</date>
53-
<time>16:00:00</time>
52+
<date>2025-10-30</date>
53+
<time>22:00:00</time>
5454
<version>
55-
<release>6.1.0</release>
55+
<release>6.1.1</release>
5656
<api>6.0</api>
5757
</version>
5858
<stability>
@@ -61,32 +61,13 @@
6161
</stability>
6262
<license uri="http://www.apache.org/licenses/LICENSE-2.0.html">Apache2.0</license>
6363
<notes>
64-
Major Changes in Swoole 6.1.0
65-
1. Introduction of "Standard Library Extensions" - Revolutionary Syntax Enhancements
66-
This is the most eye-catching feature at the language level in this update, allowing object-oriented operations on basic types.
67-
Object-Oriented Basic Types: Methods can be called directly on variables of basic types like string, array, and stream (e.g., $text->length()->lower()), greatly improving code readability and development experience.
68-
Typed Arrays: Introduced the typed_array syntax, allowing constraints on key and value types, with type checks performed on write operations, enhancing code robustness.
64+
🐛 Bug Fixes
65+
- Fixed a compilation failure caused by missing `zlib` dependency.
66+
- Optimized the resource management logic in the `curl` module to prevent use-after-free risks.
67+
- Resolved the absence of `fdatasync` on macOS systems.
6968

70-
2. A Major Leap in Underlying Architecture and Stability
71-
This version invests heavily in code quality and stability, laying a solid foundation for future development.
72-
Significant Increase in Test Coverage to 86%: By systematically adding test cases, potential errors are greatly reduced, improving the overall reliability and maintainability of the project.
73-
Large-Scale Code Refactoring and Static Analysis: Refactored multiple core modules like Reactor, SSL, and Socket, and used clang-tidy for code standardization, significantly improving code quality and performance.
74-
75-
3. Major Simplification and Unification of the Lock API
76-
A groundbreaking refactoring of the core component for concurrent programming – the lock.
77-
API Simplification: Removed methods like lockwait and trylock, retaining only three core methods – __construct, lock, and unlock – for Swoole\Coroutine\Lock, Swoole\Lock, and Swoole\Thread\Lock.
78-
Unified Behavior: The new API design is closer to PHP's native flock function, reducing the learning curve, and uses standard constants like LOCK_EX | LOCK_NB to implement advanced features such as non-blocking.
79-
80-
4. Enhanced Coroutine Capabilities and Fine-Grained Control
81-
More flexible coroutine operation capabilities.
82-
Coroutine Cancellation Mechanism: Swoole\Coroutine::cancel() now includes a $throw_exception parameter, allowing a catchable Swoole\Coroutine\CanceledException to be thrown into the target coroutine upon cancellation, enabling safer and more controllable coroutine lifecycle management.
83-
Coroutine State Isolation for Serialization Operations: Fixed the issue of global state isolation for serialize/unserialize in coroutine environments. Global variables related to serialization are now automatically saved and restored during coroutine switches, ensuring isolated serialization contexts for each coroutine.
84-
85-
5. Default HTTP Parser Upgrade, Websocket Feature Enhancements, and Platform Compatibility Improvements
86-
Important improvements in performance and compatibility.
87-
llHTTP Enabled by Default: Replaced the old http_parser with the more performant and modern llhttp, improving the efficiency and reliability of HTTP processing.
88-
WebSocket Feature Enhancements: Both client and server now support receiving fragmented messages, actively disconnecting (disconnect), and sending Ping frames (ping), making the WebSocket protocol implementation more complete.
89-
Deprecating Select, Embracing Poll: Completely deprecated the flawed select event mechanism. On platforms that do not support epoll/kqueue (like Cygwin), poll is now used by default, enabling support for a large number of concurrent connections on these platforms as well.
69+
🛠️ Kernel Optimizations
70+
- Improved the log output format for coroutine deadlock detection.
9071
</notes>
9172
<contents>
9273
<dir name="/">
@@ -179,6 +160,7 @@
179160
<file role="src" name="core-tests/src/server/multipart_parser.cpp" />
180161
<file role="src" name="core-tests/src/server/port.cpp" />
181162
<file role="src" name="core-tests/src/server/server.cpp" />
163+
<file role="doc" name="docs/API.md" />
182164
<file role="doc" name="docs/CHANGELOG.md" />
183165
<file role="doc" name="docs/CODE-STYLE.md" />
184166
<file role="src" name="docs/CPPLINT.cfg" />
@@ -773,6 +755,7 @@
773755
<file role="src" name="scripts/simple-compile.sh" />
774756
<file role="src" name="src/core/base.cc" />
775757
<file role="src" name="src/core/base64.cc" />
758+
<file role="src" name="src/core/buffer.cc" />
776759
<file role="src" name="src/core/channel.cc" />
777760
<file role="src" name="src/core/crc32.cc" />
778761
<file role="src" name="src/core/error.cc" />
@@ -796,7 +779,6 @@
796779
<file role="src" name="src/lock/mutex.cc" />
797780
<file role="src" name="src/lock/rw_lock.cc" />
798781
<file role="src" name="src/lock/spin_lock.cc" />
799-
<file role="src" name="src/memory/buffer.cc" />
800782
<file role="src" name="src/memory/fixed_pool.cc" />
801783
<file role="src" name="src/memory/global_memory.cc" />
802784
<file role="src" name="src/memory/ring_buffer.cc" />
@@ -2516,6 +2498,8 @@
25162498
<file role="test" name="tests/swoole_thread/server/send_large_packet.phpt" />
25172499
<file role="test" name="tests/swoole_thread/server/setting.phpt" />
25182500
<file role="test" name="tests/swoole_thread/server/stop_worker.phpt" />
2501+
<file role="test" name="tests/swoole_thread/server/taskCo.phpt" />
2502+
<file role="test" name="tests/swoole_thread/server/taskWaitMulti.phpt" />
25192503
<file role="test" name="tests/swoole_thread/server/udp_port.phpt" />
25202504
<file role="test" name="tests/swoole_thread/server/websocket.phpt" />
25212505
<file role="test" name="tests/swoole_thread/shell_exec.phpt" />
@@ -2794,6 +2778,7 @@
27942778
<required>
27952779
<php>
27962780
<min>8.1.0</min>
2781+
<max>8.4.99</max>
27972782
</php>
27982783
<pearinstaller>
27992784
<min>1.4.0</min>

0 commit comments

Comments
 (0)