Skip to content

v2.0.0 — modernized runtime, configurable labels, reminder comments

Choose a tag to compare

@alexleventer alexleventer released this 21 Apr 02:37

First major release in 5+ years. Clean-slate rewrite on a supported runtime with several frequently-requested features.

⚠️ Breaking: the action now runs on Node 20 and the main entry moved to dist/index.js. Pin @v2 or @v2.0.0@1.2.0 continues to work but will not receive further updates.

Highlights

  • Node 20 runtime (up from the deprecated Node 12).
  • Configurable labels via the new upcoming-labels input — closes #70.
  • Optional reminder comments via comment-on-overdue / comment-on-upcoming, with {{daysUntil}}, {{dueDate}}, {{issueNumber}} templating and duplicate-comment suppression — closes #55.
  • Idempotent label reconciliation — stale labels are removed when the due date changes or the issue becomes overdue, fixing #75.
  • dry-run input for easy first-time setup.
  • Outputs: issues-processed and issues-changed.

Under the hood

  • Bundled with @vercel/ncc; node_modules/ is no longer committed.
  • npm audit clean (undici pinned via overrides).
  • Live-API tests replaced with 29 mocked unit tests; CI verifies dist/ stays in sync.
  • Dropped unused @slack/client; replaced moment with native Date.

Upgrade

# before
uses: alexleventer/github-issue-due-dates-action@1.2.0
with:
  GH_TOKEN: ${{ secrets.GH_TOKEN }}

# after
uses: alexleventer/github-issue-due-dates-action@v2
with:
  GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}   # PAT no longer required

Add explicit permissions if your repo's default GITHUB_TOKEN is read-only:

permissions:
  issues: write
  contents: read

See the README for the full input/output reference and examples.

PRs / Issues closed