We've moved this content to Github Releases.
Future release notes are managed there.
- No new changes. 3.3.6 was not published to NPM in versioning mix-up.
- Release notes are moving to Github Releases page going forward.
- Added publishConfig element to package.json to prevent publishing to the wrong repository - @lorenwest
- FIX #628 Uncaught ReferenceError: node_env_var_name is not defined @prnake
- FIX #517 0 loadFileConfigs incorrectly adds to getConfigSources @NguyenMatthieu
- FIX #460 - Strict mode warning refer to appropriate env variable @iCodeOkay
- Use Buffer.alloc and Buffer.from instead of contrsuctor @Fcmam5
- Add support for experimental .cjs modules @lenkan
- Fixed issue with Buffers in config throwing error in util.makeImmutable (#608) - Michal Wadas
- Added boolean and numeric types to custom environment variables - Ankur Narkhede @ankurnarkhede
- Fix security vulnerability in json5 dependency - @twkel
- Allow all defined values in
substituteDeep
- @fostyfost
- Updated copyright date ranges
- Fixed issue with getCustomEnvVars and multiple config dirs #585 - @dekelev
- Improved error handling of env variables value parse - @leonardovillela
- Fixed strict mode warning #460 - @fedulovivan
- Fixed delimiter bug in configDirs to match O/S delimiter - @iMoses
- Fixed TypeError: obj.toString is not a function - @leosuncin
- Asynchronous configs - @iMoses
- Multiple config directories - @iMoses
- Improved parser support - @iMoses
- Support of module.exports syntax for TS config files @keenondrums
- Fixed bug where dot notation extended own key @exogen
- Ensure config array items and objects are sealed @fgheorghe
- This required a major version bump in case someone
- relied on the ability to mutate non-sealed data.
- Added dot notation to setModuleDefaults - bertho-zero
- Updated copyright year - JemiloII
- Removed deprecated code - jpwilliams
Potential for backward incompatibility requiring a major version bump.
Safe to upgrade to major version 2 if you're using a recent NodeJS version and you're not trying to mutate config arrays.
- Added array immutability - jacobemerick
- Removed Node V.4 support
- Load new coffeescript module instead of coffee-script - bastbijl
- Support for nested raw() in javascript configurations - patrickpilch
- Re-publish - last changes didn't make it to npm
- Added soft dependencies so transpilers don't include everything - gewentao
- Patch, and added a test to ts-node - electroma
- Prevent re-registration of ts-node - electroma
- Fixed bug in contributor table tool - lorenwest
- Update docs for JavaScript-formatted config files and link them from the README - markstos
- Fixed 'hostname' value selection when there is no environment variable for that - wmangelardo
- add nodejs9 to travisci - jfelege
- allow overrides of
NODE_ENV
withNODE_CONFIG_ENV
- jfelege
- Add method to output plain JS object - willsoto
- Updated Node versions in Travis CI - lorenwest
- Update supported nodejs platforms - jfelege
- Fix: failed while merging from RegExp @XadillaX
- Chore: reduce package size. @evilebottnawi
- Added tests for extendDeep @IvanVergiliev
- Added TypeScript support @cypherq
- Update config.js with correctly cased type def @ScionOfBytes
- Fixed undefined CONFIG_SKIP_GITCRYPT variable @lorenwest
- Add support for configuration files stored with git-crypt @cunneen
- Prevent accidental publish to private repository
- Re-publishing because npmjs didn't see 1.22
- original/previous value for deferredConfig @simon-scherzinger
- util.loadFileConfigs: support optional source dir @wmertens
- Adding raw wrapper to prevent object modification in config @patrickpilch
- Added XML configuration @tusharmath
- Fixed a regression with extending prototype methods @tahoemph
- Fixed a regression with 1.20.2 @kgoerlitz
- Added test to prevent this in the future @kgoerlitz
- node v6 compatiblity: remove deprecated lookupGetter use - @thetalecrafter
- node v6 compatiblity: handle different SyntaxError format - @pwwolf
- Simplify truthiness check - @markstos
- Remove errant console.log - @markstos
-
Typo fix @jchip
-
Handle null sub-object @wmertens
-
Bug fix for NODE_CONFIG_STRICT_MODE check @markstos
-
Ran node security check on 4/6/2016 with the following output
$ nsp check (+) No known vulnerabilities found
- Resolve defered values in predictable order for consistent results. Fixes #265 @elliotttf @markstos
- More robust handling of JSON @elliotttf
- Patch release for regex bugfix
- Update warning about missing configuration files to mention how to disable the warning #245 @markstos
- Upgrade to run CI with travis containers @lorenwest
- Fixed bug with comments and inline json @elliotttf
- Change == to === to tighten equality tests #242 @wgpsutherland
- Fix attachProtoDeep for setModuleDefaults #243 @benkroeger
- Added full hostname in addition to first segment @vicary
- Added JSON parsing to custom environment variables @leachiM2k
- Handle unicode BOM characters @johndkane
- Updated CSON library @dsimidzija
- Better date merging @axelhzf
- Added Hjson support @laktak
- Added TOML support (@jasonhansel)
- Another year - changed copyright messages for 2015
- Updated contributors list
- New Strict Mode added in 1.9.0 is now documented. (@markstos)
- has() now returns false when given an undefined or null key to look up. Previously it threw an exception. (@markstos)
- When get() is given an undefined or null key to look up, it now throws a more helpful diagnostic (@robludwig, @markstos)
-
New strictness checks have been added to ensure the expected configuration has been loaded. Warnings are now thrown in these cases. If NODE_CONFIG_STRICT_MODE is set, exceptions are thrown instead. (@markstos)
- There must be an explicit config file matching
NODE_ENV
ifNODE_ENV
is set. - There must be an explicit config file matching
NODE_APP_INSTANCE
ifNODE_APP_INSTANCE
is set NODE_ENV
must not match 'default' or 'local' to avoid ambiguity.
- There must be an explicit config file matching
-
Added .iced extension support (@arthanzel)
-
Highlight
config.has()
in the README. Use it to check to if a value exists, sinceconfig.get()
throws exceptions on undefined values. (@markstos) -
API Change: getConfigSources() now starts to return data on config files that are valid-but-empty. (@markstos)
- Simplify syntax for defer() functions. The 'this' value in the functions is now bound to the main configuration object, so it doesn't have to be passed into the function. (@markstos)
- new defer sub-module introduced in 1.8.0 can now be accessed by require('config/defer') For usage, see: https://github.com/node-config/node-config/wiki/Configuration-Files#javascript-module---js
- Add test coverage for array merging cases. (@markstos)
- Bump dependency on cson package to 1.6.1 (@markstos)
- Added deferred function for evaluating configs after load (@markstos) For details, see: https://github.com/node-config/node-config/wiki/Configuration-Files#javascript-module---js
- Bumped js-yaml dependency (@markstos)
- Added variable substitution in .properties files (@ncuillery)
- Added support for property accessors in configs (@jaylynch)
- Added support for .json5 config files (@bertrandom)
- Added support for .properties config files (@superoven)
- Added support for CSON configuration files (@superoven)
- Repaired the 1.2.3 fix to work both before and after the first get()
- Changed test suite to verify a bug in util.setModuleDefaults()
- Fixed util.setModuleDefaults() to work after a get() (and pass the new test)
- Added support for regexp and date configurations (@diversario)
- Wrote test to prove setModuleDefaults() was broken in 1.2.0
- Fixed setModuleDefaults() to not rely on immutable configs
- Feature release
- Delaying immutability until after first get() - for external configs
- Allowing immutability override with $ALLOW_CONFIG_MUTATIONS=Y
- @th507 - Update support for Coffee-script >=1.7.0
- Feature release
- @bradboro - Custom environment variables
- @supersheep - Catch error when requiring visionmedia yaml module
- @bradobro - Fixed a variable from leaking into global
- @tilfin - Removed un-necessary YAML comment filtering for js-yaml
- Removed test directory from npm install
- Major revision. Upgrade notes: https://github.com/node-config/node-config/wiki/Upgrading-From-Config-0.x
- Update to semver versioning
- Change load ordering from hostname.EXT --> deployment.EXT to deployment.EXT --> hostname.EXT
- Allow makeImmutable to accept an array of attributes
- Allow makeImmutable to accept no attrs, making all attributes immutable
- Allow recursion in makeImmutable, if an attribute is an object
- Change node-config behavior to make all configurations immutable
- Removed getOriginalConfig as no longer necessary post-immutable
- Removed runtime.json file writing and monitoring
- Removed previously deprecated $CONFIG_* environment configurations
- Deprecated the attribute watch functionality
- Added error output if no configurations found
- Exposed config loading for alternate configurations
- Added config.get() and config.has() methods & tests
- Removed reliance on global.NODE_CONFIG so older versions can work with 1.x
- Fix empty YAML file causing crash with latest js-yaml
- Added SUPPRESS_NO_CONFIG_WARNING for better sub-module support
- Moved all documentation to the wiki.
- Fix empty YAML file causing crash with latest js-yaml
- Not writing runtime.json if not used
- NODE_CONFIG_DIR can now contain a relative path for .js and .coffee configurations
- Updated copyright year
- Assure writes to runtime.json are atomic
- Don't freak out if running without a config directory
- Don't be so chatty if runtime.json doesn't exist
- Changed getConfigSources to copy array vs. object
- More consistent array extension
- No longer requiring a config directory
- Not erroneously writing runtime.json
- Exposing the original configuration sources
- Added --NODE_CONFIG={json} command line overrides
- Added $NODE_CONFIG={json} environment variable overrides
- Consistent handling of environment variables and command line parameters
- Reached 100 regression tests
- Added flag for disabling the write of runtime.json
- Eliminated a totally annoying install warning in newer versions of NPM
- Fixed a bug preventing double underscores in config environment variables
- Re-watch file on rename (allows editing runtime.json with vi)
- Allow runtime.json file watch disable via NODE_CONFIG_DISABLE_FILE_WATCH=Y
- Change no yaml parser error message to suggest using js-yaml
- Changed default clone depth from 6 to 20 to allow for deeper configurations
- Dont fail if config directory doesnt exist
- Added resetRuntime() to reset the runtime.json file
- Updated docs to reflect the new public method
- Multiple application instance support via $NODE_APP_INSTANCE
- Multi-app testing & documentation
- Added configuration $CONFIG_* environment variables
- Added $CONFIG_* documentation and tests
- Added NodeJS 0.10 integration test
- Triggering file.watch when an editor saves a file - rename vs. change
- Installed Travis-CI continuous integration testing framework
- Merged _diffDeep fix
- Added discovery of .yml in addition to .yaml for YAML configs (w/doc)
- Added testing of .yml file discovery
- Removed licensing inconsistencies
- Moved coffee-script and js-yaml from optionalDependencies back to devDependencies to trim the install size for those not needing these packages.
- Promoted $HOSTNAME and $HOST above OS.hostname()
- Allow the location of runtime.json to be picked up from the environment
- Added documentation for the NODE_CONFIG_RUNTIME_JSON environment variable
- package.json cleanup - created optionalDependencies and devDependencies
- Allowing a zero interval in watchForConfigFileChanges() to disable file watching.
- Fixed a comparator bug in _equalsDeep()
- Added a test to confirm deep extending array functionality
- Placed YAML and Coffee-Script libraries back into the download. Still lazy loading into memory.
- Added the local.EXT and local-deployment.EXT configs.
- Removed unnecessary debug output
- Added retry logic on file parse to reduce read/write collisions
- Added support for a better YAML parser
- Fixed problems with null configuration values
- Assuring the runtime.json file exists. Undocumented fs.watch() requirement.
- Removed all external dependencies
- Lazy loading of yaml and coffee-script only if these file types are used
- Added new style file watching if available (retaining pre 6.0 compatibility)
- Windows compatibility - file watching changes were required
- Automatically watching runtime.json for changes
- Fixed a date comparison bug during file watching
- Changed require('sys') to require('util')
- Made sure the CONFIG object is a shared singleton
- Added NODE_CONFIG_DIR environment variable to point to a different directory
- Added tests and documentation for the above
- Added coffee-script file type support with extension .coffee
- Added an example coffee-script configuration file
- Added coffee-script module dependency
- Added a test for coffee-script configuration files
- Documented coffee-script support, regenerated documentation
- Fixed a bug where changes to module default configs weren't persisted
- Added a test to validate the bugfix
- Created the makeHidden method to hide a property of an object
- Added a value argument to makeImmutable for creating new properties
- Fixed setModuleDefaults to hide injected prototype methods
- Added documentation and unit tests
- Updated vows from 0.5.8 to 0.5.13
- Updated YAML dependency from "0.1.x" to ">=0.2.2"
- Added stripping of comment-only and whitespace-only lines in YAML files for backward compatibility
- Added more tests for YAML edge cases
- Added a homepage link in package.json to the online documentation
- Added History.md
- Removed deprecated modules from package.json
- Made watchForConfigFileChanges public
- Added comment stripping from JSON configuration files
- Added more tests
- Return the module config in setModuleDefaults
-
Update to version 0.4.0
- Online documentation
- Runtime configuration changes
- Configuration value watching
- Multi-instance node deployments
- Better module developer support