diff --git a/.release-please-manifest.json b/.release-please-manifest.json index ccd4a12..7c8d789 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,15 +1,15 @@ { - "packages/catcher-core-ts": "0.3.19", - "packages/catcher-http-ts": "0.3.19", - "packages/catcher-ws-ts": "0.3.19", - "packages/catcher-web": "0.3.19", - "packages/catcher-napi-http": "0.3.19", - "packages/catcher-napi-ws": "0.3.19", - "packages/catcher-core": "0.3.19", - "packages/catcher-dns": "0.3.19", - "packages/catcher-http": "0.3.19", - "packages/catcher-ws": "0.3.19", - "packages/catcher-ffi": "0.3.19", - "packages/catcher-uniffi": "0.3.19", + "packages/catcher-core-ts": "0.4.0", + "packages/catcher-http-ts": "0.4.0", + "packages/catcher-ws-ts": "0.4.0", + "packages/catcher-web": "0.4.0", + "packages/catcher-napi-http": "1.0.0", + "packages/catcher-napi-ws": "1.0.0", + "packages/catcher-core": "1.0.0", + "packages/catcher-dns": "0.4.0", + "packages/catcher-http": "1.0.0", + "packages/catcher-ws": "1.0.0", + "packages/catcher-ffi": "0.4.0", + "packages/catcher-uniffi": "0.4.0", "packages/catcher_core": "0.3.19" } diff --git a/packages/catcher-core-ts/CHANGELOG.md b/packages/catcher-core-ts/CHANGELOG.md new file mode 100644 index 0000000..aeb467f --- /dev/null +++ b/packages/catcher-core-ts/CHANGELOG.md @@ -0,0 +1,23 @@ +# Changelog + +## [0.4.0](https://github.com/eric8810/catcher/compare/catcher-core-v0.3.19...catcher-core-v0.4.0) (2026-08-13) + + +### Features + +* G2 rawData fix + TS client enhancements ([ffa723c](https://github.com/eric8810/catcher/commit/ffa723c544ab3b6e5f5798cdc3f1f539441167b1)) +* implement G2-G12 API gap features across all layers ([60644dd](https://github.com/eric8810/catcher/commit/60644dd3c01091b7d211754aa65cbac38ca72e92)) +* implement SSE streaming client (TS + Rust) ([5b8ba51](https://github.com/eric8810/catcher/commit/5b8ba51463d67ea124aeb7edb764eae92bc4bd2a)) +* interceptor system + per-request options + FFI layering docs ([a17c810](https://github.com/eric8810/catcher/commit/a17c810c5ec9abd1ab44b01caf2f0f94306517e3)) +* NEW-3 wire TS TLS config into Node.js https.Agent ([f325b05](https://github.com/eric8810/catcher/commit/f325b054f7d64255653ad74722dac44eb6d76770)) + + +### Bug Fixes + +* address PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([b51c10b](https://github.com/eric8810/catcher/commit/b51c10ba3e4dd5d7203e28e5f3bac9697bcf00f7)) +* **flutter:** restore WebSocket connection and prevent startup crash ([#21](https://github.com/eric8810/catcher/issues/21)) ([9882a08](https://github.com/eric8810/catcher/commit/9882a084dec0361ad7c49dfc564aeddb144d2b03)) +* PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings + release 0.3.13 (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([0320595](https://github.com/eric8810/catcher/commit/032059537d829d8535df7b0326c98c7c33ccc1a7)) +* support explicit proxy for mobile clients ([a45368d](https://github.com/eric8810/catcher/commit/a45368d99f5045ececa13e0e18430919b53c38d1)) +* support proxy dns behavior across http and ws ([d8ff3df](https://github.com/eric8810/catcher/commit/d8ff3df955a42fb37371e8c4714125d2af845897)) +* support proxy DNS behavior across HTTP and WS ([15b1233](https://github.com/eric8810/catcher/commit/15b12333e5a233fef4ed1419c498f85f2dfb2af2)) +* TLS默认安全、N-API加载、UniFFI构建、WS CloseEvent、maxAttempts、发布配置、web行为对齐、测试拆分 ([a5ed669](https://github.com/eric8810/catcher/commit/a5ed669148a8be1dd1c27b291f3350c5248bb004)) diff --git a/packages/catcher-core-ts/package.json b/packages/catcher-core-ts/package.json index 0c17fe9..796c040 100644 --- a/packages/catcher-core-ts/package.json +++ b/packages/catcher-core-ts/package.json @@ -1,6 +1,6 @@ { "name": "@eric8810/catcher-core", - "version": "0.3.19", + "version": "0.4.0", "description": "Catcher shared type definitions — zero runtime dependencies", "type": "module", "main": "./dist/index.js", diff --git a/packages/catcher-core/CHANGELOG.md b/packages/catcher-core/CHANGELOG.md new file mode 100644 index 0000000..db3935d --- /dev/null +++ b/packages/catcher-core/CHANGELOG.md @@ -0,0 +1,34 @@ +# Changelog + +## [1.0.0](https://github.com/eric8810/catcher/compare/catcher-core-v0.3.19...catcher-core-v1.0.0) (2026-08-13) + + +### ⚠ BREAKING CHANGES + +* napi package entry points moved from client.js to dist/client.js + +### Features + +* A-01 priority queue + G-01/G-02 pool tuning + DNS host_mapping ([df9d26a](https://github.com/eric8810/catcher/commit/df9d26a285d8f3026f341c5da03ca93854f48498)) +* implement SSE streaming client (TS + Rust) ([5b8ba51](https://github.com/eric8810/catcher/commit/5b8ba51463d67ea124aeb7edb764eae92bc4bd2a)) +* N-02/N-03/N-04 native layer capability gaps ([e7dc98f](https://github.com/eric8810/catcher/commit/e7dc98f47e27711c5b3ab8782279bbfecd87c8e2)) +* **proxy:** add explicit direct mode ([#24](https://github.com/eric8810/catcher/issues/24)) ([07fe30a](https://github.com/eric8810/catcher/commit/07fe30a5514f30dfe68dcc3b234e61e1d1eef22f)) +* replace hand-written napi wrappers with typed TS sources ([b075b37](https://github.com/eric8810/catcher/commit/b075b37f658d7a4d2ec72233551aea9fbf4b93d0)) +* system proxy auto-detection via proxy.mode = 'system' ([#18](https://github.com/eric8810/catcher/issues/18)) ([30360b3](https://github.com/eric8810/catcher/commit/30360b31668db065c1b7f104d8267d6a667b24dc)) + + +### Bug Fixes + +* address PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([b51c10b](https://github.com/eric8810/catcher/commit/b51c10ba3e4dd5d7203e28e5f3bac9697bcf00f7)) +* critical review issues — use-after-free, async UniFFI, timeout race ([03753f0](https://github.com/eric8810/catcher/commit/03753f0a33f5ef38d2235a1c4cbfd72a0da39ce3)) +* **flutter:** restore WebSocket connection and prevent startup crash ([#21](https://github.com/eric8810/catcher/issues/21)) ([9882a08](https://github.com/eric8810/catcher/commit/9882a084dec0361ad7c49dfc564aeddb144d2b03)) +* **http:** address transport error review ([b544a0b](https://github.com/eric8810/catcher/commit/b544a0bd40638b5c63404f51415d894cf81e5d11)) +* **http:** preserve structured transport errors ([6f5883b](https://github.com/eric8810/catcher/commit/6f5883bfe1729dcbea78e2a0defb5853c5939a2a)) +* **http:** retain structured retry causes ([657d066](https://github.com/eric8810/catcher/commit/657d066998ddd03b0c42e32f426dc2bf53e6d1f9)) +* PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings + release 0.3.13 (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([0320595](https://github.com/eric8810/catcher/commit/032059537d829d8535df7b0326c98c7c33ccc1a7)) +* resolve 9 documented issues ([#003](https://github.com/eric8810/catcher/issues/003) [#006](https://github.com/eric8810/catcher/issues/006) [#008](https://github.com/eric8810/catcher/issues/008) [#009](https://github.com/eric8810/catcher/issues/009) [#010](https://github.com/eric8810/catcher/issues/010) [#011](https://github.com/eric8810/catcher/issues/011) [#013](https://github.com/eric8810/catcher/issues/013) [#014](https://github.com/eric8810/catcher/issues/014) [#015](https://github.com/eric8810/catcher/issues/015) [#017](https://github.com/eric8810/catcher/issues/017) [#018](https://github.com/eric8810/catcher/issues/018)) ([609a840](https://github.com/eric8810/catcher/commit/609a8406fdad63d39c64384e55d3645adc3fc06b)) +* review round 2 — 36 issues across Rust/Dart/infra ([fe0893e](https://github.com/eric8810/catcher/commit/fe0893e7b5d96d7f5be879ebe2acdc5602b531b2)) +* review round 3 — 11 issues across Rust/Dart/infra ([7e62159](https://github.com/eric8810/catcher/commit/7e6215981ee654a94426853d26fa3df6be90211f)) +* support explicit proxy for mobile clients ([a45368d](https://github.com/eric8810/catcher/commit/a45368d99f5045ececa13e0e18430919b53c38d1)) +* support proxy dns behavior across http and ws ([d8ff3df](https://github.com/eric8810/catcher/commit/d8ff3df955a42fb37371e8c4714125d2af845897)) +* support proxy DNS behavior across HTTP and WS ([15b1233](https://github.com/eric8810/catcher/commit/15b12333e5a233fef4ed1419c498f85f2dfb2af2)) diff --git a/packages/catcher-core/Cargo.toml b/packages/catcher-core/Cargo.toml index a600384..6f4a142 100644 --- a/packages/catcher-core/Cargo.toml +++ b/packages/catcher-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "catcher-core" -version = "0.3.19" +version = "1.0.0" edition = "2021" description = "Shared core types and errors for catcher — zero I/O dependencies" license = "MIT" diff --git a/packages/catcher-dns/CHANGELOG.md b/packages/catcher-dns/CHANGELOG.md new file mode 100644 index 0000000..eaaf5fb --- /dev/null +++ b/packages/catcher-dns/CHANGELOG.md @@ -0,0 +1,22 @@ +# Changelog + +## [0.4.0](https://github.com/eric8810/catcher/compare/catcher-dns-v0.3.19...catcher-dns-v0.4.0) (2026-08-13) + + +### Features + +* **catcher-dns:** add clear_cache() to invalidate resolver cache ([51e4bc3](https://github.com/eric8810/catcher/commit/51e4bc30fb290d6c3ab730cf628d6a497258d971)) +* **catcher-dns:** rebuild resolver on network change to pick up new DNS servers ([52f057e](https://github.com/eric8810/catcher/commit/52f057e38fc3a5fb52b470477bd39b045133c89f)) +* **proxy:** add explicit direct mode ([#24](https://github.com/eric8810/catcher/issues/24)) ([07fe30a](https://github.com/eric8810/catcher/commit/07fe30a5514f30dfe68dcc3b234e61e1d1eef22f)) +* system proxy auto-detection via proxy.mode = 'system' ([#18](https://github.com/eric8810/catcher/issues/18)) ([30360b3](https://github.com/eric8810/catcher/commit/30360b31668db065c1b7f104d8267d6a667b24dc)) + + +### Bug Fixes + +* **catcher-dns:** prevent stale-network results repopulating cache after clear_cache ([ae35476](https://github.com/eric8810/catcher/commit/ae35476f011dc06700aee60f03c26e60aa06c5c9)) +* **flutter:** restore WebSocket connection and prevent startup crash ([#21](https://github.com/eric8810/catcher/issues/21)) ([9882a08](https://github.com/eric8810/catcher/commit/9882a084dec0361ad7c49dfc564aeddb144d2b03)) +* PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings + release 0.3.13 (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([0320595](https://github.com/eric8810/catcher/commit/032059537d829d8535df7b0326c98c7c33ccc1a7)) +* support explicit proxy for mobile clients ([a45368d](https://github.com/eric8810/catcher/commit/a45368d99f5045ececa13e0e18430919b53c38d1)) +* support proxy dns behavior across http and ws ([d8ff3df](https://github.com/eric8810/catcher/commit/d8ff3df955a42fb37371e8c4714125d2af845897)) +* support proxy DNS behavior across HTTP and WS ([15b1233](https://github.com/eric8810/catcher/commit/15b12333e5a233fef4ed1419c498f85f2dfb2af2)) +* **ws:** share dns resolver and retry handshakes ([b16471a](https://github.com/eric8810/catcher/commit/b16471af60e57c66af5d32042478caabd19a04c2)) diff --git a/packages/catcher-dns/Cargo.toml b/packages/catcher-dns/Cargo.toml index 99ac8c8..5efc8ef 100644 --- a/packages/catcher-dns/Cargo.toml +++ b/packages/catcher-dns/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "catcher-dns" -version = "0.3.19" +version = "0.4.0" edition = "2021" description = "Shared DNS resolver and system proxy detection for catcher" license = "MIT" diff --git a/packages/catcher-ffi/CHANGELOG.md b/packages/catcher-ffi/CHANGELOG.md new file mode 100644 index 0000000..431f431 --- /dev/null +++ b/packages/catcher-ffi/CHANGELOG.md @@ -0,0 +1,23 @@ +# Changelog + +## [0.4.0](https://github.com/eric8810/catcher/compare/catcher-ffi-v0.3.19...catcher-ffi-v0.4.0) (2026-08-13) + + +### Features + +* catcher-ffi umbrella crate + real FFI integration tests ([97a5b1e](https://github.com/eric8810/catcher/commit/97a5b1eebed3806486e62a3a8c52ed85a928a231)) +* N-02/N-03/N-04 native layer capability gaps ([e7dc98f](https://github.com/eric8810/catcher/commit/e7dc98f47e27711c5b3ab8782279bbfecd87c8e2)) +* Phase 1+2 — N-02 streaming, N-03 per-request cancel, N-04 quality push, NAPI 10-gap, WS full config integration ([b314636](https://github.com/eric8810/catcher/commit/b314636b2c8f052e77aab0aa11ad3ac6a38e6737)) + + +### Bug Fixes + +* address PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([b51c10b](https://github.com/eric8810/catcher/commit/b51c10ba3e4dd5d7203e28e5f3bac9697bcf00f7)) +* **ci:** repair release workflow — add missing dep versions, fix napi CLI path, seed release-please manifest ([1607f0c](https://github.com/eric8810/catcher/commit/1607f0c94b1e11d0610a0e196a049c97ed4182ec)) +* **ffi:** encode registry id directly in handles to eliminate use-after-free ([2cd7de5](https://github.com/eric8810/catcher/commit/2cd7de5fa2d54e3fa0a8675f110304dd8ad89504)) +* **flutter:** restore WebSocket connection and prevent startup crash ([#21](https://github.com/eric8810/catcher/issues/21)) ([9882a08](https://github.com/eric8810/catcher/commit/9882a084dec0361ad7c49dfc564aeddb144d2b03)) +* PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings + release 0.3.13 (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([0320595](https://github.com/eric8810/catcher/commit/032059537d829d8535df7b0326c98c7c33ccc1a7)) +* resolve 9 documented issues ([#003](https://github.com/eric8810/catcher/issues/003) [#006](https://github.com/eric8810/catcher/issues/006) [#008](https://github.com/eric8810/catcher/issues/008) [#009](https://github.com/eric8810/catcher/issues/009) [#010](https://github.com/eric8810/catcher/issues/010) [#011](https://github.com/eric8810/catcher/issues/011) [#013](https://github.com/eric8810/catcher/issues/013) [#014](https://github.com/eric8810/catcher/issues/014) [#015](https://github.com/eric8810/catcher/issues/015) [#017](https://github.com/eric8810/catcher/issues/017) [#018](https://github.com/eric8810/catcher/issues/018)) ([609a840](https://github.com/eric8810/catcher/commit/609a8406fdad63d39c64384e55d3645adc3fc06b)) +* support explicit proxy for mobile clients ([a45368d](https://github.com/eric8810/catcher/commit/a45368d99f5045ececa13e0e18430919b53c38d1)) +* support proxy dns behavior across http and ws ([d8ff3df](https://github.com/eric8810/catcher/commit/d8ff3df955a42fb37371e8c4714125d2af845897)) +* support proxy DNS behavior across HTTP and WS ([15b1233](https://github.com/eric8810/catcher/commit/15b12333e5a233fef4ed1419c498f85f2dfb2af2)) diff --git a/packages/catcher-ffi/Cargo.toml b/packages/catcher-ffi/Cargo.toml index 29a5561..4639bc8 100644 --- a/packages/catcher-ffi/Cargo.toml +++ b/packages/catcher-ffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "catcher-ffi" -version = "0.3.19" +version = "0.4.0" edition = "2021" description = "Unified C ABI library for catcher — links HTTP + WS + codec into a single .so/.dylib" license = "MIT" diff --git a/packages/catcher-http-ts/CHANGELOG.md b/packages/catcher-http-ts/CHANGELOG.md new file mode 100644 index 0000000..544ab7c --- /dev/null +++ b/packages/catcher-http-ts/CHANGELOG.md @@ -0,0 +1,32 @@ +# Changelog + +## [0.4.0](https://github.com/eric8810/catcher/compare/catcher-http-v0.3.19...catcher-http-v0.4.0) (2026-08-13) + + +### Features + +* add 98 unit tests for catcher-http-ts and catcher-ws-ts ([379b99e](https://github.com/eric8810/catcher/commit/379b99e9cff3a02b9e9496a5941bd3aa9fb09ed4)) +* G2 rawData fix + TS client enhancements ([ffa723c](https://github.com/eric8810/catcher/commit/ffa723c544ab3b6e5f5798cdc3f1f539441167b1)) +* implement G2-G12 API gap features across all layers ([60644dd](https://github.com/eric8810/catcher/commit/60644dd3c01091b7d211754aa65cbac38ca72e92)) +* implement SSE streaming client (TS + Rust) ([5b8ba51](https://github.com/eric8810/catcher/commit/5b8ba51463d67ea124aeb7edb764eae92bc4bd2a)) +* interceptor system + per-request options + FFI layering docs ([a17c810](https://github.com/eric8810/catcher/commit/a17c810c5ec9abd1ab44b01caf2f0f94306517e3)) +* NEW-3 wire TS TLS config into Node.js https.Agent ([f325b05](https://github.com/eric8810/catcher/commit/f325b054f7d64255653ad74722dac44eb6d76770)) +* wire DNS nameservers into TS CacheableLookup + mark G-10 fixed ([36e002a](https://github.com/eric8810/catcher/commit/36e002acb7a795660f4cb89dee9b13d8c0856908)) + + +### Bug Fixes + +* AbortError named export + high-concurrency throughput benchmark ([0566c05](https://github.com/eric8810/catcher/commit/0566c05193374064c57453b2435bd85ca2137036)) +* **flutter:** restore WebSocket connection and prevent startup crash ([#21](https://github.com/eric8810/catcher/issues/21)) ([9882a08](https://github.com/eric8810/catcher/commit/9882a084dec0361ad7c49dfc564aeddb144d2b03)) +* PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings + release 0.3.13 (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([0320595](https://github.com/eric8810/catcher/commit/032059537d829d8535df7b0326c98c7c33ccc1a7)) +* review bugs — per-request retry, onRetry double call, Cargo deps, nested workspace flatten, JSDoc fix, tsconfig for web ([bb87a02](https://github.com/eric8810/catcher/commit/bb87a022aac3ac97161864667138e70ec41307e3)) +* TLS默认安全、N-API加载、UniFFI构建、WS CloseEvent、maxAttempts、发布配置、web行为对齐、测试拆分 ([a5ed669](https://github.com/eric8810/catcher/commit/a5ed669148a8be1dd1c27b291f3350c5248bb004)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @eric8810/catcher-core bumped to 0.4.0 + * devDependencies + * @eric8810/catcher-core bumped to 0.4.0 diff --git a/packages/catcher-http-ts/package.json b/packages/catcher-http-ts/package.json index 467173d..7763d20 100644 --- a/packages/catcher-http-ts/package.json +++ b/packages/catcher-http-ts/package.json @@ -1,6 +1,6 @@ { "name": "@eric8810/catcher-http", - "version": "0.3.19", + "version": "0.4.0", "description": "Catcher HTTP client — resilient transport with retry, circuit breaker, priority scheduling", "type": "module", "main": "./dist/index.js", diff --git a/packages/catcher-http/CHANGELOG.md b/packages/catcher-http/CHANGELOG.md new file mode 100644 index 0000000..1a4ce95 --- /dev/null +++ b/packages/catcher-http/CHANGELOG.md @@ -0,0 +1,62 @@ +# Changelog + +## [1.0.0](https://github.com/eric8810/catcher/compare/catcher-http-v0.3.19...catcher-http-v1.0.0) (2026-08-13) + + +### ⚠ BREAKING CHANGES + +* napi package entry points moved from client.js to dist/client.js + +### Features + +* A-01 priority queue + G-01/G-02 pool tuning + DNS host_mapping ([df9d26a](https://github.com/eric8810/catcher/commit/df9d26a285d8f3026f341c5da03ca93854f48498)) +* B-02 multipart/form-data encoder (Rust) + fix FFI callback type ([6c35bee](https://github.com/eric8810/catcher/commit/6c35bee393bdb7573539e2e6610dec43b35636ad)) +* built-in msgpack codec for HTTP and WS transports ([2f27c44](https://github.com/eric8810/catcher/commit/2f27c4422e790aefb8fd8499db539b8499df5cbf)) +* **catcher-dns:** rebuild resolver on network change to pick up new DNS servers ([52f057e](https://github.com/eric8810/catcher/commit/52f057e38fc3a5fb52b470477bd39b045133c89f)) +* **catcher-http:** add network_changed() to rebuild pool and reset circuit breaker ([471c08c](https://github.com/eric8810/catcher/commit/471c08c7a7828547d6d9d20f2f10c98ba0061bf1)) +* G-11 reporter stats fix + NEW-2 web progress + Rust DNS nameservers ([ade4bf2](https://github.com/eric8810/catcher/commit/ade4bf24d47fd0574cecb34604fa13fcdb011946)) +* implement G2-G12 API gap features across all layers ([60644dd](https://github.com/eric8810/catcher/commit/60644dd3c01091b7d211754aa65cbac38ca72e92)) +* implement SSE streaming client (TS + Rust) ([5b8ba51](https://github.com/eric8810/catcher/commit/5b8ba51463d67ea124aeb7edb764eae92bc4bd2a)) +* N-02/N-03/N-04 native layer capability gaps ([e7dc98f](https://github.com/eric8810/catcher/commit/e7dc98f47e27711c5b3ab8782279bbfecd87c8e2)) +* NEW-1 pin_sha256 cert pinning + G-06 proxy bandwidth fix ([95a19ad](https://github.com/eric8810/catcher/commit/95a19ad0e6be567167117c7384aa74ddf3cf8b7d)) +* Phase 1+2 — N-02 streaming, N-03 per-request cancel, N-04 quality push, NAPI 10-gap, WS full config integration ([b314636](https://github.com/eric8810/catcher/commit/b314636b2c8f052e77aab0aa11ad3ac6a38e6737)) +* **proxy:** add explicit direct mode ([#24](https://github.com/eric8810/catcher/issues/24)) ([07fe30a](https://github.com/eric8810/catcher/commit/07fe30a5514f30dfe68dcc3b234e61e1d1eef22f)) +* replace hand-written napi wrappers with typed TS sources ([b075b37](https://github.com/eric8810/catcher/commit/b075b37f658d7a4d2ec72233551aea9fbf4b93d0)) +* system proxy auto-detection via proxy.mode = 'system' ([#18](https://github.com/eric8810/catcher/issues/18)) ([30360b3](https://github.com/eric8810/catcher/commit/30360b31668db065c1b7f104d8267d6a667b24dc)) + + +### Bug Fixes + +* [#022](https://github.com/eric8810/catcher/issues/022) stream chunk base64, [#023](https://github.com/eric8810/catcher/issues/023) quality race, [#024](https://github.com/eric8810/catcher/issues/024) SSE block_on panic ([9ba65a8](https://github.com/eric8810/catcher/commit/9ba65a84bac67e5eb31bc8a4dca7fb349605cfa9)) +* address PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([b51c10b](https://github.com/eric8810/catcher/commit/b51c10ba3e4dd5d7203e28e5f3bac9697bcf00f7)) +* **catcher-http:** network-generation gating and lock-poison recovery ([799f566](https://github.com/eric8810/catcher/commit/799f5664efc72fb7a2082bf2fe5b9ff5de15cdb0)) +* **catcher-http:** wire http_retries metric via custom MetricsRetryMiddleware ([2294f26](https://github.com/eric8810/catcher/commit/2294f267b1c86507930b47302c4b2dedbd0d5a4b)) +* **ci:** repair release workflow — add missing dep versions, fix napi CLI path, seed release-please manifest ([1607f0c](https://github.com/eric8810/catcher/commit/1607f0c94b1e11d0610a0e196a049c97ed4182ec)) +* critical review issues — use-after-free, async UniFFI, timeout race ([03753f0](https://github.com/eric8810/catcher/commit/03753f0a33f5ef38d2235a1c4cbfd72a0da39ce3)) +* **dart:** wire dns and msgpack config ([d419a36](https://github.com/eric8810/catcher/commit/d419a36fb1f350b6e92d6b1e2c04eaca0ac60496)) +* **dns:** implement StaleAwareDnsResolver for catcher-napi-http ([ac7cddc](https://github.com/eric8810/catcher/commit/ac7cddcd741def06c2f88f03606c2c358969da1d)) +* FFI body base64 encoding ([#019](https://github.com/eric8810/catcher/issues/019), [#021](https://github.com/eric8810/catcher/issues/021)) + adaptive heartbeat timer ([#020](https://github.com/eric8810/catcher/issues/020)) ([501c55b](https://github.com/eric8810/catcher/commit/501c55b715d53b623f100e2beb8563740c61c8b6)) +* FFI HttpError as response JSON + Dart body_base64/data_base64 compat ([04d03a3](https://github.com/eric8810/catcher/commit/04d03a37b4a4dd8667fd72b68ec796536bd7912b)) +* **ffi:** encode registry id directly in handles to eliminate use-after-free ([2cd7de5](https://github.com/eric8810/catcher/commit/2cd7de5fa2d54e3fa0a8675f110304dd8ad89504)) +* **flutter:** restore WebSocket connection and prevent startup crash ([#21](https://github.com/eric8810/catcher/issues/21)) ([9882a08](https://github.com/eric8810/catcher/commit/9882a084dec0361ad7c49dfc564aeddb144d2b03)) +* **http:** address transport error review ([b544a0b](https://github.com/eric8810/catcher/commit/b544a0bd40638b5c63404f51415d894cf81e5d11)) +* **http:** preserve napi transport errors ([06181e8](https://github.com/eric8810/catcher/commit/06181e8d08b43d4c35af3072aa8a78f7d0f7d124)) +* **http:** preserve structured transport errors ([6f5883b](https://github.com/eric8810/catcher/commit/6f5883bfe1729dcbea78e2a0defb5853c5939a2a)) +* **http:** recover HTTP 421 requests ([4e6b507](https://github.com/eric8810/catcher/commit/4e6b5077946f720a08240ae6704052d69fb6f80a)) +* **http:** retain structured retry causes ([657d066](https://github.com/eric8810/catcher/commit/657d066998ddd03b0c42e32f426dc2bf53e6d1f9)) +* keep napi http compatible with rust transport changes ([14b064f](https://github.com/eric8810/catcher/commit/14b064fb9ff6e80928d8a6a347d49c882f62421a)) +* msgpack decode checks Content-Type, strengthen test assertions ([c774afe](https://github.com/eric8810/catcher/commit/c774afe1d968c00840efc64e9a36387be2443559)) +* msgpack decode validates full consumption; chaos WS metrics accurate ([0f80382](https://github.com/eric8810/catcher/commit/0f80382031693d5084e52057d2272dbd027943aa)) +* PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings + release 0.3.13 (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([0320595](https://github.com/eric8810/catcher/commit/032059537d829d8535df7b0326c98c7c33ccc1a7)) +* resolve 4 issues — mem leak, SSE O(n²), P90 perf, config clone ([#001](https://github.com/eric8810/catcher/issues/001) [#003](https://github.com/eric8810/catcher/issues/003) [#004](https://github.com/eric8810/catcher/issues/004) [#005](https://github.com/eric8810/catcher/issues/005)) ([5f4a950](https://github.com/eric8810/catcher/commit/5f4a9502c4a30276428eb479fcc0236c217c2256)) +* resolve 9 documented issues ([#003](https://github.com/eric8810/catcher/issues/003) [#006](https://github.com/eric8810/catcher/issues/006) [#008](https://github.com/eric8810/catcher/issues/008) [#009](https://github.com/eric8810/catcher/issues/009) [#010](https://github.com/eric8810/catcher/issues/010) [#011](https://github.com/eric8810/catcher/issues/011) [#013](https://github.com/eric8810/catcher/issues/013) [#014](https://github.com/eric8810/catcher/issues/014) [#015](https://github.com/eric8810/catcher/issues/015) [#017](https://github.com/eric8810/catcher/issues/017) [#018](https://github.com/eric8810/catcher/issues/018)) ([609a840](https://github.com/eric8810/catcher/commit/609a8406fdad63d39c64384e55d3645adc3fc06b)) +* review round 2 — 36 issues across Rust/Dart/infra ([fe0893e](https://github.com/eric8810/catcher/commit/fe0893e7b5d96d7f5be879ebe2acdc5602b531b2)) +* review round 3 — 11 issues across Rust/Dart/infra ([7e62159](https://github.com/eric8810/catcher/commit/7e6215981ee654a94426853d26fa3df6be90211f)) +* **sse:** move readyState reset to loop top, fix RC5 timing issue ([57771a2](https://github.com/eric8810/catcher/commit/57771a229d2f8a07742c06ab112f49e6eb14216e)) +* support explicit proxy for mobile clients ([a45368d](https://github.com/eric8810/catcher/commit/a45368d99f5045ececa13e0e18430919b53c38d1)) +* support proxy dns behavior across http and ws ([d8ff3df](https://github.com/eric8810/catcher/commit/d8ff3df955a42fb37371e8c4714125d2af845897)) +* support proxy DNS behavior across HTTP and WS ([15b1233](https://github.com/eric8810/catcher/commit/15b12333e5a233fef4ed1419c498f85f2dfb2af2)) +* **test:** resolve two CI test failures ([7c9aa8a](https://github.com/eric8810/catcher/commit/7c9aa8a49182b2c9bb7cd6eed550b5e4884297a5)) +* TLS默认安全、N-API加载、UniFFI构建、WS CloseEvent、maxAttempts、发布配置、web行为对齐、测试拆分 ([a5ed669](https://github.com/eric8810/catcher/commit/a5ed669148a8be1dd1c27b291f3350c5248bb004)) +* wire Flutter FFI calls, implement UniFFI WsClient, fix test scripts, add CI/release infra ([670f915](https://github.com/eric8810/catcher/commit/670f915c042ea28928fd2e6b0d413d27cb75693d)) +* **ws:** share dns resolver and retry handshakes ([b16471a](https://github.com/eric8810/catcher/commit/b16471af60e57c66af5d32042478caabd19a04c2)) diff --git a/packages/catcher-http/Cargo.toml b/packages/catcher-http/Cargo.toml index d7e3934..43e6c77 100644 --- a/packages/catcher-http/Cargo.toml +++ b/packages/catcher-http/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "catcher-http" -version = "0.3.19" +version = "1.0.0" edition = "2021" description = "HTTP client for catcher — resilient transport with retry, circuit breaker, priority scheduling" license = "MIT" diff --git a/packages/catcher-napi-http/CHANGELOG.md b/packages/catcher-napi-http/CHANGELOG.md new file mode 100644 index 0000000..1b068d7 --- /dev/null +++ b/packages/catcher-napi-http/CHANGELOG.md @@ -0,0 +1,44 @@ +# Changelog + +## [1.0.0](https://github.com/eric8810/catcher/compare/catcher-napi-http-v0.3.19...catcher-napi-http-v1.0.0) (2026-08-13) + + +### ⚠ BREAKING CHANGES + +* napi package entry points moved from client.js to dist/client.js + +### Features + +* A-01 priority queue + G-01/G-02 pool tuning + DNS host_mapping ([df9d26a](https://github.com/eric8810/catcher/commit/df9d26a285d8f3026f341c5da03ca93854f48498)) +* **bindings:** expose networkChanged() in napi, uniffi and dart bindings ([ebdf7d7](https://github.com/eric8810/catcher/commit/ebdf7d7a3c79798e32d6b6ae5991fd5b3bc4b93b)) +* built-in msgpack codec for HTTP and WS transports ([2f27c44](https://github.com/eric8810/catcher/commit/2f27c4422e790aefb8fd8499db539b8499df5cbf)) +* complete platform coverage — napi-http/ws full API, @catcher/web, Flutter dart:ffi, UniFFI, docs sync ([3c5197f](https://github.com/eric8810/catcher/commit/3c5197ff51a1d738f2c76d160fbd979490c2af82)) +* complete remaining stubs — @catcher/web interceptors + WS client, napi-http JS fallback, remaining-work plan, env setup ([128041e](https://github.com/eric8810/catcher/commit/128041e2f7de06fe2c042bf1a176f25c3f316621)) +* Phase 1+2 — N-02 streaming, N-03 per-request cancel, N-04 quality push, NAPI 10-gap, WS full config integration ([b314636](https://github.com/eric8810/catcher/commit/b314636b2c8f052e77aab0aa11ad3ac6a38e6737)) +* **proxy:** add explicit direct mode ([#24](https://github.com/eric8810/catcher/issues/24)) ([07fe30a](https://github.com/eric8810/catcher/commit/07fe30a5514f30dfe68dcc3b234e61e1d1eef22f)) +* replace hand-written napi wrappers with typed TS sources ([b075b37](https://github.com/eric8810/catcher/commit/b075b37f658d7a4d2ec72233551aea9fbf4b93d0)) + + +### Bug Fixes + +* address PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([b51c10b](https://github.com/eric8810/catcher/commit/b51c10ba3e4dd5d7203e28e5f3bac9697bcf00f7)) +* **ci:** repair release workflow — add missing dep versions, fix napi CLI path, seed release-please manifest ([1607f0c](https://github.com/eric8810/catcher/commit/1607f0c94b1e11d0610a0e196a049c97ed4182ec)) +* **dns:** implement StaleAwareDnsResolver for catcher-napi-http ([ac7cddc](https://github.com/eric8810/catcher/commit/ac7cddcd741def06c2f88f03606c2c358969da1d)) +* **flutter:** restore WebSocket connection and prevent startup crash ([#21](https://github.com/eric8810/catcher/issues/21)) ([9882a08](https://github.com/eric8810/catcher/commit/9882a084dec0361ad7c49dfc564aeddb144d2b03)) +* **http:** address transport error review ([b544a0b](https://github.com/eric8810/catcher/commit/b544a0bd40638b5c63404f51415d894cf81e5d11)) +* **http:** preserve napi transport errors ([06181e8](https://github.com/eric8810/catcher/commit/06181e8d08b43d4c35af3072aa8a78f7d0f7d124)) +* **http:** preserve structured transport errors ([6f5883b](https://github.com/eric8810/catcher/commit/6f5883bfe1729dcbea78e2a0defb5853c5939a2a)) +* **http:** recover HTTP 421 requests ([4e6b507](https://github.com/eric8810/catcher/commit/4e6b5077946f720a08240ae6704052d69fb6f80a)) +* **http:** retain structured retry causes ([657d066](https://github.com/eric8810/catcher/commit/657d066998ddd03b0c42e32f426dc2bf53e6d1f9)) +* keep napi http compatible with rust transport changes ([14b064f](https://github.com/eric8810/catcher/commit/14b064fb9ff6e80928d8a6a347d49c882f62421a)) +* N-API wrapper 重命名为 client.js 避免 napi build 覆盖,修复 test 脚本 --include 语法,修复 pnpm pack 产物 ([3b0c009](https://github.com/eric8810/catcher/commit/3b0c009430863e6939f8c3dbc64fec9fbe05c22a)) +* **napi:** enable system-proxy feature in bindings and sync ProxyConfig TS types ([#19](https://github.com/eric8810/catcher/issues/19)) ([add3c0a](https://github.com/eric8810/catcher/commit/add3c0a5df8def30c690e2c25b5c01f1728690bf)) +* PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings + release 0.3.13 (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([0320595](https://github.com/eric8810/catcher/commit/032059537d829d8535df7b0326c98c7c33ccc1a7)) +* resolve 9 documented issues ([#003](https://github.com/eric8810/catcher/issues/003) [#006](https://github.com/eric8810/catcher/issues/006) [#008](https://github.com/eric8810/catcher/issues/008) [#009](https://github.com/eric8810/catcher/issues/009) [#010](https://github.com/eric8810/catcher/issues/010) [#011](https://github.com/eric8810/catcher/issues/011) [#013](https://github.com/eric8810/catcher/issues/013) [#014](https://github.com/eric8810/catcher/issues/014) [#015](https://github.com/eric8810/catcher/issues/015) [#017](https://github.com/eric8810/catcher/issues/017) [#018](https://github.com/eric8810/catcher/issues/018)) ([609a840](https://github.com/eric8810/catcher/commit/609a8406fdad63d39c64384e55d3645adc3fc06b)) +* review bugs — per-request retry, onRetry double call, Cargo deps, nested workspace flatten, JSDoc fix, tsconfig for web ([bb87a02](https://github.com/eric8810/catcher/commit/bb87a022aac3ac97161864667138e70ec41307e3)) +* stabilize napi e2e adapters ([a3ace13](https://github.com/eric8810/catcher/commit/a3ace1377039d6c13c54184e6546359fa5f4b21e)) +* subagent 审查发现 — Web HTTP AbortError 误判、Web WS closedByUser 缺失、N-API 跨平台 fallback、根 build 脚本、.gitignore ([cca8bb0](https://github.com/eric8810/catcher/commit/cca8bb0208d5c86267ed3b55132725295e494aef)) +* support explicit proxy for mobile clients ([a45368d](https://github.com/eric8810/catcher/commit/a45368d99f5045ececa13e0e18430919b53c38d1)) +* support proxy dns behavior across http and ws ([d8ff3df](https://github.com/eric8810/catcher/commit/d8ff3df955a42fb37371e8c4714125d2af845897)) +* support proxy DNS behavior across HTTP and WS ([15b1233](https://github.com/eric8810/catcher/commit/15b12333e5a233fef4ed1419c498f85f2dfb2af2)) +* TLS默认安全、N-API加载、UniFFI构建、WS CloseEvent、maxAttempts、发布配置、web行为对齐、测试拆分 ([a5ed669](https://github.com/eric8810/catcher/commit/a5ed669148a8be1dd1c27b291f3350c5248bb004)) diff --git a/packages/catcher-napi-http/package.json b/packages/catcher-napi-http/package.json index 72d45db..08acf4f 100644 --- a/packages/catcher-napi-http/package.json +++ b/packages/catcher-napi-http/package.json @@ -1,6 +1,6 @@ { "name": "@eric8810/catcher-napi-http", - "version": "0.3.19", + "version": "1.0.0", "description": "catcher HTTP native addon for Node.js via napi-rs", "main": "dist/client.js", "types": "dist/client.d.ts", diff --git a/packages/catcher-napi-ws/CHANGELOG.md b/packages/catcher-napi-ws/CHANGELOG.md new file mode 100644 index 0000000..4cedb04 --- /dev/null +++ b/packages/catcher-napi-ws/CHANGELOG.md @@ -0,0 +1,40 @@ +# Changelog + +## [1.0.0](https://github.com/eric8810/catcher/compare/catcher-napi-ws-v0.3.19...catcher-napi-ws-v1.0.0) (2026-08-13) + + +### ⚠ BREAKING CHANGES + +* napi package entry points moved from client.js to dist/client.js + +### Features + +* add application-layer compression support with gzip and zstd ([10f43f4](https://github.com/eric8810/catcher/commit/10f43f4c54399bb15809cde141b5db85bc4ab37a)) +* **bindings:** expose networkChanged() in napi, uniffi and dart bindings ([ebdf7d7](https://github.com/eric8810/catcher/commit/ebdf7d7a3c79798e32d6b6ae5991fd5b3bc4b93b)) +* built-in msgpack codec for HTTP and WS transports ([2f27c44](https://github.com/eric8810/catcher/commit/2f27c4422e790aefb8fd8499db539b8499df5cbf)) +* **catcher-ws:** add send_timeout_ms so half-open sends cannot stall the event loop ([88d36e0](https://github.com/eric8810/catcher/commit/88d36e019cd05a160f3defdd3d9215bc3f87eceb)) +* complete platform coverage — napi-http/ws full API, @catcher/web, Flutter dart:ffi, UniFFI, docs sync ([3c5197f](https://github.com/eric8810/catcher/commit/3c5197ff51a1d738f2c76d160fbd979490c2af82)) +* Dart FFI bindings + napi-ws types + CI update ([39ac501](https://github.com/eric8810/catcher/commit/39ac501c190a67b06ea311cd06af8ac9e1dabbc9)) +* **napi-ws:** expose pack/unpack + add agent & codec benchmarks ([54bba24](https://github.com/eric8810/catcher/commit/54bba2437cfca7b058fd6704ac37e19bd610ed52)) +* Phase 1+2 — N-02 streaming, N-03 per-request cancel, N-04 quality push, NAPI 10-gap, WS full config integration ([b314636](https://github.com/eric8810/catcher/commit/b314636b2c8f052e77aab0aa11ad3ac6a38e6737)) +* **proxy:** add explicit direct mode ([#24](https://github.com/eric8810/catcher/issues/24)) ([07fe30a](https://github.com/eric8810/catcher/commit/07fe30a5514f30dfe68dcc3b234e61e1d1eef22f)) +* replace hand-written napi wrappers with typed TS sources ([b075b37](https://github.com/eric8810/catcher/commit/b075b37f658d7a4d2ec72233551aea9fbf4b93d0)) + + +### Bug Fixes + +* address PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([b51c10b](https://github.com/eric8810/catcher/commit/b51c10ba3e4dd5d7203e28e5f3bac9697bcf00f7)) +* **bindings:** align old-addon guards and error messages ([0ad6380](https://github.com/eric8810/catcher/commit/0ad6380240da882061c640cf38b5be06d48e75c5)) +* **ci:** repair release workflow — add missing dep versions, fix napi CLI path, seed release-please manifest ([1607f0c](https://github.com/eric8810/catcher/commit/1607f0c94b1e11d0610a0e196a049c97ed4182ec)) +* **dart:** wire dns and msgpack config ([d419a36](https://github.com/eric8810/catcher/commit/d419a36fb1f350b6e92d6b1e2c04eaca0ac60496)) +* FFI body base64 encoding ([#019](https://github.com/eric8810/catcher/issues/019), [#021](https://github.com/eric8810/catcher/issues/021)) + adaptive heartbeat timer ([#020](https://github.com/eric8810/catcher/issues/020)) ([501c55b](https://github.com/eric8810/catcher/commit/501c55b715d53b623f100e2beb8563740c61c8b6)) +* **flutter:** restore WebSocket connection and prevent startup crash ([#21](https://github.com/eric8810/catcher/issues/21)) ([9882a08](https://github.com/eric8810/catcher/commit/9882a084dec0361ad7c49dfc564aeddb144d2b03)) +* N-API wrapper 重命名为 client.js 避免 napi build 覆盖,修复 test 脚本 --include 语法,修复 pnpm pack 产物 ([3b0c009](https://github.com/eric8810/catcher/commit/3b0c009430863e6939f8c3dbc64fec9fbe05c22a)) +* **napi:** enable system-proxy feature in bindings and sync ProxyConfig TS types ([#19](https://github.com/eric8810/catcher/issues/19)) ([add3c0a](https://github.com/eric8810/catcher/commit/add3c0a5df8def30c690e2c25b5c01f1728690bf)) +* PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings + release 0.3.13 (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([0320595](https://github.com/eric8810/catcher/commit/032059537d829d8535df7b0326c98c7c33ccc1a7)) +* stabilize napi e2e adapters ([a3ace13](https://github.com/eric8810/catcher/commit/a3ace1377039d6c13c54184e6546359fa5f4b21e)) +* subagent 审查发现 — Web HTTP AbortError 误判、Web WS closedByUser 缺失、N-API 跨平台 fallback、根 build 脚本、.gitignore ([cca8bb0](https://github.com/eric8810/catcher/commit/cca8bb0208d5c86267ed3b55132725295e494aef)) +* support explicit proxy for mobile clients ([a45368d](https://github.com/eric8810/catcher/commit/a45368d99f5045ececa13e0e18430919b53c38d1)) +* support proxy dns behavior across http and ws ([d8ff3df](https://github.com/eric8810/catcher/commit/d8ff3df955a42fb37371e8c4714125d2af845897)) +* support proxy DNS behavior across HTTP and WS ([15b1233](https://github.com/eric8810/catcher/commit/15b12333e5a233fef4ed1419c498f85f2dfb2af2)) +* TLS默认安全、N-API加载、UniFFI构建、WS CloseEvent、maxAttempts、发布配置、web行为对齐、测试拆分 ([a5ed669](https://github.com/eric8810/catcher/commit/a5ed669148a8be1dd1c27b291f3350c5248bb004)) diff --git a/packages/catcher-napi-ws/package.json b/packages/catcher-napi-ws/package.json index 892ff1d..5699186 100644 --- a/packages/catcher-napi-ws/package.json +++ b/packages/catcher-napi-ws/package.json @@ -1,6 +1,6 @@ { "name": "@eric8810/catcher-napi-ws", - "version": "0.3.19", + "version": "1.0.0", "description": "catcher WebSocket native addon for Node.js via napi-rs", "main": "dist/client.js", "types": "dist/client.d.ts", diff --git a/packages/catcher-uniffi/CHANGELOG.md b/packages/catcher-uniffi/CHANGELOG.md new file mode 100644 index 0000000..c206919 --- /dev/null +++ b/packages/catcher-uniffi/CHANGELOG.md @@ -0,0 +1,30 @@ +# Changelog + +## [0.4.0](https://github.com/eric8810/catcher/compare/catcher-uniffi-v0.3.19...catcher-uniffi-v0.4.0) (2026-08-13) + + +### Features + +* A-01 priority queue + G-01/G-02 pool tuning + DNS host_mapping ([df9d26a](https://github.com/eric8810/catcher/commit/df9d26a285d8f3026f341c5da03ca93854f48498)) +* add application-layer compression support with gzip and zstd ([10f43f4](https://github.com/eric8810/catcher/commit/10f43f4c54399bb15809cde141b5db85bc4ab37a)) +* **bindings:** expose networkChanged() in napi, uniffi and dart bindings ([ebdf7d7](https://github.com/eric8810/catcher/commit/ebdf7d7a3c79798e32d6b6ae5991fd5b3bc4b93b)) +* complete platform coverage — napi-http/ws full API, @catcher/web, Flutter dart:ffi, UniFFI, docs sync ([3c5197f](https://github.com/eric8810/catcher/commit/3c5197ff51a1d738f2c76d160fbd979490c2af82)) +* Phase 1+2 — N-02 streaming, N-03 per-request cancel, N-04 quality push, NAPI 10-gap, WS full config integration ([b314636](https://github.com/eric8810/catcher/commit/b314636b2c8f052e77aab0aa11ad3ac6a38e6737)) + + +### Bug Fixes + +* [#023](https://github.com/eric8810/catcher/issues/023) uniffi evaluate_quality take/put race ([060b2ce](https://github.com/eric8810/catcher/commit/060b2ce065c0e813e083dc312077e73af33394a4)) +* **ci:** repair release workflow — add missing dep versions, fix napi CLI path, seed release-please manifest ([1607f0c](https://github.com/eric8810/catcher/commit/1607f0c94b1e11d0610a0e196a049c97ed4182ec)) +* critical review issues — use-after-free, async UniFFI, timeout race ([03753f0](https://github.com/eric8810/catcher/commit/03753f0a33f5ef38d2235a1c4cbfd72a0da39ce3)) +* **flutter:** restore WebSocket connection and prevent startup crash ([#21](https://github.com/eric8810/catcher/issues/21)) ([9882a08](https://github.com/eric8810/catcher/commit/9882a084dec0361ad7c49dfc564aeddb144d2b03)) +* PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings + release 0.3.13 (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([0320595](https://github.com/eric8810/catcher/commit/032059537d829d8535df7b0326c98c7c33ccc1a7)) +* resolve 9 documented issues ([#003](https://github.com/eric8810/catcher/issues/003) [#006](https://github.com/eric8810/catcher/issues/006) [#008](https://github.com/eric8810/catcher/issues/008) [#009](https://github.com/eric8810/catcher/issues/009) [#010](https://github.com/eric8810/catcher/issues/010) [#011](https://github.com/eric8810/catcher/issues/011) [#013](https://github.com/eric8810/catcher/issues/013) [#014](https://github.com/eric8810/catcher/issues/014) [#015](https://github.com/eric8810/catcher/issues/015) [#017](https://github.com/eric8810/catcher/issues/017) [#018](https://github.com/eric8810/catcher/issues/018)) ([609a840](https://github.com/eric8810/catcher/commit/609a8406fdad63d39c64384e55d3645adc3fc06b)) +* review round 2 — 36 issues across Rust/Dart/infra ([fe0893e](https://github.com/eric8810/catcher/commit/fe0893e7b5d96d7f5be879ebe2acdc5602b531b2)) +* review round 3 — 11 issues across Rust/Dart/infra ([7e62159](https://github.com/eric8810/catcher/commit/7e6215981ee654a94426853d26fa3df6be90211f)) +* support proxy dns behavior across http and ws ([d8ff3df](https://github.com/eric8810/catcher/commit/d8ff3df955a42fb37371e8c4714125d2af845897)) +* support proxy DNS behavior across HTTP and WS ([15b1233](https://github.com/eric8810/catcher/commit/15b12333e5a233fef4ed1419c498f85f2dfb2af2)) +* TLS默认安全、N-API加载、UniFFI构建、WS CloseEvent、maxAttempts、发布配置、web行为对齐、测试拆分 ([a5ed669](https://github.com/eric8810/catcher/commit/a5ed669148a8be1dd1c27b291f3350c5248bb004)) +* UniFFI setup_scaffolding, add catcher_free_result, remove UDL ([1da6f30](https://github.com/eric8810/catcher/commit/1da6f303be47667c9ec943db6f8babedfa2158d1)) +* **uniffi:** use uniffi::setup_scaffolding!() instead of uniffi::setup!() ([fad2ab8](https://github.com/eric8810/catcher/commit/fad2ab8f568e6579ebf39f65acfcbe02df4b8cc6)) +* wire Flutter FFI calls, implement UniFFI WsClient, fix test scripts, add CI/release infra ([670f915](https://github.com/eric8810/catcher/commit/670f915c042ea28928fd2e6b0d413d27cb75693d)) diff --git a/packages/catcher-uniffi/Cargo.toml b/packages/catcher-uniffi/Cargo.toml index 4f0eed8..86a7f55 100644 --- a/packages/catcher-uniffi/Cargo.toml +++ b/packages/catcher-uniffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "catcher-uniffi" -version = "0.3.19" +version = "0.4.0" edition = "2021" description = "UniFFI bindings for catcher — auto-generates Swift + Kotlin from Rust API" license = "MIT" diff --git a/packages/catcher-web/CHANGELOG.md b/packages/catcher-web/CHANGELOG.md new file mode 100644 index 0000000..49a344c --- /dev/null +++ b/packages/catcher-web/CHANGELOG.md @@ -0,0 +1,30 @@ +# Changelog + +## [0.4.0](https://github.com/eric8810/catcher/compare/catcher-web-v0.3.19...catcher-web-v0.4.0) (2026-08-13) + + +### Features + +* complete platform coverage — napi-http/ws full API, @catcher/web, Flutter dart:ffi, UniFFI, docs sync ([3c5197f](https://github.com/eric8810/catcher/commit/3c5197ff51a1d738f2c76d160fbd979490c2af82)) +* complete remaining stubs — @catcher/web interceptors + WS client, napi-http JS fallback, remaining-work plan, env setup ([128041e](https://github.com/eric8810/catcher/commit/128041e2f7de06fe2c042bf1a176f25c3f316621)) +* G-11 reporter stats fix + NEW-2 web progress + Rust DNS nameservers ([ade4bf2](https://github.com/eric8810/catcher/commit/ade4bf24d47fd0574cecb34604fa13fcdb011946)) +* G2 rawData fix + TS client enhancements ([ffa723c](https://github.com/eric8810/catcher/commit/ffa723c544ab3b6e5f5798cdc3f1f539441167b1)) +* implement G2-G12 API gap features across all layers ([60644dd](https://github.com/eric8810/catcher/commit/60644dd3c01091b7d211754aa65cbac38ca72e92)) +* implement SSE streaming client (TS + Rust) ([5b8ba51](https://github.com/eric8810/catcher/commit/5b8ba51463d67ea124aeb7edb764eae92bc4bd2a)) + + +### Bug Fixes + +* **flutter:** restore WebSocket connection and prevent startup crash ([#21](https://github.com/eric8810/catcher/issues/21)) ([9882a08](https://github.com/eric8810/catcher/commit/9882a084dec0361ad7c49dfc564aeddb144d2b03)) +* PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings + release 0.3.13 (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([0320595](https://github.com/eric8810/catcher/commit/032059537d829d8535df7b0326c98c7c33ccc1a7)) +* review bugs — per-request retry, onRetry double call, Cargo deps, nested workspace flatten, JSDoc fix, tsconfig for web ([bb87a02](https://github.com/eric8810/catcher/commit/bb87a022aac3ac97161864667138e70ec41307e3)) +* subagent 审查发现 — Web HTTP AbortError 误判、Web WS closedByUser 缺失、N-API 跨平台 fallback、根 build 脚本、.gitignore ([cca8bb0](https://github.com/eric8810/catcher/commit/cca8bb0208d5c86267ed3b55132725295e494aef)) +* **test:** resolve two CI test failures ([7c9aa8a](https://github.com/eric8810/catcher/commit/7c9aa8a49182b2c9bb7cd6eed550b5e4884297a5)) +* TLS默认安全、N-API加载、UniFFI构建、WS CloseEvent、maxAttempts、发布配置、web行为对齐、测试拆分 ([a5ed669](https://github.com/eric8810/catcher/commit/a5ed669148a8be1dd1c27b291f3350c5248bb004)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @eric8810/catcher-core bumped to 0.4.0 diff --git a/packages/catcher-web/package.json b/packages/catcher-web/package.json index 216d733..0560560 100644 --- a/packages/catcher-web/package.json +++ b/packages/catcher-web/package.json @@ -1,6 +1,6 @@ { "name": "@eric8810/catcher-web", - "version": "0.3.19", + "version": "0.4.0", "description": "Catcher HTTP client for browsers — fetch-based with retry, circuit breaker & priority queue", "type": "module", "main": "./dist/index.js", diff --git a/packages/catcher-ws-ts/CHANGELOG.md b/packages/catcher-ws-ts/CHANGELOG.md new file mode 100644 index 0000000..6dd2e12 --- /dev/null +++ b/packages/catcher-ws-ts/CHANGELOG.md @@ -0,0 +1,25 @@ +# Changelog + +## [0.4.0](https://github.com/eric8810/catcher/compare/catcher-ws-v0.3.19...catcher-ws-v0.4.0) (2026-08-13) + + +### Features + +* add 98 unit tests for catcher-http-ts and catcher-ws-ts ([379b99e](https://github.com/eric8810/catcher/commit/379b99e9cff3a02b9e9496a5941bd3aa9fb09ed4)) +* implement G2-G12 API gap features across all layers ([60644dd](https://github.com/eric8810/catcher/commit/60644dd3c01091b7d211754aa65cbac38ca72e92)) + + +### Bug Fixes + +* **flutter:** restore WebSocket connection and prevent startup crash ([#21](https://github.com/eric8810/catcher/issues/21)) ([9882a08](https://github.com/eric8810/catcher/commit/9882a084dec0361ad7c49dfc564aeddb144d2b03)) +* PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings + release 0.3.13 (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([0320595](https://github.com/eric8810/catcher/commit/032059537d829d8535df7b0326c98c7c33ccc1a7)) +* TLS默认安全、N-API加载、UniFFI构建、WS CloseEvent、maxAttempts、发布配置、web行为对齐、测试拆分 ([a5ed669](https://github.com/eric8810/catcher/commit/a5ed669148a8be1dd1c27b291f3350c5248bb004)) + + +### Dependencies + +* The following workspace dependencies were updated + * dependencies + * @eric8810/catcher-core bumped to 0.4.0 + * devDependencies + * @eric8810/catcher-core bumped to 0.4.0 diff --git a/packages/catcher-ws-ts/package.json b/packages/catcher-ws-ts/package.json index 2b8fd32..afb8ea3 100644 --- a/packages/catcher-ws-ts/package.json +++ b/packages/catcher-ws-ts/package.json @@ -1,6 +1,6 @@ { "name": "@eric8810/catcher-ws", - "version": "0.3.19", + "version": "0.4.0", "description": "Catcher WebSocket client — resilient reconnect, multi-endpoint racing, msgpack codec", "type": "module", "main": "./dist/index.js", diff --git a/packages/catcher-ws/CHANGELOG.md b/packages/catcher-ws/CHANGELOG.md new file mode 100644 index 0000000..08412c4 --- /dev/null +++ b/packages/catcher-ws/CHANGELOG.md @@ -0,0 +1,41 @@ +# Changelog + +## [1.0.0](https://github.com/eric8810/catcher/compare/catcher-ws-v0.3.19...catcher-ws-v1.0.0) (2026-08-13) + + +### ⚠ BREAKING CHANGES + +* napi package entry points moved from client.js to dist/client.js + +### Features + +* add application-layer compression support with gzip and zstd ([10f43f4](https://github.com/eric8810/catcher/commit/10f43f4c54399bb15809cde141b5db85bc4ab37a)) +* built-in msgpack codec for HTTP and WS transports ([2f27c44](https://github.com/eric8810/catcher/commit/2f27c4422e790aefb8fd8499db539b8499df5cbf)) +* **catcher-ws:** add network_changed() for immediate reconnect on network switch ([b569f28](https://github.com/eric8810/catcher/commit/b569f284b5852c0824cce759f8a0773fc1ba2cab)) +* **catcher-ws:** add send_timeout_ms so half-open sends cannot stall the event loop ([88d36e0](https://github.com/eric8810/catcher/commit/88d36e019cd05a160f3defdd3d9215bc3f87eceb)) +* Phase 1+2 — N-02 streaming, N-03 per-request cancel, N-04 quality push, NAPI 10-gap, WS full config integration ([b314636](https://github.com/eric8810/catcher/commit/b314636b2c8f052e77aab0aa11ad3ac6a38e6737)) +* **proxy:** add explicit direct mode ([#24](https://github.com/eric8810/catcher/issues/24)) ([07fe30a](https://github.com/eric8810/catcher/commit/07fe30a5514f30dfe68dcc3b234e61e1d1eef22f)) +* replace hand-written napi wrappers with typed TS sources ([b075b37](https://github.com/eric8810/catcher/commit/b075b37f658d7a4d2ec72233551aea9fbf4b93d0)) +* system proxy auto-detection via proxy.mode = 'system' ([#18](https://github.com/eric8810/catcher/issues/18)) ([30360b3](https://github.com/eric8810/catcher/commit/30360b31668db065c1b7f104d8267d6a667b24dc)) + + +### Bug Fixes + +* address PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([b51c10b](https://github.com/eric8810/catcher/commit/b51c10ba3e4dd5d7203e28e5f3bac9697bcf00f7)) +* **catcher-ws:** harden network_changed edge cases found in review ([0cabf7a](https://github.com/eric8810/catcher/commit/0cabf7ab350b24c5d02503fa51a756d52ee53a68)) +* **ci:** repair release workflow — add missing dep versions, fix napi CLI path, seed release-please manifest ([1607f0c](https://github.com/eric8810/catcher/commit/1607f0c94b1e11d0610a0e196a049c97ed4182ec)) +* critical review issues — use-after-free, async UniFFI, timeout race ([03753f0](https://github.com/eric8810/catcher/commit/03753f0a33f5ef38d2235a1c4cbfd72a0da39ce3)) +* **dart:** wire dns and msgpack config ([d419a36](https://github.com/eric8810/catcher/commit/d419a36fb1f350b6e92d6b1e2c04eaca0ac60496)) +* double-free in catcher_free_result ([13e07a7](https://github.com/eric8810/catcher/commit/13e07a7a5d65e3aa2fbbb3897d2111a4adc6e926)) +* FFI body base64 encoding ([#019](https://github.com/eric8810/catcher/issues/019), [#021](https://github.com/eric8810/catcher/issues/021)) + adaptive heartbeat timer ([#020](https://github.com/eric8810/catcher/issues/020)) ([501c55b](https://github.com/eric8810/catcher/commit/501c55b715d53b623f100e2beb8563740c61c8b6)) +* **flutter:** restore WebSocket connection and prevent startup crash ([#21](https://github.com/eric8810/catcher/issues/21)) ([9882a08](https://github.com/eric8810/catcher/commit/9882a084dec0361ad7c49dfc564aeddb144d2b03)) +* PR [#13](https://github.com/eric8810/catcher/issues/13)–15 review findings + release 0.3.13 (issues [#28](https://github.com/eric8810/catcher/issues/28)–34) ([0320595](https://github.com/eric8810/catcher/commit/032059537d829d8535df7b0326c98c7c33ccc1a7)) +* resolve 9 documented issues ([#003](https://github.com/eric8810/catcher/issues/003) [#006](https://github.com/eric8810/catcher/issues/006) [#008](https://github.com/eric8810/catcher/issues/008) [#009](https://github.com/eric8810/catcher/issues/009) [#010](https://github.com/eric8810/catcher/issues/010) [#011](https://github.com/eric8810/catcher/issues/011) [#013](https://github.com/eric8810/catcher/issues/013) [#014](https://github.com/eric8810/catcher/issues/014) [#015](https://github.com/eric8810/catcher/issues/015) [#017](https://github.com/eric8810/catcher/issues/017) [#018](https://github.com/eric8810/catcher/issues/018)) ([609a840](https://github.com/eric8810/catcher/commit/609a8406fdad63d39c64384e55d3645adc3fc06b)) +* review round 2 — 36 issues across Rust/Dart/infra ([fe0893e](https://github.com/eric8810/catcher/commit/fe0893e7b5d96d7f5be879ebe2acdc5602b531b2)) +* review round 3 — 11 issues across Rust/Dart/infra ([7e62159](https://github.com/eric8810/catcher/commit/7e6215981ee654a94426853d26fa3df6be90211f)) +* support explicit proxy for mobile clients ([a45368d](https://github.com/eric8810/catcher/commit/a45368d99f5045ececa13e0e18430919b53c38d1)) +* support proxy dns behavior across http and ws ([d8ff3df](https://github.com/eric8810/catcher/commit/d8ff3df955a42fb37371e8c4714125d2af845897)) +* support proxy DNS behavior across HTTP and WS ([15b1233](https://github.com/eric8810/catcher/commit/15b12333e5a233fef4ed1419c498f85f2dfb2af2)) +* UniFFI setup_scaffolding, add catcher_free_result, remove UDL ([1da6f30](https://github.com/eric8810/catcher/commit/1da6f303be47667c9ec943db6f8babedfa2158d1)) +* **ws:** review fixes — reconnect message buffering, pong_timeout, close echo, native-tls removal, latency, docs ([0ef7b5e](https://github.com/eric8810/catcher/commit/0ef7b5eb46f67eff579adacd078a4147f8c0efcf)) +* **ws:** share dns resolver and retry handshakes ([b16471a](https://github.com/eric8810/catcher/commit/b16471af60e57c66af5d32042478caabd19a04c2)) diff --git a/packages/catcher-ws/Cargo.toml b/packages/catcher-ws/Cargo.toml index 0ef7a0e..d78dadf 100644 --- a/packages/catcher-ws/Cargo.toml +++ b/packages/catcher-ws/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "catcher-ws" -version = "0.3.19" +version = "1.0.0" edition = "2021" description = "WebSocket client for catcher — resilient reconnect, heartbeat, multi-endpoint racing" license = "MIT"