Node v12.11.0 (Current)

Ruben Bridgewater

Notable changes

  • crypto:
  • deps:
    • Update V8 to 7.7.299.11 #28918
      • More efficient memory handling
      • Stack trace serialization got faster
      • The Intl.NumberFormat API gained new functionality
      • For more information: https://v8.dev/blog/v8-release-77
  • events:
    • Add support for EventTarget in once #29498
  • fs:
    • Expose memory file mapping flag UV_FS_O_FILEMAP #29260
  • inspector:
    • New API - Session.connectToMainThread #28870
  • process:
    • Initial SourceMap support via env.NODE_V8_COVERAGE #28960
  • stream:
    • Make _write() optional when _writev() is implemented #29639
  • tls:
    • Add option to override signature algorithms #29598
  • util:
    • Add encodeInto to TextEncoder #29524
  • worker:
    • The worker_thread module is now stable #29512

Commits

  • [b9c7c9002f] - benchmark: improve process.env benchmarks (Anna Henningsen) #29188
  • [6b8951231c] - bootstrap: add exception handling for profiler bootstrap (Shobhit Chittora) #29552
  • [c052967636] - bootstrap: provide usable error on missing internal module (Jeremiah Senkpiel) #29593
  • [5c24bc6c68] - build: do not indent assignments in Makefile (Joyee Cheung) #29623
  • [f90740d734] - build: allow clang 10+ in configure.py (Kamil Rytarowski) #29541
  • [c304594536] - build: re-run configure on node_version.h change (Anna Henningsen) #29510
  • [f622771079] - build: improve make coverage (Anna Henningsen) #29487
  • [c1695c6635] - build: add comment to .travis.yml on how to test Py3 (cclauss) #29473
  • [6f50c3f391] - build: update minimum AIX OS level (Michael Dawson) #29476
  • [ee18238f55] - build: remove experimental Python 3 tests (Christian Clauss) #29413
  • [fe46054b14] - (SEMVER-MINOR) build: reset embedder string to "-node.0" (Michaël Zasso) #28918
  • [42fd139279] - build,win: fix Python detection on localized OS (João Reis) #29423
  • [f61c5097e2] - console: skip/strip %c formatting (Gus Caplan) #29606
  • [68630c5b65] - console,util: fix missing recursion end while inspecting prototypes (Ruben Bridgewater) #29647
  • [99c2cd8f08] - crypto: use BoringSSL-compatible flag getter (Shelley Vohr) #29604
  • [dd5d944005] - (SEMVER-MINOR) crypto: fix OpenSSL return code handling (Tobias Nießen) #29489
  • [54f327b4dc] - (SEMVER-MINOR) crypto: add oaepLabel option (Tobias Nießen) #29489
  • [5d60adf38b] - deps: patch V8 to 7.7.299.11 (Michaël Zasso) #29628
  • [c718c606c8] - deps: V8: cherry-pick deac757 (Benjamin Coe) #29626
  • [e4a51ad980] - deps: patch V8 to 7.7.299.10 (Thomas) #29472
  • [bc3c0b2d65] - deps: V8: cherry-pick 35c6d4d (Sam Roberts) #29585
  • [fa7de9b27f] - deps: update npm to 6.11.3 (claudiahdz) #29430
  • [f5f238de6c] - deps: upgrade to libuv 1.32.0 (cjihrig) #29508
  • [7957b392e4] - deps: patch V8 to 7.7.299.8 (Michaël Zasso) #29336
  • [90713c6697] - (SEMVER-MINOR) deps: patch V8 to be API/ABI compatible with 7.4 (from 7.7) (Michaël Zasso) #29241
  • [e95f866956] - deps: patch V8 to be API/ABI compatible with 7.4 (from 7.6) (Michaël Zasso) #28955
  • [4eeb2a99e5] - (SEMVER-MINOR) deps: patch V8 to be API/ABI compatible with 7.4 (from 7.5) (Michaël Zasso) #28005
  • [60efc5fd52] - deps: V8: cherry-pick e3d7f8a (cclauss) #29105
  • [d1bedbe717] - (SEMVER-MINOR) deps: V8: fix linking issue for MSVS (Refael Ackermann) #28016
  • [19e38e0def] - (SEMVER-MINOR) deps: V8: fix BUILDING_V8_SHARED issues (Refael Ackermann) #27375
  • [8aaa0abd26] - (SEMVER-MINOR) deps: V8: add workaround for MSVC optimizer bug (Refael Ackermann) #28016
  • [07ed874446] - (SEMVER-MINOR) deps: V8: use ATOMIC_VAR_INIT instead of std::atomic_init (Refael Ackermann) #27375
  • [1ed3909ca3] - (SEMVER-MINOR) deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #27375
  • [242f6174e5] - (SEMVER-MINOR) deps: V8: patch register-arm64.h (Refael Ackermann) #27375
  • [63093e9d49] - (SEMVER-MINOR) deps: V8: update postmortem metadata generation script (cjihrig) #28918
  • [b54ee2185e] - (SEMVER-MINOR) deps: V8: silence irrelevant warning (Michaël Zasso) #26685
  • [c6f97bb7ce] - (SEMVER-MINOR) deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #26685
  • [5df55c2626] - (SEMVER-MINOR) deps: V8: fix filename manipulation for Windows (Refael Ackermann) #28016
  • [80ccae000e] - (SEMVER-MINOR) deps: update V8 to 7.7.299.4 (Michaël Zasso) #28918
  • [325de437b3] - doc: update N-API version matrix (Gabriel Schulhof) #29461
  • [2707beb8b8] - doc: add code example to process.throwDeprecation property (Juan José Arboleda) #29495
  • [edaa2eebd6] - doc: fix some signatures of .end() methods (Vse Mozhet Byt) #29615
  • [13d173f131] - doc: remove the suffix number of the anchor link (Maledong) #29468
  • [3ba64646ed] - doc: explain stream.finished cleanup (Robert Nagy) #28935
  • [84b353cf5d] - doc: fix require call for spawn() in code example (Marian Rusnak) #29621
  • [39b17706ea] - doc: make minor improvements to stream.md (Robert Nagy) #28970
  • [50b5ad1638] - doc: fix nits in net.md (Vse Mozhet Byt) #29577
  • [4954792991] - doc: correct trivial misspelling in AUTHORS (gcr) #29597
  • [0074c8adb7] - doc: update list style in misc README docs (Rich Trott) #29594
  • [38028ef818] - doc: add missing complete property to http2 docs (Javier Ledezma) #29571
  • [55631f4f0a] - doc: add leap second behavior notes for napi methods (Levhita) #29569
  • [7fd32619c1] - doc: explain esm options for package authors (Geoffrey Booth) #29497
  • [f2217cdafe] - doc: update experimental loader hooks example code (Denis Zavershinskiy) #29373
  • [bf08c08384] - doc: use consistent unordered list style (Nick Schonning) #29516
  • [ca8e87a6d3] - doc: add Bethany to TSC (Michael Dawson) #29546
  • [aa541bbc88] - doc: add Tobias to the TSC (Michael Dawson) #29545
  • [9abee075ad] - doc: mention unit for process.hrtime.bigint() (Anna Henningsen) #29482
  • [3aea277b72] - doc: add documentation for stream readableFlowing (Chetan Karande) #29506
  • [a262e2f8d4] - doc: indent child list items for remark-lint (Nick Schonning) #29488
  • [2a5340144c] - doc: space around lists (Nick Schonning) #29467
  • [9e63f914da] - doc: exitedAfterDisconnect value can be false (Nimit Aggarwal) #29404
  • [b1509e8f8e] - doc: remove wrong escapes (XhmikosR) #29452
  • [7dd897f49a] - doc: prepare markdown files for more stringent blank-line linting (Rich Trott) #29447
  • [a9d16b5e30] - doc: simplify wording in n-api doc (Michael Dawson) #29441
  • [c95e9ca6dc] - doc: update release guide with notes for major releases (James M Snell) #25497
  • [a7331da863] - doc: indent ordered list child content (Nick Schonning) #29332
  • [32bb58ba9c] - doc: fix unsafe writable stream code example (Chetan Karande) #29425
  • [735ef8b235] - doc: async_hooks.createHook promiseResolve option (Ben Noordhuis) #29405
  • [844b45bf4f] - doc: change urls directly from 'http' to 'https' (Maledong) #29422
  • [4374d28c52] - doc: use consistent indenting for unordered list items (Nick Schonning) #29390
  • [835d1cabf6] - doc: start unorded lists at start of line (Nick Schonning) #29390
  • [8023e43e1d] - doc: change the 'txt' to 'console' for a command (Maledong) #29389
  • [b9c082d764] - esm: make dynamic import work in the REPL (Bradley Farias) #29437
  • [0a47d06150] - events: improve performance of EventEmitter.emit (Matteo Collina) #29633
  • [9150c4dc72] - (SEMVER-MINOR) events: add support for EventTarget in once (Jenia) #29498
  • [67f5de9b34] - fs: remove unnecessary argument check (Robert Nagy) #29043
  • [a20a8f48f7] - gyp: make StringIO work in ninja.py (Christian Clauss) #29414
  • [31b0b52a71] - http: refactor responseKeepAlive() (Robert Nagy) #28700
  • [6a7d24b69c] - http2: do not crash on stream listener removal w/ destroyed session (Anna Henningsen) #29459
  • [fa949ca365] - http2: send out pending data earlier (Anna Henningsen) #29398
  • [d6ba106f8c] - http2: do not start reading after write if new write is on wire (Anna Henningsen) #29399
  • [a268658496] - (SEMVER-MINOR) inspector: new API - Session.connectToMainThread (Eugene Ostroukhov) #28870
  • [144aeeac68] - lib: remove the use of util.isFunction (himself65) #29566
  • [91d99ce41c] - (SEMVER-MINOR) lib,test: fix error message check after V8 update (Michaël Zasso) #28918
  • [13fa966b7b] - module: error for CJS .js load within type: module (Guy Bedford) #29492
  • [ce45aae2ab] - module: reintroduce package exports dot main (Guy Bedford) #29494
  • [8474b82e35] - n-api: delete callback bundle via reference (Gabriel Schulhof) #29479
  • [50d7c39d91] - n-api: mark version 5 N-APIs as stable (Gabriel Schulhof) #29401
  • [6b30802471] - perf_hooks: remove non-existent entries from inspect (Kirill Fomichev) #29528
  • [c146fff307] - perf_hooks: ignore duplicated entries in observer (Kirill Fomichev) #29442
  • [9b4a49c844] - perf_hooks: remove GC callbacks on zero observers count (Kirill Fomichev) #29444
  • [b30c40bd5d] - perf_hooks: import http2 only once (Kirill Fomichev) #29419
  • [95431eace9] - policy: minor perf opts and cleanup (Bradley Farias) #29322
  • [6ba39d4fe4] - (SEMVER-MINOR) process: initial SourceMap support via NODE_V8_COVERAGE (Benjamin Coe) #28960
  • [03a3468666] - process: use public readableFlowing property (Chetan Karande) #29502
  • [a5bd7e3b2a] - repl: convert var to let and const (Lucas Holmquist) #29575
  • [7eae707fd9] - repl: fix bug in fs module autocompletion (zhangyongsheng) #29555
  • [596dd9fe34] - repl: add autocomplete support for fs.promises (antsmartian) #29400
  • [70a0c170d4] - repl: add missing variable declaration (Lucas Holmquist) #29535
  • [3878e1ed31] - src: perform check before running in runMicrotasks() (Jeremy Apthorp) #29581
  • [6f8ef2cbab] - src: discard remaining foreground tasks on platform shutdown (Anna Henningsen) #29587
  • [f84f1dbd98] - src: fix closing weak HandleWraps on GC (Anna Henningsen) #29640
  • [6284b498b4] - src: use libuv to get env vars (Anna Henningsen) #29188
  • [3a6bc90c29] - src: re-delete Atomics.wake (Gus Caplan) #29586
  • [51a1dfab94] - src: print exceptions from PromiseRejectCallback (Anna Henningsen) #29513
  • [4a5ba60e00] - src: modified RealEnvStore methods to use libuv functions (Devendra Satram) #27310
  • [67aa5ef12b] - src: make ELDHistogram a HandleWrap (Anna Henningsen) #29317
  • [5c3d484c21] - src: check microtasks before running them (Shelley Vohr) #29434
  • [010d29d74f] - src: fix ValidateDSAParameters when fips is enabled (Daniel Bevenius) #29407
  • [59b464026f] - (SEMVER-MINOR) src: update v8abbr.h for V8 7.7 (cjihrig) #28918
  • [78af92dda5] - (SEMVER-MINOR) src,lib: expose memory file mapping flag (João Reis) #29260
  • [f016823929] - stream: add test for multiple .push(null) (Chetan Karande) #29645
  • [b1008973e9] - stream: cleanup use of internal ended state (Chetan Karande) #29645
  • [e71bdadf52] - (SEMVER-MINOR) stream: make _write() optional when _writev() is implemented (Robert Nagy) #29639
  • [123437bcc3] - stream: apply special logic in removeListener for readable.off() (Robert Nagy) #29486
  • [322bc6f0a6] - stream: do not call _read() after destroy() (Robert Nagy) #29491
  • [78cbdf3286] - stream: optimize creation (Robert Nagy) #29135
  • [2dc52ad09c] - stream: simplify isUint8Array helper (Anna Henningsen) #29514
  • [560511924f] - test: fix race condition in test-worker-process-cwd.js (Ruben Bridgewater) #28609
  • [78ee065a11] - test: fix flaky test-inspector-connect-main-thread (Anna Henningsen) #29588
  • [87fd55c387] - test: unmark test-worker-prof as flaky (Anna Henningsen) #29511
  • [79a277ed10] - test: improve test-worker-message-port-message-before-close (Anna Henningsen) #29483
  • [909c669c04] - test: disable core dumps before running crash test (Ben Noordhuis) #29478
  • [561d504d71] - test: permit test-signalwrap to work without test runner (Rich Trott) #28306
  • [75c559dc3a] - test: remove flaky status for test-statwatcher (Rich Trott) #29392
  • [f056d55346] - (SEMVER-MINOR) test: update postmortem metadata test for V8 7.7 (cjihrig) #28918
  • [b43d2dd852] - timers: set _destroyed even if there are no destroy-hooks (Jeremiah Senkpiel) #29595
  • [6272f82c07] - (SEMVER-MINOR) tls: add option to override signature algorithms (Anton Gerasimov) #29598
  • [b7488c2a5c] - tools: cleanup getnodeversion.py for readability (Christian Clauss) #29648
  • [7bc2f06e0b] - tools: update ESLint to 6.4.0 (zhangyongsheng) #29553
  • [0db7ebe073] - tools: fix iculslocs to support ICU 65.1 (Steven R. Loomis) #29523
  • [bc7cc348cc] - tools: python3 compat for inspector code generator (Ben Noordhuis) #29340
  • [9de417ad59] - tools: delete v8_external_snapshot.gypi (Ujjwal Sharma) #29369
  • [2f81d59e75] - tools: fix GYP ninja generator for Python 3 (Michaël Zasso) #29416
  • [027dcff207] - (SEMVER-MINOR) tools: sync gypfiles with V8 7.7 (Michaël Zasso) #28918
  • [bbf209b5df] - tty: add color support for mosh (Aditya) #27843
  • [ced89ad75d] - util: include reference anchor for circular structures (Ruben Bridgewater) #27685
  • [772a5e0658] - (SEMVER-MINOR) util: add encodeInto to TextEncoder (Anna Henningsen) #29524
  • [97d8b33ffc] - (SEMVER-MINOR) worker: mark as stable (Anna Henningsen) #29512
  • [fa77dc5f3b] - worker: make terminate() resolve for unref’ed Workers (Anna Henningsen) #29484
  • [53f23715df] - worker: prevent event loop starvation through MessagePorts (Anna Henningsen) #29315
  • [d2b0568890] - worker: make transfer list behave like web MessagePort (Anna Henningsen) #29319

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

SHASUMS

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

e6016150756787756e019d86f3cc677ae26348abc1cae48c7faaa393b5be7b08  node-v12.11.0-aix-ppc64.tar.gz
a0fd5c1c9e67099f52b73c732aa52a878c6ff67f50ff0e94c2c5628a87455130  node-v12.11.0-darwin-x64.tar.gz
dbe933891a865ba9bb836f57eebf2f0b74d90011d7397f5bf650f9c17be3dcfc  node-v12.11.0-darwin-x64.tar.xz
fe567022214e919106c99543e24c563703510da581388fcb8b298baf33ceb3b0  node-v12.11.0-headers.tar.gz
5c5b0329837d70bedcad958ccab65b0c3b1e854ec84145ee29e0298c2dba63ef  node-v12.11.0-headers.tar.xz
8988bf487317766b3d84f9b9075c302eaa2a35c768640c99d1f7b0c4ba10bbda  node-v12.11.0-linux-arm64.tar.gz
d1126439ff6d079b682a7cd6308cb226afd247e5cb0f7cc60cfb0e609a096622  node-v12.11.0-linux-arm64.tar.xz
f20cdbbe0a6129d25cd64e03610a0e036864dec5ee0973e1b9db61bd84a11e51  node-v12.11.0-linux-armv7l.tar.gz
47696cdc559c40466ff808db43ab52b8647efb7d7b8e2d8538e7534352000813  node-v12.11.0-linux-armv7l.tar.xz
6659a7abfd228fdd0e6765a22407d17f427620b767fed327e4d754faa5236e56  node-v12.11.0-linux-ppc64le.tar.gz
3baa3d1cef34979495d4b731707f2953d7f8f01a61a25f528f601d60ab98b44b  node-v12.11.0-linux-ppc64le.tar.xz
46f4edecac8be70de411c7ee3321172c418d7b4ac58a1cefba74ccc109502015  node-v12.11.0-linux-s390x.tar.gz
d995a611e644e98145814e0507f0cf4ff199ab0ae3726909ecaf7b177de4f424  node-v12.11.0-linux-s390x.tar.xz
66f99ceb83128fae568659caaa8f2202680c2e89296513605883f81e88d75dc3  node-v12.11.0-linux-x64.tar.gz
c0dc88110ac3ee095e3d09077545435b72d4cd52e35c43cd3fa666cff7446d46  node-v12.11.0-linux-x64.tar.xz
8d4cbe561db8ad6a3e135df2421238c3b9822a87863f835214c38f2fe5d6e2be  node-v12.11.0-sunos-x64.tar.gz
9cafb99e45bed6dc2d4fe1170b9ba9a7eb1f8653499968b2ecff63a5e76124cd  node-v12.11.0-sunos-x64.tar.xz
33a5737ee979fdcfb02b5bdac75c3d78d81a0200507e77efe69ca607d9d1de94  node-v12.11.0-win-x64.7z
457157358bd029196d47865dee66f8c263a3a4a5a8cdd1c0a8cf43ac45e9eda3  node-v12.11.0-win-x64.zip
002810af6331182b9859406f050aac26694135a36cccbfd18df005ec2a70a135  node-v12.11.0-win-x86.7z
71a5199c3cb99c95362fcfc2f24b6d1e9017e3cc5c4579030dfc2bdee58adba3  node-v12.11.0-win-x86.zip
162c601eb883387d2797a60a7078ee470ed4eaa2a8353abe061ea1f623a29075  node-v12.11.0-x64.msi
9325cdc55fdafc7042b1d3e69b8d0ce06a5fe4fa7d02e07845fd32b070b2660f  node-v12.11.0-x86.msi
98cffabac5db02ff8b4c5fe9a2523747980f42d84674826b81ae1e525e480eb4  node-v12.11.0.pkg
030a22b86d0f0686bc205f8f68501d7d174bf8e0829c6381c042783b71697984  node-v12.11.0.tar.gz
8306491e9b7bb95f8ee34dcd8daa4c071b94d523e63c0f2b8c605f2ca43dcf91  node-v12.11.0.tar.xz
13c53690b5439092d8e6791cc4f371ea2e8ab2792e6eedee35e747bf211dbe6b  win-x64/node.exe
af5a725e43d1b2db398f1de782bf777ff2b67a28970c10166f79b74c28700a77  win-x64/node.lib
3c63e60c3c4f72b8db92d1244a115bde82ef77ed1e2a17596c5e500d42c37444  win-x64/node_pdb.7z
4c130fde961107d9d4813ba5d2cc4f46ac68cbed386764609bf9a5b1cf84b2a4  win-x64/node_pdb.zip
e333fcf81813c6e6d50379210e223f0562660b3b38f22574528c8fdde6c655e3  win-x86/node.exe
a6d2a3240366b683aaedbe58a5a0a637b3bd1054ae485c22d25dbb83d590ea29  win-x86/node.lib
56b088463c869523e060769eff721d58591979c89cb98127e51ba6c89f38c7a7  win-x86/node_pdb.7z
0f787921b6812a76162fcd463ad4428fa86d9e22fcb795dd94c2a2ce4e7b23e1  win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEpIwr7mgOhBYyzU5E8HSWs+s8F2IFAl2L9U4ACgkQ8HSWs+s8
F2II2A//XYBrouutOiIRPre5t72I9SovvQWz6c93XlkxnJVLpMU1qFWHWbEHeeBs
I+7gN0zvrDYX2v+mgPXGLS7O5a8EKoQ2HHc8U43VolEMppmg6o08aOrzpeEIHsYQ
m/0ho1/dmXGx+8LzrdS3i2WYiKoDmPDDRqXdipSOlgnMhgb6hNo47EFhhb9wIQWJ
9fuBu2WTtnyyMNmFpACFx3/2rBrDqfG4/pzvCJaIx7V+COtFHDuiul8lcVZvTfnm
7xhKiq3UsPBFNdQbcFBUQM7rfUvz+uNJ+xoww9Kgvd40qgJCpNw4jFMfagU5/xxd
xvDTFwlTvBKG44OEywTjKvd1zfFiz9b38qWPdrNa/jLLEnHFPH691WIuHZOuJqmK
wT50gfANNPI3UeM9Tar+B7bUYHQrzc19AdPoo0re0lawxsSI5TxcfnbMu1A+zWit
VKRAg2UjTp4zOgrbTm5S/aBj3F8lGpJxzwKCeR8g54phbJQmc1iQ78IexOBafCAA
6IeBf0CPKvH9ldXYQUgup+RF1E2LCNmONmtX0lvTc+mv9an3Z9++ZKPAHMqaTkaP
9YGqXRGBW9HnqpE5avCKV0t9yeSdSCLwIm79WIeiJRg9wLMVVsxqcnZioW8CiJFY
C29iNGAb6eDNaA/IMIQ4KZgykYEy69RI57So+7+o9TjZGlaK1ME=
=VFND
-----END PGP SIGNATURE-----

Last Updated
Sep 25, 2019
Reading Time
9 min read
Contribute
Edit this page
Table of Contents
  1. Notable changes
  2. Commits
  3. SHASUMS