Skip to content

1.10.3#298

Merged
digitalghost-dev merged 11 commits into
mainfrom
1.10.3
Jun 3, 2026
Merged

1.10.3#298
digitalghost-dev merged 11 commits into
mainfrom
1.10.3

Conversation

@digitalghost-dev
Copy link
Copy Markdown
Owner

@digitalghost-dev digitalghost-dev commented Jun 3, 2026

Summary by CodeRabbit

  • New Features

    • Added a Version 2 roadmap and visible deprecation notices for affected commands (natures, tcg).
  • Bug Fixes / Improvements

    • Improved user-facing error messages for search and image download failures.
    • Clearer release-check messaging when GitHub rate limits occur.
    • Tweaked CLI --version output behavior and type/table rendering to return consistent command output.
  • Documentation

    • Updated README and installation/Docker examples to v1.10.3.
  • Chores

    • Release bumped to v1.10.3; CI now includes an additional security scan and updated tool/runtime versions.

@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 3, 2026

Codecov Report

❌ Patch coverage is 66.66667% with 22 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
cmd/types/types.go 0.00% 7 Missing ⚠️
cmd/tcg/tcg.go 0.00% 5 Missing ⚠️
flags/version.go 77.77% 3 Missing and 1 partial ⚠️
flags/pokemonflagset.go 57.14% 3 Missing ⚠️
cli.go 66.66% 2 Missing ⚠️
cmd/search/model_input.go 0.00% 1 Missing ⚠️
Files with missing lines Coverage Δ
cmd/natures/natures.go 100.00% <100.00%> (ø)
cmd/pokemon/pokemon.go 85.54% <100.00%> (ø)
cmd/types/damage_table.go 97.22% <100.00%> (+0.07%) ⬆️
cmd/search/model_input.go 50.00% <0.00%> (ø)
cli.go 86.02% <66.66%> (-1.48%) ⬇️
flags/pokemonflagset.go 72.44% <57.14%> (+0.68%) ⬆️
flags/version.go 64.63% <77.77%> (+2.51%) ⬆️
cmd/tcg/tcg.go 57.69% <0.00%> (-3.96%) ⬇️
cmd/types/types.go 81.48% <0.00%> (-1.02%) ⬇️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 3, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: acfcb4d2-233c-4b9d-b52e-05a00d1205ab

📥 Commits

Reviewing files that changed from the base of the PR and between ab11a00 and 12f5e3b.

📒 Files selected for processing (1)
  • .github/workflows/python_test.yml

📝 Walkthrough

Walkthrough

This PR releases v1.10.3: bumps version/build metadata, refactors CLI and types output to return strings, pluralizes PokemonFlags, improves GitHub latest-release error handling, and adds deprecation warnings and docs updates.

Changes

Version 1.10.3 Release and Refactoring

Layer / File(s) Summary
Version and packaging updates
.github/workflows/ci.yml, .goreleaser.yml, Dockerfile, card_data/pipelines/poke_cli_dbt/dbt_project.yml, card_data/pyproject.toml, nfpm.yaml, web/pyproject.toml, README.md, docs/installation.md, go.mod
Bumped VERSION_NUMBER/main.version and image tags from v1.10.2 → v1.10.3; updated Dockerfile Go base image and Go module/toolchain versions; updated README/docs examples.
CLI version reporting and tests
cli.go, cli_test.go
currentVersion() now returns a formatted string with build-info fallback; --version prints that string; tests call and assert the return value.
Latest-release HTTP & GitHub rate-limit handling
flags/version.go, flags/version_test.go
Latest-release fetch uses http.NewRequest with User-Agent, non-200 responses are passed to gitHubStatusError which recognizes rate-limiting and formats retry info; tests added for rate-limited response and User-Agent.
Types chart output refactor and callers
cmd/types/damage_table.go, cmd/types/damage_table_test.go, cmd/types/types.go, cmd/search/model_input.go
DamageTable and runTypeSelectionTable now return rendered chart strings; callers append returned chart; tests updated; search errors set m.WarningMessage instead of printing.
Pokemon flags and ImageFlag errors
flags/pokemonflagset.go, flags/pokemonflagset_test.go, cmd/pokemon/pokemon.go
PokemonFlags fields pluralized (Defenses, ShortDefenses, Moves, ShortMoves); flag wiring updated; ImageFlag now returns wrapped errors for download/status/decode failures; tests adjusted.
Deprecation warnings and golden/test updates
cmd/natures/natures.go, cmd/tcg/tcg.go, testdata/natures.golden, README.md
natures and tcg append styled deprecation warnings (v2 planned); golden output updated; README adds Version 2 changes roadmap note.
Card-data pipelines & tests formatting
card_data/pipelines/..., card_data/pipelines/tests/...
Formatting, defensive parsing, and multiline reformatting across pipeline modules and tests; no behavioral changes to pipeline assets or test assertions.

Sequence Diagram

sequenceDiagram
  participant runCLI
  participant currentVersion
  participant latestReleaseFromURL
  participant GitHub
  runCLI->>currentVersion: request formatted version
  currentVersion-->>runCLI: return "Version: …"
  runCLI->>latestReleaseFromURL: request latest release (User-Agent set)
  latestReleaseFromURL->>GitHub: GET /releases/latest (with headers)
  GitHub-->>latestReleaseFromURL: 200 or rate-limit response (X-RateLimit-*)
  latestReleaseFromURL-->>runCLI: release data or formatted rate-limit error
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

Poem

🐰 A version bump hops forth with glee,
From 1.10.2 to 1.10.3—
Functions return their printed art,
Flags pluralized, warnings start,
A tiny hop toward v2!

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 23.53% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title '1.10.3' only indicates a version number without conveying what changed or why, lacking meaningful context about the changeset. Use a descriptive title that summarizes the main change, such as 'Bump version to 1.10.3' or 'Release v1.10.3 with deprecation warnings and improvements'.
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 1.10.3

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 and usage tips.

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Jun 3, 2026

Merging this PR will not alter performance

✅ 12 untouched benchmarks
🆕 41 new benchmarks
⏩ 10 skipped benchmarks1

Performance Changes

Benchmark BASE HEAD Efficiency
🆕 test_normalize_card_number_non_numeric_parts N/A 23.3 µs N/A
🆕 test_build_dataframe_raises_on_empty_dataframe N/A 121.9 ms N/A
🆕 test_pull_product_information_skips_non_cards N/A 3.3 ms N/A
🆕 test_pull_product_information_skips_variants N/A 3.3 ms N/A
🆕 test_extract_card_name_plain N/A 56.8 µs N/A
🆕 test_pull_product_information_sm_normalizes_card_number N/A 3.2 ms N/A
🆕 test_extract_card_name_accented_characters N/A 59.1 µs N/A
🆕 test_get_card_number_no_number_field N/A 17.7 µs N/A
🆕 test_build_dataframe_concatenates_all_sets N/A 125.1 ms N/A
🆕 test_pull_product_information_excludes_reverse_holofoil_prices N/A 3.2 ms N/A
🆕 test_extract_card_name_dash_and_variant_suffix N/A 55 µs N/A
🆕 test_extract_card_name_strip_dash_variant N/A 56.8 µs N/A
🆕 test_discord_success_sensor_handles_generic_exception N/A 300.4 µs N/A
🆕 test_extract_card_name_strip_full_art N/A 58.4 µs N/A
🆕 test_discord_failure_sensor_handles_request_exception N/A 296 µs N/A
🆕 test_extract_card_name_strip_gold N/A 55.5 µs N/A
🆕 test_extract_series_data_all_filtered_out N/A 123.4 ms N/A
🆕 test_extract_card_name_strip_reverse_holofoil N/A 57.2 µs N/A
🆕 test_extract_card_name_strip_secret N/A 57.8 µs N/A
🆕 test_extract_card_name_unknown_variant_not_stripped N/A 60.2 µs N/A
... ... ... ... ...

ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.


Comparing 1.10.3 (12f5e3b) with main (a935015)2

Open in CodSpeed

Footnotes

  1. 10 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

  2. No successful run was found on main (f80ee7a) during the generation of this report, so a935015 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
.github/workflows/ci.yml (1)

99-99: ⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Align CI Go version with go.mod/Dockerfile (1.25.10)

CI uses Go 1.25.9 in .github/workflows/ci.yml, while the repo’s build config targets Go 1.25.10 (Dockerfile base image golang:1.25.10-alpine3.23 and go.mod uses go 1.25.10). This toolchain mismatch can cause inconsistent build behavior.

🔧 Proposed fix to align Go versions
       - name: Set up Go
         uses: actions/setup-go@v6
         with:
-          go-version: '1.25.9'
+          go-version: '1.25.10'
🤖 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 @.github/workflows/ci.yml at line 99, Update the CI workflow's Go toolchain
version entry so it matches the repository's build config: change the go-version
key value used in .github/workflows/ci.yml from "1.25.9" to "1.25.10" (the same
version declared in go.mod and used by the Dockerfile base image). This ensures
consistency across the "go-version" setting and the repository toolchain.
🧹 Nitpick comments (1)
cmd/tcg/tcg.go (1)

93-97: ⚡ Quick win

Add newline before deprecation warning for consistency.

The natures command adds a newline before its deprecation warning (natures.go line 71), but this implementation writes the warning directly. While bubbletea programs should leave the terminal in a clean state, adding a newline improves consistency and defensive formatting.

♻️ Suggested addition for consistency
 	}

+	output.WriteString("\n")
 	deprecationWarning := styling.WarningBorder.Render(
 		styling.WarningColor.Render("⚠ Warning!"),
🤖 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 `@cmd/tcg/tcg.go` around lines 93 - 97, Prepend a newline before the
deprecation warning so formatting matches other commands: when building or
writing deprecationWarning (created via styling.WarningBorder.Render /
styling.WarningColor.Render) ensure you prefix it with "\n" (or write a separate
output.WriteString("\n") before output.WriteString(deprecationWarning)) so the
terminal shows a blank line before the warning for consistency with the natures
command.
🤖 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 `@cli.go`:
- Line 56: Replace the two fmt.Sprintf usages that format the literal "Version:
%s" (and the similar second occurrence flagged by the linter) with simple string
concatenation (e.g., "Version: " + version) to satisfy the perfsprint lint rule;
update the expressions where the format strings "Version: %s" and the other
flagged format are used and keep the fmt import intact since it’s used elsewhere
(no other behavior changes required).

In `@README.md`:
- Line 245: Replace the misspelled word "consistancy" with "consistency" in the
README line describing the pokemon command (the line mentioning `pokemon <name>
--defense` being renamed to `--defenses`) so the sentence reads "...to keep
consistency with other flags in the `pokemon` command."

---

Outside diff comments:
In @.github/workflows/ci.yml:
- Line 99: Update the CI workflow's Go toolchain version entry so it matches the
repository's build config: change the go-version key value used in
.github/workflows/ci.yml from "1.25.9" to "1.25.10" (the same version declared
in go.mod and used by the Dockerfile base image). This ensures consistency
across the "go-version" setting and the repository toolchain.

---

Nitpick comments:
In `@cmd/tcg/tcg.go`:
- Around line 93-97: Prepend a newline before the deprecation warning so
formatting matches other commands: when building or writing deprecationWarning
(created via styling.WarningBorder.Render / styling.WarningColor.Render) ensure
you prefix it with "\n" (or write a separate output.WriteString("\n") before
output.WriteString(deprecationWarning)) so the terminal shows a blank line
before the warning for consistency with the natures command.
🪄 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: defaults

Review profile: CHILL

Plan: Pro

Run ID: 56f7fecb-96a0-4360-9406-5fac31cd78bc

📥 Commits

Reviewing files that changed from the base of the PR and between f80ee7a and 0239929.

⛔ Files ignored due to path filters (1)
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing (22)
  • .github/workflows/ci.yml
  • .goreleaser.yml
  • Dockerfile
  • README.md
  • card_data/pipelines/poke_cli_dbt/dbt_project.yml
  • card_data/pyproject.toml
  • cli.go
  • cli_test.go
  • cmd/natures/natures.go
  • cmd/pokemon/pokemon.go
  • cmd/search/model_input.go
  • cmd/tcg/tcg.go
  • cmd/types/damage_table.go
  • cmd/types/damage_table_test.go
  • cmd/types/types.go
  • docs/installation.md
  • flags/pokemonflagset.go
  • flags/pokemonflagset_test.go
  • go.mod
  • nfpm.yaml
  • testdata/natures.golden
  • web/pyproject.toml

Comment thread cli.go Outdated
Comment thread README.md Outdated
coderabbitai[bot]

This comment was marked as resolved.

coderabbitai[bot]

This comment was marked as resolved.

@digitalghost-dev digitalghost-dev merged commit 28dbf69 into main Jun 3, 2026
11 checks passed
@digitalghost-dev digitalghost-dev deleted the 1.10.3 branch June 3, 2026 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant