Skip to content

v1.2.0

Choose a tag to compare

@ewels ewels released this 12 Jun 02:53
· 34 commits to main since this release
b782947

What's new in 1.2.0

Time-bounded affiliations

A contributor can now hold several affiliations over time, each with a since / until date range (until is exclusive; dates are YYYY, YYYY-MM, or YYYY-MM-DD). On overlap the newer range wins and trims the older one. Each period renders as its own bar with rounded end caps, so someone who changed organisation shows a distinct bar per affiliation, with gaps where there were no commits. The Wikipedia theme draws the same periods as separate solid bands.

Co-authored commits

Co-authored-by: trailers are parsed from commit messages and each co-author receives full credit, folded into the same identity clustering as authors. On by default; disable with --no-co-authors, or toggle live in the interactive page.

Unified YAML curation file

A single --config file replaces the old --groups / --identities TSV flags. It holds identities (merge a person's several names/logins), aliases (group-name aliases, e.g. "Seqera Labs" and "Seqera" are the same organisation), and time-bounded affiliations.

Caching for fast re-runs

Git analysis is cached per repository, keyed by the branch tip SHA with freshness checked via git ls-remote; GitHub login, profile, avatar, and org-listing lookups are cached with TTLs. Everything lives under the XDG cache directory. --refresh bypasses the caches.

Interactive page

  • The full-width toggle moved into the top button row (Full width | SVG | PNG | Dark).
  • Affiliation filtering now masks the bars and commit counts, not just which rows appear.
  • The tooltip and expanded row list all of a contributor's affiliations; the legend's "+N more" is a button that reveals every affiliation for filtering.
  • Affiliations are labelled "current affiliations", and the expanded-row detail text is larger and higher contrast.

Full changelog: https://github.com/ewels/contributor-graphs/blob/main/CHANGELOG.md