Skip to content

New contributor with multiple contributions in a single release #1326

@muzimuzhi

Description

@muzimuzhi

Is there an existing issue for this?

  • I have searched the existing issues

Description of the bug

When a new contributor made multiple contributions to a single release, then in the contributors context, the pr_number bound to this user points to the PR merged most recent, which in strictly speaking was not the first contribution to that repo.

This affects the "New Contributors" Changelog section.

Steps To Reproduce

$ git clone [email protected]:jdx/usage.git
$ cd usage

# new contributor Krut Patel (github username "iamkroot") made two contributions to v2.5.0, #349 then #350
$ git -P log --pretty='%h %<(15)%an%s' v2.4.0..v2.5.0
a19ac13 mise-en-dev    chore: release v2.5.0 (#348)
4cb8ed3 jdx            chore: mise up (#353)
baab772 renovate[bot]  chore(deps): update rust crate ctor to 0.6 (#352)
9ddd7d4 renovate[bot]  chore(deps): update rust crate serde_with to v3.15.1 (#351)
eafef8f Krut Patel     feat: Print default values if specified (#350)
c1961f0 Krut Patel     fix: complete descriptions serialized as string instead of bool (#349)
1029e4c Vlad           fix: add fallback for shell (#347)

# "contributors" object (in github integration) only contained the last merged `pr_number`
$ git cliff -x v2.4.0..v2.5.0 | jq '.[0].github.contributors[] | select(.is_first_time == true)'
{
  "username": "iamkroot",
  "pr_title": "feat: Print default values if specified",
  "pr_number": 350,
  "pr_labels": [],
  "is_first_time": true
}

Expected behavior

Minimum: for new contributors, provide something like pr_number_first which points to the indeed first contribution in the contributors context.

In general, an array of PR numbers, ordered by time of merging, would be helpful.

Screenshots / Logs

No response

Software information

  • Operating system: macOS 14.8.2
  • Rust version: rustc 1.92.0 (ded5c06cf 2025-12-08)
  • Project version: git-cliff 2.11.0

Additional context

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions