Vigia

Upgrading keyv from 5.x to 6.x

Comparison of the public API of keyv 5.6.0 and 6.1.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 exports7
Changed signatures3
Removed class or interface members60
Changed class or interface members22
Newly deprecated2
Requirement changes (engines, peer dependencies)0
New exports47

Removed exports

importexportkindBefore
keyvSerializetype<Value>(data: DeserializedData<Value>) => string | Promise<string>
keyvStoredDatatypeValue | DeserializedData<Value> | undefined
keyvDeserializetype<Value>(data: string) => DeserializedData<Value> | Promise<DeserializedData<Value> | undefined> | undefined
keyvIEventEmittertype{ on(event: string, listener: (...arguments_: any[]) => void): IEventEmitter; }
keyvStoredDataRawtypeDeserializedData<Value> | undefined
keyvStoredDataNoRawtypeValue | undefined
keyvCompressionAdaptertype{ compress(value: any, options?: any): Promise<any>; decompress(value: any, options?: any): Promise<any>; serialize<Value>(data: DeserializedData<Value>): string | Promise<string>; deserialize<Value>(data: string): DeserializedData<Value> | Promise<DeserializedData<Value> | undefined> | undefined; }

Changed signatures

exportBeforeAfter
keyv · KeyvEntry{ key: string; value: any; ttl?: number | undefined; }{ key: string; value: Value; ttl?: number | undefined; }
keyv · KeyvOptions{ emitErrors?: boolean | undefined; namespace?: string | undefined; serialize?: Serialize | undefined; deserialize?: Deserialize | undefined; store?: any; ttl?: number | undefined; compression?: any; stats?: boolean | undefined; useKeyPrefix?: boolean | undefined; throwOnErrors?: boolean | undefined; }{ namespace?: string | undefined; serialization?: false | KeyvSerializationAdapter | undefined; store?: any; ttl?: number | undefined; compression?: any; stats?: boolean | undefined; sanitize?: KeyvSanitizeOptions | undefined; encryption?: KeyvEncryptionAdapter | undefined; checkExpired?: boolean | undefined; }
keyv · KeyvStoreAdapter{ opts: any; namespace?: string | undefined; get<Value>(key: string): Promise<StoredData<Value>>; set(key: string, value: any, ttl?: number | undefined): any; setMany?(values: { key: string; value: any; ttl?: number | undefined; }[]): Promise<void>; delete(key: string): Promise<boolean>; clear(): Promise<void>; has?(key: string): Promise<boolean>; hasMany?(keys: string[]): Promise<boolean[]>; getMany?<Value>(keys: string[]): Promise<StoredData<Value | undefined>[]>; disconnect?(): Promise<void>; deleteMany?(key: string[]): Promise<boolean>; iterator?<Value>(namespace?: string | undefined): Asy…any

Removed class or interface members

memberimportBefore
Keyv.onkeyv(event: string, listener: EventListener): Keyv<GenericValue>
Keyv.offkeyv(event: string, listener: EventListener): void
Keyv.emitkeyv(event: string, ...arguments_: any[]): void
Keyv.oncekeyv(event: string, listener: EventListener): void
Keyv.optskeyvKeyvOptions_
Keyv.hookskeyvHooksManager
Keyv.listenerskeyv(event: string): EventListener[]
Keyv.serializekeyvSerialize | undefined
Keyv._serializekeyvany
Keyv.addListenerkeyv(event: string, listener: EventListener): void
Keyv.deserializekeyvDeserialize | undefined
Keyv._deserializekeyvany
Keyv.maxListenerskeyv(): number
Keyv.useKeyPrefixkeyvboolean
Keyv._getKeyPrefixkeyv(key: string): string
Keyv._maxListenerskeyvnumber
Keyv._useKeyPrefixkeyvany
Keyv.serializeDatakeyv<T>(data: DeserializedData<T>): Promise<string | DeserializedData<T>>
Keyv.throwOnErrorskeyvboolean
Keyv._throwOnErrorskeyvany
Keyv.removeListenerkeyv(event: string, listener: EventListener): void
Keyv._eventListenerskeyvMap<string, EventListener[]>
Keyv._getKeyUnprefixkeyv(key: string): string
Keyv.deserializeDatakeyv<T>(data: string | DeserializedData<T>): Promise<DeserializedData<T> | undefined>
Keyv.setMaxListenerskeyv(n: number): void
Keyv.generateIteratorkeyv(iterator: IteratorFunction): IteratorFunction
Keyv._getKeyPrefixArraykeyv(keys: string[]): string[]
Keyv.removeAllListenerskeyv(event?: string | undefined): void
Keyv._checkIterableAdapterkeyv(): boolean
Keyv._isValidStorageAdapterkeyv(store: any): boolean
default.onkeyv(event: string, listener: EventListener): Keyv<GenericValue>
default.offkeyv(event: string, listener: EventListener): void
default.emitkeyv(event: string, ...arguments_: any[]): void
default.oncekeyv(event: string, listener: EventListener): void
default.optskeyvKeyvOptions_
default.hookskeyvHooksManager
default.listenerskeyv(event: string): EventListener[]
default.serializekeyvSerialize | undefined
default._serializekeyvany
default.addListenerkeyv(event: string, listener: EventListener): void
default.deserializekeyvDeserialize | undefined
default._deserializekeyvany
default.maxListenerskeyv(): number
default.useKeyPrefixkeyvboolean
default._getKeyPrefixkeyv(key: string): string
default._maxListenerskeyvnumber
default._useKeyPrefixkeyvany
default.serializeDatakeyv<T>(data: DeserializedData<T>): Promise<string | DeserializedData<T>>
default.throwOnErrorskeyvboolean
default._throwOnErrorskeyvany
default.removeListenerkeyv(event: string, listener: EventListener): void
default._eventListenerskeyvMap<string, EventListener[]>
default._getKeyUnprefixkeyv(key: string): string
default.deserializeDatakeyv<T>(data: string | DeserializedData<T>): Promise<DeserializedData<T> | undefined>
default.setMaxListenerskeyv(n: number): void
default.generateIteratorkeyv(iterator: IteratorFunction): IteratorFunction
default._getKeyPrefixArraykeyv(keys: string[]): string[]
default.removeAllListenerskeyv(event?: string | undefined): void
default._checkIterableAdapterkeyv(): boolean
default._isValidStorageAdapterkeyv(store: any): boolean

Changed class or interface members

memberBeforeAfter
Keyv.get<Value = GenericValue>(key: string, options?: { raw: false; } | undefined): Promise<StoredDataNoRaw<Value>> | <Value = GenericValue>(key: string, options?: { raw: true; } | undefined): Promise<StoredDataRaw<Value>> | <Value = GenericValue>(key: string[], options?: { raw: false; } | undefined): Promi…<Value = GenericValue>(key: string): Promise<Value | undefined> | <Value = GenericValue>(key: string[]): Promise<(Value | undefined)[]>
Keyv.statsStatsManagerKeyvStats
Keyv.delete(key: string | string[]): Promise<boolean>(key: string): Promise<boolean> | (keys: string[]): Promise<boolean[]>
Keyv.getRaw<Value = GenericValue>(key: string): Promise<StoredDataRaw<Value>><Value = GenericValue>(key: string): Promise<KeyvStorageGetResult<Value>>
Keyv.getMany<Value = GenericValue>(keys: string[], options?: { raw: false; } | undefined): Promise<StoredDataNoRaw<Value>[]> | <Value = GenericValue>(keys: string[], options?: { raw: true; } | undefined): Promise<StoredDataRaw<Value>[]><Value = GenericValue>(keys: string[]): Promise<(Value | undefined)[]>
Keyv.setMany<Value = GenericValue>(entries: KeyvEntry[]): Promise<boolean[]><Value = GenericValue>(entries: KeyvEntry<Value>[]): Promise<boolean[]>
Keyv.iteratorIteratorFunction | undefined(): AsyncGenerator<[string, any], void, any>
Keyv.deleteMany(keys: string[]): Promise<boolean>(keys: string[]): Promise<boolean[]>
Keyv.getManyRaw<Value = GenericValue>(keys: string[]): Promise<StoredDataRaw<Value>[]><Value = GenericValue>(keys: string[]): Promise<KeyvStorageGetResult<Value>[]>
Keyv.compressionCompressionAdapter | undefinedKeyvCompressionAdapter | undefined
Keyv.constructor<GenericValue = any>(store?: KeyvStoreAdapter | KeyvOptions | Map<any, any> | undefined, options?: Omit<KeyvOptions, "store"> | undefined): Keyv<GenericValue> | <GenericValue = any>(options?: KeyvOptions | undefined): Keyv<GenericValue><GenericValue = any>(store?: any, options?: Omit<KeyvOptions, "store"> | undefined): Keyv<GenericValue> | <GenericValue = any>(options?: KeyvOptions | undefined): Keyv<GenericValue>
default.get<Value = GenericValue>(key: string, options?: { raw: false; } | undefined): Promise<StoredDataNoRaw<Value>> | <Value = GenericValue>(key: string, options?: { raw: true; } | undefined): Promise<StoredDataRaw<Value>> | <Value = GenericValue>(key: string[], options?: { raw: false; } | undefined): Promi…<Value = GenericValue>(key: string): Promise<Value | undefined> | <Value = GenericValue>(key: string[]): Promise<(Value | undefined)[]>
default.statsStatsManagerKeyvStats
default.delete(key: string | string[]): Promise<boolean>(key: string): Promise<boolean> | (keys: string[]): Promise<boolean[]>
default.getRaw<Value = GenericValue>(key: string): Promise<StoredDataRaw<Value>><Value = GenericValue>(key: string): Promise<KeyvStorageGetResult<Value>>
default.getMany<Value = GenericValue>(keys: string[], options?: { raw: false; } | undefined): Promise<StoredDataNoRaw<Value>[]> | <Value = GenericValue>(keys: string[], options?: { raw: true; } | undefined): Promise<StoredDataRaw<Value>[]><Value = GenericValue>(keys: string[]): Promise<(Value | undefined)[]>
default.setMany<Value = GenericValue>(entries: KeyvEntry[]): Promise<boolean[]><Value = GenericValue>(entries: KeyvEntry<Value>[]): Promise<boolean[]>
default.iteratorIteratorFunction | undefined(): AsyncGenerator<[string, any], void, any>
default.deleteMany(keys: string[]): Promise<boolean>(keys: string[]): Promise<boolean[]>
default.getManyRaw<Value = GenericValue>(keys: string[]): Promise<StoredDataRaw<Value>[]><Value = GenericValue>(keys: string[]): Promise<KeyvStorageGetResult<Value>[]>
default.compressionCompressionAdapter | undefinedKeyvCompressionAdapter | undefined
default.constructor<GenericValue = any>(store?: KeyvStoreAdapter | KeyvOptions | Map<any, any> | undefined, options?: Omit<KeyvOptions, "store"> | undefined): Keyv<GenericValue> | <GenericValue = any>(options?: KeyvOptions | undefined): Keyv<GenericValue><GenericValue = any>(store?: any, options?: Omit<KeyvOptions, "store"> | undefined): Keyv<GenericValue> | <GenericValue = any>(options?: KeyvOptions | undefined): Keyv<GenericValue>

Newly deprecated

export@deprecated
keyv · DeserializedDataUse `KeyvValue` instead.
keyv · KeyvStoreAdapterUse `KeyvStorageAdapter` instead.

Requirement changes (engines, peer dependencies)

None detected.

New exports (47)
importexportkind
keyvKeyvAnytype
keyvKeyvStatsclass
keyvKeyvValuetype
keyvKeyvEventsenum
keyvKeyvMapAnytype
keyvMethodTypetype
keyvcreateKeyvfunction
keyvdetectKeyvfunction
keyvKeyvMapTypetype
keyvKeyvMethodstype
keyvKeyvAnyArraytype
keyvKeyvSanitizeclass
keyvKeyvCapabilitytype
keyvKeyvPropertiestype
keyvjsonSerializervariable
keyvKeyvBridgeStoretype
keyvKeyvCompressiontype
keyvKeyvStatsOptionstype
keyvKeyvStorageEntrytype
keyvKeyvBridgeAdapterclass
keyvKeyvMemoryAdapterclass
keyvKeyvStorageMethodtype
keyvdetectKeyvStoragefunction
keyvKeyvJsonSerializerclass
keyvKeyvStorageAdaptertype
keyvKeyvStorageMethodstype
keyvKeyvTelemetryEventtype
keyvKeyvSanitizeAdaptertype
keyvKeyvSanitizeOptionstype
keyvKeyvSanitizePatternstype
keyvKeyvStorageGetResulttype
keyvdetectKeyvEncryptionfunction
keyvKeyvEncryptionAdaptertype
keyvKeyvEncryptionMethodstype
keyvKeyvStorageCapabilitytype
keyvdetectKeyvCompressionfunction
keyvkeyvStorageCapabilityfunction
keyvKeyvCompressionAdaptertype
keyvKeyvCompressionMethodstype
keyvdetectKeyvSerializationfunction
keyvKeyvBridgeAdapterOptionstype
keyvKeyvEncryptionCapabilitytype
keyvKeyvMemoryAdapterOptionstype
keyvKeyvSerializationAdaptertype
keyvKeyvSerializationMethodstype
keyvKeyvCompressionCapabilitytype
keyvKeyvSerializationCapabilitytype

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 keyv from 5 to 6?

Between keyv 5.6.0 and 6.1.0, Vigia found 7 removed exports, 3 changed signatures and 82 removed or changed class or interface members.

What became deprecated in keyv 6?

2 exports or members are newly marked as deprecated in keyv 6.1.0.

For agents

GET https://vigia.coredls.cloud/v1/packages/npm/keyv/upgrade?from=5.6.0&to=6.1.0