Vigia

Upgrading webcrypto-core from 1.x to 2.x

Comparison of the public API of webcrypto-core 1.9.2 and 2.0.0, computed automatically from their TypeScript types. A changed signature is a candidate for a breaking change, not a certainty.

Summary

Removed import paths0
Removed exports2
Changed signatures1
Removed class or interface members0
Changed class or interface members59
Newly deprecated0
Requirement changes (engines, peer dependencies)4
New exports0

Removed exports

importexportkindBefore
webcrypto-corePemConverterclassclass
webcrypto-coreBufferSourceConvertervariableany

Changed signatures

exportBeforeAfter
webcrypto-core · ImportAlgorithmsAlgorithm | EcKeyImportParams | RsaHashedImportParamsAlgorithm | RsaHashedImportParams | EcKeyImportParams

Removed class or interface members

None detected.

Changed class or interface members

memberBeforeAfter
Crypto.subtleSubtleCrypto$1SubtleCrypto
Crypto.constructor(): Crypto$1(): Crypto
CryptoKey.constructor(): CryptoKey$1(): CryptoKey
CryptoKey.static create<T extends CryptoKey$1>(this: new () => T, algorithm: Algorithm, type: KeyType, extractable: boolean, usages: KeyUsages): T<T extends CryptoKey>(this: new () => T, algorithm: Algorithm, type: KeyType, extractable: boolean, usages: KeyUsages): T
AesProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
AesProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
AesProvider.onGenerateKey(algorithm: AesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(algorithm: AesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
DesProvider.onDecrypt(algorithm: DesParams, key: CryptoKey$1, data: ArrayBuffer, ...args: any[]): Promise<ArrayBuffer>(algorithm: DesParams, key: CryptoKey, data: ArrayBuffer, ...args: any[]): Promise<ArrayBuffer>
DesProvider.onEncrypt(algorithm: DesParams, key: CryptoKey$1, data: ArrayBuffer, ...args: any[]): Promise<ArrayBuffer>(algorithm: DesParams, key: CryptoKey, data: ArrayBuffer, ...args: any[]): Promise<ArrayBuffer>
DesProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
DesProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
DesProvider.onGenerateKey(algorithm: DesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(algorithm: DesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
RsaProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
RsaProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: RsaHashedImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: RsaHashedImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
EcdhProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
EcdhProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: EcKeyImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: EcKeyImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
EcdhProvider.onDeriveBits(algorithm: EcdhKeyDeriveParams, baseKey: CryptoKey$1, length: number, ...args: any[]): Promise<ArrayBuffer>(algorithm: EcdhKeyDeriveParams, baseKey: CryptoKey, length: number, ...args: any[]): Promise<ArrayBuffer>
HkdfProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
HkdfProvider.onDeriveBits(algorithm: HkdfParams, baseKey: CryptoKey$1, length: number, ...args: any[]): Promise<ArrayBuffer>(algorithm: HkdfParams, baseKey: CryptoKey, length: number, ...args: any[]): Promise<ArrayBuffer>
HmacProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
HmacProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: HmacImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: HmacImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
HmacProvider.onGenerateKey(algorithm: HmacKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(algorithm: HmacKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
SubtleCrypto.constructor(): SubtleCrypto$1(): SubtleCrypto
SubtleCrypto.checkCryptoKey(key: CryptoKey): asserts key is CryptoKey$1(key: CryptoKey): asserts key is CryptoKey
AesKwProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
AesKwProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
AesKwProvider.onGenerateKey(algorithm: AesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(algorithm: AesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
EcdsaProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
EcdsaProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: EcKeyImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: EcKeyImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
EdDsaProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
EdDsaProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: EcKeyImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: EcKeyImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
AesCbcProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
AesCbcProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
AesCbcProvider.onGenerateKey(algorithm: AesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(algorithm: AesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
AesCtrProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
AesCtrProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
AesCtrProvider.onGenerateKey(algorithm: AesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(algorithm: AesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
AesEcbProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
AesEcbProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
AesEcbProvider.onGenerateKey(algorithm: AesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(algorithm: AesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
AesGcmProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
AesGcmProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
AesGcmProvider.onGenerateKey(algorithm: AesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(algorithm: AesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
EcdhEsProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
EcdhEsProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: EcKeyImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: EcKeyImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
EcdhEsProvider.onDeriveBits(algorithm: EcdhKeyDeriveParams, baseKey: CryptoKey$1, length: number, ...args: any[]): Promise<ArrayBuffer>(algorithm: EcdhKeyDeriveParams, baseKey: CryptoKey, length: number, ...args: any[]): Promise<ArrayBuffer>
Pbkdf2Provider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
Pbkdf2Provider.onDeriveBits(algorithm: Pbkdf2Params, baseKey: CryptoKey$1, length: number, ...args: any[]): Promise<ArrayBuffer>(algorithm: Pbkdf2Params, baseKey: CryptoKey, length: number, ...args: any[]): Promise<ArrayBuffer>
RsaPssProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
RsaPssProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: RsaHashedImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: RsaHashedImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
RsaSsaProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
RsaSsaProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: RsaHashedImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: RsaHashedImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
AesCmacProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
AesCmacProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: Algorithm, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
AesCmacProvider.onGenerateKey(algorithm: AesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(algorithm: AesKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
RsaOaepProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
RsaOaepProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: RsaHashedImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: RsaHashedImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>
EllipticProvider.onExportKey(format: KeyFormat, key: CryptoKey$1, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>(format: KeyFormat, key: CryptoKey, ...args: any[]): Promise<ArrayBuffer | JsonWebKey>
EllipticProvider.onImportKey(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: EcKeyImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey$1>(format: KeyFormat, keyData: ArrayBuffer | JsonWebKey, algorithm: EcKeyImportParams, extractable: boolean, keyUsages: KeyUsage[], ...args: any[]): Promise<CryptoKey>

Newly deprecated

None detected.

Requirement changes (engines, peer dependencies)

BeforeAfter
engines.node—^20.19.0 || >=22.12.0
peerDependencies.asn1js—^4.0.0
peerDependencies.@peculiar/asn1-schema—^3.0.0
peerDependencies.@peculiar/json-schema—^3.0.0

Give your AI agent these facts

Vigia is a free MCP server: your coding agent checks versions, breaking changes and vulnerabilities before it writes code. No signup, no API key.

claude mcp add --transport http vigia https://vigia.coredls.cloud/mcp

Add to CursorAdd to VS Code★ Star on GitHub

Any other MCP client
{ "mcpServers": { "vigia": { "url": "https://vigia.coredls.cloud/mcp" } } }

Agent skill (SKILL.md): tells the agent when to use Vigia · GitHub Action for pull requests

Frequently asked questions

What are the breaking changes when upgrading webcrypto-core from 1 to 2?

Between webcrypto-core 1.9.2 and 2.0.0, Vigia found 2 removed exports, 1 changed signatures and 59 removed or changed class or interface members.

What became deprecated in webcrypto-core 2?

0 exports or members are newly marked as deprecated in webcrypto-core 2.0.0.

For agents

GET https://vigia.coredls.cloud/v1/packages/npm/webcrypto-core/upgrade?from=1.9.2&to=2.0.0