Repository navigation
V8: upcoming deprecation warnings #18909
Copy link
Copy link
Closed
Labels
c++Issues and PRs that require attention from people who are familiar with C++.Issues and PRs that require attention from people who are familiar with C++.good first issueIssues that are suitable for first-time contributors.Issues that are suitable for first-time contributors.v8 engineIssues and PRs related to the V8 dependency.Issues and PRs related to the V8 dependency.
Description
The latest canary update uncovered a few new deprecations from V8.
I didn't check, but those can probably already be fixed on master.
-
v8::Message::GetLineNumber()innode.cc:- To be replaced with
Maybe<int> GetLineNumber(Local<Context> context)
Details
../src/node.cc:1273:40: warning: ‘int v8::Message::GetLineNumber() const’ is deprecated: Use maybe version [-Wdeprecated-declarations] int linenum = message->GetLineNumber(); ^ - To be replaced with
-
v8::Message::GetSourceLine()innode.cc:- To be replaced with
MaybeLocal<String> GetSourceLine(Local<Context> context)
Details
../src/node.cc:1275:69: warning: ‘v8::Local<v8::String> v8::Message::GetSourceLine() const’ is deprecated: Use maybe version [-Wdeprecated-declarations] node::Utf8Value sourceline(env->isolate(), message->GetSourceLine()); ^ - To be replaced with
-
v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)innode.cc,node_api.cc,node_buffer.cc,node_v8.ccandnode_crypto.cc:- To be replaced with
Utf8Value(Isolate* isolate, Local<v8::Value> obj)
Details
../src/node.cc:1423:35: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations] String::Utf8Value message(er); ^../src/node_api.cc:3323:63: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations] *v8::String::Utf8Value(async_resource_name)), ^../src/node_buffer.cc:990:42: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations] String::Utf8Value needle_value(needle); ^../src/node_v8.cc:117:34: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations] String::Utf8Value flags(args[0]); ^../src/node_crypto.cc:4176:21: warning: ‘v8::String::Utf8Value::Utf8Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations] String::Utf8Value passphrase(args[3]); ^~~~~~~~~~ - To be replaced with
-
v8::Script::Run()innode.ccandnode_contextify.cc:- To be replaced with
MaybeLocal<Value> Run(Local<Context> context)
Details
../src/node.cc:1475:54: warning: ‘v8::Local<v8::Value> v8::Script::Run()’ is deprecated: Use maybe version [-Wdeprecated-declarations] Local<Value> result = script.ToLocalChecked()->Run(); ^../src/node_contextify.cc:1079:28: warning: ‘v8::Local<v8::Value> v8::Script::Run()’ is deprecated: Use maybe version [-Wdeprecated-declarations] result = script->Run(); ^../src/node_contextify.cc:1082:28: warning: ‘v8::Local<v8::Value> v8::Script::Run()’ is deprecated: Use maybe version [-Wdeprecated-declarations] result = script->Run(); ^../src/node_contextify.cc:1085:28: warning: ‘v8::Local<v8::Value> v8::Script::Run()’ is deprecated: Use maybe version [-Wdeprecated-declarations] result = script->Run(); ^../src/node_contextify.cc:1087:28: warning: ‘v8::Local<v8::Value> v8::Script::Run()’ is deprecated: Use maybe version [-Wdeprecated-declarations] result = script->Run(); ^ - To be replaced with
-
v8::String::Value::Value(v8::Local<v8::Value>)innode_buffer.cc,string_bytes.ccandinspector_js_api.cc:- To be replaced with
Value(Isolate* isolate, Local<v8::Value> obj)
Details
../src/node_buffer.cc:957:38: warning: ‘v8::String::Value::Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations] String::Value needle_value(needle); ^../src/string_bytes.cc:372:32: warning: ‘v8::String::Value::Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations] String::Value value(str); ^../src/string_bytes.cc:383:32: warning: ‘v8::String::Value::Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations] String::Value value(str); ^../src/string_bytes.cc:482:30: warning: ‘v8::String::Value::Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations] String::Value value(str); ^../src/inspector_js_api.cc:241:42: warning: ‘v8::String::Value::Value(v8::Local<v8::Value>)’ is deprecated: Use Isolate version [-Wdeprecated-declarations] String::Value task_name_value(task_name); ^ - To be replaced with
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
c++Issues and PRs that require attention from people who are familiar with C++.Issues and PRs that require attention from people who are familiar with C++.good first issueIssues that are suitable for first-time contributors.Issues that are suitable for first-time contributors.v8 engineIssues and PRs related to the V8 dependency.Issues and PRs related to the V8 dependency.
Activity
targos commentedon Feb 21, 2018
Edit: Alternative APIs are all available on
master. I added the signatures of the methods that are supposed to be used in the OP.hashseed commentedon Feb 21, 2018
We are actually actively working on moving stuff marked as V8_DEPRECATE_SOON to V8_DEPRECATED.
targos commentedon Feb 21, 2018
@hashseed good to know! I'll update this issue with the new deprecations as they arrive.
hashseed commentedon Feb 21, 2018
This is the tracking bug for that effort.
inidaname commentedon Feb 21, 2018
If this is still open may I know if I can take it up.
gibfahn commentedon Feb 21, 2018
Go for it. If you have issues you can comment here.
helmutgranda commentedon Feb 21, 2018
Are those listed above 1:1 replacements?
From:
v8::Message::GetLineNumber()
To:
v8::Message::Maybe GetLineNumber(Local context)
joyeecheung commentedon Feb 22, 2018
@helmutgranda They should be.
FWIW I have put up an initial version about how to migrate the deprecated APIs in the C++ style guide quite some time ago, just have not found the time to polish it and open a PR, but here it is:
https://github.com/joyeecheung/node/blob/v8-maybe-doc/CPP_STYLE_GUIDE.md#use-maybe-version-of-v8-apis
Since there are some maybes that should be handled with care (proper cleanups), I am not quite sure how many of them are actually good first contributions (In my understanding good first contributions are not PRs that potentially need more than 3 rounds of reviews, those should be uh..probably good second contributions or something for people who are already familiar with the PR process).
wuweiweiwu commentedon Feb 27, 2018
@targos @gibfahn Can I pick this up? I think it'll be a good first issue :)
inidaname commentedon Feb 28, 2018
@wuweiweiwu if agreed please feel free to lately I've been held up with some events preparation.
SirR4T commentedon Mar 21, 2018
@joyeecheung / @targos are tests necessary for these changes? If so, how to go about writing them?
src: fix upcoming v8 deprecation warnings
src: fix upcoming V8 deprecation warnings
src: fix upcoming V8 deprecation warnings
Fixed Utf8Value error as per nodejs/node#18909 (comment)
src: fix upcoming V8 deprecation warnings