|
49 | 49 | <email>doubaokun@php.net</email> |
50 | 50 | <active>yes</active> |
51 | 51 | </developer> |
52 | | - <date>2025-12-06</date> |
53 | | - <time>14:00:00</time> |
| 52 | + <date>2025-12-21</date> |
| 53 | + <time>18:00:00</time> |
54 | 54 | <version> |
55 | | - <release>6.1.4</release> |
| 55 | + <release>6.1.5</release> |
56 | 56 | <api>6.0</api> |
57 | 57 | </version> |
58 | 58 | <stability> |
|
61 | 61 | </stability> |
62 | 62 | <license uri="http://www.apache.org/licenses/LICENSE-2.0.html">Apache2.0</license> |
63 | 63 | <notes> |
64 | | - - Fix the memory leak issue in the curl module. |
| 64 | + - Fixed a crash issue when users manually suspend coroutines in a multithreaded environment |
| 65 | + - Fixed the issue where the `System::socket_poll()` function incorrectly closed sockets after failing to add events |
| 66 | + - Fixed decompression failure in `WebSocket` when compressing message frames, caused by certain server environments not supporting `MAX_MEM_LEVEL=9` |
| 67 | + - Fixed data reception errors in `WebSocket` when receiving consecutive compressed data frames, caused by the buffer not being cleared in time |
| 68 | + - Fixed the `data race` issue in the `pdo_oci` coroutine client when processing non-`PDO_PARAM_LOB` data |
| 69 | + - In `Http Server`, when developers set the `Content-Encoding` header, `Swoole` will no longer automatically compress the response body. Instead, developers need to implement compression logic themselves and output the corresponding content. |
| 70 | + - Removed the `PDO::sqliteCreateAggregate()`, `PDO::sqliteCreateCollation()`, and `PDO::sqliteCreateFunction()` functions in the coroutine environment. Their implementation principle involves calling PHP functions as callbacks in the `sqlite3` engine, which is only feasible in single-threaded synchronous blocking mode. In `Swoole` coroutine mode, the `C` functions of `sqlite3` need to run in asynchronous `AIO` threads. In the `ZTS` version, this can cause null pointer reads, while in the `NTS` version, it may lead to `data race` issues and occasional crashes. |
| 71 | + - Removed support for the `open_basedir` setting in the `pdo_sqlite` coroutine client. It is unsafe to read `PG(open_basedir)` in a multithreaded environment. Ensure that the `sqlite3` database file path is a constant or other safe path. Do not use user input parameters as part of the `sqlite` database file path. |
65 | 72 | </notes> |
66 | 73 | <contents> |
67 | 74 | <dir name="/"> |
|
1564 | 1571 | <file role="test" name="tests/swoole_http_client_coro/websocket/ping.phpt" /> |
1565 | 1572 | <file role="test" name="tests/swoole_http_client_coro/websocket/priority.phpt" /> |
1566 | 1573 | <file role="test" name="tests/swoole_http_client_coro/websocket/priority1.phpt" /> |
| 1574 | + <file role="test" name="tests/swoole_http_client_coro/websocket/send_more_continue_frame.phpt" /> |
| 1575 | + <file role="test" name="tests/swoole_http_client_coro/websocket/send_more_continue_frame2.phpt" /> |
1567 | 1576 | <file role="test" name="tests/swoole_http_client_coro/websocket/server_push_first.phpt" /> |
1568 | 1577 | <file role="test" name="tests/swoole_http_client_coro/websocket/ssl_1.phpt" /> |
1569 | 1578 | <file role="test" name="tests/swoole_http_client_coro/websocket/ssl_2.phpt" /> |
|
1601 | 1610 | <file role="test" name="tests/swoole_http_server/chunk_with_end_data.phpt" /> |
1602 | 1611 | <file role="test" name="tests/swoole_http_server/chunked_pipeline_request.phpt" /> |
1603 | 1612 | <file role="test" name="tests/swoole_http_server/client_ca.phpt" /> |
| 1613 | + <file role="test" name="tests/swoole_http_server/client_compress.phpt" /> |
1604 | 1614 | <file role="test" name="tests/swoole_http_server/co_switching.phpt" /> |
1605 | 1615 | <file role="test" name="tests/swoole_http_server/compression.phpt" /> |
1606 | 1616 | <file role="test" name="tests/swoole_http_server/compression_min_length.phpt" /> |
|
1846 | 1856 | <file role="test" name="tests/swoole_pdo_sqlite/bug48773.phpt" /> |
1847 | 1857 | <file role="test" name="tests/swoole_pdo_sqlite/bug50728.phpt" /> |
1848 | 1858 | <file role="test" name="tests/swoole_pdo_sqlite/bug52487.phpt" /> |
1849 | | - <file role="test" name="tests/swoole_pdo_sqlite/bug60104.phpt" /> |
1850 | 1859 | <file role="test" name="tests/swoole_pdo_sqlite/bug66033.phpt" /> |
1851 | | - <file role="test" name="tests/swoole_pdo_sqlite/bug70221.phpt" /> |
1852 | 1860 | <file role="test" name="tests/swoole_pdo_sqlite/bug70862.phpt" /> |
1853 | 1861 | <file role="test" name="tests/swoole_pdo_sqlite/bug70862_1.phpt" /> |
1854 | 1862 | <file role="test" name="tests/swoole_pdo_sqlite/bug78192_1.phpt" /> |
|
1867 | 1875 | <file role="test" name="tests/swoole_pdo_sqlite/coroutine.phpt" /> |
1868 | 1876 | <file role="test" name="tests/swoole_pdo_sqlite/coroutine2.phpt" /> |
1869 | 1877 | <file role="test" name="tests/swoole_pdo_sqlite/debugdumpparams_001.phpt" /> |
1870 | | - <file role="test" name="tests/swoole_pdo_sqlite/gc.phpt" /> |
1871 | 1878 | <file role="test" name="tests/swoole_pdo_sqlite/gh9032.phpt" /> |
1872 | 1879 | <file role="test" name="tests/swoole_pdo_sqlite/open_basedir.phpt" /> |
1873 | 1880 | <file role="test" name="tests/swoole_pdo_sqlite/pdo_035.phpt" /> |
1874 | 1881 | <file role="test" name="tests/swoole_pdo_sqlite/pdo_fetch_func_001.phpt" /> |
1875 | 1882 | <file role="test" name="tests/swoole_pdo_sqlite/pdo_fetch_func_001_1.phpt" /> |
1876 | 1883 | <file role="test" name="tests/swoole_pdo_sqlite/pdo_sqlite.inc" /> |
1877 | | - <file role="test" name="tests/swoole_pdo_sqlite/pdo_sqlite_createaggregate.phpt" /> |
1878 | | - <file role="test" name="tests/swoole_pdo_sqlite/pdo_sqlite_createaggregate_002.phpt" /> |
1879 | | - <file role="test" name="tests/swoole_pdo_sqlite/pdo_sqlite_createcollation.phpt" /> |
1880 | | - <file role="test" name="tests/swoole_pdo_sqlite/pdo_sqlite_createfunction.phpt" /> |
1881 | | - <file role="test" name="tests/swoole_pdo_sqlite/pdo_sqlite_createfunction_002.phpt" /> |
1882 | | - <file role="test" name="tests/swoole_pdo_sqlite/pdo_sqlite_createfunction_with_flags.phpt" /> |
1883 | 1884 | <file role="test" name="tests/swoole_pdo_sqlite/pdo_sqlite_extendederror_attr.phpt" /> |
1884 | 1885 | <file role="test" name="tests/swoole_pdo_sqlite/pdo_sqlite_filename_uri.phpt" /> |
1885 | 1886 | <file role="test" name="tests/swoole_pdo_sqlite/pdo_sqlite_get_attribute.phpt" /> |
|
2462 | 2463 | <file role="test" name="tests/swoole_thread/atomic_ctor.phpt" /> |
2463 | 2464 | <file role="test" name="tests/swoole_thread/barrier.phpt" /> |
2464 | 2465 | <file role="test" name="tests/swoole_thread/co-stream.phpt" /> |
| 2466 | + <file role="test" name="tests/swoole_thread/co-user-yield.phpt" /> |
2465 | 2467 | <file role="test" name="tests/swoole_thread/empty_args.phpt" /> |
2466 | 2468 | <file role="test" name="tests/swoole_thread/exit.phpt" /> |
2467 | 2469 | <file role="test" name="tests/swoole_thread/fatal_error_1.inc" /> |
|
2682 | 2684 | <file role="src" name="thirdparty/nlohmann/json_fwd.hpp" /> |
2683 | 2685 | <file role="src" name="thirdparty/nlohmann/thirdparty/hedley/hedley.hpp" /> |
2684 | 2686 | <file role="src" name="thirdparty/nlohmann/thirdparty/hedley/hedley_undef.hpp" /> |
| 2687 | + <file role="doc" name="thirdparty/pdo_oci/CREDITS" /> |
| 2688 | + <file role="doc" name="thirdparty/pdo_oci/README.md" /> |
| 2689 | + <file role="src" name="thirdparty/pdo_oci/oci_driver.c" /> |
| 2690 | + <file role="src" name="thirdparty/pdo_oci/oci_statement.c" /> |
| 2691 | + <file role="src" name="thirdparty/pdo_oci/pdo_oci.c" /> |
| 2692 | + <file role="src" name="thirdparty/pdo_oci/php_pdo_oci_int.h" /> |
| 2693 | + <file role="src" name="thirdparty/pdo_sqlite/php_pdo_sqlite.h" /> |
| 2694 | + <file role="src" name="thirdparty/pdo_sqlite/php_pdo_sqlite_int.h" /> |
| 2695 | + <file role="src" name="thirdparty/pdo_sqlite/sqlite_driver.c" /> |
| 2696 | + <file role="src" name="thirdparty/pdo_sqlite/sqlite_sql_parser.c" /> |
| 2697 | + <file role="src" name="thirdparty/pdo_sqlite/sqlite_statement.c" /> |
2685 | 2698 | <file role="doc" name="thirdparty/php/LICENSE" /> |
2686 | 2699 | <file role="src" name="thirdparty/php/curl/curl_arginfo.h" /> |
2687 | 2700 | <file role="src" name="thirdparty/php/curl/curl_private.h" /> |
|
2702 | 2715 | <file role="src" name="thirdparty/php/streams/php_streams_int.h" /> |
2703 | 2716 | <file role="src" name="thirdparty/php/streams/plain_wrapper.c" /> |
2704 | 2717 | <file role="src" name="thirdparty/php/zend/zend_execute.c" /> |
2705 | | - <file role="src" name="thirdparty/php81/pdo_oci/oci_driver.c" /> |
2706 | | - <file role="src" name="thirdparty/php81/pdo_oci/oci_statement.c" /> |
2707 | | - <file role="src" name="thirdparty/php81/pdo_oci/php_pdo_oci_int.h" /> |
2708 | 2718 | <file role="src" name="thirdparty/php81/pdo_odbc/odbc_driver.c" /> |
2709 | 2719 | <file role="src" name="thirdparty/php81/pdo_odbc/odbc_stmt.c" /> |
2710 | 2720 | <file role="src" name="thirdparty/php81/pdo_odbc/php_pdo_odbc_int.h" /> |
2711 | 2721 | <file role="src" name="thirdparty/php81/pdo_pgsql/pgsql_driver.c" /> |
2712 | 2722 | <file role="src" name="thirdparty/php81/pdo_pgsql/pgsql_driver_arginfo.h" /> |
2713 | 2723 | <file role="src" name="thirdparty/php81/pdo_pgsql/pgsql_statement.c" /> |
2714 | 2724 | <file role="src" name="thirdparty/php81/pdo_pgsql/php_pdo_pgsql_int.h" /> |
2715 | | - <file role="src" name="thirdparty/php81/pdo_sqlite/php_pdo_sqlite_int.h" /> |
2716 | | - <file role="src" name="thirdparty/php81/pdo_sqlite/sqlite_driver.c" /> |
2717 | | - <file role="src" name="thirdparty/php81/pdo_sqlite/sqlite_driver.stub.php" /> |
2718 | | - <file role="src" name="thirdparty/php81/pdo_sqlite/sqlite_driver_arginfo.h" /> |
2719 | | - <file role="src" name="thirdparty/php81/pdo_sqlite/sqlite_statement.c" /> |
2720 | | - <file role="src" name="thirdparty/php83/pdo_oci/oci_driver.c" /> |
2721 | | - <file role="src" name="thirdparty/php83/pdo_oci/oci_statement.c" /> |
2722 | | - <file role="src" name="thirdparty/php83/pdo_oci/php_pdo_oci_int.h" /> |
2723 | 2725 | <file role="src" name="thirdparty/php83/pdo_odbc/odbc_driver.c" /> |
2724 | 2726 | <file role="src" name="thirdparty/php83/pdo_odbc/odbc_stmt.c" /> |
2725 | 2727 | <file role="src" name="thirdparty/php83/pdo_odbc/php_pdo_odbc_int.h" /> |
2726 | 2728 | <file role="src" name="thirdparty/php83/pdo_pgsql/pgsql_driver.c" /> |
2727 | 2729 | <file role="src" name="thirdparty/php83/pdo_pgsql/pgsql_driver_arginfo.h" /> |
2728 | 2730 | <file role="src" name="thirdparty/php83/pdo_pgsql/pgsql_statement.c" /> |
2729 | 2731 | <file role="src" name="thirdparty/php83/pdo_pgsql/php_pdo_pgsql_int.h" /> |
2730 | | - <file role="src" name="thirdparty/php83/pdo_sqlite/php_pdo_sqlite_int.h" /> |
2731 | | - <file role="src" name="thirdparty/php83/pdo_sqlite/sqlite_driver.c" /> |
2732 | | - <file role="src" name="thirdparty/php83/pdo_sqlite/sqlite_driver.stub.php" /> |
2733 | | - <file role="src" name="thirdparty/php83/pdo_sqlite/sqlite_driver_arginfo.h" /> |
2734 | | - <file role="src" name="thirdparty/php83/pdo_sqlite/sqlite_statement.c" /> |
2735 | 2732 | <file role="src" name="thirdparty/php84/curl/curl_arginfo.h" /> |
2736 | 2733 | <file role="src" name="thirdparty/php84/curl/curl_private.h" /> |
2737 | 2734 | <file role="src" name="thirdparty/php84/curl/interface.cc" /> |
2738 | 2735 | <file role="src" name="thirdparty/php84/curl/multi.cc" /> |
2739 | 2736 | <file role="src" name="thirdparty/php84/curl/php_curl.h" /> |
2740 | | - <file role="doc" name="thirdparty/php84/pdo_oci/LICENSE" /> |
2741 | | - <file role="src" name="thirdparty/php84/pdo_oci/oci_driver.c" /> |
2742 | | - <file role="src" name="thirdparty/php84/pdo_oci/oci_statement.c" /> |
2743 | | - <file role="src" name="thirdparty/php84/pdo_oci/php_pdo_oci_int.h" /> |
2744 | 2737 | <file role="src" name="thirdparty/php84/pdo_odbc/odbc_driver.c" /> |
2745 | 2738 | <file role="src" name="thirdparty/php84/pdo_odbc/odbc_stmt.c" /> |
2746 | 2739 | <file role="src" name="thirdparty/php84/pdo_odbc/php_pdo_odbc_int.h" /> |
|
2749 | 2742 | <file role="src" name="thirdparty/php84/pdo_pgsql/pgsql_sql_parser.c" /> |
2750 | 2743 | <file role="src" name="thirdparty/php84/pdo_pgsql/pgsql_statement.c" /> |
2751 | 2744 | <file role="src" name="thirdparty/php84/pdo_pgsql/php_pdo_pgsql_int.h" /> |
2752 | | - <file role="src" name="thirdparty/php84/pdo_sqlite/php_pdo_sqlite_int.h" /> |
2753 | | - <file role="src" name="thirdparty/php84/pdo_sqlite/sqlite_driver.c" /> |
2754 | | - <file role="src" name="thirdparty/php84/pdo_sqlite/sqlite_driver.stub.php" /> |
2755 | | - <file role="src" name="thirdparty/php84/pdo_sqlite/sqlite_driver_arginfo.h" /> |
2756 | | - <file role="src" name="thirdparty/php84/pdo_sqlite/sqlite_sql_parser.c" /> |
2757 | | - <file role="src" name="thirdparty/php84/pdo_sqlite/sqlite_statement.c" /> |
2758 | 2745 | <file role="src" name="tools/analysis.php" /> |
2759 | 2746 | <file role="src" name="tools/arginfo-check.php" /> |
2760 | 2747 | <file role="src" name="tools/bootstrap.php" /> |
|
0 commit comments