Skip to content

Conversation

legendecas
Copy link
Member

@legendecas legendecas commented May 26, 2025

These APIs have been deprecated in #18632.

Given the parameter async_context is essential for stable API AsyncLocalStorage, it'd be better to remove them now.

@legendecas legendecas added the semver-major PRs that contain breaking changes and should be released in the next major version. label May 26, 2025
@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. needs-ci PRs that need a full CI run. labels May 26, 2025
Copy link
Member

@jasnell jasnell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

7+ years is likely a long enough deprecation cycle ;-)

@jasnell
Copy link
Member

jasnell commented May 26, 2025

This needs to update the corresponding entries in deprecations.md also. Deprecation code DEP0097 I believe.

@legendecas
Copy link
Member Author

This needs to update the corresponding entries in deprecations.md also. Deprecation code DEP0097 I believe.

DEP0097 is a runtime warning and is still possible with the alternative API:

node::MakeCallback(isolate, recv, method, 0, nullptr,
node::async_context{0, 0});
. So DEP0097 should still be active until we can fully deprecate domain. Or it can be deprecated in a separate PR, as it changes runtime warning -- while this PR is a fully build time deprecation.

Copy link

codecov bot commented May 26, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 90.20%. Comparing base (83052ff) to head (3dcca4c).
Report is 80 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #58471      +/-   ##
==========================================
- Coverage   90.22%   90.20%   -0.02%     
==========================================
  Files         635      635              
  Lines      187313   187295      -18     
  Branches    36778    36782       +4     
==========================================
- Hits       169003   168953      -50     
- Misses      11080    11126      +46     
+ Partials     7230     7216      -14     
Files with missing lines Coverage Δ
src/api/callback.cc 82.29% <ø> (+7.05%) ⬆️
src/node.h 92.30% <ø> (ø)

... and 48 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@addaleax
Copy link
Member

I think this one you'll want to run CITGM for. This is probably still a fairly popular thing to use in extant Node.js addons.

@addaleax addaleax added the request-ci Add this label to start a Jenkins CI on a PR. label May 27, 2025
@github-actions github-actions bot removed the request-ci Add this label to start a Jenkins CI on a PR. label May 27, 2025
@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@legendecas
Copy link
Member Author

legendecas commented May 28, 2025

CITGM: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/3599/

No failures related to MakeCallback removal.

@legendecas legendecas added the commit-queue Add this label to land a pull request using GitHub Actions. label Jun 6, 2025
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Jun 6, 2025
@nodejs-github-bot nodejs-github-bot merged commit 708fd19 into nodejs:main Jun 6, 2025
73 checks passed
@nodejs-github-bot
Copy link
Collaborator

Landed in 708fd19

@legendecas legendecas deleted the node-h-async-callback branch June 6, 2025 10:59
RafaelGSS added a commit that referenced this pull request Sep 15, 2025
assert:
  * (SEMVER-MAJOR) move assert.fail with multiple arguments to eol (James M Snell) #58532
  * (SEMVER-MAJOR) move CallTracker to EOL (James M Snell) #58006
assert,util:
  * (SEMVER-MAJOR) fail promise comparison in deep equal checks (Ruben Bridgewater) #59448
  * (SEMVER-MAJOR) handle invalid dates as equal in deep comparison (Ruben Bridgewater) #57627
async_hooks:
  * (SEMVER-MAJOR) move `asyncResource` property on bound function to EOL (James M Snell) #58618
buffer:
  * (SEMVER-MAJOR) move SlowBuffer to EOL (Filip Skokan) #58220
build:
  * (SEMVER-MAJOR) bump minimum Clang version to 19 (Michaël Zasso) #59048
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #58064
  * (SEMVER-MAJOR) stop distributing Corepack (Antoine du Hamel) #57617
child_process:
  * (SEMVER-MAJOR) move _channel to end-of-life (James M Snell) #58527
crypto:
  * (SEMVER-MAJOR) runtime-deprecate default shake128/256 output lengths (Filip Skokan) #59008
  * (SEMVER-MAJOR) move deprecated hash and mgf1Hash options to EOL (James M Snell) #58706
  * (SEMVER-MAJOR) runtime deprecate ECDH.setPublicKey() (James M Snell) #58620
deps:
  * (SEMVER-MAJOR) V8: backport 1d3362c55396 (Shu-yu Guo) #58064
  * (SEMVER-MAJOR) V8: cherry-pick 4f38995c8295 (Shu-yu Guo) #58064
  * (SEMVER-MAJOR) V8: cherry-pick 044b9b6f589d (Rezvan Mahdavi Hezaveh) #58064
  * (SEMVER-MAJOR) V8: cherry-pick d2ad518a0b57 (Joyee Cheung) #58064
  * (SEMVER-MAJOR) V8: revert 6d6c1e680c7b (Michaël Zasso) #58064
  * (SEMVER-MAJOR) V8: revert e3cddbedb205 (Michaël Zasso) #58064
  * (SEMVER-MAJOR) use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) #58064
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) #58064
  * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) #58064
  * (SEMVER-MAJOR) define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) #58064
  * (SEMVER-MAJOR) fix FP16 bitcasts.h (Stefan Stojanovic) #58064
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #58064
  * (SEMVER-MAJOR) update V8 to 13.7.152.9 (Michaël Zasso) #58064
dgram:
  * (SEMVER-MAJOR) move deprecated APIs to EOL (James M Snell) #58474
dns:
  * (SEMVER-MAJOR) move falsy hostname in lookup to end-of-life (James M Snell) #58619
fs:
  * (SEMVER-MAJOR) move FileHandle close on GC to EOL (James M Snell) #58536
  * (SEMVER-MAJOR) move rmdir recursive option to end-of-life (James M Snell) #58616
  * (SEMVER-MAJOR) make `processReadResult()` and `readSyncRecursive()` private (Livia Medeiros) #58672
  * (SEMVER-MAJOR) move fs stream open method to eol (James M Snell) #58529
  * (SEMVER-MAJOR) remove `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) #55862
http:
  * (SEMVER-MAJOR) deprecate writeHeader (Sebastian Beltran) #59060
lib:
  * (SEMVER-MAJOR) expose global ErrorEvent (Richie Bendall) #58920
  * (SEMVER-MAJOR) deprecate `_stream_*` modules (Dario Piotrowicz) #58337
  * (SEMVER-MAJOR) deprecate _tls_common and _tls_wrap (Dario Piotrowicz) #57643
module:
  * (SEMVER-MAJOR) move Module._debug to end-of-life (James M Snell) #58473
node-api:
  * (SEMVER-MAJOR) add warning for NAPI_EXPERIMENTAL (Miguel Marcondes Filho) #58280
perf_hooks:
  * (SEMVER-MAJOR) move deprecated accessors to EOF (James M Snell) #58531
process:
  * (SEMVER-MAJOR) move multipleResolves event to EOL (James M Snell) #58707
repl:
  * (SEMVER-MAJOR) eol deprecate instantiating without new (Aviv Keller) #59495
src:
  * (SEMVER-MAJOR) store `Local` for `CallbackScope` on stack (Anna Henningsen) #59705
  * (SEMVER-MAJOR) remove node.h APIs to make callback without an async context (Chengzhong Wu) #58471
  * (SEMVER-MAJOR) remove deprecated node::EmitBeforeExit and node::EmitExit (Chengzhong Wu) #58469
  * (SEMVER-MAJOR) remove deprecated node::CreatePlatform and node::FreePlatform (Chengzhong Wu) #58470
  * (SEMVER-MAJOR) remove deprecated node::InitializeNodeWithArgs (Chengzhong Wu) #58470
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 138 (Michaël Zasso) #58064
src,permission:
  * (SEMVER-MAJOR) add --allow-net permission (Rafael Gonzaga) #58517
tls:
  * (SEMVER-MAJOR) move IP-address servername deprecation to eol (James M Snell) #58533
tools:
  * (SEMVER-MAJOR) update V8 gypfiles for 13.7 (Michaël Zasso) #58064
url:
  * (SEMVER-MAJOR) move bad port deprecation in legacy url to end-of-life (James M Snell) #58617
util,console:
  * (SEMVER-MAJOR) colorize regexp groups, character classes, etc (Ruben Bridgewater) #59710
worker:
  * (SEMVER-MAJOR) move terminate callback to end-of-life (James M Snell) #58528

PR-URL: #59896
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ Issues and PRs that require attention from people who are familiar with C++. needs-ci PRs that need a full CI run. semver-major PRs that contain breaking changes and should be released in the next major version.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants