Skip to content

chore: release v1.0.0-dev.1#828

Open
lklimek wants to merge 1 commit into
v1.0-devfrom
chore/release-v1.0.0-dev.1
Open

chore: release v1.0.0-dev.1#828
lklimek wants to merge 1 commit into
v1.0-devfrom
chore/release-v1.0.0-dev.1

Conversation

@lklimek
Copy link
Copy Markdown
Contributor

@lklimek lklimek commented Apr 16, 2026

Summary

  • Bump version to 1.0.0-dev.1 in Cargo.toml, Cargo.lock, and Flatpak metadata
  • Add CHANGELOG.md covering all 474 commits since v0.8.0

Details

First pre-release toward v1.0.0, covering major features added since v0.8.0:

  • Tokens system (full lifecycle)
  • HD wallet with SPV light client
  • Shielded transactions (ZK)
  • Unified send/shield/wallet screens
  • MCP server and det-cli
  • DashPay contacts integration
  • Dark mode, accessibility, FeatureGate
  • Typed TaskError migration
  • 120+ bug fixes

Post-merge

After merging, tag v1.0.0-dev.1 and create a GitHub Release to trigger CI cross-platform builds.

🤖 Co-authored by Claudius the Magnificent AI Agent

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 16, 2026

Warning

Rate limit exceeded

@lklimek has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 11 minutes and 0 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 11 minutes and 0 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: a74283e7-324e-45e7-bb3e-a0f04bddbbc2

📥 Commits

Reviewing files that changed from the base of the PR and between eb7c162 and 89a4b8f.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (3)
  • CHANGELOG.md
  • Cargo.toml
  • flatpak/org.dash.DashEvoTool.metainfo.xml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch chore/release-v1.0.0-dev.1

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.

@thepastaclaw
Copy link
Copy Markdown
Collaborator

thepastaclaw commented Apr 16, 2026

✅ Review complete (commit 89a4b8f)

@thephez
Copy link
Copy Markdown
Contributor

thephez commented Apr 16, 2026

Why is the changelog going back to v0.8 when v0.9.3 is the most recent release?

  • Add CHANGELOG.md covering all 474 commits since v0.8.0

Copy link
Copy Markdown
Collaborator

@thepastaclaw thepastaclaw 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

Release chore PR bumping to 1.0.0-dev.1 with a comprehensive CHANGELOG.md. All four Claude nitpicks are verified accurate against the file — duplicated PR references across sections, missing [Unreleased] section, tag-only link instead of compare link, and inconsistent PR references on some Fixed entries. Codex correctly found no defects in the release metadata itself.

Reviewed commit: 89a4b8f

💬 4 nitpick(s)

Comment thread CHANGELOG.md
- Classify DAPI transport errors and decode gRPC domain errors (#766)
- Detect 401 auth errors and show actionable credential message (#783)
- Throttle system theme detection to prevent white flash (#781)
- UI repaint only when needed to reduce CPU usage (#344)
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

💬 Nitpick: Several PRs appear in multiple sections

Six PR numbers are listed in more than one section, which makes the changelog harder to scan and inflates the perceived scope of each section:

Place each PR under the single section that best describes its primary intent (e.g. #344/#781/#420/#549 under Performance only; #709/#562 under Security only) and drop the duplicate entry from Fixed/Added.

source: ['claude']

Comment thread CHANGELOG.md
Comment on lines +7 to +8

## [1.0.0-dev.1] - 2026-04-16
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

💬 Nitpick: Missing [Unreleased] section

The file declares adherence to Keep a Changelog 1.1.0 on line 5, which calls for an ## [Unreleased] section at the top to collect in-flight entries between releases. Since v1.0-dev will continue to accumulate changes before the final v1.0.0 tag, adding this section now makes it easier to append entries as PRs land instead of reconstructing them at release time.

💡 Suggested change
Suggested change
## [1.0.0-dev.1] - 2026-04-16
## [Unreleased]
## [1.0.0-dev.1] - 2026-04-16

source: ['claude']

Comment thread CHANGELOG.md
- Cache settings reads to avoid 20 queries per second (#420)
- Optimize x86-64 builds for base x86-64 CPU (#267)

[1.0.0-dev.1]: https://github.com/dashpay/dash-evo-tool/releases/tag/v1.0.0-dev.1
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

💬 Nitpick: Reference link points to tag, not compare URL

The Keep a Changelog convention is to link versions to GitHub compare URLs so readers can diff between releases. The current link points only to the release tag, which shows the tag page but not the changes relative to the previous release. Since this changelog covers a large span since v0.8.5, a compare link is especially useful here.

💡 Suggested change
Suggested change
[1.0.0-dev.1]: https://github.com/dashpay/dash-evo-tool/releases/tag/v1.0.0-dev.1
[1.0.0-dev.1]: https://github.com/dashpay/dash-evo-tool/compare/v0.8.5...v1.0.0-dev.1

source: ['claude']

Comment thread CHANGELOG.md
- Token reorder assignment and distribution field checks (#535)
- Token balance decimals (#379)
- Token purchasability not refreshing unless app restart (#432)
- Token action buttons alignment and spacing fixes
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

💬 Nitpick: Several Fixed entries lack PR references

Most entries in the changelog include a (#NNN) reference, but nine do not, which makes them stand out as inconsistent and harder to trace:

  • Line 125: Token action buttons alignment and spacing fixes
  • Line 129: Confirm token pause had incorrect message
  • Line 132: Fetching forever when searching for non-existent contract in add token screen
  • Line 139: Confirmation dialog on withdrawal screen always showing "loading"
  • Line 167: Screen button labels display hard to see in dark mode
  • Line 168: Unable to click anything except back button in success screens
  • Line 178: Refresh receive dialog balances from wallet on each frame
  • Line 196: Remove automatic network fallback behavior to prevent silent mainnet fallback
  • Line 245: Parallelize contact profile/username fetching with chunked join_all

If these correspond to merged PRs or commits, add the references; if they were direct commits with no PR, leaving them is fine but worth a quick pass to confirm.

source: ['claude']

Copy link
Copy Markdown
Collaborator

@thepastaclaw thepastaclaw 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

Release-only PR bumping version to 1.0.0-dev.1 with CHANGELOG and Flatpak metainfo updates. No source code changes; no blocking issues. Findings are minor documentation observations: stale release date, redundant manual edit of a CI-synced field, and a few duplicate-flavored CHANGELOG entries.

Reviewed commit: 89a4b8f

Fresh dispatcher run for this queue item. A same-SHA review already existed, so this records the fresh verification without duplicating inline threads.

Code Review

Reviewed commit: 89a4b8f

🟡 1 suggestion(s) | 💬 3 nitpick(s)

🤖 Prompt for all review comments with AI agents
These findings are from an automated code review. Verify each finding against the current code and only fix it if needed.

In `CHANGELOG.md`:
- [SUGGESTION] line 8: Release date 2026-04-16 is stale
  Today is 2026-05-09 but the CHANGELOG entry is dated 2026-04-16 — about three weeks earlier. Keep a Changelog convention is to use the actual release/tag date. Update the date to match the merge/tag day so the entry reflects when the release was actually cut. The Flatpak metainfo on line 48 carries the same date, but per the comment at metainfo.xml:46 that file is auto-synced from Cargo.toml + build date by CI — so CHANGELOG.md is the source of truth here.

Copy link
Copy Markdown
Collaborator

@thepastaclaw thepastaclaw 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

Release-chore PR bumping to 1.0.0-dev.1 and adding a 474-commit changelog. Verification confirms three real packaging defects: the GUI binaries (Linux/Windows/macOS ARM64/Flatpak) are built without --features mcp, and the x86_64 macOS build only enables cli instead of headless. As a result, several shipped artifacts cannot run the MCP server functionality the changelog explicitly advertises (#773). Changelog format observations are minor.

Reviewed commit: 89a4b8f

🔴 4 blocking | 💬 4 nitpick(s)

4 additional findings

🔴 blocking: GUI binaries built without the `mcp` feature on Linux/Windows

.github/workflows/release.yml (lines 97-100)

src/lib.rs:13 gates the entire mcp module on cfg(any(feature = "mcp", feature = "cli")), and src/app.rs:427 only starts the embedded HTTP MCP server when #[cfg(feature = "mcp")] is set. The Linux/Windows GUI build step runs cargo build --release --target ${{ matrix.target }} with no feature flags, so the shipped dash-evo-tool binary has no MCP server compiled in. Setting MCP_API_KEY on these builds will do nothing, contradicting the changelog entry for #773 which advertises the MCP server. (Note: det-cli is still built with --features headless on line 106, so stdio/HTTP MCP is available via that binary — but the GUI-embedded HTTP server is not.)

💡 Suggested change
      - name: Build GUI
        run: |
          cargo build --release --features mcp --target ${{ matrix.target }}
          mv target/${{ matrix.target }}/release/dash-evo-tool${{ matrix.ext }} dash-evo-tool/dash-evo-tool${{ matrix.ext }}
        env:
          OPENSSL_STATIC: "1"
🔴 blocking: macOS ARM64 GUI also built without the `mcp` feature

.github/workflows/release.yml (lines 225-230)

The macOS ARM64 GUI build at lines 225-230 runs cargo build --release --target aarch64-apple-darwin without any feature flags, so the same omission as the Linux/Windows step applies: the shipped GUI cannot expose the MCP server even when MCP_API_KEY is set. The companion det-cli is built with --features headless at line 234, but the GUI-embedded server is missing.

💡 Suggested change
      - name: Build ARM64 architecture
        run: |
          cargo build --release --features mcp --target aarch64-apple-darwin
          mkdir -p build
          cp target/aarch64-apple-darwin/release/dash-evo-tool build/dash-evo-tool
          chmod +x build/dash-evo-tool
🔴 blocking: x86_64 macOS build uses `cli` instead of `headless`, dropping MCP server modes

.github/workflows/release.yml (lines 541-548)

Unlike the ARM64 macOS job (which builds GUI + det-cli in separate steps with proper features), the x86_64 macOS job builds both binaries together with only --features cli. Per Cargo.toml line 105, headless = ["cli", "mcp"], so cli alone enables the client but excludes the mcp feature. This means: (1) the GUI on x86_64 macOS has no embedded HTTP MCP server (same defect as the other GUI builds), and (2) the det-cli shipped here lacks the Headless subcommand, which is gated on #[cfg(feature = "headless")] at src/bin/det_cli/main.rs:52. The x86_64 macOS artifact is materially less capable than ARM64 macOS and inconsistent with the release notes.

💡 Suggested change
      - name: Build x86_64 architecture
        run: |
          cargo build --release --features headless --target x86_64-apple-darwin
          mkdir -p build
          cp target/x86_64-apple-darwin/release/dash-evo-tool build/dash-evo-tool
          chmod +x build/dash-evo-tool
          cp target/x86_64-apple-darwin/release/det-cli build/det-cli
          chmod +x build/det-cli
🔴 blocking: Flatpak artifact compiles GUI without `mcp` feature

flatpak/org.dash.DashEvoTool.yml (lines 77-79)

The Flatpak manifest builds with cargo build --release --locked and no feature flags. As with the GitHub Actions release workflow, this excludes the feature-gated MCP module (src/lib.rs:13) and the AppState startup path that launches the HTTP server when MCP_API_KEY is set (src/app.rs:427). The Flatpak release published from this PR will therefore not expose MCP over HTTP, even though the changelog (#773) advertises it.

💡 Suggested change
    build-commands:
      - cargo build --release --locked --features mcp
      - install -Dm755 target/release/dash-evo-tool /app/bin/dash-evo-tool
      - install -Dm644 flatpak/org.dash.DashEvoTool.desktop /app/share/applications/org.dash.DashEvoTool.desktop
      - install -Dm644 flatpak/org.dash.DashEvoTool.metainfo.xml /app/share/metainfo/org.dash.DashEvoTool.metainfo.xml
      - install -Dm644 assets/DET_LOGO.png /app/share/icons/hicolor/512x512/apps/org.dash.DashEvoTool.png
🤖 Prompt for all review comments with AI agents
These findings are from an automated code review. Verify each finding against the current code and only fix it if needed.

In `.github/workflows/release.yml`:
- [BLOCKING] lines 97-100: GUI binaries built without the `mcp` feature on Linux/Windows
  `src/lib.rs:13` gates the entire `mcp` module on `cfg(any(feature = "mcp", feature = "cli"))`, and `src/app.rs:427` only starts the embedded HTTP MCP server when `#[cfg(feature = "mcp")]` is set. The Linux/Windows GUI build step runs `cargo build --release --target ${{ matrix.target }}` with no feature flags, so the shipped `dash-evo-tool` binary has no MCP server compiled in. Setting `MCP_API_KEY` on these builds will do nothing, contradicting the changelog entry for #773 which advertises the MCP server. (Note: `det-cli` is still built with `--features headless` on line 106, so stdio/HTTP MCP is available via that binary — but the GUI-embedded HTTP server is not.)
- [BLOCKING] lines 225-230: macOS ARM64 GUI also built without the `mcp` feature
  The macOS ARM64 GUI build at lines 225-230 runs `cargo build --release --target aarch64-apple-darwin` without any feature flags, so the same omission as the Linux/Windows step applies: the shipped GUI cannot expose the MCP server even when `MCP_API_KEY` is set. The companion `det-cli` is built with `--features headless` at line 234, but the GUI-embedded server is missing.
- [BLOCKING] lines 541-548: x86_64 macOS build uses `cli` instead of `headless`, dropping MCP server modes
  Unlike the ARM64 macOS job (which builds GUI + det-cli in separate steps with proper features), the x86_64 macOS job builds both binaries together with only `--features cli`. Per `Cargo.toml` line 105, `headless = ["cli", "mcp"]`, so `cli` alone enables the client but excludes the `mcp` feature. This means: (1) the GUI on x86_64 macOS has no embedded HTTP MCP server (same defect as the other GUI builds), and (2) the `det-cli` shipped here lacks the `Headless` subcommand, which is gated on `#[cfg(feature = "headless")]` at `src/bin/det_cli/main.rs:52`. The x86_64 macOS artifact is materially less capable than ARM64 macOS and inconsistent with the release notes.

In `flatpak/org.dash.DashEvoTool.yml`:
- [BLOCKING] lines 77-79: Flatpak artifact compiles GUI without `mcp` feature
  The Flatpak manifest builds with `cargo build --release --locked` and no feature flags. As with the GitHub Actions release workflow, this excludes the feature-gated MCP module (`src/lib.rs:13`) and the `AppState` startup path that launches the HTTP server when `MCP_API_KEY` is set (`src/app.rs:427`). The Flatpak release published from this PR will therefore not expose MCP over HTTP, even though the changelog (#773) advertises it.

Comment thread CHANGELOG.md
- Cache settings reads to avoid 20 queries per second (#420)
- Optimize x86-64 builds for base x86-64 CPU (#267)

[1.0.0-dev.1]: https://github.com/dashpay/dash-evo-tool/releases/tag/v1.0.0-dev.1
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

💬 Nitpick: Use a compare URL instead of a release-tag URL for the version link

Keep a Changelog (which this file's header cites) conventionally uses compare URLs at the bottom — they're more useful to readers and don't 404 between merge and tag-publication. Using a tag URL here means the link will be broken until the post-merge tagging step runs.

💡 Suggested change
Suggested change
[1.0.0-dev.1]: https://github.com/dashpay/dash-evo-tool/releases/tag/v1.0.0-dev.1
[1.0.0-dev.1]: https://github.com/dashpay/dash-evo-tool/compare/v0.8.0...v1.0.0-dev.1

source: ['claude']

Comment thread CHANGELOG.md
Comment on lines +7 to +9

## [1.0.0-dev.1] - 2026-04-16

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

💬 Nitpick: Add an [Unreleased] section to seed the post-release pattern

Keep a Changelog recommends maintaining an ## [Unreleased] section above the latest release to collect changes between releases. Adding it now sets the convention for subsequent contributors and avoids per-PR churn debating where to add new entries.

source: ['claude']

<!-- Version and date are auto-synced from Cargo.toml by CI (flatpak.yml) -->
<releases>
<release version="1.0.0-dev" date="2026-02-17" type="development" />
<release version="1.0.0-dev.1" date="2026-04-16" type="development" />
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

💬 Nitpick: Manual version/date edit duplicates CI auto-sync

The comment on line 46 states that version and date are auto-synced from Cargo.toml by .github/workflows/flatpak.yml (confirmed at lines 43-62 of that workflow, which uses sed to rewrite the version/date and then fails the build if the rewrite did not take effect). The manually edited values are harmless because CI overwrites them, but they invite drift (the date here is the commit day, while CI uses the release publication day). Either leave this file untouched in release-bump PRs or drop the auto-sync step to have a single source of truth.

source: ['claude']

Comment thread CHANGELOG.md
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.0-dev.1] - 2026-04-16
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

💬 Nitpick: Release date set to commit day rather than tag day

2026-04-16 matches the commit author date, but per the PR description the tag/release is created post-merge. If this PR sits open before merging, the date here will not match when v1.0.0-dev.1 is actually published. Consider updating the date during the tagging step (and aligning with flatpak.yml, which prefers github.event.release.published_at).

source: ['claude']

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.

3 participants