Skip to content

Prepare 6.0.0 release#408

Merged
horgh merged 2 commits into
mainfrom
greg/stf-513
May 22, 2026
Merged

Prepare 6.0.0 release#408
horgh merged 2 commits into
mainfrom
greg/stf-513

Conversation

@oschwald
Copy link
Copy Markdown
Member

Summary

  • Bump MaxMind.GeoIP2 dependency from 6.0.0-beta1 to 6.0.0 (now GA on NuGet).
  • Rename the dateless ## 6.0.0-beta1 release-notes heading to ## 6.0.0 (2026-05-22). Beta1 was never tagged or published, so collapsing it into the GA section avoids exposing an intermediate state no consumer experienced.
  • Fold in four post-beta1 user-facing changes that hadn't been called out: required Tag on TransactionReport (BREAKING), ReportAsync argument validation, Guid.Emptynull normalization for MinFraudId, and a missing .ConfigureAwait(false) in ReportAsync.

<VersionPrefix> in the csproj is intentionally left at 6.0.0-beta1dev-bin/release.sh rewrites it automatically based on the topmost dated heading in releasenotes.md at release time.

Test plan

  • dotnet build MaxMind.MinFraud.sln — 0 warnings, 0 errors across net8.0/net9.0/net10.0/netstandard2.0/netstandard2.1
  • dotnet test --project MaxMind.MinFraud.UnitTest/MaxMind.MinFraud.UnitTest.csproj — 540/540 pass on net8.0, net9.0, net10.0
  • precious tidy --all — clean (one minor wrap adjustment folded in)
  • Verified release-notes coverage against `git log v5.3.1..HEAD` — all 9 user-facing library commits are described

🤖 Generated with Claude Code

Bump the MaxMind.GeoIP2 dependency from 6.0.0-beta1 to 6.0.0 (now
published as GA) and finalize the release notes. The dateless
6.0.0-beta1 heading was never tagged or published, so it is renamed
to 6.0.0 with today's date and four post-beta1 changes are folded
in: the required Tag property on TransactionReport, ReportAsync
validation, Guid.Empty normalization on MinFraudId, and the missing
ConfigureAwait(false).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the MaxMind.GeoIP2 dependency to version 6.0.0 and finalizes the release notes for the 6.0.0 release. Key changes include making the Tag property required in TransactionReport, implementing validation for required identifiers in ReportAsync, normalizing Guid.Empty values to null, and fixing a potential deadlock by adding ConfigureAwait(false). The reviewer suggested marking the new validation logic in ReportAsync as a breaking change in the release notes to ensure users are properly alerted to the new exception behavior.

Comment thread releasenotes.md
Comment on lines +26 to +29
- `ReportAsync` on `MaxMind.MinFraud.WebServiceClient` now validates that the
`TransactionReport` includes at least one of `IPAddress`, `MinFraudId`,
`MaxMindId`, or `TransactionId`, throwing `ArgumentException` if none are set.
Previously this check only ran in the (now obsolete) constructor.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Since ReportAsync now throws an ArgumentException where it previously did not (when using object initializers), this change is technically a behavior change that can impact existing code. Consider marking this entry as BREAKING to alert users to the new validation logic, consistent with other breaking changes listed for this release.

Suggested change
- `ReportAsync` on `MaxMind.MinFraud.WebServiceClient` now validates that the
`TransactionReport` includes at least one of `IPAddress`, `MinFraudId`,
`MaxMindId`, or `TransactionId`, throwing `ArgumentException` if none are set.
Previously this check only ran in the (now obsolete) constructor.
- **BREAKING:** `ReportAsync` on `MaxMind.MinFraud.WebServiceClient` now
validates that the `TransactionReport` includes at least one of `IPAddress`,
`MinFraudId`, `MaxMindId`, or `TransactionId`, throwing `ArgumentException` if
none are set. Previously this check only ran in the (now obsolete)
constructor.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may have made sense, but it is too late.

@horgh horgh merged commit 2f05aef into main May 22, 2026
22 checks passed
@horgh horgh deleted the greg/stf-513 branch May 22, 2026 23:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants