Skip to content

feat(changelog): parallelize regenerate and tolerate empty first commit - #32

Merged
github-actions[bot] merged 1 commit into
mainfrom
feature/changelog-regenerate-parallel
Jun 25, 2026
Merged

github-actions[bot] merged 1 commit into
mainfrom
feature/changelog-regenerate-parallel

Conversation

@ElectricCookie

Copy link
Copy Markdown
Collaborator

Summary

  • Analyze each unique ref once, in parallel (bounded by --concurrency, default 4) when regenerating the changelog, deduplicating by resolved commit hash to avoid worktree path races
  • Tolerate refs that cannot be analyzed (e.g. an empty initial commit with no pubspec.yaml): the affected release still gets its commit-based entry, just without an API Changes section, instead of crashing
  • Add compareApis(base, new) so diffs can be computed from already-resolved PackageApis
  • Add --concurrency flag and document regenerate behavior in the README

Context

Follow-up to the --regenerate feature. Running it on this repo crashed on the first release because the root commit had no analyzable Dart project.

Test plan

  • dart test test/commands/changelog_command_test.dart (incl. new empty-initial-commit case)
  • dart analyze

Analyze each unique ref once, in parallel (bounded by --concurrency),
deduplicating by resolved commit hash. Skip the API diff for refs that
cannot be analyzed (e.g. an empty initial commit without a pubspec) so
the release still gets its commit-based entry.
@github-actions

Copy link
Copy Markdown

Version Analysis

Next Version: 8.1.0

Changelog: 📄 View detailed changelog in job summary

Badge:
Version Badge

@github-actions
github-actions Bot merged commit 010e09e into main Jun 25, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant