From 8b62cead5ed7d8315affa3b7ae2b1022fa3e758a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 13 Aug 2026 22:16:44 +0000 Subject: [PATCH] Version Packages (rc) --- .changeset/pre.json | 16 +-- .changeset/{ => pre}/bufout-one-point-oh.md | 0 .changeset/{ => pre}/chilly-trains-nail.md | 0 .../{ => pre}/drop-shadowing-napi-shims.md | 0 .changeset/{ => pre}/eighty-moons-shave.md | 0 .changeset/{ => pre}/gentle-pandas-learn.md | 0 .changeset/{ => pre}/hermes-loads-addons.md | 0 .../{ => pre}/hermes-napi-host-integration.md | 0 .../{ => pre}/prebuilt-hermes-archive.md | 0 .../{ => pre}/prebuilt-hermes-command.md | 0 .../prebuilt-hermes-host-compiler.md | 0 .../{ => pre}/prebuilt-hermes-visionos-env.md | 0 .changeset/{ => pre}/real-emus-jam.md | 0 .changeset/{ => pre}/release-debug-logging.md | 0 ...oute-fatal-exception-through-errorutils.md | 0 .changeset/{ => pre}/silent-vendor-hermes.md | 0 .changeset/{ => pre}/silly-cobras-invite.md | 0 .changeset/{ => pre}/wet-carrots-relax.md | 0 packages/cli-utils/CHANGELOG.md | 14 ++ packages/cli-utils/package.json | 2 +- packages/cmake-rn/CHANGELOG.md | 65 +++++++++ packages/cmake-rn/package.json | 2 +- packages/ferric/CHANGELOG.md | 31 ++++ packages/ferric/package.json | 2 +- packages/gyp-to-cmake/CHANGELOG.md | 16 +++ packages/gyp-to-cmake/package.json | 2 +- packages/host/CHANGELOG.md | 134 ++++++++++++++++++ packages/host/package.json | 2 +- packages/weak-node-api/CHANGELOG.md | 14 ++ packages/weak-node-api/package.json | 2 +- 30 files changed, 281 insertions(+), 21 deletions(-) rename .changeset/{ => pre}/bufout-one-point-oh.md (100%) rename .changeset/{ => pre}/chilly-trains-nail.md (100%) rename .changeset/{ => pre}/drop-shadowing-napi-shims.md (100%) rename .changeset/{ => pre}/eighty-moons-shave.md (100%) rename .changeset/{ => pre}/gentle-pandas-learn.md (100%) rename .changeset/{ => pre}/hermes-loads-addons.md (100%) rename .changeset/{ => pre}/hermes-napi-host-integration.md (100%) rename .changeset/{ => pre}/prebuilt-hermes-archive.md (100%) rename .changeset/{ => pre}/prebuilt-hermes-command.md (100%) rename .changeset/{ => pre}/prebuilt-hermes-host-compiler.md (100%) rename .changeset/{ => pre}/prebuilt-hermes-visionos-env.md (100%) rename .changeset/{ => pre}/real-emus-jam.md (100%) rename .changeset/{ => pre}/release-debug-logging.md (100%) rename .changeset/{ => pre}/route-fatal-exception-through-errorutils.md (100%) rename .changeset/{ => pre}/silent-vendor-hermes.md (100%) rename .changeset/{ => pre}/silly-cobras-invite.md (100%) rename .changeset/{ => pre}/wet-carrots-relax.md (100%) diff --git a/.changeset/pre.json b/.changeset/pre.json index d58b8f48..d1deaa4c 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -1,18 +1,4 @@ { "mode": "pre", - "tag": "rc", - "initialVersions": { - "@react-native-node-api/test-app": "0.2.2", - "@react-native-node-api/cli-utils": "0.1.4", - "cmake-file-api": "0.1.2", - "cmake-rn": "0.6.3", - "ferric-cli": "0.3.11", - "@react-native-node-api/ferric-example": "0.1.2", - "gyp-to-cmake": "0.5.3", - "react-native-node-api": "1.0.1", - "@react-native-node-api/node-addon-examples": "0.1.1", - "@react-native-node-api/node-tests": "0.1.1", - "weak-node-api": "0.1.1" - }, - "changesets": [] + "tag": "rc" } diff --git a/.changeset/bufout-one-point-oh.md b/.changeset/pre/bufout-one-point-oh.md similarity index 100% rename from .changeset/bufout-one-point-oh.md rename to .changeset/pre/bufout-one-point-oh.md diff --git a/.changeset/chilly-trains-nail.md b/.changeset/pre/chilly-trains-nail.md similarity index 100% rename from .changeset/chilly-trains-nail.md rename to .changeset/pre/chilly-trains-nail.md diff --git a/.changeset/drop-shadowing-napi-shims.md b/.changeset/pre/drop-shadowing-napi-shims.md similarity index 100% rename from .changeset/drop-shadowing-napi-shims.md rename to .changeset/pre/drop-shadowing-napi-shims.md diff --git a/.changeset/eighty-moons-shave.md b/.changeset/pre/eighty-moons-shave.md similarity index 100% rename from .changeset/eighty-moons-shave.md rename to .changeset/pre/eighty-moons-shave.md diff --git a/.changeset/gentle-pandas-learn.md b/.changeset/pre/gentle-pandas-learn.md similarity index 100% rename from .changeset/gentle-pandas-learn.md rename to .changeset/pre/gentle-pandas-learn.md diff --git a/.changeset/hermes-loads-addons.md b/.changeset/pre/hermes-loads-addons.md similarity index 100% rename from .changeset/hermes-loads-addons.md rename to .changeset/pre/hermes-loads-addons.md diff --git a/.changeset/hermes-napi-host-integration.md b/.changeset/pre/hermes-napi-host-integration.md similarity index 100% rename from .changeset/hermes-napi-host-integration.md rename to .changeset/pre/hermes-napi-host-integration.md diff --git a/.changeset/prebuilt-hermes-archive.md b/.changeset/pre/prebuilt-hermes-archive.md similarity index 100% rename from .changeset/prebuilt-hermes-archive.md rename to .changeset/pre/prebuilt-hermes-archive.md diff --git a/.changeset/prebuilt-hermes-command.md b/.changeset/pre/prebuilt-hermes-command.md similarity index 100% rename from .changeset/prebuilt-hermes-command.md rename to .changeset/pre/prebuilt-hermes-command.md diff --git a/.changeset/prebuilt-hermes-host-compiler.md b/.changeset/pre/prebuilt-hermes-host-compiler.md similarity index 100% rename from .changeset/prebuilt-hermes-host-compiler.md rename to .changeset/pre/prebuilt-hermes-host-compiler.md diff --git a/.changeset/prebuilt-hermes-visionos-env.md b/.changeset/pre/prebuilt-hermes-visionos-env.md similarity index 100% rename from .changeset/prebuilt-hermes-visionos-env.md rename to .changeset/pre/prebuilt-hermes-visionos-env.md diff --git a/.changeset/real-emus-jam.md b/.changeset/pre/real-emus-jam.md similarity index 100% rename from .changeset/real-emus-jam.md rename to .changeset/pre/real-emus-jam.md diff --git a/.changeset/release-debug-logging.md b/.changeset/pre/release-debug-logging.md similarity index 100% rename from .changeset/release-debug-logging.md rename to .changeset/pre/release-debug-logging.md diff --git a/.changeset/route-fatal-exception-through-errorutils.md b/.changeset/pre/route-fatal-exception-through-errorutils.md similarity index 100% rename from .changeset/route-fatal-exception-through-errorutils.md rename to .changeset/pre/route-fatal-exception-through-errorutils.md diff --git a/.changeset/silent-vendor-hermes.md b/.changeset/pre/silent-vendor-hermes.md similarity index 100% rename from .changeset/silent-vendor-hermes.md rename to .changeset/pre/silent-vendor-hermes.md diff --git a/.changeset/silly-cobras-invite.md b/.changeset/pre/silly-cobras-invite.md similarity index 100% rename from .changeset/silly-cobras-invite.md rename to .changeset/pre/silly-cobras-invite.md diff --git a/.changeset/wet-carrots-relax.md b/.changeset/pre/wet-carrots-relax.md similarity index 100% rename from .changeset/wet-carrots-relax.md rename to .changeset/pre/wet-carrots-relax.md diff --git a/packages/cli-utils/CHANGELOG.md b/packages/cli-utils/CHANGELOG.md index 078eefd9..579201e8 100644 --- a/packages/cli-utils/CHANGELOG.md +++ b/packages/cli-utils/CHANGELOG.md @@ -1,5 +1,19 @@ # @react-native-node-api/cli-utils +## 0.1.5-rc.0 + +### Patch Changes + +- 48fa7fc: Upgrade `bufout` to v1.0.0, which keeps the number of listeners on the process + and the output streams constant regardless of how many children are spawned + concurrently: a single shared `exit`/`SIGINT` listener is attached only while + children are running, and every child pipes into one shared pass-through per + destination stream. + + That removes the reason for the CLIs to raise `EventEmitter.defaultMaxListeners` + to 100, so those assignments are gone and Node's default limit again applies — + restoring the leak warning it exists to give. + ## 0.1.4 ### Patch Changes diff --git a/packages/cli-utils/package.json b/packages/cli-utils/package.json index f6fb1122..fc3eee27 100644 --- a/packages/cli-utils/package.json +++ b/packages/cli-utils/package.json @@ -1,6 +1,6 @@ { "name": "@react-native-node-api/cli-utils", - "version": "0.1.4", + "version": "0.1.5-rc.0", "description": "Useful utilities for the CLIs in the React Native Node API mono-repo", "type": "module", "files": [ diff --git a/packages/cmake-rn/CHANGELOG.md b/packages/cmake-rn/CHANGELOG.md index ca29fbc3..c975cb8d 100644 --- a/packages/cmake-rn/CHANGELOG.md +++ b/packages/cmake-rn/CHANGELOG.md @@ -1,5 +1,70 @@ # cmake-rn +## 0.8.0-rc.0 + +### Minor Changes + +- 1ab6a11: Add support for building projects declaring multiple shared object libraries into Node-API addons. + + Each addon is emitted next to the sources it was built from, so that a project + declaring many addons produces the same layout as building each of them on its + own. Both the location and the name of an artifact are derived from the target + that produced it: + - `--out` supports a new `{targetSourceDir}` placeholder, expanding to the source + directory of the target being emitted, and now defaults to + `{targetSourceDir}/build/{configuration}`. This resolves to the same path as + before, unless `--build` is pointed outside of the source directory. + - The artifact is named after the target's `OUTPUT_NAME` rather than the CMake + target name. These are the same unless `OUTPUT_NAME` is set explicitly, which is + how a project can give its targets the unique names CMake requires without + affecting the name of the addon. + + Also adds `--concurrency`, limiting how many build tasks run at once. It defaults + to the available parallelism, or to 1 when `--verbose` is enabled, since + interleaved output from concurrent builds is hard to read. + +- 0c1d597: Let a consumer override the Android `ANDROID_STL` CMake cache variable via + the existing `-D`/`--define` option (e.g. `--define ANDROID_STL=c++_static`). + It still defaults to `c++_shared`, matching what React Native itself uses, + but an addon that must match a prebuilt third-party dependency's STL, or one + that's genuinely self-contained, can now ask for a different value. + + This also fixes an ordering bug where a `--define` targeting any of the + Android platform's own default CMake variables (including `ANDROID_STL`) was + silently discarded: our hardcoded defaults were appended to the CMake + command line _after_ the user-provided `-D` arguments, and CMake resolves a + cache variable set multiple times via `-D` to its last occurrence. + +- d9ab417: Add a `--code-signing-allowed` flag to `cmake-rn`. `CODE_SIGNING_ALLOWED=NO` remains the default (needed for the free-standing dynamic libraries we produce), but a consumer who needs signed binaries in the XCFramework can now pass `--code-signing-allowed` to opt in. + +### Patch Changes + +- 48fa7fc: Upgrade `bufout` to v1.0.0, which keeps the number of listeners on the process + and the output streams constant regardless of how many children are spawned + concurrently: a single shared `exit`/`SIGINT` listener is attached only while + children are running, and every child pipes into one shared pass-through per + destination stream. + + That removes the reason for the CLIs to raise `EventEmitter.defaultMaxListeners` + to 100, so those assignments are gone and Node's default limit again applies — + restoring the leak warning it exists to give. + +- Updated dependencies [48fa7fc] +- Updated dependencies [c22f39c] +- Updated dependencies [c3c321e] +- Updated dependencies [f41deb0] +- Updated dependencies [cf5ed4e] +- Updated dependencies [56ae5f8] +- Updated dependencies [166b3bf] +- Updated dependencies [263a3bc] +- Updated dependencies [8f91084] +- Updated dependencies [0b3df68] +- Updated dependencies [715a24e] +- Updated dependencies [8cc8e59] + - @react-native-node-api/cli-utils@0.1.5-rc.0 + - react-native-node-api@2.0.0-rc.0 + - weak-node-api@0.2.0-rc.0 + ## 0.7.1 ### Patch Changes diff --git a/packages/cmake-rn/package.json b/packages/cmake-rn/package.json index 8e87a31b..19ad95a2 100644 --- a/packages/cmake-rn/package.json +++ b/packages/cmake-rn/package.json @@ -1,6 +1,6 @@ { "name": "cmake-rn", - "version": "0.7.1", + "version": "0.8.0-rc.0", "description": "Build React Native Node API modules with CMake", "homepage": "https://github.com/callstackincubator/react-native-node-api", "repository": { diff --git a/packages/ferric/CHANGELOG.md b/packages/ferric/CHANGELOG.md index 9e2357ba..5477a69f 100644 --- a/packages/ferric/CHANGELOG.md +++ b/packages/ferric/CHANGELOG.md @@ -1,5 +1,36 @@ # ferric-cli +## 0.4.2-rc.0 + +### Patch Changes + +- 48fa7fc: Upgrade `bufout` to v1.0.0, which keeps the number of listeners on the process + and the output streams constant regardless of how many children are spawned + concurrently: a single shared `exit`/`SIGINT` listener is attached only while + children are running, and every child pipes into one shared pass-through per + destination stream. + + That removes the reason for the CLIs to raise `EventEmitter.defaultMaxListeners` + to 100, so those assignments are gone and Node's default limit again applies — + restoring the leak warning it exists to give. + +- c73d30c: Add `--dts-only` flag to `ferric build`, generating just the TypeScript declaration file and JS entrypoint without cross-compiling any Android/Apple binaries. It still runs a real host `cargo build` (napi-rs has no lighter typegen-only mode), so it's meant for regenerating a checked-in declarations fixture rather than for environments without a Rust toolchain. +- Updated dependencies [48fa7fc] +- Updated dependencies [c22f39c] +- Updated dependencies [c3c321e] +- Updated dependencies [f41deb0] +- Updated dependencies [cf5ed4e] +- Updated dependencies [56ae5f8] +- Updated dependencies [166b3bf] +- Updated dependencies [263a3bc] +- Updated dependencies [8f91084] +- Updated dependencies [0b3df68] +- Updated dependencies [715a24e] +- Updated dependencies [8cc8e59] + - @react-native-node-api/cli-utils@0.1.5-rc.0 + - react-native-node-api@2.0.0-rc.0 + - weak-node-api@0.2.0-rc.0 + ## 0.4.1 ### Patch Changes diff --git a/packages/ferric/package.json b/packages/ferric/package.json index c5d25b9a..837d1d8f 100644 --- a/packages/ferric/package.json +++ b/packages/ferric/package.json @@ -1,6 +1,6 @@ { "name": "ferric-cli", - "version": "0.4.1", + "version": "0.4.2-rc.0", "description": "Rust Node-API Modules for React Native", "homepage": "https://github.com/callstackincubator/react-native-node-api", "repository": { diff --git a/packages/gyp-to-cmake/CHANGELOG.md b/packages/gyp-to-cmake/CHANGELOG.md index a82f5964..a0abe729 100644 --- a/packages/gyp-to-cmake/CHANGELOG.md +++ b/packages/gyp-to-cmake/CHANGELOG.md @@ -1,5 +1,21 @@ # gyp-to-cmake +## 0.6.0-rc.0 + +### Minor Changes + +- 1ab6a11: Add --namespaced-targets to allow a root project to add many sub-projects. + + CMake requires target names to be unique across a project tree, so sub-projects + that each declare an `addon` target cannot be added to a single root project. This + prefixes the target name with the project name, while setting `OUTPUT_NAME` so the + artifact keeps the name a `require` resolves against. + +### Patch Changes + +- Updated dependencies [48fa7fc] + - @react-native-node-api/cli-utils@0.1.5-rc.0 + ## 0.5.4 ### Patch Changes diff --git a/packages/gyp-to-cmake/package.json b/packages/gyp-to-cmake/package.json index e6c989d9..015d59d3 100644 --- a/packages/gyp-to-cmake/package.json +++ b/packages/gyp-to-cmake/package.json @@ -1,6 +1,6 @@ { "name": "gyp-to-cmake", - "version": "0.5.4", + "version": "0.6.0-rc.0", "description": "Convert binding.gyp files to CMakeLists.txt", "homepage": "https://github.com/callstackincubator/react-native-node-api", "repository": { diff --git a/packages/host/CHANGELOG.md b/packages/host/CHANGELOG.md index 477b65f1..8639327b 100644 --- a/packages/host/CHANGELOG.md +++ b/packages/host/CHANGELOG.md @@ -1,5 +1,139 @@ # react-native-node-api +## 2.0.0-rc.0 + +### Major Changes + +- c3c321e: Adopt Hermes' first-party Node-API (the `hermesNapi` target on the `static_h` + branch) instead of patching Hermes with our own implementation. Addons now run + against a real Node-API environment created with `hermes_napi_create_env()`, one + per addon as in Node, and Node-API is bumped from v8 to v10. + + This drops support for React Native 0.79–0.81: the vendored Hermes is built from + a pinned `static_h` commit and requires the Hermes build scripts shipped with + React Native 0.87 and later. Older React Native versions are still served by + previously published releases. + +### Minor Changes + +- cf5ed4e: Provide a `hermes_napi_host` implementation to the Hermes Node-API environments. This enables thread-safe functions (`napi_create_threadsafe_function` and friends) and moves `napi_async_work` execution onto a worker pool — previously the `execute` callback ran on the JavaScript thread, blocking it for the duration of the work. The host is also in place before an addon's module init runs, so async work and thread-safe functions can now be created during initialization. +- 56ae5f8: Stop compiling Hermes as part of every iOS app build. The Cocoapods integration + now resolves the pinned commit with `prebuilt-hermes` and hands the archive's + path to React Native through `HERMES_ENGINE_TARBALL_PATH` — so + `hermes-engine.podspec` vendors the prebuilt frameworks instead of running its + "Build Hermesc" and "Build Hermes" script phases. + + Building Hermes from source remains available and is the faster loop while + iterating on Hermes itself, since Xcode then rebuilds it incrementally: set + `REACT_NATIVE_NODE_API_HERMES_FROM_SOURCE=1` before `pod install`. Setting + `REACT_NATIVE_OVERRIDE_HERMES_DIR` or `HERMES_ENGINE_TARBALL_PATH` yourself + still takes precedence, and Android is unchanged. + +- 166b3bf: Add a `prebuilt-hermes` command, which resolves an archive of the pinned Hermes + commit prebuilt for Apple platforms and prints its path. The archive holds the + `destroot` layout React Native's `hermes-engine.podspec` expects from a tarball + pointed at by `HERMES_ENGINE_TARBALL_PATH`, so an app that sets that variable + vendors the prebuilt frameworks rather than compiling Hermes as part of its own + build. + + It is resolved from a local cache, then from a release asset published for the + pinned commit, and only built locally if neither has it. Its name covers + everything that changes its contents — the pinned commit, the React Native + version whose `ReactCommon/jsi` it is compiled against, the build type and the + platforms — so a stale archive can never be mistaken for a matching one. + + Nothing consumes this yet: `pod install` still builds Hermes from source. + +- 715a24e: Route `napi_fatal_exception` through React Native's `ErrorUtils.reportFatalError` instead of unconditionally logging and calling `abort()`. This is what node-addon-api calls whenever an exception escapes a thread-safe-function callback, so a single throwing tsfn callback no longer hard-kills the app: in dev the error and its stack now surface in LogBox, in release RN's default handler rethrows into the native crash path, and apps can observe or handle it via `ErrorUtils.setGlobalHandler` — the moral equivalent of Node's `'uncaughtException'`. The previous stringify-and-abort behavior remains as a fallback for when `ErrorUtils`/`reportFatalError` isn't available (non-RN embedders, very early startup) or the handler itself throws. + +### Patch Changes + +- 48fa7fc: Upgrade `bufout` to v1.0.0, which keeps the number of listeners on the process + and the output streams constant regardless of how many children are spawned + concurrently: a single shared `exit`/`SIGINT` listener is attached only while + children are running, and every child pipes into one shared pass-through per + destination stream. + + That removes the reason for the CLIs to raise `EventEmitter.defaultMaxListeners` + to 100, so those assignments are gone and Node's default limit again applies — + restoring the leak warning it exists to give. + +- c22f39c: Drop the host's shadowing implementations of Node-API functions that Hermes' + first-party Node-API already provides, so addons observe Hermes' behavior + instead of the host's older shims: + - `napi_get_node_version` now reports Hermes' own version (release name + `"hermes"`) instead of unconditionally failing with `napi_generic_failure`. + - `napi_is_buffer` now returns `true` only for `Uint8Array`, matching Node, + instead of any `ArrayBuffer`/`TypedArray`. + - `napi_get_buffer_info` now returns `napi_invalid_arg` for non-`Uint8Array` + values, matching Node, instead of `napi_ok` with zeroed output. + - `napi_create_buffer_copy` now writes a non-`NULL` `result_data` argument, as + documented, instead of silently ignoring it. + - `napi_create_buffer`, `napi_create_external_buffer` and `napi_get_version` + are unchanged in observable behavior, now served by Hermes directly. + + This also fixes a bug where calling `napi_get_buffer_info` on a non-`Uint8Array` + typed array (e.g. a `Float64Array`) left a process-global flag corrupted, so + that every subsequent `napi_create_buffer`/`napi_create_external_buffer` call + produced the wrong typed array view. + + `napi_fatal_error` keeps its host-side implementation, so fatal Node-API + errors keep reaching logcat on Android instead of only stderr. + +- f41deb0: Load addons through Hermes' `hermes_napi_load_module` instead of the host's own + `dlopen` + `dlsym` implementation: + - Addons that register themselves by calling the deprecated + `napi_module_register` are now supported. Previously only addons exporting a + `napi_register_module_v1` symbol could be loaded, and the rest resolved to + `undefined`. + - A failing `requireNodeAddon` now throws an error naming the addon, the path + that was tried and the underlying reason (e.g. the `dlopen` error), instead + of silently resolving to `undefined`. + - `node_api_get_module_file_name` now reports the path the addon was loaded + from, instead of an empty string. + + This also opens a Node-API handle scope around loading and initializing an + addon. Without one, the `exports` object handed to the addon's initialization + function was not reachable by the garbage collector, so a collection triggered + during initialization could free it while the addon was still populating it. + +- 263a3bc: Fix `prebuilt-hermes` failing to configure the host Hermes compiler. It passed + `CMAKE_OSX_ARCHITECTURES=arm64;x86_64` to build a universal `hermesc`, but a + multi-arch host configure makes llvh's feature try-compiles fail — standard + headers report as missing and the configure dies with "Host compiler appears to + require libatomic, but cannot find it". The host compiler is now configured the + way Hermes and React Native configure it, for the host architecture only. + + `hermesc` is consequently native to the Mac that built the archive, so the + archive name now carries the host architecture. An Intel Mac finds no published + archive for its architecture and builds its own, rather than downloading one + whose `hermesc` it cannot execute. + +- 8f91084: Fix `prebuilt-hermes` failing to configure the host Hermes compiler with "Host + compiler appears to require libatomic, but cannot find it". It exported all + three deployment targets Hermes' `build-apple-framework.sh` can ask for to every + command it ran, including the host compiler build. `XROS_DEPLOYMENT_TARGET` is + also a clang driver variable, so clang targeted visionOS against the macOS + sysroot, and every API marked unavailable there — `pthread_mutexattr_init`, the + `fd_set` helpers reached through `unistd.h` — failed to compile. Each platform + build now gets only the deployment target it needs, and the host compiler build + gets none. +- 0b3df68: Stop emitting `log_debug`'s per-addon diagnostic chatter (library + found/loaded, symbol resolution, ...) in release builds. It is now compiled + out in `NDEBUG` builds (CMake's `Release`/`MinSizeRel`/`RelWithDebInfo` + configurations, and Xcode's default `Release` configuration), mirroring React + Native's own dev/release logging split. `log_warning` and `log_error` are + unaffected and keep firing in every build type. +- 8cc8e59: Make `vendor-hermes --silent` actually silent. The spinners were passed + `isEnabled: false`, which stops the animation but still writes the spinner text + and its final symbol to stderr. They now use `isSilent`, which suppresses the + output entirely, leaving the vendored Hermes path on stdout as the command's + only output. +- Updated dependencies [48fa7fc] +- Updated dependencies [c3c321e] + - @react-native-node-api/cli-utils@0.1.5-rc.0 + - weak-node-api@0.2.0-rc.0 + ## 1.1.1 ### Patch Changes diff --git a/packages/host/package.json b/packages/host/package.json index 0209c52c..5ad0bcfc 100644 --- a/packages/host/package.json +++ b/packages/host/package.json @@ -1,6 +1,6 @@ { "name": "react-native-node-api", - "version": "1.1.1", + "version": "2.0.0-rc.0", "description": "Node-API for React Native", "homepage": "https://github.com/callstackincubator/react-native-node-api", "repository": { diff --git a/packages/weak-node-api/CHANGELOG.md b/packages/weak-node-api/CHANGELOG.md index 90dec646..b2e39437 100644 --- a/packages/weak-node-api/CHANGELOG.md +++ b/packages/weak-node-api/CHANGELOG.md @@ -1,5 +1,19 @@ # weak-node-api +## 0.2.0-rc.0 + +### Minor Changes + +- c3c321e: Adopt Hermes' first-party Node-API (the `hermesNapi` target on the `static_h` + branch) instead of patching Hermes with our own implementation. Addons now run + against a real Node-API environment created with `hermes_napi_create_env()`, one + per addon as in Node, and Node-API is bumped from v8 to v10. + + This drops support for React Native 0.79–0.81: the vendored Hermes is built from + a pinned `static_h` commit and requires the Hermes build scripts shipped with + React Native 0.87 and later. Older React Native versions are still served by + previously published releases. + ## 0.1.1 ### Patch Changes diff --git a/packages/weak-node-api/package.json b/packages/weak-node-api/package.json index 163192a6..1f567159 100644 --- a/packages/weak-node-api/package.json +++ b/packages/weak-node-api/package.json @@ -1,6 +1,6 @@ { "name": "weak-node-api", - "version": "0.1.1", + "version": "0.2.0-rc.0", "description": "A linkable and runtime-injectable Node-API", "homepage": "https://github.com/callstackincubator/react-native-node-api", "repository": {