|
3 | 3 | All notable changes are recorded here and summarized again in the matching |
4 | 4 | GitHub release notes for each tag. |
5 | 5 |
|
| 6 | +## v0.3.0 |
| 7 | + |
| 8 | +**Comment commands address your own App.** v0.2.0 replaced `@simplycubed-code` |
| 9 | +with `/simplycubed`, which fixed the multi-tenant bug and gave up the only thing |
| 10 | +that makes a handle worth having. GitHub offers accounts **with repository |
| 11 | +access** in its autocomplete, so a real mention completes after someone types |
| 12 | +`@a` without them knowing the bot's name. A prefix that is not an account cannot |
| 13 | +do that, and typing `/` opens GitHub's own menu, which is a fixed set of five |
| 14 | +built-ins and matches nothing. |
| 15 | + |
| 16 | +**Breaking.** `.github/simplycubed.yml` gains a required `appName:`, |
| 17 | +`simplycubed init` requires `--app-name`, and the comment prefix changes again. |
| 18 | +Re-run `simplycubed init --workflow --app-name <your-app>` to regenerate both |
| 19 | +files. |
| 20 | + |
| 21 | +- **`appName:` is the source of truth**, and the parser, help text, |
| 22 | + unknown-command reply, and wrong-surface replies all render from it. The agent |
| 23 | + can no longer tell anyone to mention a different account. It accepts |
| 24 | + `acme-code`, `@acme-code`, or `acme-code[bot]`, because all three are how |
| 25 | + people write the same App. |
| 26 | +- **The workflow trigger stays a literal**, written by `init` from that same |
| 27 | + value. A workflow decides whether to start before any code runs, so matching |
| 28 | + loosely there would mint a token, check out, install Go, install the CLI and |
| 29 | + start a sandbox — roughly thirty seconds — every time someone mentioned a |
| 30 | + colleague, to then do nothing. |
| 31 | +- **`preflight` fails when the two disagree.** The handle necessarily lives in |
| 32 | + two files and the App can push only one of them, since it holds no `workflows` |
| 33 | + permission by design. Drift is silent in the worst way: comments stop working |
| 34 | + with no error anywhere. The check names both values and says to re-run `init`. |
| 35 | +- **`--app-name` is required at first install**, with an error that explains the |
| 36 | + name is yours rather than merely demanding a flag. Re-running `init` without |
| 37 | + it keeps whatever the config already says, so upgrading cannot silently change |
| 38 | + the handle a team already types. |
| 39 | +- The install commands in the README and `docs/setup.md` show `<release-tag>` |
| 40 | + with a link to Releases, and `scripts/verify-release.sh` now also pins the |
| 41 | + README's "Current release" banner. v0.2.0 shipped with that banner still |
| 42 | + announcing v0.1.9, because it was prose rather than a checked pin. |
| 43 | +- **`scripts/verify-release.sh` no longer breaks on formatting.** It matched the |
| 44 | + Go version pin as a fixed string, so gofmt realigning that constant made the |
| 45 | + check fail on the very release it was meant to guard. It now matches with a |
| 46 | + regex that tolerates the alignment. |
| 47 | +- The README leads with what the product is. It opened with a dry run, ten lines |
| 48 | + before the overview, and carried three consecutive install sections that all |
| 49 | + pointed at `docs/setup.md`. |
| 50 | + |
6 | 51 | ## v0.2.0 |
7 | 52 |
|
8 | 53 | **This release makes the product installable by someone who is not us.** Every |
|
0 commit comments