Description
Atm, these modules are listed in the documentation as being Locked
: assert, modules, timers.
Update: assert
was successfully unlocked in #11304. 🎉
Update: timers
was successfully unlocked in #11580. 🎉
Locked
is defined as:
Stability: 3 - Locked
Only fixes related to security, performance, or bug fixes will be accepted.
Please do not suggest API changes in this area; they will be refused.
Still we have those changes recently landed (~ 1 year):
assert
: Consistent error messages in all modules #3374, assert: introducedeepStrictEqual
#639, assert: use util.inspect() to create error messages #668, assert: throw when block is not a function #308 (ok, that one is present since 1.0.0), borderline features/bug fixes: assert: respect assert.doesNotThrow message. #2407, assert: accommodate ES6 classes that extend Error #4166, assert: support arrow functions in .throws() #3276, assert: don't compare objectprototype
property #636,modules
: module: preserve symlinks when requiring #5950, module: prioritize current directory for local lookup #5689, src: fix module search path for preload modules #1812, module: restore and warn on require('.') usage with NODE_PATH #1363, module: fix require('.') #1185, lib: remove broken NODE_MODULE_CONTEXTS feature #1162,timers
: timers: Fail early when callback is not a function #4362, Consistent error messages in all modules #3374, net: throw on invalid socket timeouts node-v0.x-archive#8884.
And more proposed: #10282, #3384, #6165, #4550 (ok, the last two are not documented).
How Locked
is defined does not fall in line with what's actually going on there. It looks more like stability level Stable
should be used instead:
Stability: 2 - Stable
The API has proven satisfactory. Compatibility with the npm ecosystem
is a high priority, and will not be broken unless absolutely necessary.
Perhaps we should remove Locked
stability level whatsoever?
/cc @nodejs/ctc