Skip to content

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 24 Feb 22:56
· 64 commits to main since this release

2.0.0 (2026-02-24)

  • feat!: remove dead "any" and "object" option kinds (1b84afa)
  • refactor!: clean up public API surface and update README (b94f7f6)

Bug Fixes

  • ci: add @semantic-release/npm@13 as extra plugin for OIDC support (f5e5789)
  • ci: modernize semantic-release and GitHub Actions setup (402c0e6)
  • ci: replace cycjimmy action with direct npx semantic-release (ba12872)
  • ci: specify semantic-release v25 for npm OIDC support (8c453c4)
  • ci: update release workflow to Node 20 (c9aaa0b)
  • ci: update release workflow to Node 20 and restore rimraf (084ed31)
  • handle invalid YAML/JSON files with ConfigFileError (3cbadf7), closes #39
  • resolve skipped tests and rename underscore-prefixed test variables (d32ffd6)
  • resolve type errors in Settings.buildOption signature (c5a42b1)

Features

  • add .env file support with line number tracking (f72a96a)
  • add JSON config file support (c5df32e)
  • add YAML line/column metadata to ConfigNode and error messages (3b7651b)
  • eslint: restore dropped rules from airbnb and meltstudio configs (ee4d674)
  • expose getExtended() via SettingsBuilder.loadExtended() (eb6b79f)
  • replace process.exit(1) with typed ConfigLoadError (4c40184)
  • setup type inference for generated data loaded from files and for default values (a419c5b)
  • type-safe defaultValue for option factories (7d7b53c)

Performance Improvements

  • cache parsed YAML/JSON config files to avoid redundant disk reads (cdda2dc)

BREAKING CHANGES

  • The "any" and "object" values have been removed from OptionKind.
    These were unused internally and never exposed via the public API factories.
    Also removes the associated dead code paths and test cases.
  • ConfigNode properties renamed from snake_case to camelCase
    (source_type -> sourceType, variable_name -> variableName, arg_name -> argName).
    PartialyBuiltSettings type removed from exports. DefaultValue and Value types
    no longer exported from option module.