Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# Changelog

## 1.0.4

### Fixed / 修复

- **Web/WASM build** — the platform-specific implementations are now selected by
gating the `dart:io` variants behind `dart.library.io`, using the browser-based
variants as the fallback. Previously the conditional exports defaulted to the
`dart:io` variants, so an environment that does not define `dart.library.html`
still resolved them and pulled `dart:io` into the Web build. Runtime behaviour
is unchanged on every supported platform: native still uses the `dart:io`
variants, the Web still uses the browser-based ones.
- **Web/WASM 构建**——各平台实现改为按 `dart.library.io` 条件引入原生版本,并以
浏览器版本作为兜底。此前条件导出默认使用 `dart:io` 版本,未定义
`dart.library.html` 的环境仍会解析到它们,从而把 `dart:io` 带入 Web 构建。
各平台运行时行为不变:原生仍使用 `dart:io` 版本,Web 仍使用基于浏览器的版本。

## 1.0.3

### Fixed / 修复
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ micro-benchmarks — for Android, iOS, macOS, Windows, Linux and Web (partial).
[![Dart](https://img.shields.io/badge/Dart-✓-0175C2?logo=dart)](https://dart.dev)
[![Style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart)

> **🔔 Upgrade recommended:** `1.0.3` makes the package WASM-compatible — the web build no longer pulls in `connectivity_plus`'s Linux-only `nm` dependency, so `flutter build web --wasm` and pub.dev's platform score (20/20) both pass. Upgrade to `^1.0.3`.
> **🔔 Upgrade recommended:** `1.0.4` removes the remaining `dart:io` imports from the Web build — the platform variants are now selected by gating the `dart:io` implementations behind `dart.library.io`, so the Web build resolves to the browser-based implementations and compiles with `flutter build web --wasm`. Upgrade to `^1.0.4`.

🌐 **[Official Website](https://www.zerolabsco.com/)**  ·  📦 **[View on pub.dev](https://pub.dev/packages/zero_network_kit)**  ·  🔗 **[View on GitHub](https://github.com/zero-labsco/zero_network_kit)**

Expand Down Expand Up @@ -74,7 +74,7 @@ Design goals:

```yaml
dependencies:
zero_network_kit: ^1.0.3
zero_network_kit: ^1.0.4
```

### Android permissions
Expand Down
4 changes: 2 additions & 2 deletions README_zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
[![Dart](https://img.shields.io/badge/Dart-✓-0175C2?logo=dart)](https://dart.dev)
[![Style: effective dart](https://img.shields.io/badge/style-effective_dart-40c4ff.svg)](https://pub.dev/packages/effective_dart)

> **🔔 推荐升级:** `1.0.3` 让包具备 WASM 兼容性——Web 构建不再引入 `connectivity_plus` 仅限 Linux 的 `nm` 依赖,因此 `flutter build web --wasm` 与 pub.dev 的平台评分(20/20)均可通过。建议升级到 `^1.0.3`。
> **🔔 推荐升级:** `1.0.4` 移除了 Web 构建中残留的 `dart:io` 引用——各平台实现改为按 `dart.library.io` 条件引入原生版本,Web 侧因此只解析到基于浏览器的实现,可用 `flutter build web --wasm` 编译。建议升级到 `^1.0.4`。

🌐 **[官方网站](https://www.zerolabsco.com/)**  ·  📦 **[在 pub.dev 查看](https://pub.dev/packages/zero_network_kit)**  ·  🔗 **[查看 GitHub 仓库](https://github.com/zero-labsco/zero_network_kit)**

Expand Down Expand Up @@ -72,7 +72,7 @@

```yaml
dependencies:
zero_network_kit: ^1.0.3
zero_network_kit: ^1.0.4
```

### Android 权限
Expand Down
2 changes: 1 addition & 1 deletion docs/404.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link rel="preload" href="/zero_network_kit/_next/static/css/df9fc72061aac7da.css" as="style"/><link rel="stylesheet" href="/zero_network_kit/_next/static/css/df9fc72061aac7da.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/zero_network_kit/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/zero_network_kit/_next/static/chunks/webpack-ecae8a7b821d04b9.js" defer=""></script><script src="/zero_network_kit/_next/static/chunks/framework-64ad27b21261a9ce.js" defer=""></script><script src="/zero_network_kit/_next/static/chunks/main-f01190a0229cfea1.js" defer=""></script><script src="/zero_network_kit/_next/static/chunks/pages/_app-8d9090723aec7545.js" defer=""></script><script src="/zero_network_kit/_next/static/chunks/pages/_error-7a92967bea80186d.js" defer=""></script><script src="/zero_network_kit/_next/static/kJERBdhNlGdQ3aEAKNeb_/_buildManifest.js" defer=""></script><script src="/zero_network_kit/_next/static/kJERBdhNlGdQ3aEAKNeb_/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"kJERBdhNlGdQ3aEAKNeb_","assetPrefix":"/zero_network_kit","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link rel="preload" href="/zero_network_kit/_next/static/css/df9fc72061aac7da.css" as="style"/><link rel="stylesheet" href="/zero_network_kit/_next/static/css/df9fc72061aac7da.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/zero_network_kit/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/zero_network_kit/_next/static/chunks/webpack-ecae8a7b821d04b9.js" defer=""></script><script src="/zero_network_kit/_next/static/chunks/framework-64ad27b21261a9ce.js" defer=""></script><script src="/zero_network_kit/_next/static/chunks/main-f01190a0229cfea1.js" defer=""></script><script src="/zero_network_kit/_next/static/chunks/pages/_app-8d9090723aec7545.js" defer=""></script><script src="/zero_network_kit/_next/static/chunks/pages/_error-7a92967bea80186d.js" defer=""></script><script src="/zero_network_kit/_next/static/nuDvG3BQ_xqr8cZZcfr-R/_buildManifest.js" defer=""></script><script src="/zero_network_kit/_next/static/nuDvG3BQ_xqr8cZZcfr-R/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"nuDvG3BQ_xqr8cZZcfr-R","assetPrefix":"/zero_network_kit","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
2 changes: 1 addition & 1 deletion docs/404/index.html
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link rel="preload" href="/zero_network_kit/_next/static/css/df9fc72061aac7da.css" as="style"/><link rel="stylesheet" href="/zero_network_kit/_next/static/css/df9fc72061aac7da.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/zero_network_kit/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/zero_network_kit/_next/static/chunks/webpack-ecae8a7b821d04b9.js" defer=""></script><script src="/zero_network_kit/_next/static/chunks/framework-64ad27b21261a9ce.js" defer=""></script><script src="/zero_network_kit/_next/static/chunks/main-f01190a0229cfea1.js" defer=""></script><script src="/zero_network_kit/_next/static/chunks/pages/_app-8d9090723aec7545.js" defer=""></script><script src="/zero_network_kit/_next/static/chunks/pages/_error-7a92967bea80186d.js" defer=""></script><script src="/zero_network_kit/_next/static/kJERBdhNlGdQ3aEAKNeb_/_buildManifest.js" defer=""></script><script src="/zero_network_kit/_next/static/kJERBdhNlGdQ3aEAKNeb_/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"kJERBdhNlGdQ3aEAKNeb_","assetPrefix":"/zero_network_kit","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>404: This page could not be found</title><meta name="next-head-count" content="3"/><link rel="preload" href="/zero_network_kit/_next/static/css/df9fc72061aac7da.css" as="style"/><link rel="stylesheet" href="/zero_network_kit/_next/static/css/df9fc72061aac7da.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/zero_network_kit/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/zero_network_kit/_next/static/chunks/webpack-ecae8a7b821d04b9.js" defer=""></script><script src="/zero_network_kit/_next/static/chunks/framework-64ad27b21261a9ce.js" defer=""></script><script src="/zero_network_kit/_next/static/chunks/main-f01190a0229cfea1.js" defer=""></script><script src="/zero_network_kit/_next/static/chunks/pages/_app-8d9090723aec7545.js" defer=""></script><script src="/zero_network_kit/_next/static/chunks/pages/_error-7a92967bea80186d.js" defer=""></script><script src="/zero_network_kit/_next/static/nuDvG3BQ_xqr8cZZcfr-R/_buildManifest.js" defer=""></script><script src="/zero_network_kit/_next/static/nuDvG3BQ_xqr8cZZcfr-R/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"nuDvG3BQ_xqr8cZZcfr-R","assetPrefix":"/zero_network_kit","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
4 changes: 2 additions & 2 deletions docs/API-Reference/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/Benchmark/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/Connectivity/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/DNS/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/FAQ/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/Full-Report/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/Getting-Started/index.html

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions docs/Installation/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/Ping/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/Platform-Support/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/Ports/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/Quality/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/Speed-Test/index.html

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions docs/Usage/index.html

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion docs/_next/static/chunks/nextra-data-en-US.json

Large diffs are not rendered by default.

Loading
Loading