Skip to content

Bump to 0.11.0, derive the Android versionCode - #4

Merged
deymosh merged 1 commit into
masterfrom
chore/version-bookkeeping-0.11.0
Sep 6, 2026
Merged

Bump to 0.11.0, derive the Android versionCode#4
deymosh merged 1 commit into
masterfrom
chore/version-bookkeeping-0.11.0

Conversation

@deymosh

@deymosh deymosh commented Sep 6, 2026

Copy link
Copy Markdown
Owner

Preps the tree for the v0.11.0 release (which ships the com.codedeck.plus rebrand from #3) and fixes the version-bookkeeping model.

Changes

  • 0.10.00.11.0 across all six package.json, tauri.conf.json, Cargo.toml, and the codedeck-mobile entry in Cargo.lock. Unified versioning — every artifact of a release carries the release's version, even a component unchanged since the last one (the version is a compatibility snapshot; wire compat is protocolVersion, separate).

  • Removed bundle.android.versionCode from tauri.conf.json. It was pinned at 6. Tauri derives versionCode from version as major·1_000_000 + minor·1_000 + patch, so pinning it turned Android's monotonic-integer guarantee into manual bookkeeping (and made the release workflow's "stamp version → versionCode for free" claim false). Now version is the single source of truth for both versionName and versionCode.

    • Verified with a Docker APK build — aapt2 dump badging: versionCode='11000' versionName='0.11.0' package='com.codedeck.plus', label CodeDeck+, activity com.codedeck.plus.MainActivity.
    • The jump from 611000 is fine: com.codedeck.plus is a fresh app id with no prior versionCode, and Android only requires the value to increase, not its magnitude.
  • cut-release/SKILL.md step 2 rewritten. The old text said bumping the tree was optional because CI stamps the tag number at build time. That created drift between "what the repo says" and "what shipped". New model: the version bump lands in a commit (small dedicated PR is fine) before tagging, so the repo always states its own current version; release.yml re-stamps the same number with --allow-same-version, making the CI stamp a no-op safety net (real work only for a workflow_dispatch run with an arbitrary version input), not the mechanism. Documents unified versioning and the derived versionCode.

  • apps/mobile/README.md: note the versionName/versionCode derivation.

Verification

  • ./codedeck check — typecheck + tests, green.
  • Docker APK build — com.codedeck.plus / CodeDeck+ / versionCode 11000 / versionName 0.11.0.
  • CI on this PR.

After merge → cut v0.11.0 (first release on the new app id + icon).

- Version 0.10.0 -> 0.11.0 across all six package.json, tauri.conf.json,
  Cargo.toml and the codedeck-mobile entry in Cargo.lock. Unified versioning:
  every artifact of a release carries the release's version.
- Remove `bundle.android.versionCode` from tauri.conf.json. Tauri derives it
  from `version` (major*1_000_000 + minor*1_000 + patch), so pinning it turned
  Android's monotonic-integer guarantee into manual bookkeeping. Verified with
  a Docker APK build: `aapt2 dump badging` -> versionCode=11000,
  versionName=0.11.0, package=com.codedeck.plus.
- Rewrite cut-release/SKILL.md step 2: the version bump lands in a commit
  BEFORE the tag so the repo always states its own version; release.yml
  re-stamps the same number with --allow-same-version, making the CI stamp a
  no-op safety net rather than the mechanism. Document unified versioning and
  the derived versionCode.
- apps/mobile/README.md: note the versionName/versionCode derivation.

`./codedeck check` green.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@deymosh
deymosh merged commit 92f2f6a into master Sep 6, 2026
2 checks passed
@deymosh
deymosh deleted the chore/version-bookkeeping-0.11.0 branch September 6, 2026 22:23
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.

1 participant