Skip to content

Releases: NexusPHP/carson

v1.7.0

Choose a tag to compare

@paulbalandan paulbalandan released this 21 Sep 15:33
Immutable release. Only release title and notes can be modified.
v1.7.0
cb35604

What's Changed

Added

  • no-response-closer gains unlabel_on_response: when the item's author comments, pushes to the pull request, or replies in a review thread, the rule's label is removed, so an answered item is no longer closed for lack of a response. Off by default, set per rule or at the top level. Needs auto-labeler enabled.
  • triage-labeler gains sweep: when enabled, every open pull request is reconciled on the scheduled run, so a label missed by a cancelled run or by a review on a fork pull request is corrected within a day. It writes only where the label is wrong. Off by default.
  • An Actions section in SUBSCRIBERS.md lists each cross-subscriber action, its owner, who requests it, and which subscribers label directly.

Fixed

  • Review events on a pull request from a fork no longer produce a failed run. GitHub passes no secrets to pull_request_review and pull_request_review_comment there, so Carson could not authenticate and failed on the missing app_id. It now ends the run successfully with a notice. Empty credentials in any other situation still fail. The README and the no-response-closer, stale, and triage-labeler sections say what this means for fork pull requests.
  • stale, template-enforcer, triage-labeler, and auto-labeler's sync no longer fail the run when the label they are removing is already gone, for example removed by a maintainer in the same moment.

Contributors

Full Changelog: v1.6.0...v1.7.0

v1.6.0

Choose a tag to compare

@paulbalandan paulbalandan released this 19 Sep 13:23
Immutable release. Only release title and notes can be modified.
v1.6.0
e4b2fde

What's Changed

Added

  • no-response-closer gains rules: several labels, each with its own days_until_close, close_message, exempt_labels, and an only scope for issues or pull requests. The top-level keys act as defaults, and a configuration without rules behaves as before.
  • no-response-closer exposes {{label}} to close_message.
  • welcome accepts false for pull_request and issue in either bucket to switch that greeting off, and false for a whole bucket. An empty message, which used to post an empty comment, now does the same.
  • welcome gains exempt_roles: authors whose repository role is listed are never greeted.

Changed

  • welcome decides first time or returning by counting the author's earlier pull requests or issues in the repository, instead of reading author_association. GitHub reports the first-time associations on pull requests only, so issue authors without commits were never greeted, and it hides private organization members from an App. A leftover author_association list is ignored with a warning, except that an empty list still switches its bucket off.
  • welcome no longer greets a pull request opened as a draft. The greeting is posted on pull_request.ready_for_review instead, once.
  • Log lines name the item type wherever it is known, PR #8 or issue #8, instead of a bare #8. The label, unlabel, and lock action handlers still log the bare number, since they receive only that.
  • auto-labeler names the labels it added or removed on request, and the implied labels it added. Every label list it logs is quoted: "bug", "needs review".
  • The startup log line reads Received push event instead of Received push.
  • A run ends with Finished in 2.4s, or Finished with failures in 2.4s when a subscriber or the dispatch failed.

Fixed

  • Scheduled searches in draft-policy, lock-old-issues, no-response-closer, and stale sent their cutoff as +00:00, which reaches GitHub as a space followed by the search term 00:00. Only items whose text contained 00:00 matched, a small fraction of the real candidates. The cutoff is now sent in the Z form.

Full Changelog: v1.5.0...v1.6.0

v1.5.0

Choose a tag to compare

@paulbalandan paulbalandan released this 18 Sep 08:13
Immutable release. Only release title and notes can be modified.
v1.5.0
c267994

Important

GitHub App permission changes since v1.4.3

Carson is distributed as a per-consumer GitHub App, so existing installations do not auto-upgrade when the manifest changes. To use this release, open your App settings, go to Permissions & events, apply the changes below, and accept the resulting permission request on each installation:

  • actions: newly required at write

What's Changed

Added

  • cache-pruner subscriber: deletes Actions caches of closed pull requests and deleted branches, and sweeps caches of since-closed pull requests and aged branch caches on schedule. Needs actions: write on the App.
  • auto-labeler gains sync_exempt: labels listed there are still added by rules but never removed by sync_labels.
  • template-enforcer gains exempt_roles: authors whose repository role is listed skip the template check, and a leftover label is removed on their next edit.

Changed

  • conflicts-notifier logs at info when it skips a pull request whose mergeable state GitHub has not computed yet.
  • Re-running a workflow with debug logging enabled raises Carson's log level to debug, whatever log_level is set to.

Full Changelog: v1.4.3...v1.5.0

v1.4.3

Choose a tag to compare

@paulbalandan paulbalandan released this 13 Sep 12:06
Immutable release. Only release title and notes can be modified.
v1.4.3
44db1c0

What's Changed

Changed

  • auto-labeler adds a rule label only from a field the event changed, so a label a maintainer removed no longer comes back from an unrelated edit or push.

Contributors

Full Changelog: v1.4.2...v1.4.3

v1.4.2

Choose a tag to compare

@paulbalandan paulbalandan released this 12 Sep 19:07
Immutable release. Only release title and notes can be modified.
v1.4.2
3973bbb

What's Changed

Fixed

  • pr-title-linter runs on pull_request.synchronize and pull_request.reopened too, so a push no longer leaves the new head without a check.
  • conflicts-notifier and no-merge-commits re-run when a pull request is retargeted (pull_request.edited with a base change).
  • draft-policy posts a fresh notice when a draft is reopened, so a draft closed by the sweep and reopened is not closed again on the next run.
  • read-only closes reopened issues and pull requests as well as new ones.
  • stale un-stales on issues.reopened, pull_request.reopened, and pull_request_review_comment.created.
  • triage-labeler recomputes the label on pull_request_review.dismissed.

Full Changelog: v1.4.1...v1.4.2

v1.4.1

Choose a tag to compare

@paulbalandan paulbalandan released this 12 Sep 14:21
Immutable release. Only release title and notes can be modified.
v1.4.1
661484d

What's Changed

Changed

  • pr-title-linter and signed-commits success titles read Title passes 1 rule and 1 commit signed instead of Title passes all 1 rule and All 1 commit signed.
  • Subscriber log lines no longer carry the webhook delivery id, which is the run id under the action.

Full Changelog: v1.4.0...v1.4.1

v1.4.0

Choose a tag to compare

@paulbalandan paulbalandan released this 08 Sep 17:46
Immutable release. Only release title and notes can be modified.
v1.4.0
62602be

What's Changed

Added

  • auto-labeler gains implied_labels: applying a mapped label adds the labels it implies, on issues and pull requests.
  • draft-policy subscriber: comments on draft pull requests and closes those still in draft after a grace period.
  • maintainer-edits subscriber: comments on fork pull requests that do not allow edits from maintainers.
  • milestone subscriber: assigns a milestone to pull requests from rules on the base branch and labels, with a next-open sentinel for the earliest open milestone.
  • no-merge-commits subscriber: posts a check that fails when a pull request contains merge commits, with label, author, and branch-rule exemptions.
  • triage-labeler gains reset_on_push: a change request made against an earlier head commit no longer counts, so a push returns the PR to needs-review.
  • unsupported-branch subscriber: comments on pull requests that target a branch outside the maintained set and minimizes the notice once retargeted.

Changed

  • When two or more subscribers comment on the same issue or pull request during one event, the notices are posted as a single digest comment. A subscriber resolving its notice collapses its own section.

Full Changelog: v1.3.0...v1.4.0

v1.3.0

Choose a tag to compare

@paulbalandan paulbalandan released this 06 Sep 13:20
Immutable release. Only release title and notes can be modified.
v1.3.0
80ba838

What's Changed

Changed

  • triage-labeler qualifies reviewers by repository role (qualifying_roles, default [admin, maintain, write]) instead of author_association, which hid private organization members from the App. A leftover qualifying_associations setting is ignored with a warning.

Fixed

  • triage-labeler now labels pull requests opened or updated by bots such as Dependabot.
  • auto-labeler, conflicts-notifier, pr-title-linter, and signed-commits now run for bot senders, so bot-opened pull requests get labels, conflict notices, and check runs.

Contributors

Full Changelog: v1.2.0...v1.3.0

v1.2.0

Choose a tag to compare

@paulbalandan paulbalandan released this 05 Sep 15:12
Immutable release. Only release title and notes can be modified.
v1.2.0
7c7065f

What's Changed

Added

  • conflicts-notifier applies a configurable label while a PR conflicts and removes it once the PR is clean.
  • auto-labeler owns the label and unlabel actions, so conflicts-notifier and commands label through it.

Changed

  • /label and /unlabel in commands now require auto-labeler to be enabled.
  • Counted nouns in log lines and check-run titles are inflected (1 unsigned commit, 2 of 2 rules failed) instead of using (s).
  • The App installer page presents the App ID, private key, workflow, and configuration as numbered setup steps.

Full Changelog: v1.1.0...v1.2.0

v1.1.0

Choose a tag to compare

@paulbalandan paulbalandan released this 04 Sep 12:45
Immutable release. Only release title and notes can be modified.
v1.1.0
3dd49fd

What's Changed

Added

  • Cross-subscriber action routing. lock-old-issues owns the lock action, so other subscribers request locks through it instead of locking themselves.
  • read-only subscriber: closes issues and pull requests opened on a read-only mirror and requests a lock from lock-old-issues.
  • auto-labeler labels issues too, via issue_rules (title and body regex).
  • lock-old-issues locks an issue immediately when a label listed in lock_on_labels is applied.
  • commands subscriber: slash commands in comments (/label, /unlabel, /close, /reopen, /lock, /assign, /unassign), gated on the commenter's repository role.

Changed

  • lock-old-issues now posts a default comment before locking when comment is not configured, matching stale's behavior.
  • no-response-closer now posts a default comment before closing when close_message is not configured.

Contributors

Full Changelog: v1.0.0...v1.1.0