Skip to content

feat: use date-based release versions#319

Merged
h4yfans merged 1 commit into
mainfrom
release-date-versioning
May 6, 2026
Merged

feat: use date-based release versions#319
h4yfans merged 1 commit into
mainfrom
release-date-versioning

Conversation

@h4yfans
Copy link
Copy Markdown
Collaborator

@h4yfans h4yfans commented May 6, 2026

What

Add date-based public release tags and visible app versions for desktop releases.

Why

Stable releases should publish from main with public versions like v2026-05-06, with .2, .3, etc. for additional UTC-day releases, while Electron/updater internals keep semver-safe versions.

How

  • Extend desktop release metadata allocation to reuse current HEAD tags and allocate same-day suffixes.
  • Update the main release workflow to create/reuse release tags from main and publish public v-date release metadata/assets while preserving updater metadata versions.
  • Add a display formatter so Settings and update dialogs show public v-date versions.

Type

  • feat - new feature
  • fix - bug fix
  • refactor - restructure without behavior change
  • style - visual/UI only
  • perf - performance improvement
  • test - adding or updating tests
  • chore - tooling, deps, config
  • ci - CI/CD changes

Test plan

  • Unit tests added/updated
  • Integration tests added/updated
  • Manual testing (describe below)

Passed:

  • pnpm lint
  • pnpm typecheck
  • node --test scripts/desktop-release-metadata.test.mjs
  • pnpm --dir apps/desktop exec vitest run --config config/vitest.config.ts --project main src/main/lib/app-version-display.test.ts
  • pnpm --dir apps/desktop exec vitest run --config config/vitest.config.ts --project renderer src/renderer/src/pages/settings/general-section.i18n.test.tsx
  • git diff --check
  • Normal pre-push hook on retry: contract checks, architecture checks, lint, IPC check, typecheck, and desktop test suite (410 passed | 1 skipped, 7399 passed | 1 skipped)

Notes:

  • Initial full pnpm test hit a local better-sqlite3 native module mismatch; fixed locally with bash apps/desktop/scripts/ensure-native.sh node.
  • One push attempt hit two test timeouts in the pre-push hook (src/main/index.phase2.test.ts, src/renderer/src/pages/settings/settings-page.i18n.test.tsx). Both passed in isolation immediately after, and the normal pre-push hook passed on retry.

Screenshots

N/A

Checklist

  • Self-reviewed the diff
  • No hardcoded secrets or credentials
  • Files stay under ~500 LOC
  • Follows immutable data patterns

@codecov
Copy link
Copy Markdown

codecov Bot commented May 6, 2026

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

ℹ️ You can also turn on project coverage checks and project coverage reporting on Pull Request comment

Thanks for integrating Codecov - We've got you covered ☂️

@h4yfans h4yfans marked this pull request as ready for review May 6, 2026 21:54
@h4yfans h4yfans merged commit 525b203 into main May 6, 2026
8 checks passed
@h4yfans h4yfans deleted the release-date-versioning branch May 19, 2026 23: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

Development

Successfully merging this pull request may close these issues.

1 participant