Vigia

Upgrading conf from 15.x to 16.x

Comparison of the public API of conf 15.1.0 and 16.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 exports0
Changed signatures2
Removed class or interface members17
Changed class or interface members4
Newly deprecated0
Requirement changes (engines, peer dependencies)1
New exports0

Removed exports

None detected.

Changed signatures

exportBeforeAfter
conf · Schema{ [Property in keyof T]: TypedJSONSchema; }{ [Property in keyof T]?: any; }
conf · Options{ defaults?: Readonly<T> | undefined; schema?: Schema<T> | undefined; rootSchema?: Omit<TypedJSONSchema, "properties"> | undefined; ajvOptions?: any; configName?: string | undefined; projectName?: string | undefined; projectVersion?: string | undefined; migrations?: Migrations<T> | undefined; beforeEachMigration?: BeforeEachMigrationCallback<T> | undefined; cwd?: string | undefined; encryptionKey?: any; encryptionAlgorithm?: "aes-256-cbc" | "aes-256-gcm" | "aes-256-ctr" | undefined; fileExtension?: string | undefined; clearInvalidConfig?: boolean | undefined; readonly serialize?: Serialize<T> …{ defaults?: Readonly<DefaultsOf<T>> | undefined; schema?: Schema<T> | undefined; rootSchema?: any; ajvOptions?: any; configName?: string | undefined; projectName?: string | undefined; projectVersion?: string | undefined; migrations?: Migrations<T> | undefined; beforeEachMigration?: BeforeEachMigrationCallback<T> | undefined; cwd?: string | undefined; encryptionKey?: any; encryptionAlgorithm?: "aes-256-cbc" | "aes-256-gcm" | "aes-256-ctr" | undefined; fileExtension?: string | undefined; clearInvalidConfig?: boolean | undefined; readonly serialize?: Serialize<T> | undefined; readonly deserializ…

Removed class or interface members

memberimportBefore
default._getconfany
default._setconfany
default._watchconfany
default._writeconfany
default._migrateconfany
default._validateconfany
default._serializeconfany
default._decryptDataconfany
default._deserializeconfany
default._ensureDirectoryconfany
default._handleStoreChangeconfany
default._handleValueChangeconfany
default._isReservedKeyPathconfany
default._containsReservedKeyconfany
default._isVersionInRangeFormatconfany
default._shouldPerformMigrationconfany
default._objectContainsReservedKeyconfany

Changed class or interface members

memberBeforeAfter
default.get<Key extends keyof T>(key: Key): T[Key] | <Key extends keyof T>(key: Key, defaultValue: Required<T>[Key]): Required<T>[Key] | <Key extends DotNotationKeyOf<T>>(key: Key): DotNotationValueOf<T, Key> | <Key extends DotNotationKeyOf<T>>(key: Key, defaultValue: NonNullable<DotNotationValueOf<T, Key>>): …<Key extends keyof T>(key: Key): T[Key] | <Key extends keyof T>(key: Key, defaultValue: Exclude<T[Key], undefined>): Exclude<T[Key], undefined> | <Key extends DotNotationKeyOf<T>>(key: Key): DotNotationValueOf<T, Key> | <Key extends DotNotationKeyOf<T>>(key: Key, defaultValue: Exclude<DotNotationVal…
default.set<Key extends keyof T>(key: Key, value?: T[Key] | undefined): void | <Key extends DotNotationKeyOf<T>>(key: Key, Value?: DotNotationValueOf<T, Key> | undefined): void | (key: string, value: unknown): void | (object: PartialObjectDeep<T>): void<Key extends keyof T>(key: Key, value: Exclude<T[Key], undefined>): void | <Key extends DotNotationKeyOf<T>>(key: Key, value: Exclude<DotNotationValueOf<T, Key>, undefined>): void | <Key extends string>(key: Key & (string extends Key ? Key : Exclude<Key, { [K in keyof Required<T>]: K extends string …
default.reset<Key extends keyof T>(...keys: Key[]): void<Key extends keyof T>(...keys: Key[]): void | <Key extends DotNotationKeyOf<T>>(...keys: Key[]): void
default.appendToArray<Key extends keyof T>(key: Key, value: T[Key] extends readonly (infer U)[] ? U : unknown): void | <Key extends DotNotationKeyOf<T>>(key: Key, value: DotNotationValueOf<T, Key> extends readonly (infer U)[] ? U : unknown): void<Key extends keyof T>(key: Key, value: ArrayItemsOf<T[Key]>): void | <Key extends DotNotationKeyOf<T>>(key: Key, value: ArrayItemsOf<DotNotationValueOf<T, Key>>): void

Newly deprecated

None detected.

Requirement changes (engines, peer dependencies)

BeforeAfter
engines.node>=20>=22

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 conf from 15 to 16?

Between conf 15.1.0 and 16.0.0, Vigia found 0 removed exports, 2 changed signatures and 21 removed or changed class or interface members.

What became deprecated in conf 16?

0 exports or members are newly marked as deprecated in conf 16.0.0.

For agents

GET https://vigia.coredls.cloud/v1/packages/npm/conf/upgrade?from=15.1.0&to=16.0.0