Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Feb 5, 2026

Pull Request

Description

Adds optional full changelog link to build reports. Introduces VersionTag and WebLink records to simplify data structure and pair versions with their commit hashes.

Key Changes:

  • New records: VersionTag(Version, CommitHash) and WebLink(LinkText, TargetUrl)
  • BuildInformation refactored: Replaced FromVersion/FromHash/ToVersion/ToHash with BaselineVersionTag/CurrentVersionTag plus optional CompleteChangelogLink
  • GitHub integration: Generates compare links as https://github.com/{owner}/{repo}/compare/{oldTag}...{newTag}
  • Markdown output: New "Full Changelog" section when baseline version exists

Example:

var buildInfo = await connector.GetBuildInformationAsync(version);
// buildInfo.CompleteChangelogLink => WebLink("v1.0.0...v2.0.0", "https://github.com/...")
var markdown = buildInfo.ToMarkdown();
// Includes: "## Full Changelog\n\nSee the full changelog at [v1.0.0...v2.0.0](url)."

Type of Change

  • New feature (non-breaking change which adds functionality)

Pre-Submission Checklist

Build and Test

  • Code builds successfully: dotnet build --configuration Release
  • All tests pass: dotnet test --configuration Release
  • Code produces zero warnings

Code Quality

  • Code formatting is correct: dotnet format --verify-no-changes
  • New code has appropriate XML documentation comments
  • Static analyzer warnings have been addressed

Quality Checks

  • Spell checker passes: cspell "**/*.{md,cs}"
  • Markdown linter passes: markdownlint "**/*.md"
  • YAML linter passes: yamllint '**/*.{yml,yaml}'

Testing

  • Added unit tests for new functionality
  • Updated existing tests if behavior changed
  • All tests follow the AAA (Arrange, Act, Assert) pattern
  • Test coverage is maintained or improved

Documentation

  • Updated README.md (if applicable)
  • Updated ARCHITECTURE.md (if applicable)
  • Added code examples for new features (if applicable)
  • Updated requirements.yaml (if applicable)

Additional Notes

All 82 tests pass. Breaking change avoided by maintaining backward compatibility through record refactoring. MockRepoConnector updated to match GitHub behavior for consistent testing.

Original prompt

This section details on the original issue you should resolve

<issue_title>[Feature]: Full Changelog Link</issue_title>
<issue_description>### Problem Statement

The report should have an optional link to a full changelog if available.

Proposed Solution

The BuildInformation record should have an optional FullChangelog link. To make things cleaner, let's create two new records:

  • VersionTag: a Version and a Hash
  • WebLink: a string Title and string Url

The BuildInformation can now collapse the FromVersion/FromHash and ToVersion/ToHash to use VersionTag records, and an optional WebLink to the FullChangelog can be added.

Then the RepoConnectors can be updated to provide the FullChangelog - for Github it's https://github.com/[owner]/[repo]/compare/[oldTag]...[newTag] and should probably have its title as [oldTag]...[newTag].

The Markdown generator can then add an optional final Full Changelog section with contents of See the full changelog at [link].

Alternatives Considered

No response

Usage Examples

Benefits

Data simplification and easier inspection of changes.

Priority

Medium - Would improve my workflow

Willingness to Contribute

Yes, I can submit a pull request

Additional Context

No response

Checklist

  • I have searched existing issues to ensure this is not a duplicate
  • I have provided a clear description of the feature
  • I have explained why this feature would be useful</issue_description>

Comments on the Issue (you are @copilot in this section)


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

…ll changelog support

Co-authored-by: Malcolmnixon <1863707+Malcolmnixon@users.noreply.github.com>
Copilot AI changed the title [WIP] Add optional full changelog link to report Add full changelog link with VersionTag and WebLink records Feb 5, 2026
Copilot AI requested a review from Malcolmnixon February 5, 2026 22:55
@Malcolmnixon Malcolmnixon marked this pull request as ready for review February 5, 2026 23:45
@Malcolmnixon Malcolmnixon merged commit a21ca03 into main Feb 5, 2026
11 checks passed
@Malcolmnixon Malcolmnixon deleted the copilot/add-full-changelog-link branch February 5, 2026 23:46
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.

[Feature]: Full Changelog Link

2 participants