Notable Changes

Updated npm to 9.2.0

Based on the list of guidelines we’ve established on integrating

1
npm

and

1
node

,
here is a grouped list of the breaking changes with the reasoning as to why they
fit within the guidelines linked above. Note that all the breaking changes were
made in 9.0.0.
All subsequent minor and patch releases after

1
npm@9.0.0

do not contain any
breaking changes.

Engines

Explanation: the node engines supported by

1
npm@9

make it safe to allow

1
npm@9

as the default in any LTS version of

1
14

or

1
16

, as well as anything later than or including

1
18.0.0

  • 1
    npm

    is now compatible with the following semver range for node:

    1
    ^14.17.0 || ^16.13.0 || >=18.0.0
Filesystem

Explanation: when run as root previous versions of npm attempted to manage file ownership automatically on the user’s behalf. this behavior was problematic in many cases and has been removed in favor of allowing users to manage their own filesystem permissions

  • 1
    npm

    will no longer attempt to modify ownership of files it creates.

Auth

Explanation: any errors thrown from users having unsupported auth configurations will show

1
npm config fix

in the remediation instructions, which will allow the user to automatically have their auth config fixed.

  • The presence of auth related settings that are not scoped to a specific
    registry found in a config file is no longer supported and will throw errors.
Login

Explanation: the default

1
auth-type

has changed and users can opt back into the old behavior with

1
npm config set auth-type=legacy

.

1
login

and

1
adduser

have also been seperated making each command more closely match it’s name instead of being aliases for each other.

  • Legacy auth types
    1
    sso

    ,

    1
    saml

    &

    1
    legacy

    have been consolidated into

    1
    "legacy"

    .

  • 1
    auth-type

    defaults to

    1
    "web"
  • 1
    login

    and

    1
    adduser

    are now separate commands that send different data to the registry.

  • 1
    auth-type

    config values

    1
    web

    and

    1
    legacy

    only try their respective methods,
    npm no longer tries them all and waits to see which one doesn’t fail.

Tarball Packing

Explanation: previously using multiple ignore/allow lists when packing was an undefined behavior, and now the order of operations is strictly defined when packing a tarball making it easier to follow and should only affect users relying on the previously undefined behavior.

  • 1
    npm pack

    now follows a strict order of operations when applying ignore rules.
    If a

    1
    files

    array is present in the

    1
    package.json

    , then rules in

    1
    .gitignore

    and

    1
    .npmignore

    files from the root will be ignored.

Display/Debug/Timing Info

Explanation: these changes center around the display of information to the terminal including timing and debug log info. We do not anticipate these changes breaking any existing workflows.

  • Links generated from git urls will now use
    1
    HEAD

    instead of

    1
    master

    as the default ref.

  • 1
    timing

    has been removed as a value for

    1
    --loglevel

    .

  • 1
    --timing

    will show timing information regardless of

    1
    --loglevel

    , except when

    1
    --silent

    .

  • When run with the
    1
    --timing

    flag,

    1
    npm

    now writes timing data to a file
    alongside the debug log data, respecting the

    1
    logs-dir

    option and falling
    back to

    1
    <CACHE>/_logs/

    dir, instead of directly inside the cache directory.

  • The timing file data is no longer newline delimited JSON, and instead each run
    will create a uniquely named

    1
    <ID>-timing.json

    file, with the

    1
    <ID>

    portion
    being the same as the debug log.

  • 1
    npm

    now outputs some json errors on stdout. Previously

    1
    npm

    would output
    all json formatted errors on stderr, making it difficult to parse as the
    stderr stream usually has logs already written to it.

Config/Command Deprecations or Removals

Explanation:

1
install-links

is the only config or command in the list that has an effect on package installs. We fixed a number of issues that came up during prereleases with this change. It will also only be applied to new package trees created without a package-lock.json file. Any install with an existing lock file will not be changed.

  • Deprecate boolean install flags in favor of
    1
    --install-strategy

    .

  • 1
    npm config set

    will no longer accept deprecated or invalid config options.

  • 1
    install-links

    config defaults to

    1
    "true"

    .

  • 1
    node-version

    config has been removed.

  • 1
    npm-version

    config has been removed.

  • 1
    npm access

    subcommands have been renamed.

  • 1
    npm birthday

    has been removed.

  • 1
    npm set-script

    has been removed.

  • 1
    npm bin

    has been removed (use

    1
    npx

    or

    1
    npm exec

    to execute binaries).

Other notable changes

Commits

Windows 32-bit Installer: https://nodejs.org/dist/v19.3.0/node-v19.3.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v19.3.0/node-v19.3.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v19.3.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v19.3.0/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v19.3.0/node-v19.3.0.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v19.3.0/node-v19.3.0-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v19.3.0/node-v19.3.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v19.3.0/node-v19.3.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v19.3.0/node-v19.3.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v19.3.0/node-v19.3.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v19.3.0/node-v19.3.0-aix-ppc64.tar.gz
ARMv7 32-bit Binary: https://nodejs.org/dist/v19.3.0/node-v19.3.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v19.3.0/node-v19.3.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v19.3.0/node-v19.3.0.tar.gz
Other release files: https://nodejs.org/dist/v19.3.0/
Documentation: https://nodejs.org/docs/v19.3.0/api/

SHASUMS


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

a5ff43eab40dfa812eeb804a7e064cc9e549e04347f0a0e2250a2a8253eaee6f  node-v19.3.0-aix-ppc64.tar.gz
a50be904794d083fa8ecd4113845cea37968cbe3e5c1e758b0ec6215e1e7495e  node-v19.3.0-darwin-arm64.tar.gz
9b4811af441296e61edfca3186bb694d99daa2ba4344041d4de891b9be587782  node-v19.3.0-darwin-arm64.tar.xz
d9692a5f153d2527ec43860e40fa0e77825543f554384aa8d26d33417ffb9069  node-v19.3.0-darwin-x64.tar.gz
3bc9a06f53b48a5bb2f4b3d370d5ad6b53e3c36fada85f6850120130fde2a444  node-v19.3.0-darwin-x64.tar.xz
40db0bd09a0e71f4447f15b485fc66715c55453c8e89c3b25872c1fdcd3ac29d  node-v19.3.0-headers.tar.gz
e54e2a91c9959d59b7d27e1fa161a699aeca85da4a736891ca4c946573d9ee77  node-v19.3.0-headers.tar.xz
f892b536b00f780aba42b7ccc8974e57e58c4f1de3f9c85d1bbf13c60c680974  node-v19.3.0-linux-arm64.tar.gz
b9fbcd1d4433c073528abcac3d31347847e5ef229248cbe1dccca1a1379a5d2c  node-v19.3.0-linux-arm64.tar.xz
2c2ee707bcb93d5151ff0dbb5825060d364f0966dc5aab3fe58715d0e4527da8  node-v19.3.0-linux-armv7l.tar.gz
494934a42eb76982b5cbbb84bef0726b828287a03fcf6bf05e78eaf2c8dab703  node-v19.3.0-linux-armv7l.tar.xz
d0d34510a7951afe4369876b671678ccd9bb11b7d24b07af10cabe464e371300  node-v19.3.0-linux-ppc64le.tar.gz
662efb12dc05b603ea51b46224b7885a3a56be652282a6234a2a13e081ceb43b  node-v19.3.0-linux-ppc64le.tar.xz
24578073d7339f9a6a8763df30e37bbf1caf3dbc44a6c6c6335c58c274d13b76  node-v19.3.0-linux-s390x.tar.gz
17a1582063ad9b6a60aca5323de76df657d08fb3b2018a6786e1fa782f7f29b0  node-v19.3.0-linux-s390x.tar.xz
b525028ae5bb71b5b32cb7fce903ccce261dbfef4c7dd0f3e0ffc27cd6fc0b3f  node-v19.3.0-linux-x64.tar.gz
de94d6db26edee92a03512552c8be9db38a7bfefa7b3228328afdfb5094e3a76  node-v19.3.0-linux-x64.tar.xz
335daf080bf4763c42070b01d38159d91cb6ee0dd8cde813bbb99cff01faf23e  node-v19.3.0.pkg
4dc4c4e0c510913ed6c4f37b516243ab96a2d98eff1b7d78cf8f8f8b6d415b98  node-v19.3.0.tar.gz
d3189574ef9849c713822e7f31de7a1b9dd8a2c6b5fc78ddb811aaa259a22b1e  node-v19.3.0.tar.xz
fdc3f9c0991a9e54640b792ceb758831f91f6384b0429149b8f3514fa2734e8c  node-v19.3.0-win-x64.7z
9b93f6cb78e23a4cab9e401a8418daa9112bbf5bd3127642adf22cfdd4241348  node-v19.3.0-win-x64.zip
2149012398fb720e1c6e79422344b8281bb4c90024461de3d72dcae06ad3d666  node-v19.3.0-win-x86.7z
baf2de80f5c3f9bc679c3d377f48a0b98e75d12fa4f8ebea166883df7067b7b6  node-v19.3.0-win-x86.zip
2efe9f3a91de1375ab581266f35fe89a779af8389b80612401ea6a28ed2dd16e  node-v19.3.0-x64.msi
6eca60b54ff2a8fe6508b4d0beb0a316077c135d35e8223445a7c9a23fbd11ee  node-v19.3.0-x86.msi
c7a1db0fb60ffec3b06bfaa9c2d58778134c28258ecf75ab93968e536d364bf1  win-x64/node.exe
fde595f3ac64db4522d934f4a4b09c6a11406d8e4f431c6b5374aac38041e6cf  win-x64/node.lib
517ef6f4451280e59bccb77fe77bc3202e32938bad379b6626bf50f6e1fc88d7  win-x64/node_pdb.7z
a428af310d552710e828d5ca41865c9cadf81d31a19297917098b45b5ab39c93  win-x64/node_pdb.zip
32365d11881180435c0efac9d18e5ee396c75b2aef6cd1a3c30ec8c2322b6bb4  win-x86/node.exe
dd1f1c3bbb3a6dd4c3ab1d5663688949580cd4ec24b523df23cab90cf666d391  win-x86/node.lib
6a80d7c2930f1bf4fb894350da3194949bc1408b7aea1dd2f409d195148d755f  win-x86/node_pdb.7z
233c08350135d2b572ac5067fa0cd1f8fb35b6770c2863f26f41b94ec574e798  win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEj8yhP+8dDC6RAI4Jdw96mlrhVgAFAmOZ1jcACgkQdw96mlrh
VgDHwA/9EguDL6MKW3kEKhY48AFB3gWNG6b5VZMENSHPo/cELBVrWjCsw0hD9bZV
xAdE2GnRg8PjmJH76DwjaiW/axijiD/7U12esomhgnFg2LBIXnzSsUeNbRsrupFu
4jVJTcC59M2xPXpdo7SXmrfCLFVJD9nOeaV1orS6Q4/Z8wE41nGXWtILWPWGmIRw
T+RZ09elhcAzAjFBKzWTQl/XOkc15YqgwHoeOVZ4b3txNL2pD7CWw8HMPuwUdi3A
b9B1aZuz9OxOV2RF/cxZFL6P+xbgSa1OeRIqz0UdvslxOmzAG6s3flr+5nVJMu2B
IdSFmCcb2mhbiDjgzpmqBU43vxIHBpAx9NRjCcOG9xpPZs+nAcyftOetetvWohKV
mppmKVfhIsSn1gYTmjtZ1vxvLAffRymGkbpJLLpvN81wQGWHIN46ZjNRDmSHI+CG
t1AYHScWA+FaPdrXs7e4vT6nxVQ/ZaohDBz79UN3o2hO43MXxM1HByZb1tnIqcpc
rcdyUBYO42sJrYnJ7x1u6IdE8z+chHORR1Q+v8uiUCnaxpTPzf6DEcjm0otpI5QB
ZvQz3GIDNQKmydal1yUFr+hSiY6hEpQOLc5n8qOyPrwBSIkjNCPF4D1kYoVj/9ue
t2Zc94IzjzIap8kWRf7sYtH0ILibAzTzd0Qc2hEJd4XK58JXjZw=
=3xD9
-----END PGP SIGNATURE-----
Categories: NewsReleases

0 Comments

Leave a Reply

Your email address will not be published. Required fields are marked *