Skip to content

Releases: fogtape/nodejs-mobile

Node.js 26 · nodejs-mobile v26.12.0-0(预发布)

Choose a tag to compare

@fogtape fogtape released this 18 Oct 10:01

2026-10-18, Version 26.12.0-0 (Current)

  • Rebase the mobile patch series onto the official Node.js v26.12.0 tag
    (26e72d85a611e222e3f06025de8a3c496923bacd). All 24 patches apply; the
    OpenSSL 4 ECH/H3 and QUIC changes carry forward unchanged, and the
    upstream-workflow removal patch absorbs 16 upstream workflow edits.
  • 26.12.0 is a regular Current minor release with no security designation:
    V8, libuv, npm and OpenSSL versions are unchanged from 26.11.1. Relevant
    mobile changes are upstream HTTP/stream/ESM fixes and the new
    http.websocketMask() / websocketUnmask() helpers.
  • Keep the danmu lite feature contract unchanged: complete ICU API with the
    reviewed data profile, web encodings, Chinese collation and normalization;
    omit Temporal, FFI, Inspector, SQLite/Web Storage, Amaro and SEA. Android
    retains JIT/native WASM, JNI/ECH/H3 and 16 KB page alignment.
  • This source upgrade does not itself switch danmu-api-android to 26.12.
    A new runtime archive, checksum update and device validation are separate,
    reviewed steps.

Generated from openssl4/node26.12.0@333a98671a using Build run 39101169836.

Node.js 24 LTS · nodejs-mobile v24.22.0-0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 09:58

2026-10-13, Version 24.22.0-0 (Current)

Runtime and flavor changes

  • Full: embed complete ICU data for locale formatting, collation and legacy text decoding. The previous 24.21.0-0 full release used small-ICU; complete ICU data accounts for most of the increased binary size.
  • Lite: retain the reviewed danmu_api ICU data profile. Both flavors keep the complete ICU API; lite preserves all Node TextDecoder web encodings (including GBK, GB2312 and Big5), English/Chinese/Cantonese/Japanese/Korean locale families, Unicode normalization, IDNA, time zones and segmentation. Other locale-specific formatting may fall back to a retained locale.
  • Lite omissions: omit Amaro TypeScript stripping, Inspector, SQLite/Web Storage, single-executable application support and native V8 object-print helpers. Keep HTTP/HTTPS/TLS, crypto, fetch/Undici, filesystem and module loading, streams, compression and WebAssembly support.
  • Android: retain JIT and native WebAssembly. Lite uses V8 pointer compression on 64-bit targets and strips its SDK libraries only after verifying that dynamic exports remain unchanged. Direct V8 native addons must match the selected flavor's ABI.
  • iOS: retain jitless V8 and the polywasm WebAssembly implementation, without pointer compression. Both packages include arm64 device and arm64 simulator slices.
  • Mobile compatibility: rebase the platform patches onto the proposed LTS source and adopt upstream's V8_ENABLE_WEBASSEMBLY guard.

Validation and downloads

  • Build Android arm64-v8a, armeabi-v7a and x86_64 libraries and iOS device/simulator frameworks in both full and lite flavors.
  • Require host checks, boot and native-addon smokes, full/lite ICU checks, curated device tests and complete runnable Android/iOS suites in the publication workflow. Runtime validation uses Android emulators and iOS simulators; this release does not claim physical-device validation.
  • Fix Android launch failures before Node starts and improve iOS smoke launch and verdict collection. Preserve in-process Intl and SQLite regression coverage while skipping unsupported mobile child-process probes.
  • Provide four SDK archives with headers: nodejs-mobile-android-24.22.0-0.zip, nodejs-mobile-android-lite-24.22.0-0.zip, nodejs-mobile-ios-24.22.0-0.zip and nodejs-mobile-ios-lite-24.22.0-0.zip, plus SHA256SUMS.

For danmu_api, use the lite package when its retained feature and locale
profile matches your application. Verify the selected archive against
SHA256SUMS before integration.

Generated from recipe@f6912558c2.

Node.js 26 · nodejs-mobile v26.11.0-0

Pre-release

Choose a tag to compare

@github-actions github-actions released this 07 Oct 05:34

Upstream proposal snapshot: this prerelease is built from an unreleased Node.js proposal, not an official Node.js release tag. Pinned upstream commit: 49072a0be4c7410982557aebf5b5c924fe7db597. The final upstream release may differ.

2026-10-07, Version 26.11.0-0 (Current)

  • Pin official Node.js release proposal #66546
    at 49072a0be4c7410982557aebf5b5c924fe7db597 and rebase the mobile patch series.
  • Include the proposal's HdrHistogram 0.12.0, NSS 3.129 certificate source,
    WebCrypto/source-map fixtures and Alpine support documentation updates.
  • Split the complete Android device suite into 16 shorter sessions, with at
    most four running concurrently. Release the Gradle JVM after APK assembly
    and publish resource diagnostics while tests run to investigate runner
    shutdowns without excluding additional tests.
  • Exclude the watch-mode CLI subprocess tests on mobile, matching the
    existing child-Node limitation; in-process debugger and filesystem-watch
    tests keep their current coverage. Retry diagnostic log uploads once and
    report artifact-service failures separately from the device-test verdict.
  • Carry forward the danmu lite ICU data profile, all web encoding converters,
    Chinese collation and Unicode normalization. Lite omits Temporal, FFI, Amaro,
    Inspector, SQLite/Web Storage, SEA and native object-print helpers; Android
    retains JIT/native WASM and 64-bit pointer compression. Keep the lite runtime
    strip helper and dynamic-export checks.
  • Preserve upstream's new Temporal zoneinfo generator alongside the mobile
    Rust host/target actions. Adapt the z/OS build refactor without losing iOS guards.
  • Triage new subprocess tests on both platforms, keep in-process bench/negative-zero
    assertions, update the renamed VFS exclusion and add 11 in-process device regressions.
  • Support SHA-pinned materialization in local builds and CI. Snapshot
    prereleases require the exact upstream SHA as an explicit manual input
    in both release preparation and publication, a reviewed SHA marker and
    version verification against the official source. Mark their release
    titles and notes as unreleased upstream proposals; default releases still
    require an official upstream tag.

Generated from recipe-v26@4738b56451.

Node.js 26 · nodejs-mobile v26.10.0-0(预发布)

Choose a tag to compare

@github-actions github-actions released this 01 Oct 13:58

2026-10-01, Version 26.10.0-0 (Current)

  • Upgrade the independent Node 26 line to official Node.js 26.10.0.

  • Enable Temporal in Android/iOS full builds using Rust 1.86.0, with separate
    native host and mobile target archives. Full builds bundle complete ICU data
    for named time zones; small-ICU cannot load Temporal timezone information.
    Lite retains its no-ICU configuration
    and omits Temporal.

  • Enable node:ffi in both flavors. Use iOS libffi's precompiled callback
    trampoline table and the correct Apple arm64 long-double ABI.

  • Update the iOS link list for upstream's split libnode_base and
    libncrypto_engine archives, plus libffi and the full flavor's Rust archive.

  • Add boot regressions for native calls, native-to-JavaScript callbacks, and
    Temporal calendar/timezone behavior. Extend the mobile test exclusions for
    new upstream subprocess and permission-verdict limitations.

  • Remove small-ICU-only stub archive references from the full-ICU iOS framework.

  • Adapt full-suite tests to app sandbox paths and device permissions, retaining
    in-process Intl, VFS, file-writing and SQLite backup assertions. Exclude only
    independent child-Node snapshot/startup checks on embedded runtimes.

  • Keep the iOS WPT inspector lifecycle test using a compression fixture without
    unsupported shared WebAssembly memory, and skip only the WebIDL subtest that
    needs absent polywasm shared/resizable memory conversion APIs. Retain the
    remaining WebIDL buffer conversion assertions.

  • Bind mobile exit-verdict hooks to the launch owner's PID as well as its main
    thread, preventing child processes from changing their parent's verdict.
    Wait for iOS simulator process termination before consuming verdict/output.

  • Keep the VM timeout regression's 10ms deadline; align only its iOS escape
    safety guard with the 2-second guard used by other VM timeout tests.

Generated from recipe-v26@fe28b2890d.

Node.js 24 LTS · nodejs-mobile v24.21.0-0(预发布)

Choose a tag to compare

@github-actions github-actions released this 14 Sep 11:28

版本识别:Node.js 24 长期支持线(LTS)

  • 上游 Node.js 版本:24.21.0(不是 24.1)。
  • nodejs-mobile 构建版本:24.21.0-0;末尾 -0 表示移动端构建修订号。
  • 此条目属于 Node 24 维护线,不会被 Node 26 预发布替代。

2026-09-14, Version 24.21.0-0 (Current)

Notable Changes

  • Engine: Node.js 24.20.0 → 24.21.0 (OpenSSL 3.5.8, undici 7.29.1, root certificates NSS 3.126).
  • Tests: skip the new upstream child-process spawners and the --permission-without---allow-fs-write cases on Android and iOS (see docs/UPGRADING.md, "New upstream tests").

Generated from recipe@13220bb133.