Skip to content

Release 8.0.0#520

Open
oschwald wants to merge 10 commits into
mainfrom
greg/release
Open

Release 8.0.0#520
oschwald wants to merge 10 commits into
mainfrom
greg/release

Conversation

@oschwald

@oschwald oschwald commented Jul 10, 2026

Copy link
Copy Markdown
Member
  • Set release date
  • Update mise lockfile
  • Update module path for v8

Summary by CodeRabbit

  • New Features

    • Upgraded the application to version 8.0.0.
    • Windows release packages are now distributed as .zip files.
    • Release checks now verify Docker availability and registry authentication.
  • Bug Fixes

    • Failed releases no longer push tags and automatically clean up the local tag.
  • Documentation

    • Updated installation instructions and recorded the 8.0.0 release date.
    • Removed documentation for the discontinued --stack-trace option.

@coderabbitai

coderabbitai Bot commented Jul 10, 2026

Copy link
Copy Markdown

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The project’s Go module, imports, version metadata, CLI documentation, packaging configuration, lint paths, and release automation were updated for GeoIPUpdate v8. Docker release preflight checks and failure-aware tag handling were added.

Changes

GeoIPUpdate v8 release migration

Layer / File(s) Summary
Module identity and core package wiring
go.mod, internal/vars/version.go, client/*, internal/geoipupdate/*
The module and version now identify v8, and client/updater code and tests use v8 package paths.
CLI wiring and user-facing command metadata
cmd/geoipupdate/*, README.md, doc/geoipupdate.md
CLI code and tests import v8 packages, installation instructions reference v8, and the --stack-trace option is removed from the documentation.
Tooling and release artifact configuration
.golangci.yml, .goreleaser.yml, proto.yaml, CHANGELOG.md
Formatter paths, GoReleaser build selection, Windows archive naming, Docker configuration notes, and the 8.0.0 changelog heading are updated.
Docker preflight and failure-aware release execution
dev-bin/release.sh
Release checks validate Docker and registry authentication, while failed GoReleaser runs remove the tag and successful runs push tags afterward.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Poem

A bunny hops through v8’s door,
With tidy paths and tags galore.
Docker checks before release,
Failed tags vanish, bugs find peace.
ZIPs and versions join the parade—
Fresh carrots for the release brigade!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 20.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the release version and matches the main purpose of the changeset.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch greg/release

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown

Modver result

This report was generated by Modver,
a Go package and command that helps you obey semantic versioning rules in your Go module.

This PR requires an increase in your module’s major version number.
If the new major version number is 2 or greater,
you must also add or update the version suffix
on the module path defined in your go.mod file.
See the Go Modules Reference for more info.

no new version of package github.com/maxmind/geoipupdate/v7/client
  Major

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

Copy link
Copy Markdown

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 bumps the major version of the geoipupdate module from v7 to v8. This includes updating the module path in go.mod, updating all internal import paths across Go source files, updating linter configurations in .golangci.yml, and updating documentation in README.md. Additionally, the changelog was updated with a release date for version 8.0.0, and various tool versions were updated in mise.lock. There are no review comments, so I have no feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@dev-bin/release.sh`:
- Around line 162-165: Update the goreleaser failure branch in the release
script to print a clear diagnostic message, then delete the tag with explicit
failure handling: if `git tag -d "$tag"` fails, report that failure and exit
nonzero; otherwise exit with the goreleaser failure status.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 834c3093-604c-44ff-a9a4-2bcaf2d60725

📥 Commits

Reviewing files that changed from the base of the PR and between 9b4a0c7 and ccb2395.

📒 Files selected for processing (2)
  • .goreleaser.yml
  • dev-bin/release.sh

Comment thread dev-bin/release.sh
Comment on lines +162 to +165
if ! goreleaser release --clean -f .goreleaser.yml --release-notes <(echo "$notes"); then
git tag -d "$tag"
exit 1
fi

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win

Add error message and handle tag deletion failure on goreleaser error.

When goreleaser fails, the script silently deletes the tag and exits. Adding a diagnostic message improves operator experience, and handling git tag -d failure prevents silent tag leakage.

🛡️ Proposed fix
 if ! goreleaser release --clean -f .goreleaser.yml --release-notes <(echo "$notes"); then
+    echo "Error: goreleaser release failed. Cleaning up local tag '$tag'." >&2
-    git tag -d "$tag"
+    if ! git tag -d "$tag"; then
+        echo "Warning: Failed to delete local tag '$tag'. Please remove it manually." >&2
+    fi
     exit 1
 fi
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
if ! goreleaser release --clean -f .goreleaser.yml --release-notes <(echo "$notes"); then
git tag -d "$tag"
exit 1
fi
if ! goreleaser release --clean -f .goreleaser.yml --release-notes <(echo "$notes"); then
echo "Error: goreleaser release failed. Cleaning up local tag '$tag'." >&2
if ! git tag -d "$tag"; then
echo "Warning: Failed to delete local tag '$tag'. Please remove it manually." >&2
fi
exit 1
fi
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@dev-bin/release.sh` around lines 162 - 165, Update the goreleaser failure
branch in the release script to print a clear diagnostic message, then delete
the tag with explicit failure handling: if `git tag -d "$tag"` fails, report
that failure and exit nonzero; otherwise exit with the goreleaser failure
status.

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.

1 participant