git: ed3b2f2ee481 - main - security/bitwarden-cli: update to 2024.10.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 23 Oct 2024 13:33:04 UTC
The branch main has been updated by tagattie: URL: https://cgit.FreeBSD.org/ports/commit/?id=ed3b2f2ee48141f746176b5025bb8dca84fb5fc1 commit ed3b2f2ee48141f746176b5025bb8dca84fb5fc1 Author: Hiroki Tagato <tagattie@FreeBSD.org> AuthorDate: 2024-10-23 13:31:04 +0000 Commit: Hiroki Tagato <tagattie@FreeBSD.org> CommitDate: 2024-10-23 13:32:53 +0000 security/bitwarden-cli: update to 2024.10.0 Changelog: https://github.com/bitwarden/clients/releases/tag/cli-v2024.10.0 Reported by: GitHub (watch releases) --- security/bitwarden-cli/Makefile | 4 +- security/bitwarden-cli/distinfo | 14 +- .../bitwarden-cli/files/node/patch-common.gypi | 6 +- .../node/patch-deps_v8_src_inspector_string-16.cc | 31 + .../node/patch-deps_v8_src_inspector_string-16.h | 47 + ...-deps_v8_src_inspector_v8-string-conversions.cc | 29 + ...h-deps_v8_src_inspector_v8-string-conversions.h | 21 + ...inspector__protocol_crdtp_test__platform__v8.cc | 22 + security/bitwarden-cli/files/node/patch-node.gypi | 4 +- .../files/node/patch-tools_v8__gypfiles_v8.gyp | 4 +- .../files/packagejsons/apps/browser/package.json | 2 +- .../files/packagejsons/apps/cli/package.json | 10 +- .../apps/desktop/desktop_native/napi/package.json | 6 +- .../files/packagejsons/apps/desktop/package.json | 4 +- .../files/packagejsons/apps/web/package.json | 2 +- .../packagejsons/libs/key-management/package.json | 25 + .../files/packagejsons/package-lock.json | 957 +++++++++++---------- .../bitwarden-cli/files/packagejsons/package.json | 45 +- 18 files changed, 738 insertions(+), 495 deletions(-) diff --git a/security/bitwarden-cli/Makefile b/security/bitwarden-cli/Makefile index 13ce2b04be58..42df0add74c0 100644 --- a/security/bitwarden-cli/Makefile +++ b/security/bitwarden-cli/Makefile @@ -1,6 +1,6 @@ PORTNAME= bitwarden-cli DISTVERSIONPREFIX= cli-v -DISTVERSION= 2024.9.0 +DISTVERSION= 2024.10.0 CATEGORIES= security MASTER_SITES= https://nodejs.org/dist/v${PKG_NODE_VER}/:node DISTFILES= node-v${PKG_NODE_VER}${EXTRACT_SUFX}:node \ @@ -50,7 +50,7 @@ OPTIONS_DEFINE= DOCS PREFETCH_FILE= ${PORTNAME}-${DISTVERSION}-node-modules${EXTRACT_SUFX} PREFETCH_TIMESTAMP= 61171200 -PKG_NODE_VER= 20.11.1 +PKG_NODE_VER= 20.17.0 PKG_FETCH_VER= 3.5 PKG_NODE_CONFIGURE_ARGS=--openssl-use-def-ca-store \ --shared-brotli \ diff --git a/security/bitwarden-cli/distinfo b/security/bitwarden-cli/distinfo index 175346d7cc2e..56250199a172 100644 --- a/security/bitwarden-cli/distinfo +++ b/security/bitwarden-cli/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1727141885 -SHA256 (node-v20.11.1.tar.gz) = 4af1ba6ea848cc05908b8a62b02fb27684dd52b2a7988ee82b0cfa72deb90b94 -SIZE (node-v20.11.1.tar.gz) = 87513887 -SHA256 (bitwarden-cli-2024.9.0-node-modules.tar.gz) = 7ec8ceaac195010b1f1511d1b17345dedcbc20b1853137c4265e965e7fe103ae -SIZE (bitwarden-cli-2024.9.0-node-modules.tar.gz) = 215205227 -SHA256 (bitwarden-clients-cli-v2024.9.0_GH0.tar.gz) = 72a87d4eccbf80b31b5fe80c485bff90792018de7c983ff5e93911f2201d3684 -SIZE (bitwarden-clients-cli-v2024.9.0_GH0.tar.gz) = 23507768 +TIMESTAMP = 1729674634 +SHA256 (node-v20.17.0.tar.gz) = 409bda5f1896c7c20866610d778d1760991884ad2e7940837cd3f2854cf73747 +SIZE (node-v20.17.0.tar.gz) = 87312235 +SHA256 (bitwarden-cli-2024.10.0-node-modules.tar.gz) = 342ba15f6a621f5e94561eb61300d81b19cabd540cfc11fc2f847fe645849498 +SIZE (bitwarden-cli-2024.10.0-node-modules.tar.gz) = 214773031 +SHA256 (bitwarden-clients-cli-v2024.10.0_GH0.tar.gz) = 1396b949f482f398bca4f59a4a7e0c2d9549f9b461bf6af5a9db04dd9b6bcb64 +SIZE (bitwarden-clients-cli-v2024.10.0_GH0.tar.gz) = 23779807 diff --git a/security/bitwarden-cli/files/node/patch-common.gypi b/security/bitwarden-cli/files/node/patch-common.gypi index aab7b33a2120..2d0b58bf8092 100644 --- a/security/bitwarden-cli/files/node/patch-common.gypi +++ b/security/bitwarden-cli/files/node/patch-common.gypi @@ -1,6 +1,6 @@ ---- common.gypi.orig 2024-02-13 21:43:28 UTC +--- common.gypi.orig 2024-08-21 12:35:22 UTC +++ common.gypi -@@ -466,7 +466,7 @@ +@@ -491,7 +491,7 @@ 'ldflags': [ '-m32' ], }], [ 'host_arch=="ppc64" and OS not in "aix os400"', { @@ -9,7 +9,7 @@ 'ldflags': [ '-m64' ], }], [ 'host_arch=="s390x" and OS=="linux"', { -@@ -490,7 +490,7 @@ +@@ -515,7 +515,7 @@ 'ldflags': [ '-m32' ], }], [ 'target_arch=="ppc64" and OS not in "aix os400"', { diff --git a/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_string-16.cc b/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_string-16.cc new file mode 100644 index 000000000000..7e0ccb4b8b4b --- /dev/null +++ b/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_string-16.cc @@ -0,0 +1,31 @@ +--- deps/v8/src/inspector/string-16.cc.orig 2024-08-21 12:35:26 UTC ++++ deps/v8/src/inspector/string-16.cc +@@ -27,7 +27,7 @@ bool isSpaceOrNewLine(UChar c) { + return isASCII(c) && c <= ' ' && (c == ' ' || (c <= 0xD && c >= 0x9)); + } + +-int64_t charactersToInteger(const UChar* characters, size_t length, ++int64_t charactersToInteger(const uint16_t* characters, size_t length, + bool* ok = nullptr) { + std::vector<char> buffer; + buffer.reserve(length + 1); +@@ -50,6 +50,8 @@ String16::String16(const UChar* characters, size_t siz + + String16::String16(const UChar* characters, size_t size) + : m_impl(characters, size) {} ++String16::String16(const uint16_t* characters, size_t size) ++ : m_impl(reinterpret_cast<const UChar*>(characters), size) {} + + String16::String16(const UChar* characters) : m_impl(characters) {} + +@@ -239,6 +241,10 @@ String16 String16::fromUTF16LE(const UChar* stringStar + // No need to do anything on little endian machines. + return String16(stringStart, length); + #endif // V8_TARGET_BIG_ENDIAN ++} ++ ++String16 String16::fromUTF16LE(const uint16_t* stringStart, size_t length) { ++ return fromUTF16LE(reinterpret_cast<const UChar*>(stringStart), length); + } + + std::string String16::utf8() const { diff --git a/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_string-16.h b/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_string-16.h new file mode 100644 index 000000000000..15c3a6e84068 --- /dev/null +++ b/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_string-16.h @@ -0,0 +1,47 @@ +--- deps/v8/src/inspector/string-16.h.orig 2024-08-21 12:35:26 UTC ++++ deps/v8/src/inspector/string-16.h +@@ -6,6 +6,7 @@ + #define V8_INSPECTOR_STRING_16_H_ + + #include <stdint.h> ++#include <uchar.h> + + #include <cctype> + #include <climits> +@@ -17,7 +18,7 @@ namespace v8_inspector { + + namespace v8_inspector { + +-using UChar = uint16_t; ++using UChar = char16_t; + + class String16 { + public: +@@ -27,6 +28,7 @@ class String16 { + String16(const String16&) V8_NOEXCEPT = default; + String16(String16&&) V8_NOEXCEPT = default; + String16(const UChar* characters, size_t size); ++ String16(const uint16_t* characters, size_t size); + V8_EXPORT String16(const UChar* characters); + V8_EXPORT String16(const char* characters); + String16(const char* characters, size_t size); +@@ -48,7 +50,9 @@ class String16 { + int toInteger(bool* ok = nullptr) const; + std::pair<size_t, size_t> getTrimmedOffsetAndLength() const; + String16 stripWhiteSpace() const; +- const UChar* characters16() const { return m_impl.c_str(); } ++ const uint16_t* characters16() const { ++ return reinterpret_cast<const uint16_t*>(m_impl.c_str()); ++ } + size_t length() const { return m_impl.length(); } + bool isEmpty() const { return !m_impl.length(); } + UChar operator[](size_t index) const { return m_impl[index]; } +@@ -77,6 +81,8 @@ class String16 { + // Instantiates a String16 in native endianness from UTF16 LE. + // On Big endian architectures, byte order needs to be flipped. + V8_EXPORT static String16 fromUTF16LE(const UChar* stringStart, ++ size_t length); ++ V8_EXPORT static String16 fromUTF16LE(const uint16_t* stringStart, + size_t length); + + std::size_t hash() const { diff --git a/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_v8-string-conversions.cc b/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_v8-string-conversions.cc new file mode 100644 index 000000000000..0598c40f98da --- /dev/null +++ b/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_v8-string-conversions.cc @@ -0,0 +1,29 @@ +--- deps/v8/src/inspector/v8-string-conversions.cc.orig 2024-08-21 12:35:26 UTC ++++ deps/v8/src/inspector/v8-string-conversions.cc +@@ -12,7 +12,7 @@ namespace { + + namespace v8_inspector { + namespace { +-using UChar = uint16_t; ++using UChar = char16_t; + using UChar32 = uint32_t; + + bool isASCII(UChar c) { return !(c & ~0x7F); } +@@ -386,7 +386,7 @@ std::basic_string<UChar> UTF8ToUTF16(const char* strin + + std::basic_string<UChar> UTF8ToUTF16(const char* stringStart, size_t length) { + if (!stringStart || !length) return std::basic_string<UChar>(); +- std::vector<uint16_t> buffer(length); ++ std::vector<UChar> buffer(length); + UChar* bufferStart = buffer.data(); + + UChar* bufferCurrent = bufferStart; +@@ -395,7 +395,7 @@ std::basic_string<UChar> UTF8ToUTF16(const char* strin + reinterpret_cast<const char*>(stringStart + length), + &bufferCurrent, bufferCurrent + buffer.size(), nullptr, + true) != conversionOK) +- return std::basic_string<uint16_t>(); ++ return std::basic_string<UChar>(); + size_t utf16Length = bufferCurrent - bufferStart; + return std::basic_string<UChar>(bufferStart, bufferStart + utf16Length); + } diff --git a/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_v8-string-conversions.h b/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_v8-string-conversions.h new file mode 100644 index 000000000000..7395fd13692e --- /dev/null +++ b/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_v8-string-conversions.h @@ -0,0 +1,21 @@ +--- deps/v8/src/inspector/v8-string-conversions.h.orig 2024-08-21 12:35:26 UTC ++++ deps/v8/src/inspector/v8-string-conversions.h +@@ -5,14 +5,16 @@ + #ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ + #define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ + ++#include <uchar.h> ++ + #include <cstdint> + #include <string> + + // Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may + // want to use string-16.h directly rather than these. + namespace v8_inspector { +-std::basic_string<uint16_t> UTF8ToUTF16(const char* stringStart, size_t length); +-std::string UTF16ToUTF8(const uint16_t* stringStart, size_t length); ++std::basic_string<char16_t> UTF8ToUTF16(const char* stringStart, size_t length); ++std::string UTF16ToUTF8(const char16_t* stringStart, size_t length); + } // namespace v8_inspector + + #endif // V8_INSPECTOR_V8_STRING_CONVERSIONS_H_ diff --git a/security/bitwarden-cli/files/node/patch-deps_v8_third__party_inspector__protocol_crdtp_test__platform__v8.cc b/security/bitwarden-cli/files/node/patch-deps_v8_third__party_inspector__protocol_crdtp_test__platform__v8.cc new file mode 100644 index 000000000000..810a29c2782a --- /dev/null +++ b/security/bitwarden-cli/files/node/patch-deps_v8_third__party_inspector__protocol_crdtp_test__platform__v8.cc @@ -0,0 +1,22 @@ +--- deps/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc.orig 2024-08-21 12:35:28 UTC ++++ deps/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc +@@ -11,13 +11,16 @@ std::string UTF16ToUTF8(span<uint16_t> in) { + namespace v8_crdtp { + + std::string UTF16ToUTF8(span<uint16_t> in) { +- return v8_inspector::UTF16ToUTF8(in.data(), in.size()); ++ return v8_inspector::UTF16ToUTF8(reinterpret_cast<const char16_t*>(in.data()), ++ in.size()); + } + + std::vector<uint16_t> UTF8ToUTF16(span<uint8_t> in) { +- std::basic_string<uint16_t> utf16 = v8_inspector::UTF8ToUTF16( ++ std::basic_string<char16_t> utf16 = v8_inspector::UTF8ToUTF16( + reinterpret_cast<const char*>(in.data()), in.size()); +- return std::vector<uint16_t>(utf16.begin(), utf16.end()); ++ return std::vector<uint16_t>( ++ reinterpret_cast<const uint16_t*>(utf16.data()), ++ reinterpret_cast<const uint16_t*>(utf16.data()) + utf16.size()); + } + + } // namespace v8_crdtp diff --git a/security/bitwarden-cli/files/node/patch-node.gypi b/security/bitwarden-cli/files/node/patch-node.gypi index e0656b099ab8..a338b6ed81ef 100644 --- a/security/bitwarden-cli/files/node/patch-node.gypi +++ b/security/bitwarden-cli/files/node/patch-node.gypi @@ -1,6 +1,6 @@ ---- node.gypi.orig 2023-03-05 06:42:54 UTC +--- node.gypi.orig 2024-08-21 12:35:29 UTC +++ node.gypi -@@ -349,6 +349,9 @@ +@@ -350,6 +350,9 @@ [ 'node_use_openssl=="true"', { 'defines': [ 'HAVE_OPENSSL=1' ], 'conditions': [ diff --git a/security/bitwarden-cli/files/node/patch-tools_v8__gypfiles_v8.gyp b/security/bitwarden-cli/files/node/patch-tools_v8__gypfiles_v8.gyp index 3e711aedc53d..aa5e5a520ca7 100644 --- a/security/bitwarden-cli/files/node/patch-tools_v8__gypfiles_v8.gyp +++ b/security/bitwarden-cli/files/node/patch-tools_v8__gypfiles_v8.gyp @@ -1,6 +1,6 @@ ---- tools/v8_gypfiles/v8.gyp.orig 2024-02-13 21:43:34 UTC +--- tools/v8_gypfiles/v8.gyp.orig 2024-08-21 12:35:32 UTC +++ tools/v8_gypfiles/v8.gyp -@@ -1083,7 +1083,7 @@ +@@ -1095,7 +1095,7 @@ }], # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library # to implement atomic memory access diff --git a/security/bitwarden-cli/files/packagejsons/apps/browser/package.json b/security/bitwarden-cli/files/packagejsons/apps/browser/package.json index 4d008b684cb9..15caff9eff2c 100644 --- a/security/bitwarden-cli/files/packagejsons/apps/browser/package.json +++ b/security/bitwarden-cli/files/packagejsons/apps/browser/package.json @@ -1,6 +1,6 @@ { "name": "@bitwarden/browser", - "version": "2024.9.1", + "version": "2024.10.1", "scripts": { "build": "cross-env MANIFEST_VERSION=3 webpack", "build:mv2": "webpack", diff --git a/security/bitwarden-cli/files/packagejsons/apps/cli/package.json b/security/bitwarden-cli/files/packagejsons/apps/cli/package.json index a7759043ff6b..502e186d346c 100644 --- a/security/bitwarden-cli/files/packagejsons/apps/cli/package.json +++ b/security/bitwarden-cli/files/packagejsons/apps/cli/package.json @@ -1,7 +1,7 @@ { "name": "@bitwarden/cli", "description": "A secure and free password manager for all of your devices.", - "version": "2024.9.0", + "version": "2024.10.0", "keywords": [ "bitwarden", "password", @@ -59,14 +59,14 @@ "@koa/multer": "3.0.2", "@koa/router": "12.0.1", "argon2": "0.40.1", - "big-integer": "1.6.51", + "big-integer": "1.6.52", "browser-hrtime": "1.1.8", "chalk": "4.1.2", "commander": "11.1.0", "form-data": "4.0.0", - "https-proxy-agent": "7.0.2", + "https-proxy-agent": "7.0.5", "inquirer": "8.2.6", - "jsdom": "24.1.3", + "jsdom": "25.0.1", "jszip": "3.10.1", "koa": "2.15.0", "koa-bodyparser": "4.4.1", @@ -80,7 +80,7 @@ "papaparse": "5.4.1", "proper-lockfile": "4.1.2", "rxjs": "7.8.1", - "tldts": "6.1.41", + "tldts": "6.1.48", "zxcvbn": "4.4.2" } } diff --git a/security/bitwarden-cli/files/packagejsons/apps/desktop/desktop_native/napi/package.json b/security/bitwarden-cli/files/packagejsons/apps/desktop/desktop_native/napi/package.json index 70e472b3952f..d557ccfd2598 100644 --- a/security/bitwarden-cli/files/packagejsons/apps/desktop/desktop_native/napi/package.json +++ b/security/bitwarden-cli/files/packagejsons/apps/desktop/desktop_native/napi/package.json @@ -3,15 +3,13 @@ "version": "0.1.0", "description": "", "scripts": { - "build": "napi build --release --platform --js false", - "build:debug": "napi build --platform --js false", - "build:cross-platform": "node build.js", + "build": "napi build --platform --js false", "test": "cargo test" }, "author": "", "license": "GPL-3.0", "devDependencies": { - "@napi-rs/cli": "2.16.2" + "@napi-rs/cli": "2.18.4" }, "napi": { "name": "desktop_napi", diff --git a/security/bitwarden-cli/files/packagejsons/apps/desktop/package.json b/security/bitwarden-cli/files/packagejsons/apps/desktop/package.json index 4562653978bf..1014412c0d5e 100644 --- a/security/bitwarden-cli/files/packagejsons/apps/desktop/package.json +++ b/security/bitwarden-cli/files/packagejsons/apps/desktop/package.json @@ -1,7 +1,7 @@ { "name": "@bitwarden/desktop", "description": "A secure and free password manager for all of your devices.", - "version": "2024.9.0", + "version": "2024.10.0", "keywords": [ "bitwarden", "password", @@ -18,7 +18,7 @@ "scripts": { "postinstall": "electron-rebuild", "start": "cross-env ELECTRON_IS_DEV=0 ELECTRON_NO_UPDATER=1 electron ./build", - "build-native": "cd desktop_native/napi && npm run build", + "build-native": "cd desktop_native && node build.js", "build": "concurrently -n Main,Rend,Prel -c yellow,cyan \"npm run build:main\" \"npm run build:renderer\" \"npm run build:preload\"", "build:dev": "concurrently -n Main,Rend -c yellow,cyan \"npm run build:main:dev\" \"npm run build:renderer:dev\"", "build:preload": "cross-env NODE_ENV=production webpack --config webpack.preload.js", diff --git a/security/bitwarden-cli/files/packagejsons/apps/web/package.json b/security/bitwarden-cli/files/packagejsons/apps/web/package.json index 37deab411b96..deb13794a545 100644 --- a/security/bitwarden-cli/files/packagejsons/apps/web/package.json +++ b/security/bitwarden-cli/files/packagejsons/apps/web/package.json @@ -1,6 +1,6 @@ { "name": "@bitwarden/web-vault", - "version": "2024.9.1", + "version": "2024.10.2", "scripts": { "build:oss": "webpack", "build:bit": "webpack -c ../../bitwarden_license/bit-web/webpack.config.js", diff --git a/security/bitwarden-cli/files/packagejsons/libs/key-management/package.json b/security/bitwarden-cli/files/packagejsons/libs/key-management/package.json new file mode 100644 index 000000000000..083386cbc81d --- /dev/null +++ b/security/bitwarden-cli/files/packagejsons/libs/key-management/package.json @@ -0,0 +1,25 @@ +{ + "name": "@bitwarden/key-management", + "version": "0.0.0", + "description": "Common code used across Bitwarden JavaScript projects.", + "keywords": [ + "bitwarden" + ], + "author": "Bitwarden Inc.", + "homepage": "https://bitwarden.com", + "repository": { + "type": "git", + "url": "https://github.com/bitwarden/clients" + }, + "license": "GPL-3.0", + "scripts": { + "clean": "rimraf dist", + "build": "npm run clean && tsc", + "build:watch": "npm run clean && tsc -watch" + }, + "dependencies": { + "@bitwarden/angular": "file:../angular", + "@bitwarden/common": "file:../common", + "@bitwarden/components": "file:../components" + } +} diff --git a/security/bitwarden-cli/files/packagejsons/package-lock.json b/security/bitwarden-cli/files/packagejsons/package-lock.json index d115c4be10d3..c568b683b078 100644 --- a/security/bitwarden-cli/files/packagejsons/package-lock.json +++ b/security/bitwarden-cli/files/packagejsons/package-lock.json @@ -24,6 +24,8 @@ "@angular/platform-browser": "16.2.12", "@angular/platform-browser-dynamic": "16.2.12", "@angular/router": "16.2.12", + "@bitwarden/sdk-internal": "0.1.3", + "@electron/fuses": "1.8.0", "@koa/multer": "3.0.2", "@koa/router": "12.0.1", "@microsoft/signalr": "8.0.7", @@ -31,7 +33,7 @@ "@ng-select/ng-select": "11.2.0", "argon2": "0.40.1", "argon2-browser": "1.18.0", - "big-integer": "1.6.51", + "big-integer": "1.6.52", "bootstrap": "4.6.0", "braintree-web-drop-in": "1.43.0", "buffer": "6.0.3", @@ -40,10 +42,10 @@ "commander": "11.1.0", "core-js": "3.36.1", "form-data": "4.0.0", - "https-proxy-agent": "7.0.2", + "https-proxy-agent": "7.0.5", "inquirer": "8.2.6", "jquery": "3.7.1", - "jsdom": "24.1.3", + "jsdom": "25.0.1", "jszip": "3.10.1", "koa": "2.15.0", "koa-bodyparser": "4.4.1", @@ -66,7 +68,7 @@ "qrious": "4.0.2", "rxjs": "7.8.1", "tabbable": "6.2.0", - "tldts": "6.1.41", + "tldts": "6.1.48", "utf-8-validate": "6.0.4", "zone.js": "0.13.3", "zxcvbn": "4.4.2" @@ -82,7 +84,7 @@ "@babel/core": "7.24.9", "@babel/preset-env": "7.24.8", "@compodoc/compodoc": "1.1.25", - "@electron/notarize": "2.4.0", + "@electron/notarize": "2.5.0", "@electron/rebuild": "3.6.0", "@ngtools/webpack": "16.2.14", "@storybook/addon-a11y": "8.2.9", @@ -95,8 +97,8 @@ "@storybook/manager-api": "8.2.9", "@storybook/theming": "8.2.9", "@types/argon2-browser": "1.18.4", - "@types/chrome": "0.0.270", - "@types/firefox-webext-browser": "111.0.5", + "@types/chrome": "0.0.272", + "@types/firefox-webext-browser": "120.0.4", "@types/inquirer": "8.2.10", "@types/jest": "29.5.12", "@types/jquery": "3.5.30", @@ -108,7 +110,7 @@ "@types/koa-json": "2.0.23", "@types/lowdb": "1.0.15", "@types/lunr": "2.3.7", - "@types/node": "20.16.4", + "@types/node": "20.16.10", "@types/node-fetch": "2.6.4", "@types/node-forge": "1.3.11", "@types/node-ipc": "9.2.3", @@ -119,17 +121,17 @@ "@typescript-eslint/eslint-plugin": "7.16.1", "@typescript-eslint/parser": "7.16.1", "@webcomponents/custom-elements": "1.6.0", - "@yao-pkg/pkg": "5.12.1", + "@yao-pkg/pkg": "5.14.0", "autoprefixer": "10.4.20", "babel-loader": "9.1.3", "base64-loader": "1.0.0", "browserslist": "4.23.2", - "chromatic": "11.7.1", - "concurrently": "8.2.2", + "chromatic": "11.10.2", + "concurrently": "9.0.1", "copy-webpack-plugin": "12.0.2", "cross-env": "7.0.3", "css-loader": "7.1.2", - "electron": "32.0.1", + "electron": "32.1.1", "electron-builder": "24.13.3", "electron-log": "5.0.1", "electron-reload": "2.0.0-alpha.1", @@ -157,29 +159,29 @@ "jest-mock-extended": "3.0.7", "jest-preset-angular": "14.1.1", "lint-staged": "15.2.8", - "mini-css-extract-plugin": "2.8.1", + "mini-css-extract-plugin": "2.9.1", "node-ipc": "9.2.1", "postcss": "8.4.38", "postcss-loader": "8.1.1", "prettier": "3.3.3", - "prettier-plugin-tailwindcss": "0.6.6", + "prettier-plugin-tailwindcss": "0.6.8", "process": "0.11.10", - "regedit": "^3.0.3", + "regedit": "3.0.3", "remark-gfm": "4.0.0", "rimraf": "6.0.1", "sass": "1.74.1", - "sass-loader": "14.2.1", + "sass-loader": "16.0.1", "storybook": "8.2.9", "style-loader": "3.3.4", - "tailwindcss": "3.4.10", + "tailwindcss": "3.4.11", "ts-jest": "29.2.2", "ts-loader": "9.5.1", "tsconfig-paths-webpack-plugin": "4.1.0", "type-fest": "2.19.0", "typescript": "5.1.6", - "url": "0.11.3", + "url": "0.11.4", "util": "0.12.5", - "wait-on": "8.0.0", + "wait-on": "8.0.1", "webpack": "5.94.0", "webpack-cli": "5.1.4", "webpack-dev-server": "5.0.4", @@ -192,24 +194,24 @@ }, "apps/browser": { "name": "@bitwarden/browser", - "version": "2024.9.1" + "version": "2024.10.1" }, "apps/cli": { "name": "@bitwarden/cli", - "version": "2024.9.0", + "version": "2024.10.0", "license": "SEE LICENSE IN LICENSE.txt", "dependencies": { "@koa/multer": "3.0.2", "@koa/router": "12.0.1", "argon2": "0.40.1", - "big-integer": "1.6.51", + "big-integer": "1.6.52", "browser-hrtime": "1.1.8", "chalk": "4.1.2", "commander": "11.1.0", "form-data": "4.0.0", - "https-proxy-agent": "7.0.2", + "https-proxy-agent": "7.0.5", "inquirer": "8.2.6", - "jsdom": "24.1.3", + "jsdom": "25.0.1", "jszip": "3.10.1", "koa": "2.15.0", "koa-bodyparser": "4.4.1", @@ -223,7 +225,7 @@ "papaparse": "5.4.1", "proper-lockfile": "4.1.2", "rxjs": "7.8.1", - "tldts": "6.1.41", + "tldts": "6.1.48", "zxcvbn": "4.4.2" }, "bin": { @@ -232,7 +234,7 @@ }, "apps/desktop": { "name": "@bitwarden/desktop", - "version": "2024.9.0", + "version": "2024.10.0", "hasInstallScript": true, "license": "GPL-3.0" }, @@ -241,12 +243,12 @@ "version": "0.1.0", "license": "GPL-3.0", "devDependencies": { - "@napi-rs/cli": "2.16.2" + "@napi-rs/cli": "2.18.4" } }, "apps/web": { "name": "@bitwarden/web-vault", - "version": "2024.9.1" + "version": "2024.10.2" }, "libs/admin-console": { "name": "@bitwarden/admin-console", @@ -291,6 +293,16 @@ "@bitwarden/vault-export-core": "file:../tools/export/vault-export/vault-export-core" } }, + "libs/key-management": { + "name": "@bitwarden/key-management", + "version": "0.0.0", + "license": "GPL-3.0", + "dependencies": { + "@bitwarden/angular": "file:../angular", + "@bitwarden/common": "file:../common", + "@bitwarden/components": "file:../components" + } + }, "libs/node": { "name": "@bitwarden/node", "version": "0.0.0", @@ -358,14 +370,14 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1802.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.2.tgz", - "integrity": "sha512-LPRl9jhcf0NgshaL6RoUy1uL/cAyNt7oxctoZ9EHUu8eh5E9W/jZGhVowjOLpirwqYhmEzKJJIeS49Ssqs3RQg==", + "version": "0.1802.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.6.tgz", + "integrity": "sha512-oF7cPFdTLxeuvXkK/opSdIxZ1E4LrBbmuytQ/nCoAGOaKBWdqvwagRZ6jVhaI0Gwu48rkcV7Zhesg/ESNnROdw==", "dev": true, "license": "MIT", "peer": true, "dependencies": { - "@angular-devkit/core": "18.2.2", + "@angular-devkit/core": "18.2.6", "rxjs": "7.8.1" }, "engines": { @@ -1439,9 +1451,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "18.2.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.2.tgz", - "integrity": "sha512-Zz0tGptI/QQnUBDdp+1G5wGwQWMjpfe2oO+UohkrDVgFS71yVj4VDnOy51kMTxBvzw+36evTgthPpmzqPIfxBw==", + "version": "18.2.6", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.6.tgz", + "integrity": "sha512-la4CFvs5PcRWSkQ/H7TB5cPZirFVA9GoWk5LzIk8si6VjWBJRm8b3keKJoC9LlNeABRUIR5z0ocYkyQQUhdMfg==", "dev": true, "license": "MIT", "peer": true, @@ -4602,6 +4614,10 @@ "resolved": "libs/importer", "link": true }, + "node_modules/@bitwarden/key-management": { + "resolved": "libs/key-management", + "link": true + }, "node_modules/@bitwarden/node": { "resolved": "libs/node", "link": true @@ -4610,6 +4626,11 @@ "resolved": "libs/platform", "link": true }, + "node_modules/@bitwarden/sdk-internal": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@bitwarden/sdk-internal/-/sdk-internal-0.1.3.tgz", + "integrity": "sha512-zk9DyYMjylVLdljeLn3OLBcD939Hg/qMNJ2FxbyjiSKtcOcgglXgYmbcS01NRFFfM9REbn+j+2fWbQo6N+8SHw==" + }, "node_modules/@bitwarden/vault": { "resolved": "libs/vault", "link": true @@ -5027,12 +5048,13 @@ } }, "node_modules/@electron/asar": { - "version": "3.2.10", - "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.10.tgz", - "integrity": "sha512-mvBSwIBUeiRscrCeJE1LwctAriBj65eUDm0Pc11iE5gRwzkmsdbS7FnZ1XUWjpSeQWL1L5g12Fc/SchPM9DUOw==", + "version": "3.2.13", + "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.13.tgz", + "integrity": "sha512-pY5z2qQSwbFzJsBdgfJIzXf5ElHTVMutC2dxh0FD60njknMu3n1NnTABOcQwbb5/v5soqE79m9UjaJryBf3epg==", "dev": true, "license": "MIT", "dependencies": { + "@types/glob": "^7.1.0", "commander": "^5.0.0", "glob": "^7.1.6", "minimatch": "^3.0.4" @@ -5044,6 +5066,17 @@ "node": ">=10.12.0" } }, + "node_modules/@electron/asar/node_modules/@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, "node_modules/@electron/asar/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -5100,6 +5133,33 @@ "node": "*" } }, + "node_modules/@electron/fuses": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@electron/fuses/-/fuses-1.8.0.tgz", + "integrity": "sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==", + "dependencies": { + "chalk": "^4.1.1", + "fs-extra": "^9.0.1", + "minimist": "^1.2.5" + }, + "bin": { + "electron-fuses": "dist/bin.js" + } + }, + "node_modules/@electron/fuses/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@electron/get": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz", @@ -5168,9 +5228,9 @@ } }, "node_modules/@electron/notarize": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.4.0.tgz", - "integrity": "sha512-ArHnRPIJJGrmV+uWNQSINAht+cM4gAo3uA3WFI54bYF93mzmD15gzhPQ0Dd+v/fkMhnRiiIO8NNkGdn87Vsy0g==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.5.0.tgz", + "integrity": "sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==", "dev": true, "license": "MIT", "dependencies": { @@ -5765,9 +5825,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", - "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", + "version": "4.11.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz", + "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==", "dev": true, "license": "MIT", "engines": { @@ -6095,9 +6155,9 @@ } }, "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, "license": "MIT", "engines": { @@ -6811,6 +6871,7 @@ "version": "12.0.1", "resolved": "https://registry.npmjs.org/@koa/router/-/router-12.0.1.tgz", "integrity": "sha512-ribfPYfHb+Uw3b27Eiw6NPqjhIhTpVFzEWLwyc/1Xp+DCdwRRyIlAUODX+9bPARF6aQtUu1+/PHzdNvRzcs/+Q==", + "deprecated": "Use v12.0.2 or higher to fix the vulnerability issue", "license": "MIT", "dependencies": { "debug": "^4.3.4", @@ -6996,9 +7057,9 @@ } }, "node_modules/@napi-rs/cli": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/@napi-rs/cli/-/cli-2.16.2.tgz", - "integrity": "sha512-U2aZfnr0s9KkXpZlYC0l5WxWCXL7vJUNpCnWMwq3T9GG9rhYAAUM9CTZsi1Z+0iR2LcHbfq9EfMgoqnuTyUjfg==", + "version": "2.18.4", + "resolved": "https://registry.npmjs.org/@napi-rs/cli/-/cli-2.18.4.tgz", + "integrity": "sha512-SgJeA4df9DE2iAEpr3M2H0OKl/yjtg1BnRI5/JyowS71tUWhrfSu2LT0V3vlHET+g1hBVlrO60PmEXwUEKp8Mg==", "dev": true, "license": "MIT", "bin": { @@ -8080,10 +8141,38 @@ } } }, + "node_modules/@storybook/angular/node_modules/@storybook/components": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.3.4.tgz", + "integrity": "sha512-iQzLJd87uGbFBbYNqlrN/ABrnx3dUrL0tjPCarzglzshZoPCNOsllJeJx5TJwB9kCxSZ8zB9TTOgr7NXl+oyVA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "storybook": "^8.3.4" + } + }, + "node_modules/@storybook/angular/node_modules/@storybook/preview-api": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.3.4.tgz", + "integrity": "sha512-/YKQ3QDVSHmtFXXCShf5w0XMlg8wkfTpdYxdGv1CKFV8DU24f3N7KWulAgeWWCWQwBzZClDa9kzxmroKlQqx3A==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "storybook": "^8.3.4" + } + }, "node_modules/@storybook/angular/node_modules/@types/node": { - "version": "18.19.48", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.48.tgz", - "integrity": "sha512-7WevbG4ekUcRQSZzOwxWgi5dZmTak7FaxXDoW7xVxPBmKx1rTzfmRLkeCgJzcbBnOV2dkhAPc8cCeT6agocpjg==", + "version": "18.19.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.54.tgz", + "integrity": "sha512-+BRgt0G5gYjTvdLac9sIeE0iZcJxi4Jc4PV5EUzqi+88jmQLr+fRZdv2tCTV7IHKSGxM6SaLoOXQWWUiLUItMw==", "dev": true, "license": "MIT", "dependencies": { @@ -8186,9 +8275,9 @@ } }, "node_modules/@storybook/builder-webpack5/node_modules/@types/node": { - "version": "18.19.48", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.48.tgz", - "integrity": "sha512-7WevbG4ekUcRQSZzOwxWgi5dZmTak7FaxXDoW7xVxPBmKx1rTzfmRLkeCgJzcbBnOV2dkhAPc8cCeT6agocpjg==", + "version": "18.19.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.54.tgz", + "integrity": "sha512-+BRgt0G5gYjTvdLac9sIeE0iZcJxi4Jc4PV5EUzqi+88jmQLr+fRZdv2tCTV7IHKSGxM6SaLoOXQWWUiLUItMw==", "dev": true, "license": "MIT", "dependencies": { @@ -8338,20 +8427,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@storybook/components": { - "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.2.9.tgz", - "integrity": "sha512-OkkcZ/f/6o3GdFEEK9ZHKIGHWUHmavZUYs5xaSgU64bOrA2aqEFtfeWWitZYTv3Euhk8MVLWfyEMDfez0AlvDg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.2.9" - } - }, "node_modules/@storybook/core": { "version": "8.2.9", "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.2.9.tgz", @@ -8395,9 +8470,9 @@ } }, "node_modules/@storybook/core-webpack/node_modules/@types/node": { - "version": "18.19.48", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.48.tgz", - "integrity": "sha512-7WevbG4ekUcRQSZzOwxWgi5dZmTak7FaxXDoW7xVxPBmKx1rTzfmRLkeCgJzcbBnOV2dkhAPc8cCeT6agocpjg==", + "version": "18.19.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.54.tgz", + "integrity": "sha512-+BRgt0G5gYjTvdLac9sIeE0iZcJxi4Jc4PV5EUzqi+88jmQLr+fRZdv2tCTV7IHKSGxM6SaLoOXQWWUiLUItMw==", "dev": true, "license": "MIT", "dependencies": { @@ -8412,9 +8487,9 @@ "license": "MIT" }, "node_modules/@storybook/core/node_modules/@types/node": { - "version": "18.19.48", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.48.tgz", - "integrity": "sha512-7WevbG4ekUcRQSZzOwxWgi5dZmTak7FaxXDoW7xVxPBmKx1rTzfmRLkeCgJzcbBnOV2dkhAPc8cCeT6agocpjg==", + "version": "18.19.54", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.54.tgz", + "integrity": "sha512-+BRgt0G5gYjTvdLac9sIeE0iZcJxi4Jc4PV5EUzqi+88jmQLr+fRZdv2tCTV7IHKSGxM6SaLoOXQWWUiLUItMw==", "dev": true, "license": "MIT", "dependencies": { @@ -8463,9 +8538,9 @@ "license": "MIT" }, "node_modules/@storybook/icons": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.2.10.tgz", - "integrity": "sha512-310apKdDcjbbX2VSLWPwhEwAgjxTzVagrwucVZIdGPErwiAppX8KvBuWZgPo+rQLVrtH8S+pw1dbUwjcE6d7og==", + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.2.12.tgz", + "integrity": "sha512-UxgyK5W3/UV4VrI3dl6ajGfHM4aOqMAkFLWe2KibeQudLf6NJpDrDMSHwZj+3iKC4jFU7dkKbbtH2h/al4sW3Q==", "dev": true, "license": "MIT", "engines": { @@ -8509,20 +8584,6 @@ "storybook": "^8.2.9" } }, - "node_modules/@storybook/preview-api": { - "version": "8.2.9", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.2.9.tgz", - "integrity": "sha512-D8/t+a78OJqQAcT/ABa1C4YM/OaLGQ9IvCsp3Q9ruUqDCwuZBj8bG3D4477dlY4owX2ycC0rWYu3VvuK0EmJjA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "storybook": "^8.2.9" - } - }, "node_modules/@storybook/react-dom-shim": { "version": "8.2.9", "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.2.9.tgz", @@ -8692,9 +8753,9 @@ } }, "node_modules/@thednp/event-listener": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@thednp/event-listener/-/event-listener-2.0.5.tgz", - "integrity": "sha512-Zns+CFEAIKIEyqmuBZ3K2DSvk5IppaWcioghxLZPMrzkV034aOA38lP7NIKSxkeu0Eqd4UPxC06FksO6Pb/tmA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@thednp/event-listener/-/event-listener-2.0.6.tgz", + "integrity": "sha512-6u55ydv4+2VHwHU8EJaJXa40QzZ7XOXVo74MMPnGCSzbl0q3yqHfQh8r0Sw/50rutHxecLVQBM/C9Fr0c+m+ew==", "dev": true, *** 1639 LINES SKIPPED ***