Skip to content

Release cadence: at least one tag per day, small and stable #351

Closed

Description

@hsliuustc0106

Why

Releases wait until a large batch is done (e.g. #152 for v0.2.0), so users and teammates see changes late and each release is big and risky. Ship small and often instead.

Proposal: at least one tag per day

  • Cadence: at least one tag every day. Each tag packages whatever was merged to main that day, at a fixed time (proposed: evening Asia/Shanghai). No merged change since the last tag means skip; the point is a steady rhythm, not empty tags.
  • Versioning: patch bump (v0.2.x) for fixes and small features; minor bump (v0.3.0) only for a notable new capability. Core ds-bot and plugin package versions are bumped only when their own contents change, as in Prepare the FlyBot v0.2.0 product release #152.
  • Mechanics: reuse the existing tag-triggered release workflow and the per-PR changelog fragments; the daily tag assembles them into a changelog section. No new release tooling in the first version.
  • Stability first: tag only a main tip where CI is green. If main is red, fix or revert first; a missed day is fine, a broken tag is not.
  • One headline per release: a one-line summary plus a short screen recording when there is a visible change. This doubles as lightweight announcement (see docs(timeline): add a screen-recording demo at the top of the Timeline plugin docs #350 for recordings).

Pre-tag checklist

  1. main tip CI green; no unreviewed merges (Codex review done per team rule).
  2. Changelog fragments consumed and the section reads well in zh/en.
  3. Version check scripts pass (check-release-version, release-notes, changelog check).
  4. Tag and confirm the release workflow finishes and artifacts are published.
  5. Post the headline (and recording if any).

Open questions

  1. Who creates the tag: a maintainer by hand at first, or a scheduled workflow later?
  2. Fixed time of day, and how to treat very large days (split into two tags?).
  3. Do we keep a separate "stable" channel later, or is every tag stable?
  4. What happens to Prepare the FlyBot v0.2.0 product release #152: close it in favour of the daily flow, or land it as the first tag?

Process

Workflow or script changes go through cloud OpenCode, review via Codex; bots do not hand-write code.

Activity

  1. Birfy commented on Oct 19, 2026

    @Birfy
    Collaborator

    Satisfied by the daily release routine (standing approval in #400 / AGENTS.md) and the first real semver tag v0.2.0 via #399 (2026-10-19). Cadence is patch-bump daily when changelog fragments exist, skip otherwise; mechanical release PRs use the standing approval. Closing this tracking issue; remaining product-release polish (e.g. draft #152) is separate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions