Vigia

Upgrading dotenv from 16.x to 17.x

Comparison of the public API of dotenv 16.6.1 and 17.4.2, 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 signatures1
Removed class or interface members0
Changed class or interface members1
Newly deprecated0
Requirement changes (engines, peer dependencies)0
New exports2

Removed exports

None detected.

Changed signatures

exportBeforeAfter
dotenv · populate(processEnv: DotenvPopulateInput, parsed: DotenvPopulateInput, options?: DotenvConfigOptions | undefined): void(processEnv: DotenvPopulateInput, parsed: DotenvPopulateInput, options?: DotenvPopulateOptions | undefined): DotenvPopulateOutput

Removed class or interface members

None detected.

Changed class or interface members

memberBeforeAfter
DotenvConfigOutput.errorError | undefinedDotenvError | undefined

Newly deprecated

None detected.

Requirement changes (engines, peer dependencies)

None detected.

New exports (2)
importexportkind
dotenvDotenvErrortype
dotenvDotenvPopulateOutputinterface

Changelog between these versions

Text published by the package authors, shown as-is.

17.4.2
17.4.2
### Changed

* Improved skill files - tightened up details ([#1009](https://github.com/motdotla/dotenv/pull/1009))
17.4.1
### Changed

* Change text `injecting` to `injected` ([#1005](https://github.com/motdotla/dotenv/pull/1005))
17.4.0
### Added

* Add `skills/` folder with focused agent skills: `skills/dotenv/SKILL.md` (core usage) and `skills/dotenvx/SKILL.md` (encryption, multiple environments, variable expansion) for AI coding agent discovery via the skills.sh ecosystem (`npx skills add motdotla/dotenv`)

### Changed

* Tighten up logs: `◇ injecting env (14) from .env` ([#1003](https://github.com/motdotla/dotenv/pull/1003))
17.3.1
### Changed

* Fix as2 example command in README and update spanish README
17.3.0
### Added

* Add a new README section on dotenv’s approach to the agentic future.

### Changed

* Rewrite README to get humans started more quickly with less noise while simultaneously making more accessible for llms and agents to go deeper into details.
17.2.4
### Changed

* Make `DotenvPopulateInput` accept `NodeJS.ProcessEnv` type ([#915](https://github.com/motdotla/dotenv/pull/915))
- Give back to dotenv by checking out my newest project [vestauth](https://github.com/vestauth/vestauth). It is auth for agents. Thank you for using my software.
17.2.3
### Changed

* Fixed typescript error definition ([#912](https://github.com/motdotla/dotenv/pull/912))
17.2.2
### Added

- 🙏 A big thank you to new sponsor [Tuple.app](https://tuple.app/dotenv) - *the premier screen sharing app for developers on macOS and Windows.* Go check them out. It's wonderful and generous of them to give back to open source by sponsoring dotenv. Give them some love back.
17.2.1
### Changed

* Fix clickable tip links by removing parentheses ([#897](https://github.com/motdotla/dotenv/pull/897))
17.2.0
### Added

* Optionally specify `DOTENV_CONFIG_QUIET=true` in your environment or `.env` file to quiet the runtime log ([#889](https://github.com/motdotla/dotenv/pull/889))
* Just like dotenv any `DOTENV_CONFIG_` environment variables take precedence over any code set options like `({quiet: false})`

```ini
# .env
DOTENV_CONFIG_QUIET=true
HELLO="World"
```
```js
// index.js
require('dotenv').config()
console.log(`Hello ${process.env.HELLO}`)
```
```sh
$ node index.js
Hello World

or

$ DOTENV_CONFIG_QUIET=true node index.js
```
17.1.0
### Added

* Add additional security and configuration tips to the runtime log ([#884](https://github.com/motdotla/dotenv/pull/884))
* Dim the tips text from the main injection information text

```js
const TIPS = [
  '🔐 encrypt with dotenvx: https://dotenvx.com',
  '🔐 prevent committing .env to code: https://dotenvx.com/precommit',
  '🔐 prevent building .env in docker: https://dotenvx.com/prebuild',
  '🛠️  run anywhere with `dotenvx run -- yourcommand`',
  '⚙️  specify custom .env file path with { path: \'/custom/path/.env\' }',
  '⚙️  enable debug logging with { debug: true }',
  '⚙️  override existing env vars with { override: true }',
  '⚙️  suppress all logs with { quiet: true }',
  '⚙️  write to custom object with { processEnv: myObject }',
  '⚙️  load multiple .env files with { path: [\'.env.local\', \'.env\'] }'
]
```
17.0.1
### Changed

* Patched injected log to count only populated/set keys to process.env ([#879](https://github.com/motdotla/dotenv/pull/879))
17.0.0
### Changed

- Default `quiet` to false - informational (file and keys count) runtime log message shows by default ([#875](https://github.com/motdotla/dotenv/pull/875))

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 dotenv from 16 to 17?

Between dotenv 16.6.1 and 17.4.2, Vigia found 0 removed exports, 1 changed signatures and 1 removed or changed class or interface members.

What became deprecated in dotenv 17?

0 exports or members are newly marked as deprecated in dotenv 17.4.2.

For agents

GET https://vigia.coredls.cloud/v1/packages/npm/dotenv/upgrade?from=16.6.1&to=17.4.2