Releases: NexusPHP/carson
Releases · NexusPHP/carson
Release list
v1.7.0
Immutable
release. Only release title and notes can be modified.
What's Changed
Added
no-response-closergainsunlabel_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. Needsauto-labelerenabled.triage-labelergainssweep: 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_reviewandpull_request_review_commentthere, so Carson could not authenticate and failed on the missingapp_id. It now ends the run successfully with a notice. Empty credentials in any other situation still fail. The README and theno-response-closer,stale, andtriage-labelersections say what this means for fork pull requests. stale,template-enforcer,triage-labeler, andauto-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
Immutable
release. Only release title and notes can be modified.
What's Changed
Added
no-response-closergainsrules: several labels, each with its owndays_until_close,close_message,exempt_labels, and anonlyscope for issues or pull requests. The top-level keys act as defaults, and a configuration withoutrulesbehaves as before.no-response-closerexposes{{label}}toclose_message.welcomeacceptsfalseforpull_requestandissuein either bucket to switch that greeting off, andfalsefor a whole bucket. An empty message, which used to post an empty comment, now does the same.welcomegainsexempt_roles: authors whose repository role is listed are never greeted.
Changed
welcomedecides first time or returning by counting the author's earlier pull requests or issues in the repository, instead of readingauthor_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 leftoverauthor_associationlist is ignored with a warning, except that an empty list still switches its bucket off.welcomeno longer greets a pull request opened as a draft. The greeting is posted onpull_request.ready_for_reviewinstead, once.- Log lines name the item type wherever it is known,
PR #8orissue #8, instead of a bare#8. Thelabel,unlabel, andlockaction handlers still log the bare number, since they receive only that. auto-labelernames 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 eventinstead ofReceived push. - A run ends with
Finished in 2.4s, orFinished with failures in 2.4swhen a subscriber or the dispatch failed.
Fixed
- Scheduled searches in
draft-policy,lock-old-issues,no-response-closer, andstalesent their cutoff as+00:00, which reaches GitHub as a space followed by the search term00:00. Only items whose text contained00:00matched, a small fraction of the real candidates. The cutoff is now sent in theZform.
Full Changelog: v1.5.0...v1.6.0
v1.5.0
Immutable
release. Only release title and notes can be modified.
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 atwrite
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: writeon the App. auto-labelergainssync_exempt: labels listed there are still added by rules but never removed bysync_labels.template-enforcergainsexempt_roles: authors whose repository role is listed skip the template check, and a leftover label is removed on their next edit.
Changed
conflicts-notifierlogs atinfowhen 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, whateverlog_levelis set to.
Full Changelog: v1.4.3...v1.5.0
v1.4.3
Immutable
release. Only release title and notes can be modified.
What's Changed
Changed
auto-labeleradds 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
Immutable
release. Only release title and notes can be modified.
What's Changed
Fixed
pr-title-linterruns onpull_request.synchronizeandpull_request.reopenedtoo, so a push no longer leaves the new head without a check.conflicts-notifierandno-merge-commitsre-run when a pull request is retargeted (pull_request.editedwith a base change).draft-policyposts 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-onlycloses reopened issues and pull requests as well as new ones.staleun-stales onissues.reopened,pull_request.reopened, andpull_request_review_comment.created.triage-labelerrecomputes the label onpull_request_review.dismissed.
Full Changelog: v1.4.1...v1.4.2
v1.4.1
Immutable
release. Only release title and notes can be modified.
What's Changed
Changed
pr-title-linterandsigned-commitssuccess titles readTitle passes 1 ruleand1 commit signedinstead ofTitle passes all 1 ruleandAll 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
Immutable
release. Only release title and notes can be modified.
What's Changed
Added
auto-labelergainsimplied_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-opensentinel 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-labelergainsreset_on_push: a change request made against an earlier head commit no longer counts, so a push returns the PR toneeds-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
Immutable
release. Only release title and notes can be modified.
What's Changed
Changed
triage-labelerqualifies reviewers by repository role (qualifying_roles, default[admin, maintain, write]) instead ofauthor_association, which hid private organization members from the App. A leftoverqualifying_associationssetting is ignored with a warning.
Fixed
triage-labelernow labels pull requests opened or updated by bots such as Dependabot.auto-labeler,conflicts-notifier,pr-title-linter, andsigned-commitsnow 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
Immutable
release. Only release title and notes can be modified.
What's Changed
Added
conflicts-notifierapplies a configurablelabelwhile a PR conflicts and removes it once the PR is clean.auto-labelerowns thelabelandunlabelactions, soconflicts-notifierandcommandslabel through it.
Changed
/labeland/unlabelincommandsnow requireauto-labelerto 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
Immutable
release. Only release title and notes can be modified.
What's Changed
Added
- Cross-subscriber action routing.
lock-old-issuesowns thelockaction, 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-labelerlabels issues too, viaissue_rules(title and body regex).lock-old-issueslocks an issue immediately when a label listed inlock_on_labelsis applied.- commands subscriber: slash commands in comments (
/label,/unlabel,/close,/reopen,/lock,/assign,/unassign), gated on the commenter's repository role.
Changed
lock-old-issuesnow posts a default comment before locking whencommentis not configured, matchingstale's behavior.no-response-closernow posts a default comment before closing whenclose_messageis not configured.
Contributors
- @dependabot[bot] in #33
Full Changelog: v1.0.0...v1.1.0