Skip to content

RFC: define the Node runtime policy before 1.0 #206

Open

Description

@vulragrag-star

Current mismatch

The package currently declares node >=18, while both CI workflows pin Node 20.

As of the 1.0 release window:

That leaves three different implied contracts: package metadata says 18+, CI proves only 20, and the platform's maintained baseline is 22/24. A 1.0 support promise should make these agree.

Proposed policy

Recommended:

  1. Raise engines.node to >=22 before 1.0.0-rc.
  2. Test Node 22 (minimum) and Node 24 (current LTS) on the x64 Windows lane.
  3. Run the ARM64 lane on Node 24, unless the full cross product remains comfortably within CI time.
  4. Run package smoke on both the minimum and current LTS so install/build behavior is part of the contract.
  5. Document the runtime policy and treat dropping a maintained major after 1.0 as a semver-major change.

If preserving Node 18/20 is a real user requirement, the alternative should be explicit: name the support end date and add those versions to CI rather than leaving them in metadata without evidence.

Definition of done

  • package.json, README, CI, and package smoke name the same minimum runtime
  • maintained minimum/current LTS lanes are green on x64
  • ARM64 is green on the chosen LTS lane
  • release checklist verifies the declared engine range before publish

This is independent of U-6 (#197); that PR establishes the architecture lane and should not absorb a runtime-policy decision.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions