Releases: swow/swow
v1.5.2
release-date: 2024-05-13
真正的快乐不是没有痛苦,而是能在痛苦中找到乐趣。 - ChatGPT
True joy is not about being without pain, but about finding pleasure in pain. - ChatGPT
这是一个修复版本。
🐣 What's New
- Nothing new
✨ What's Enhanced
- Nothing enhanced
🐛 What's Fixed
- Callable curl options should be nullable (682b4be) (@twose)
👻 What's Removed
- Nothing removed
Hashes and notes
File name | Size (in bytes) | SHA256 sum | Build log | Tests result |
---|---|---|---|---|
php_swow-php8.0-x64-nts-VS16.dll | 1439232 | FD9172AC74903BF3AD7AD27F8095ACEF08C85372D03618AD87B4B0390DB79D12 | link | success |
php_swow-php8.0-x64-ts-VS16.dll | 1504768 | F5C1ED4AC40FD9B1F9F189FE6B71FD2198E73424BCB76A9A62BB5EDB49052595 | link | success |
php_swow-php8.1-x64-nts-VS16.dll | 1434624 | A4C7159F2A1999F8E016470555384358D1E76ED4C58ED0119180609A4A8B5B70 | link | success |
php_swow-php8.1-x64-ts-VS16.dll | 1501696 | C5E0E51D8EF831F9AC177D6C62ED8468C8D9C6C3E198BCE94E1B32750C971881 | link | success |
php_swow-php8.2-x64-nts-VS16.dll | 1448960 | 7CFD682C03AC20E7FBEE913988E4E24F4C7BFF2E6C5A212B1C58A6D7AC21B6F5 | link | success |
php_swow-php8.2-x64-ts-VS16.dll | 1515520 | 34B4DCEED95AC4869071B92FD88B6A265EA339A1DAA14C0264BE85258248563F | link | success |
php_swow-php8.3-x64-nts-VS16.dll | 1455104 | 71FB4A44FE42D61151E216718D64F782F3CD28A12758717C98E461CF25FF8207 | link | success |
php_swow-php8.3-x64-ts-VS16.dll | 1522176 | DAD9167EF3EB17E0100480F2F100C9A35378C52EE2CDF8A3C33F5D933F1C5D23 | link | success |
v1.5.1
release-date: 2024-05-13
「没有最终的成功,也没有致命的失败,最可贵的是继续前进的勇气。」 - 温斯顿·丘吉尔
"Success is not final, failure is not fatal. It is the courage to continue that counts." - Winston Churchill
这是一个修复版本。
🐣 What's New
- Nothing new
✨ What's Enhanced
- Nothing enhanced
🐛 What's Fixed
- Fix flock on Windows (e1121c0) (@dixyes)
- Fix missing CURLM_RECURSIVE_API_CALL on curl < 7.59.0 (a92d70c) (@dixyes)
- Fix wrong parameter position of recvMessage() call (#240) (@assert6)
- Fix FCC implementation compatibility (46e7d3d) (@twose)
- Fix slow cURL when composer install (libcat/libcat@55959bf) (@twose)
👻 What's Removed
- Nothing removed
Hashes and notes
File name | Size (in bytes) | SHA256 sum | Build log | Tests result |
---|---|---|---|---|
php_swow-php8.0-x64-nts-VS16.dll | 1439232 | A39165F6D753702F9581FA8A70EA290D2C342CD85D7264B9D5CE6BF602214E0A | link | success |
php_swow-php8.0-x64-ts-VS16.dll | 1504768 | 12E806BD1F1C70D9324A33AC368364BC28DB06E77E5426747D6523CD356BF8BD | link | success |
php_swow-php8.1-x64-nts-VS16.dll | 1434112 | B7105C7EACA4688CCAE511D23AC176E7EBD97A98BDBD65C7BC901070724BA65C | link | success |
php_swow-php8.1-x64-ts-VS16.dll | 1501696 | DBF655BAD809C28436DCF49B21C372D810AA0CD33E9C8701F048AF351973B1CB | link | success |
php_swow-php8.2-x64-nts-VS16.dll | 1448448 | 16F5473D1044DF8D2D79FB5001DFDC27664A3E363EBEE544B6200DFBEEE89452 | link | success |
php_swow-php8.2-x64-ts-VS16.dll | 1515520 | 3032BD49ACD31EC614F0CD4DE3BD39339361B12FCAC9277A14CE4D4BC1A08783 | link | success |
php_swow-php8.3-x64-nts-VS16.dll | 1455104 | 3C04068519F52A037180C975BBFD55E5C14F291A8F7BE52EA3E181158AD86637 | link | success |
php_swow-php8.3-x64-ts-VS16.dll | 1522176 | 5D15FB92479F5FC2D379DB906C0BFE20E68EEB32F93B78F4DEB8B6AB6EA016F1 | link | success |
v1.5.0
release-date: 2024-05-05
优秀的项目获取 star,伟大的项目赢得人心。
Excellent projects earn stars, great projects win hearts and minds.
版本亮点:
1、全新的 cURL 协程化支持,底层重构实现,覆盖各种边缘 cases;
2、完整包含 PHP cURL 实现,不再依赖 cURL 扩展,因此可适配所有运行环境;
3、Debugger 支持远程 telnet 调试、Psr7 Server 支持 HTTP chunked response。
🐣 What's New
- Brand new cURL full support!!! (9a44716) (@twose)
- Debugger support EOF Stream now! (2710c0e) (@twose)
- Support send HTTP chunked response (b185524) (@twose)
- Add Context and CoroutineContext (a16429d) (@twose)
- Support PHP 8.3 and PHP 8.4-dev (@twose)
✨ What's Enhanced
- Add EventDriver example for HTTP Server (8521677) (@twose)
- Show server url in mixed server example (0520690) (@twose)
- Introduce polyfill file to fix PHP-8.4-dev deprecations (bf47c99) (@twose)
🐛 What's Fixed
- Fix WebSocket parsing bug and add a test for it (bd9b93d) (@twose)
- Fix missing socket crypto options (99c502b) (@twose)
- Fix #235 (SSLv3 compilation error) (9e2c0fb) (@twose)
- Fix builder error when php-config is not configured (93fd794) (@twose)
- Fix example code (41da6e8) (@twose)
👻 What's Removed
- We are no longer rely on cURL extension (e462ce2) (@twose)
- Remove unused clean_module_class_callback (a53184d) (@twose)
- Remove unused maxBufferSize things (d38ddce) (@twose)
📦 Internal
- Some SSL fixes in libcat (@dixyes)
- Update swow_fs from php (b5c9654) (@dixyes)
- Update swow_fs rev anchors (49a91cc) (@dixyes)
- Update artifact actions (de65d57) (@dixyes)
- Support PHPUnit 11 (@twose)
- Support hook constants and cleanup modules (34ad07c) (@twose)
- Make blank-fixer smarter (177cbd0) (@twose)
- Fix -ssl not found error on macOS CI (57a0baa) (ccd28c2) (@twose)
Hashes and notes
File name | Size (in bytes) | SHA256 sum | Build log | Tests result |
---|---|---|---|---|
php_swow-php8.0-x64-nts-VS16.dll | 1437696 | CB8D191ED599BB54F11CFA3043B9382182839DA44DC5B1EB548F39CD6C7F8006 | link | success |
php_swow-php8.0-x64-ts-VS16.dll | 1503232 | A0E76FFE91205E893F42E2A0F08135886EBF9FC967AE40ED8E2A1F342C557F67 | link | success |
php_swow-php8.1-x64-nts-VS16.dll | 1432576 | AA459CE9ED11E704EEBCF71041C89BAC39279B12E6074DECC4606877F5E22B42 | link | success |
php_swow-php8.1-x64-ts-VS16.dll | 1500160 | 6D3855E9591E0B2E84B2F6E92A754F6BAB4D3BCAC1D7C541276D46AECAF78E0B | link | success |
php_swow-php8.2-x64-nts-VS16.dll | 1446912 | 21B344D8E7119E9CFDEB5BA61F1177060CDD9925C7D254403E68DF81705D1CDC | link | success |
php_swow-php8.2-x64-ts-VS16.dll | 1513984 | 00D4B2D485906AC8E6B418796CD4B3E95E1886F2B8940EDC38DAD4C7388D81AD | link | success |
php_swow-php8.3-x64-nts-VS16.dll | 1454592 | 7E39C792C13BB2A4B1C691B9B35BE0A2F987849B0B75DB50624F7ED73BB31127 | link | success |
php_swow-php8.3-x64-ts-VS16.dll | 1522176 | B3D203D0A8A8E0602DFA31C672D57F14FF9953BF75F9EE89BEC54CBEE2D9DAC9 | link | success |
v1.4.1
release-date: 2023-12-10
「生活并不是等待暴风雨过去,而是学会如何在雨中跳舞。」- 维维安·格林
"Life isn't about waiting for the storm to pass. It's about learning how to dance in the rain." - Vivian Greene
🐛 What's Fixed
v1.4.0
「不要盯着时钟看,要做时钟所做的事情,继续前进。」 - 萨姆·莱文森
"Don't watch the clock; do what it does. Keep going." - Sam Levenson
🐣 What's New
- Add EventDriver for Psr7 Server (54cd3ab) (@twose)
- New API: Socket->open() (6bbcd89) (@twose)
- New API: stream_select_unlimited (231f580) (@twose)
- Support SSL security_level and apln_protocols (8fdda59) (@twose)
- Support serialization for Buffer (206fb1b) (@twose)
- Support coroutine switch in autoload (f49445b) (@twose)
- Add lo_lseek64 weak symbol (f7cefee) (@dixyes)
- Add --enable-debug-log to the compilation options (ce6fb89) (@twose)
- Support disable Swow by
swow.enable=0
(7f46b5e) (@twose)
✨ What's Enhanced
- Enhance showExecutedSourceLines() (addd0de) (@twose)
- Show SSL info in stream metadata (c12d1c9) (@twose)
- Improve
php --ri swow
output (393304f) (@twose) - Make parsedBody nullable (#202) (@limingxinleo)
- Support v2.0 for
psr/http-message
(#199) (@limingxinleo) - Handle SIGHUP signal in dontdie (#225) (@AuroraYolo)
- Add return type to recvMessage method (#224) (@AuroraYolo)
- Update namespace in stream tests (#226) (@AuroraYolo)
- Make php-wrapper smarter (5e8fc64) (@twose)
- Use GPT to generate CHANGELOG (4f250e7) (@twose)
🐛 What's Fixed
- Workaround for mysql_handle_closer() (56d6ffe) (@twose)
- Fix socket_export_stream() hook (f6e6b28) (f94d381) (@twose)
- Fix cURL on PHP-8.3 (76a5bcc) (@twose)
- Fix #208 (ipv6_v6only compatibility) (d2059ad) (@twose)
- Fix return value of stream_socket_sendto() (e1f6a7f) (@twose)
- Fix weak dep symbols (b97bd1e) (@dixyes)
👻 What's Removed
v1.3.1
「成就伟大的唯一途径是热爱自己的工作。」 - 史蒂夫·乔布斯
"The only way to do great work is to love what you do." - Steve Jobs
🐛 What's Fixed
Hashes and notes
File name | Size (in bytes) | SHA256 sum | Build log |
---|---|---|---|
php_swow-php8.0-x64-nts-VS16.dll | 1249280 | 70DF2221A554AC6074C32E71D11FE8EACB4F3A2F220B60D5A023EC1B833C2469 | link |
php_swow-php8.0-x64-ts-VS16.dll | 1275904 | C3C9226B7830CC95D31F4DD32916F47166A3F2E9F670ECD59141A6193C7AF9AA | link |
php_swow-php8.1-x64-nts-VS16.dll | 1248256 | 90FAC639F8F4863AB7A1F079D89054E532728FF322769628205EDD2C2B1C37B8 | link |
php_swow-php8.1-x64-ts-VS16.dll | 1276416 | 588A938356F48652FCB9CABF4436C267FA7F8E3A7E1FDBFFB94DC4D23B0FF80C | link |
php_swow-php8.2-x64-nts-VS16.dll | 1259520 | 29A676B893F92377E58C80E03FF1ADF98B1EB28A8CE3D5D16430A72B903C089C | link |
php_swow-php8.2-x64-ts-VS16.dll | 1287680 | F82693E9557156D8C1E9AD4A39FDB9D513983F917FB6317E25FCB03A8EB42CAF | link |
v1.3.0
差距并不可怕,可怕的是因为差距而放弃。
The gap is not terrible. What's terrible is giving up because of it.
🐣 What's New
- Support PDO PostgreSQL (#137) (@huanghantao)
- Weak dependency for PDO (#171) (@dixyes)
- Support ServerConnection->sendHttpFile() (#168) (@PandaLIU-1111)
- Support remove temp file automatically (#172) (@PandaLIU-1111)
- Support simple HTTP recvMessage timeout (dd615e9) (@twose)
- Server config connection recvMessage timeout (#194) (@xuanyanwow)
- Provides psr7-plus in an independent composer package (6142114) (2667931) (@twose)
- Introduce dontdie as an independent composer package (6ce662e) (@twose)
✨ What's Enhanced
- Use psr/http-message v1.1 (e6743e5) (@twose)
- Rename swow.async_stdio to swow.async_tty (7283708) (@twose)
- Remove extra export ignores (2e5abe9) (@dixyes)
- Support resolve path list of autoload in composer.json (90e0d39) (@twose)
- Support maxExecutionTime for dontDie() (ddfe1ad) (@twose)
- Support nickname option for dontdie (8f347af) (@twose)
- Add a test for empty Content-Type (e6a7ce1) (@twose)
- Added ServerConnection SendHttpFile test case (#170) (@PandaLIU-1111)
- Add comments for some Buffer methods (57b2121) (@twose)
- Fix "Doc tag without variable name" (ea620d9) (@twose)
🐛 What's Fixed
- Fix Psr7 BufferStream implementation and add tests for it (#192) (@twose)
- Fix setParsedBody params type (#174) (@duxphp)
- Fix PHP stream create TLS server error (#187) (f758a40) (@twose)
- Fix incorrect parsedOffset (94b689c) (@twose)
- Fix preserveBodyData not work (4fb20dd) (@twose)
- Fix incorrect error code of try APIs (572278b) (@twose)
- Fix require package name (c9a5dea) (@twose)
- Fix pdo header check (255ac36) (@dixyes)
- Fix ulimit typo (a628513) (@dixyes)
- Fix MODULES_CHECK_PRE memory error (90bb701) (@twose)
- Fix exdev copy logic (70cb109) (@dixyes)
- Fix Socket->sendFile() behaviour with length 0 (aad9911) (@twose)
- Always backup native ops/wrapper (efc2f80) (@twose)
- Defensive programming for ENOTCONN when call getpeername() on accepted socket (32c1fa5) (@twose)
- Defensive programming for preserve body data case (0e2cb0f) (@twose)
- Workaround for test-extension unexpected exit (70c1744) (@twose)
👻 What's Removed
- Nothing removed
Hashes and notes
File name | Size (in bytes) | SHA256 sum | Build log |
---|---|---|---|
php_swow-php8.0-x64-nts-VS16.dll | 1248768 | 31EDF549877A7F9165999AAAF9DE74180CF45CEAA67E75A5C9A01C658255A1B9 | link |
php_swow-php8.0-x64-ts-VS16.dll | 1274880 | E5AEBE03981D88AE2D5BDBBCC7ACA358648DAE377885621847329837BCE082DB | link |
php_swow-php8.1-x64-nts-VS16.dll | 1247232 | 8C074D718BFB9F8C5C7542914AE5F9A4DBB2AAFA9D98786762A9505FDCDAA414 | link |
php_swow-php8.1-x64-ts-VS16.dll | 1275904 | 45AF9523D3912EF8DAE9FFD716DA9F3079C6F8C12551FBB29B22BAD8C621C226 | link |
php_swow-php8.2-x64-nts-VS16.dll | 1259008 | E988FEC21102FFB4152BC0753059469AB83695F2C7EBB1D7953A3E64D572F8A5 | link |
php_swow-php8.2-x64-ts-VS16.dll | 1287168 | 63733C28F6D2F56410FD8A4FEE743B87933DB4933CD87ADD3117D0E8B2EBE542 | link |
v1.2.0
🐣 What's New
- New API:
Socket->sendFile()
(da2397f) - New APIs:
Coroutine->getStartTime()
,Coroutine->getEndTime()
(64f516e) - New Constant:
WebSocket::DEFAULT_MASKING_KEY
(72f1920) - New Config: Introduce autoUnmask config for specific requirements (56088cc)
- Support use PHP ini to configure async stdio/file hook and async threads (
swow.async_threads=4
,swow.async_file=1
,swow.async_stdio=1
by default) (0d94d1a)
✨ What's Enhanced
- Support get php binary files via php-config (#158) (@sy-records)
- Run update docs ci under swow organization only (#159) (@sy-records)
- Handle empty maskingKey and empty data for
WebSocket::unmask()
(3d07a94) - Skip NULL values when pack headers (977c54c)
- Add HTTP event-stream case for mixed server example (923e69e)
🐛 What's Fixed
- Fix
stream_select()
hangs on server for all platforms (#162) - Fix missing SSL module init (90ea96c)
- Fix test-extension.php can not run without composer (329d49d)
- Fix callable memory leak when coroutine allocation failed (25be041)
- Some fixes for Debugger: Fix
p
andvars
does not work; Fix missingstep_in
command (63a9c84) - Fix PHP
rename()
did not work for cross devices (9903049) - Fix WebSocket payloadData buffer size (ee8bc7c)
- Fix Message->addHeader() and add a test for it (2e51848)
👻 What's Removed
- Remove API:
Socket->setTcpAcceptBalance()
(72e7c44)
Full Changelog: v1.1.0...v1.2.0
Hashes and notes
File name | Size (in bytes) | SHA256 sum | Build log | Tests result |
---|---|---|---|---|
php_swow-php8.0-x64-nts-VS16.dll | 1201664 | E0D0D92A9E529B7DC3972BC5CC8E0B5770F23A926FE10E2D448083A2E3919CE2 | link | success |
php_swow-php8.0-x64-ts-VS16.dll | 1227776 | 7C2316CA0A8BAE8597A19496DB73C129771EE2082B6F080561909888D9A031A8 | link | success |
php_swow-php8.1-x64-nts-VS16.dll | 1200640 | AA77CAFEB9C8300DBBD7FD40A92DD4A0ED32100296D7FAAE426BF569A43A51B5 | link | success |
php_swow-php8.1-x64-ts-VS16.dll | 1228800 | 7A3A318A7866AD2D450C09B48EE18BECCC8FE2FF6892A4EF5EC5DDA611D0E2D6 | link | success |
php_swow-php8.2-x64-nts-VS16.dll | 1212416 | 6A4A71AE0FE04531C507F9878368E2F4D1D0CBAFA5AE5AC16F67602FDC95C0D4 | link | success |
php_swow-php8.2-x64-ts-VS16.dll | 1240576 | C70D4738258D2D88B669749540E54F2F008AECAA1C04977854BE4A79E6588B62 | link | success |
v1.1.0
永远不要熄灭心中的火,哪怕别人只看见烟。
Never extinguish the fire in your heart, even if others can only see smoke.
🐣 What's New
- New README (b121caa)
- New PHP API:
Coroutine->getSwitches()
,Coroutine::getGlobalSwitches()
(2ef2ac3) - Add
HttpParser
errno (3365aaa) (0a8c96b) - New C APIs: version getters (f0ce087)
✨ What's Enhanced
- Do not always close all connections when closing Server (graceful shutdown)] (dd00372)
- Optimizations for swow-builder (2ed5f60)
🐛 What's Fixed
- Fix bad arg name of Signal methods (6041422)
🐞 What's Fixed in Dependencies
- Fix va_args memory error (libcat/libcat@6d08909)
- Fix bad usage of buffer value (libcat/libcat@6c20f9e)
- Fix curl easy handle exec dead loop with SSL connection (libcat/libcat@6f5865d)
- Full cURL workaround solution for SSL connection (libcat/libcat@1e8d176)
👻 What's Removed
- Remove
Coroutine->getRound()
,Coroutine::getCurrentRound()
(2ef2ac3)
Full Changelog: v1.0.0...v1.1.0
Hashes and notes
File name | Size (in bytes) | SHA256 sum | Build log | Tests result |
---|---|---|---|---|
php_swow-php8.0-x64-nts-VS16.dll | 1188352 | E577D7695BFBA5E4C5520050754C947BA96A8A09CA1705B12254019BC83F0DA3 | link | failure |
php_swow-php8.0-x64-ts-VS16.dll | 1214464 | D9A25C6C8B8663B8A3A576473ED40FD12E9EBBF6C86E2447723CC78A4814B14C | link | failure |
php_swow-php8.1-x64-nts-VS16.dll | 1187328 | EAAD0AC051B3C946ADE463F20EDC75D9622233B271887FC042B5B75108D0B2AF | link | failure |
php_swow-php8.1-x64-ts-VS16.dll | 1215488 | D47556CBBECAC5394B3F59853A70E93292E8170C402284425AA1C286109CA648 | link | failure |
php_swow-php8.2-x64-nts-VS16.dll | 1199616 | F3F8066B7C97BFB8DAE3C8A0E833BE3B58866070AE26BE61CD32E780D11106C2 | link | failure |
php_swow-php8.2-x64-ts-VS16.dll | 1226240 | 2C6FFCA02F27BF51E57CAA4FD0FF9515D73D270F77DE39DF096C68016DA6F69B | link | failure |
v1.0.0
🚀 Swow 是一个专注于并发 I/O 的跨平台协程引擎,它致力于使用最小 C 核心及多数 PHP 代码以支持 PHP 高性能网络编程,具有极佳的扩展性与强大的调试能力,最大化开发者的编程效率。
🚀 Swow is a high-performance pure coroutine network communication engine.
It is committed to using the smallest C core and most of the PHP code to support PHP high-performance network programming.
Furthermore, it has excellent scalability and powerful debugging capabilities to maximize the programming efficiency of developers.
Blog Post about v1.0.0 | Related Disscussion
Hashes and notes
*.pdb是调试符号,仅使用Swow不需要下载
*.pdb is debug symbols, not necessary for using Swow
File name | Size (in bytes) | SHA256 sum | Build log |
---|---|---|---|
php_swow-php8.0-x64-nts-VS16.dll | 1182208 | 45EBCC981ABBB41983944F0DF6D27B2CBA107D475751548B4F4BBA647BC1A7B8 | link |
php_swow-php8.0-x64-ts-VS16.dll | 1208320 | 61D00D3D53F7F514F01CA756F1F92E2CD9FA8284D638A03CE7627F6810A5BC02 | link |
php_swow-php8.1-x64-nts-VS16.dll | 1180672 | 812FFDB1D9B964E02D7B1D1BC3EE01624CE35F993A7C530577EBCBC9EFE7F1AC | link |
php_swow-php8.1-x64-ts-VS16.dll | 1208832 | FF01B2FFA9A794A5A9912FE8027D9ED506D1856359BB1A3BAA8ED77F2A2F68CB | link |
php_swow-php8.2-x64-nts-VS16.dll (broken) | 1198592 | E2C129EB2DA08F5FA0EAC5045ACCC3B77D128C13019CD144FE7D6BB13E463212 | link |
php_swow-php8.2-x64-ts-VS16.dll (broken) | 1226752 | 12134B13B518D2E5A30A652F0D3D59D792D52B8FE686BEE7F401FE3BAC694C0B | link |
Note: 8.2 windows binaries are broken, see #149, this may fix in next release