@nestjs/config is a configuration module for the Nest.js framework that uses dotenv to load process environment variables. It’s useful for managing app configuration in Node.js and TypeScript Nest server-side applications.
Project status
- The repository appears actively maintained, with the last upstream push on 2026-08-12 and recent tagged updates (4.0.4 on 2026-04-09, 4.0.3 on 2026-02-04).
- The apparent update cadence in the most recent period is steady, with updates about every 2 to 3 months (Feb 2026 to Apr 2026), suggesting ongoing maintenance rather than a long pause.
AI summary generated
Recent updates
4.0.4
Release 4.0.4 primarily updates runtime dependencies dotenv and lodash, with lodash marked as a security-related bump. The code diff also shows additional non-runtime changes, including CI Node version updates and multiple development toolchain dependency upgrades not mentioned in the release notes.
Security4.0.3
Release 4.0.3 primarily updates runtime dependencies used by @nestjs/config, including lodash, dotenv, and dotenv-expand. The code diff shows no application logic changes, but it does include CI Node version and a large set of development/tooling dependency updates that are not mentioned in the release notes.
Security4.0.2
Release 4.0.2 primarily updates the shared KeyOf<T> type in lib/config.service.ts so it can include symbol keys. The code diff also shows non-functional repo and tooling changes, including removal of a README coverage badge and multiple devDependency updates in package.json and package-lock.json.
4.0.1
Release 4.0.1 primarily adds support for using JavaScript Symbols as config tokens. It also adjusts how predefined condition validation is triggered (fixing the logic for validatePredefined with ignoreEnvVars).
Features4.0.0
Release 4.0.0 changes how ConfigService#get resolves values, with internal configuration taking precedence over validated environment variables, and process.env being consulted last. It also introduces new configuration options to control validation of predefined env vars (validatePredefined) and to optionally disable reading process.env entirely (skipProcessEnv).
BreakingFeatures3.3.0
Release 3.3.0 introduces support for loading configuration asynchronously via the ConfigModule load option. The implementation changes both typing and runtime behavior, and adds an e2e test that validates async-loaded config factories.
BreakingFeatures3.2.3
Release 3.2.3 primarily consists of dependency bumps (Nest monorepo, TypeScript, linting tooling, and various @types packages). It also includes a code change to make ConditionalModule error and debug messages reference a cleaner module name, and it replaces the external uuid dependency with Node's crypto.randomUUID.
Features3.2.2
Release 3.2.2 primarily updates the development toolchain (TypeScript, Nest monorepo packages, Node-related types, linting tooling) and bumps CI to Node 21.7. The only functional change in the library code is in ConditionalModule, adding the ability to disable debug logging when a conditional module registration is skipped.
Features3.2.1
Release 3.2.1 is primarily a maintenance update with dependency bumps and test improvements for environment variable loading behavior. The only production code change in the diff is in ConditionalModule timeout handling, specifically adding timer.unref() and clearing the timeout after configuration variables finish loading.
3.2.0
Release 3.2.0 adds a new configuration change stream and introduces dynamic environment updates via ConfigService#set, including interpolation updates for dependent env variables. The code also wires env file paths into ConfigService so it can re-parse .env files when updating values.
Features