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 paths | 0 |
|---|---|
| Removed exports | 0 |
| Changed signatures | 2 |
| Removed class or interface members | 17 |
| Changed class or interface members | 4 |
| Newly deprecated | 0 |
| Requirement changes (engines, peer dependencies) | 1 |
| New exports | 0 |
Removed exports
None detected.
Changed signatures
| export | Before | After |
|---|---|---|
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
| member | import | Before |
|---|---|---|
default._get | conf | any |
default._set | conf | any |
default._watch | conf | any |
default._write | conf | any |
default._migrate | conf | any |
default._validate | conf | any |
default._serialize | conf | any |
default._decryptData | conf | any |
default._deserialize | conf | any |
default._ensureDirectory | conf | any |
default._handleStoreChange | conf | any |
default._handleValueChange | conf | any |
default._isReservedKeyPath | conf | any |
default._containsReservedKey | conf | any |
default._isVersionInRangeFormat | conf | any |
default._shouldPerformMigration | conf | any |
default._objectContainsReservedKey | conf | any |
Changed class or interface members
| member | Before | After |
|---|---|---|
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)
| Before | After | |
|---|---|---|
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