Release v0.4.0 #227

Merged
stephen merged 1 commit from release/v0.4.0 into main 2026-07-22 15:40:39 +00:00
Owner

What

Prepares the v0.4.0 release of fj against rasterstate/fj. Do not tag from this PR: lead tags v0.4.0 after merge so the signed/notarized release workflow fires.

  • Version bump 0.3.00.4.0 in Cargo.toml and Cargo.lock. fj --version now reports fj 0.4.0 (derived from CARGO_PKG_VERSION, so no other code change needed).
  • CHANGELOG: promoted [Unreleased] to [0.4.0] - 2026-07-22. The section already documented the SSO/OIDC Fjord Account sign-in (#218/#219), --device (#226), --manual (#225), and the branded callback page. I added the two user-facing deltas that were missing from it: fj auth session (#202) and the new fj run log subcommand + Loki log fallback (#203).
  • Docs: the docs review found fj auth login --device / --manual and fj auth session undocumented. The #[command] help text already carried accurate descriptions; the gap was the README, which had no auth section. Added an Authentication section covering PAT vs Fjord Account, the cross-device --device (device flow, QR, auto-selected headless) and --manual paths, --platform-url, silent refresh, and fj auth session for the cookie-gated Actions log/rerun routes.
  • README install pins bumped to v0.4.0 (version badge, Linux tarball URL, cargo install --tag).

Note on scope

The brief stated only one unreleased commit since v0.3.0 (acb107c, the device flow). In fact v0.3.0..main is 9 commits, including the rest of the Fjord Account sign-in suite (SSO/OIDC login #218, --manual #225, auth session #202) and the Loki log fallback #203. Per the brief's own step 2 ("plus any other user-facing deltas you find in the diff"), v0.4.0 covers the full unreleased user-facing set, not the device flow alone.

Homebrew tap

The brew tap line is deliberately left on the current rasterstate tap. The shorter fjord/fj tap lands with the fjord-org repo move, which is a separate follow-up pending secret provisioning; the tap line changes then.

Verification

cargo build, cargo test (678 + version test passing), cargo clippy --all-targets -D warnings, and cargo fmt --check are all green locally.

## What Prepares the **v0.4.0** release of fj against `rasterstate/fj`. Do not tag from this PR: lead tags `v0.4.0` after merge so the signed/notarized release workflow fires. - **Version bump** `0.3.0` → `0.4.0` in `Cargo.toml` and `Cargo.lock`. `fj --version` now reports `fj 0.4.0` (derived from `CARGO_PKG_VERSION`, so no other code change needed). - **CHANGELOG**: promoted `[Unreleased]` to `[0.4.0] - 2026-07-22`. The section already documented the SSO/OIDC Fjord Account sign-in (#218/#219), `--device` (#226), `--manual` (#225), and the branded callback page. I added the two user-facing deltas that were missing from it: `fj auth session` (#202) and the new `fj run log` subcommand + Loki log fallback (#203). - **Docs**: the docs review found `fj auth login --device` / `--manual` and `fj auth session` undocumented. The `#[command]` help text already carried accurate descriptions; the gap was the README, which had no auth section. Added an **Authentication** section covering PAT vs Fjord Account, the cross-device `--device` (device flow, QR, auto-selected headless) and `--manual` paths, `--platform-url`, silent refresh, and `fj auth session` for the cookie-gated Actions log/rerun routes. - **README install pins** bumped to `v0.4.0` (version badge, Linux tarball URL, `cargo install --tag`). ## Note on scope The brief stated only one unreleased commit since v0.3.0 (`acb107c`, the device flow). In fact `v0.3.0..main` is **9 commits**, including the rest of the Fjord Account sign-in suite (SSO/OIDC login #218, `--manual` #225, `auth session` #202) and the Loki log fallback #203. Per the brief's own step 2 ("plus any other user-facing deltas you find in the diff"), v0.4.0 covers the full unreleased user-facing set, not the device flow alone. ## Homebrew tap The `brew tap` line is deliberately left on the current `rasterstate` tap. The shorter `fjord/fj` tap lands with the fjord-org repo move, which is a separate follow-up pending secret provisioning; the tap line changes then. ## Verification `cargo build`, `cargo test` (678 + version test passing), `cargo clippy --all-targets -D warnings`, and `cargo fmt --check` are all green locally.
Release v0.4.0
All checks were successful
Forseti review / forseti review (advisory) (pull_request_target) Successful in 27s
ci / check (pull_request) Successful in 11m22s
ci / live-e2e (pull_request) Successful in 2m8s
ci / coverage (pull_request) Successful in 2m17s
4e796b057c
Cut fj v0.4.0 (minor). Headline is durable cross-device Fjord Account
sign-in via the OAuth 2.0 device flow (`fj auth login --fjord --device`,
#226), alongside the rest of the unreleased Fjord Account sign-in suite.

- Bump version 0.3.0 -> 0.4.0 (Cargo.toml + Cargo.lock).
- CHANGELOG: promote [Unreleased] to [0.4.0]; add the previously
  unlisted `fj auth session` (#202) and `fj run log` + Loki fallback
  (#203) entries.
- README: document Fjord Account authentication (--fjord, --manual,
  --device, --platform-url, silent refresh) and `fj auth session` in a
  new Authentication section; the docs review found these undocumented.
- README: bump the pinned install version (badge, Linux tarball, cargo
  --tag) to v0.4.0. Homebrew tap line left on the current rasterstate
  tap; it changes with the fjord-org move (separate follow-up).

Forseti review

No blocking findings from the lead reviewer.

No inline findings.

  • PR: rasterstate/fj#227
  • Head SHA: 4e796b057c81
  • Review job: sha256:b34760149b70a1a07a8873f289ac2c2fe3c3ef59f5bd4f84d63d4a66599c7c15
  • Provider pair: openai:gpt-5.5+anthropic:claude-haiku-4-5-20251001
  • Blocking findings: 0
  • Inline findings: 0
  • Token source: GITHUB_TOKEN
  • Runner: 398a79b24c48
  • Run: https://rasterhub.com/rasterstate/fj/actions/runs/382
<!-- forseti:review {"version":2,"repo":"rasterstate/fj","pr":227,"head_sha":"4e796b057c811d102e6fbcaf5aa86c2f710cb765","provider_pair":"openai:gpt-5.5+anthropic:claude-haiku-4-5-20251001","policy_version":"stub-policy-v1","prompt_version":"prompt-v2","context_fingerprint":"fnv64:d241da541ea65e1a","review_job_key":"sha256:b34760149b70a1a07a8873f289ac2c2fe3c3ef59f5bd4f84d63d4a66599c7c15","base_sha":"acb107cdcf9dd9838b9b899d0cb53654695729ae","role":"summary","status":"current"} --> ## Forseti review No blocking findings from the lead reviewer. _No inline findings._ - PR: `rasterstate/fj#227` - Head SHA: `4e796b057c81` - Review job: `sha256:b34760149b70a1a07a8873f289ac2c2fe3c3ef59f5bd4f84d63d4a66599c7c15` - Provider pair: `openai:gpt-5.5+anthropic:claude-haiku-4-5-20251001` - Blocking findings: `0` - Inline findings: `0` - Token source: `GITHUB_TOKEN` - Runner: `398a79b24c48` - Run: https://rasterhub.com/rasterstate/fj/actions/runs/382
stephen deleted branch release/v0.4.0 2026-07-22 15:40:39 +00:00
stephen referenced this pull request from a commit 2026-07-22 15:40:40 +00:00
Sign in to join this conversation.
No description provided.