Skip to content

v2.0.0-alpha.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Sep 21:48
· 8 commits to main since this release
573a1a5

Changelog

  • 30b3e68: Merge branch 'main' into docs/site-guides (@Foshati)
  • bccc0be: Merge branch 'main' into refactor/layout (@Foshati)
  • 324f140: Merge branch 'refactor/layout' into feat/console-shadcn (@Foshati)
  • deada7e: Merge pull request #41 from Teamtem-dev/feat/installer-ux-and-sqlite-migration (@Foshati)
  • c1f94cf: Merge pull request #42 from Teamtem-dev/dependabot/github_actions/actions-b6b5be8333 (@Foshati)
  • 86ce940: Merge pull request #43 from Teamtem-dev/feat/cli-spinner-and-http-setup (@Foshati)
  • 61fc533: Merge pull request #45 from Teamtem-dev/feat/go-rewrite (@Foshati)
  • c3e3bab: Merge pull request #47 from Teamtem-dev/dependabot/github_actions/actions-63efc05637 (@Foshati)
  • a020164: Merge pull request #48 from Teamtem-dev/fix/scan-gate-db-date (@Foshati)
  • 663a550: Merge pull request #50 from Teamtem-dev/test/console-real-server (@Foshati)
  • 32bf0e5: Merge pull request #51 from Teamtem-dev/chore/docs-and-verification (@Foshati)
  • 24fb263: Merge pull request #52 from Teamtem-dev/feat/console-shadcn (@Foshati)
  • 2adc8cf: Merge pull request #53 from Teamtem-dev/refactor/layout (@Foshati)
  • 14e926b: Merge pull request #54 from Teamtem-dev/dependabot/go_modules/go-minor-218b19f540 (@Foshati)
  • dbdc125: Merge pull request #55 from Teamtem-dev/docs/site-guides (@Foshati)
  • 8f0546e: Merge pull request #56 from Teamtem-dev/docs/readme-ops-reference (@Foshati)
  • 36a0575: Merge pull request #57 from Teamtem-dev/fix/console-contrast (@Foshati)
  • 40d13e5: Merge pull request #58 from Teamtem-dev/fix/helm-backup-pvc-postgres (@Foshati)
  • c5336b7: Merge pull request #60 from Teamtem-dev/refactor/turborepo-layout (@Foshati)
  • 1227a75: Merge pull request #61 from Teamtem-dev/dependabot/github_actions/actions-4b236ca2ea (@Foshati)
  • 4fa9a32: Merge pull request #63 from Teamtem-dev/feat/2.0.0-alpha.1-prep (@Foshati)
  • 9cdf95a: Merge pull request #64 from Teamtem-dev/fix/goreleaser-and-smoke-test (@Foshati)
  • 1ce46a8: Merge remote-tracking branch 'origin/chore/docs-and-verification' into trial/stack (@Foshati)
  • 9953b10: Merge remote-tracking branch 'origin/docs/readme-ops-reference' into refactor/turborepo-layout (@Foshati)
  • e96eb5c: Merge remote-tracking branch 'origin/main' into refactor/turborepo-layout (@Foshati)
  • 2b92e5b: Merge remote-tracking branch 'origin/test/console-real-server' into trial/stack (@Foshati)
  • 12e48e5: build(deps): bump taiki-e/install-action (@dependabot[bot])
  • c442946: build(deps): bump taiki-e/install-action (@dependabot[bot])
  • 5098994: build(deps): bump the actions group across 1 directory with 5 updates (@dependabot[bot])
  • 18ba8ed: build(deps): bump the go-minor group across 1 directory with 2 updates (@dependabot[bot])
  • 25b7bcb: build(go): Go workspace, conventions, lint config and parity ledgers (@Foshati)
  • 59b1c4d: build(go): Kubernetes modules, controller-gen, and the kubenapi module wiring (@Foshati)
  • 2e6470b: build(go): controller-runtime for the reconcilers; materializer annotations (@Foshati)
  • a9da5c7: build(go): one Go module at the repository root, laid out as cmd/, api/, internal/ (@Foshati)
  • dbf2b21: build(go): run NilAway on Kuben's own packages only (@claude)
  • cbefc77: build(go): tidy kubenapi; NilAway skips generated files (@Foshati)
  • d240304: build: build the image and the test binaries with Go (@Foshati)
  • 148c0ec: chore(build): turbo 2.11.2 for native Go workspaces (@Foshati)
  • 9335beb: chore(console): comments name the Go packages at their new paths (@Foshati)
  • b23e8a6: chore: move CONVENTIONS and history to apps/kuben directly, eliminating apps/kuben/docs (@Foshati)
  • 1cb99bd: chore: remove the Rust tree (G7) (@Foshati)
  • 447009d: ci(go): Go workspaces in Turborepo and a Go CI job (@Foshati)
  • 70f6c57: ci(go): a skipped database test fails in CI (@Foshati)
  • 451fe2a: ci(go): release train for 2.x tags with goreleaser (@Foshati)
  • 2085cc8: ci(go): run the agent runtime tests on kind (@Foshati)
  • 136d00c: ci(go): the oracle job compares the Go server with released Rust 1.2.0 (@Foshati)
  • 7755628: ci: pass version via env for zizmor and ignore go in biome (@Foshati)
  • 17e7991: ci: run the Go jobs only, and build the e2e binaries with Go (@Foshati)
  • b9d8a5e: ci: run the console live suite against the Go server (console-live) (@Foshati)
  • 1a98335: ci: size budgets warn instead of failing (@Foshati)
  • 4009457: ci: the Go release train is the release workflow; govulncheck replaces cargo-deny (@Foshati)
  • 58d6ee7: ci: upload the console's visual snapshots; document refreshing them (@Foshati)
  • 6e739f9: docs(go): ARCHITECTURE.md and lint-enforced layering rules (@Foshati)
  • c9cb0c5: docs(go): AgentLink ledger rows; lint go/agent in CI (@claude)
  • 529a42f: docs(go): G0 spike results: ogen for the API, binary sizes (@Foshati)
  • 6201f41: docs(go): SSO ledger rows; handoff status, work-in-progress patches and the next-session prompt (@claude)
  • c53a224: docs(go): handoff §8 — every phase written; next session compiles and verifies (@Foshati)
  • c34abf9: docs(go): ledger rows for backup, dns01, doctor and support-bundle (@Foshati)
  • 8cc538b: docs(go): ledger rows for domains, builds, notifications and export (@Foshati)
  • 0c26460: docs(go): ledger rows for module lists and the OpenAPI writer (@Foshati)
  • b715c69: docs(go): ledger rows for previews; tests/http.rs fully ported (@Foshati)
  • f3dc92c: docs(go): ledger rows for the API client, host, ui and client commands (@Foshati)
  • 159adc4: docs(go): ledger rows for the doctor, DNS, outbound HTTP and cluster tests (@claude)
  • 626ef03: docs(go): ledger rows for the evidence route and the app doctor (@Foshati)
  • c9d6c7d: docs(go): ledger rows for usage, builds, scans, GitHub and CI trust (@claude)
  • 281b102: docs(go): ledgers after the identity routes (@Foshati)
  • 100397e: docs(go): ledgers for discovery, leader, registry and supervise (@Foshati)
  • 58b382a: docs(go): ledgers for the materializer and the reconcilers (@Foshati)
  • 9e6e2ac: docs(go): parity ledger after the walking skeleton (@Foshati)
  • 38283f9: docs(go): record the owner's decisions on GitHub tokens and CI trust ints (@Foshati)
  • 92269d6: docs(go): share rewrite plan and handoff (@Foshati)
  • b914ea5: docs(go): standard discovery in the agent; size is a warning (@Foshati)
  • 7359e6e: docs(go): state.rs and lib.rs are covered by api.Deps and the router (@Foshati)
  • 29a2566: docs(site): CI, rollbacks, promote, images, domains and previews match 2.x (@Foshati)
  • d4b5c30: docs(site): Helm values and custom resources follow the chart and CRDs (@Foshati)
  • a78df60: docs(site): a changelog entry for v2.0.0-alpha.1, off until the tag (@Foshati)
  • bbd8558: docs(site): changelog entries for v1.2.0 and v1.2.1 (@Foshati)
  • d8ec5e4: docs(site): contributing pages follow the console and the release (@Foshati)
  • f4c8ddc: docs(site): first app and concepts match the 2.x data model and console (@Foshati)
  • 7ee9fc2: docs(site): install guides cover the stable line and the 2.0 pre-release (@Foshati)
  • 1063273: docs(site): operations pages match what the code reports (@Foshati)
  • f9e926b: docs(site): rewrite the roadmap for 2.x and update the docs home (@Foshati)
  • 630b9f9: docs(site): sign-in, audit, incidents, jobs and status pages match 2.x (@Foshati)
  • e73bbe6: docs(site): teams, templates, volumes and usage guides match 2.x (@Foshati)
  • 0008d34: docs(site): the CLI reference lists every command and flag (@Foshati)
  • d0cb61d: docs(site): the configuration reference follows the Go server (@Foshati)
  • 52abbd9: docs(site): upgrading from 1.2 to 2.0, and 1.0/1.1 named as such (@Foshati)
  • fdeb668: docs: Go toolchain, ADR-033, and the frozen contracts (@Foshati)
  • 1a1552e: docs: Helm values, upgrade guide, roadmap and alpha changelog (@Foshati)
  • 0756d16: docs: rewrite the README for 2.x (@Foshati)
  • 5bd202f: docs: supported versions, release verification and live links (@Foshati)
  • e6ec4dd: docs: the README does not promise GitOps edits of apps (@Foshati)
  • ba6c6db: feat(chart): SSO, CI trust, Git builds values; upgradeCheckMajor for the pre-upgrade hook; 2.0.0-alpha.1 (@Foshati)
  • a82252a: feat(console): a DataTable with filter, sort and pages (@Foshati)
  • 9051956: feat(console): a home dashboard (@Foshati)
  • 8a3eeb4: feat(console): a settings page with single sign-on and CI trust policies (@Foshati)
  • f0ca143: feat(console): account and API tokens pages on shadcn (@Foshati)
  • ad32a3c: feat(console): add shadcn/ui components, theme tokens and RTL codemod (@Foshati)
  • fb703ce: feat(console): app page in tabs, with deployments, releases and logs on shadcn (@Foshati)
  • d1082db: feat(console): app usage, DNS, image policy and detach on shadcn (@Foshati)
  • 4b06835: feat(console): approve and reject deployments; builds tab for Git-sourced apps (@Foshati)
  • fc26e9c: feat(console): audit, team, incidents and releases on the DataTable (@Foshati)
  • 1eea1d9: feat(console): detached apps on shadcn (@Foshati)
  • 2569dc6: feat(console): domain claims and DNS providers on shadcn (@Foshati)
  • a5f9cce: feat(console): environment page on shadcn (@Foshati)
  • c07eee7: feat(console): incidents and audit log on shadcn (@Foshati)
  • 6c8f442: feat(console): new shadcn shell with sidebar, breadcrumb and command palette (@Foshati)
  • 3b99ae8: feat(console): owners, freezes, silences, paused delivery and emergency rollback (@Foshati)
  • ce16c71: feat(console): project previews and status page settings on shadcn (@Foshati)
  • 1e492aa: feat(console): projects list and project page on shadcn (@Foshati)
  • 269f9b4: feat(console): shadcn page kit, and the sign-in and setup pages on it (@Foshati)
  • 1d732ee: feat(console): skeleton loading for pages, lists and tables (@Foshati)
  • cc40956: feat(console): team members and roles on shadcn (@Foshati)
  • f61af69: feat(console): the Doctor on shadcn, with its evidence graph drawn (@Foshati)
  • 34d046b: feat(console): the public status page on shadcn (@Foshati)
  • 9b9f403: feat(console): webhooks on shadcn (@Foshati)
  • 8a153ee: feat(go): API foundation: ogen server, credentials, problems, console (@Foshati)
  • 5cb9cf2: feat(go): API tokens, members, audit log and scoped access (@Foshati)
  • a27d7b5: feat(go): app promotion across environments (@Foshati)
  • c9421b5: feat(go): app, deployment and release routes (@Foshati)
  • 8bcc74a: feat(go): canonical JSON identical to Rust, pinned by fixtures from Rust (@Foshati)
  • 1579024: feat(go): cluster capability discovery (@Foshati)
  • 3956194: feat(go): cluster registry (@Foshati)
  • ca14379: feat(go): compress responses as tower-http's CompressionLayer did (@claude)
  • 4a1e7b4: feat(go): create and delete projects; shared validators (@Foshati)
  • 2df0d82: feat(go): deliver managed secret revisions from the materializer (@claude)
  • 74922c3: feat(go): doctor delegation, proxy and agent checks (@Foshati)
  • 598a80b: feat(go): environment routes (@Foshati)
  • a76a2a8: feat(go): event stream, build script and goreleaser config (@Foshati)
  • 4d86293: feat(go): every kuben command is ported; ledger has no Rust file left to do (@Foshati)
  • 6b78508: feat(go): hand the GitHub App to the notifier (@Foshati)
  • 9ce556b: feat(go): image references resolved to digests on go-containerregistry (@Foshati)
  • 0ed57a0: feat(go): kuben.dev/v1alpha1 types in kubenapi (@Foshati)
  • 70f358e: feat(go): load and check the secret keyring at startup (@claude)
  • 583672f: feat(go): manual run for scheduled processes (@Foshati)
  • 351b660: feat(go): outbound.Client.Send answers the status without reading the body (@Foshati)
  • cfd88be: feat(go): port AgentLink TLS and enrollment (@claude)
  • fc8344c: feat(go): port RegistryVerifier to oci.Verifier (@Foshati)
  • 34ea9d7: feat(go): port auth/sso.rs routes (getSsoInfo, startSso, finishSso) (@claude)
  • ce29a2b: feat(go): port bootstrap.rs (first admin, password hand-over, setup banner) (@Foshati)
  • 536f2e6: feat(go): port cli/backup.rs (kuben backup and kuben restore) (@Foshati)
  • 7f81ba3: feat(go): port cli/client.rs (login, apps, deploy, status , logs, rollback) (@Foshati)
  • 4533a46: feat(go): port cli/dns01.rs (kuben dns01-issuer) (@Foshati)
  • d815eaf: feat(go): port cli/doctor.rs (kuben doctor and doctor --cluster) (@Foshati)
  • dc52908: feat(go): port cli/setup (kuben setup, uninstall, status without an app) (@Foshati)
  • 1b3134d: feat(go): port cli/support.rs (kuben support-bundle) (@Foshati)
  • c29187e: feat(go): port cli/ui.rs (steps, spinner, prompts) (@Foshati)
  • 51f4569: feat(go): port dns.rs and the outbound HTTP client (transport.rs) (@claude)
  • 0099653: feat(go): port evidence.rs, the Doctor's evidence graph (@claude)
  • 9bd9a45: feat(go): port image update policies and the image watcher (@claude)
  • 293e1b5: feat(go): port kuben-api client.rs and host.rs (API client for the CLI) (@Foshati)
  • 0863432: feat(go): port kuben-core to go/hub/internal/core (@Foshati)
  • 75476ba: feat(go): port kuben-platform usage.rs (live usage window and collector) (@claude)
  • 1202943: feat(go): port notify.rs (event plans, signed webhook delivery, notifier) (@Foshati)
  • 26202e1: feat(go): port previews (repo/previews.rs, previews.rs, routes/previews.rs) (@Foshati)
  • 9b54d4c: feat(go): port repo/ci.rs, CI trust policies and token exchange (@claude)
  • 95d386b: feat(go): port repo/installs.rs and repo/backups.rs (@claude)
  • 8af5041: feat(go): port repo/notify.rs to store/notify.go (@Foshati)
  • 43e3ab8: feat(go): port repo/rollups.rs (hourly usage rollups) (@claude)
  • 7e80457: feat(go): port repo/sso.rs to store/sso.go (@claude)
  • db6850b: feat(go): port reset-admin, agent-token, migrate and upgrade-check (@Foshati)
  • 74e9fdd: feat(go): port routes/apps/approvals.rs and repo/policies.rs (@Foshati)
  • 27ede37: feat(go): port routes/apps/builds.rs (list, get and cancel builds) (@Foshati)
  • f9e1ce2: feat(go): port routes/apps/domains.rs (DNS hostname verification) (@Foshati)
  • 22e056b: feat(go): port routes/apps/evidence.rs and fill the doctor's graph (@Foshati)
  • 32da675: feat(go): port routes/apps/export.rs (export document, detach, detached apps) (@Foshati)
  • 4c84a08: feat(go): port routes/apps/logs.rs (pod logs and cluster events) (@Foshati)
  • 097b897: feat(go): port routes/apps/scans.rs and routes/vulnerabilities.rs (@Foshati)
  • f63c983: feat(go): port routes/apps/source.rs and Git-sourced app creation (@Foshati)
  • 740ac3f: feat(go): port routes/ci.rs, CI trust routes and the OIDC exchange (@claude)
  • 64e2276: feat(go): port routes/controls.rs (owners, freezes, silences, pause, emergency rollback) (@claude)
  • f4fb60f: feat(go): port routes/domains.rs (claims, DNS providers, app DNS sync) (@Foshati)
  • e4acf42: feat(go): port routes/git.rs (GitHub App installations and webhook) (@Foshati)
  • 61c58ac: feat(go): port routes/incidents.rs (incidents and webhook endpoints) (@Foshati)
  • 09bea04: feat(go): port routes/policy.rs (environment protection policies) (@Foshati)
  • 9f39f87: feat(go): port routes/status.rs and repo/status.rs (public status pages) (@Foshati)
  • 52d2a37: feat(go): port routes/templates.rs (one-click templates catalogue and deployment) (@Foshati)
  • 2d0a086: feat(go): port sso.rs to api/sso (@claude)
  • d677f81: feat(go): port telemetry.rs (log level, Prometheus metrics) (@Foshati)
  • 939ea4e: feat(go): port the AgentLink hub, its SQL records and the local agent (@claude)
  • 6bb82dd: feat(go): port the AgentLink messages and framing (@claude)
  • 5ba916e: feat(go): port the GitHub Actions half of oidc.rs (@claude)
  • ed74b15: feat(go): port the GitHub App client (github.rs) (@claude)
  • a535388: feat(go): port the app doctor route (routes/apps/doctor.rs) (@claude)
  • e618b48: feat(go): port the build pipeline (platform/build job, steps, observe, evidence, rescan, worker) (@Foshati)
  • 48bd98c: feat(go): port the build provider and verifier contracts (@claude)
  • b11bf99: feat(go): port the build store (repo/builds.rs) (@claude)
  • 0d020a3: feat(go): port the kuben command tree, bundle lock and version (@Foshati)
  • f0a0c67: feat(go): port the kuben-agent binary (@claude)
  • b16c872: feat(go): port the rest of repo/controls.rs (@claude)
  • d297074: feat(go): port the rest of repo/domains.rs to the store (@Foshati)
  • 8ae1f2a: feat(go): port the rest of repo/secrets.rs to the store (@claude)
  • f9620ad: feat(go): port the rest of the doctor's checks (doctor.rs) (@claude)
  • c1eb7cf: feat(go): port the rest of the scan store (repo/scans.rs) (@claude)
  • 7d1cc7a: feat(go): port the secret keyring (kuben-platform secrets.rs) (@claude)
  • de60613: feat(go): port the secrets and registry login routes (@claude)
  • 51d8ead: feat(go): project, environment, app and gateway reconcilers (@Foshati)
  • b7b122c: feat(go): projections over client-go informers (@Foshati)
  • f79aadb: feat(go): render plans for apps, byte-identical to Rust (@Foshati)
  • 264631c: feat(go): request access, health registry and the Rust oracle (@Foshati)
  • 7e0464e: feat(go): run the notifier on every replica (@Foshati)
  • 8671547: feat(go): seal and open endpoint secrets (notify.rs seal_secret, open_secret) (@claude)
  • b11d7c6: feat(go): serde-strict AppSpec decoding and the agent envelope type (@Foshati)
  • 80de043: feat(go): serve getAppMetrics and start the usage collector (@claude)
  • 667d5b3: feat(go): serve hands the GitHub App to the API (@Foshati)
  • dca8969: feat(go): serve keeps retention budgets, watches backups, records the install journal (@Foshati)
  • 971e98d: feat(go): serve runs the informers, readiness gate and discovery (@Foshati)
  • d25e54b: feat(go): serve runs the materializer, reconcilers and drift watch (@Foshati)
  • 4a07e00: feat(go): serve the API reference at /api/docs and port the skeleton tests (@claude)
  • 6a4d0ab: feat(go): start the build worker and the rescans in kuben serve (@Foshati)
  • 0d43fbc: feat(go): store for projects, apps, releases and deployments (@Foshati)
  • 09ac0a4: feat(go): store foundation: sqlx-compatible migrator, tenants and identity (@Foshati)
  • dd699eb: feat(go): store reads for app admission and handover (@Foshati)
  • a72d0f4: feat(go): store reads for the materializer: pause, delivery, detach (@Foshati)
  • ca84cbf: feat(go): subsystem supervisor and controller leader election (@Foshati)
  • 8765302: feat(go): the materializer (@Foshati)
  • 835319d: feat(go): walking skeleton: kuben serve with setup, sign-in and projects (@Foshati)
  • 5d93450: feat(setup): immediate installer banner with streaming progress and interactive SQLite reset (@Foshati)
  • 24041a0: fix(chart): bind backup PVC on install and pass credentials to pg_isready (@Foshati)
  • 960835b: fix(ci): add retry and GITHUB_TOKEN to zizmor audit to handle transient API network errors (@Foshati)
  • 11dd96c: fix(ci): allow parallel golangci-lint runners and fix CRD path in agent cluster tests (@Foshati)
  • 03a8414: fix(cli): --version, -V and exit status 2 as the Rust CLI had them (@Foshati)
  • ef59271: fix(cli): flag help shows the value type, not a backquoted word (@Foshati)
  • 009d0d8: fix(cli): integrate step commands into spinner line and prompt for direct HTTP setup (@Foshati)
  • 9a03fe0: fix(console): dialogs scroll within the window; e2e selectors match the roles (@Foshati)
  • a005c89: fix(console): keep shadcn and its libraries within the strict CSP (@Foshati)
  • b2f2fca: fix(console): only the last breadcrumb is the current page (@Foshati)
  • 6811897: fix(console): open invite dialog before filling member details in live test (@Foshati)
  • 6ef618a: fix(console): remount buttons on variant change so CSS transition does not dip contrast (@Foshati)
  • f3aaaaa: fix(console): status colours keep 4.5:1 on their tinted surfaces (@Foshati)
  • 4d528ce: fix(console): the top-bar menus are non-modal (@Foshati)
  • 677a377: fix(console): update live journey test for shadcn console layout and navigation (@Foshati)
  • 44a4010: fix(console): use clsx and tailwind-merge for cn (@Foshati)
  • 0f27d62: fix(crd): quote YAML 1.1 booleans in the CRD manifest (@Foshati)
  • c75e97c: fix(go): NilAway findings in dns and the materializer cluster tests; secrets ledger rows (@claude)
  • 2144f0d: fix(go): align the templates and status page routes with Rust (@claude)
  • 0a38697: fix(go): audit the real status and refuse invalid policies with 422 (@claude)
  • 34d99d4: fix(go): authenticate before decoding, as the Rust extractors did (@Foshati)
  • 4f545f3: fix(go): clear the golangci-lint findings outside the S1-E routes (@claude)
  • 2350de2: fix(go): clear the last golangci-lint findings (@claude)
  • c8f5cd0: fix(go): guard against nil object dereference in Dynamic.Resource.Get calls (@Foshati)
  • 0281407: fix(go): keep the event stream alive as axum's KeepAlive did (@claude)
  • 64b9c90: fix(go): let the materializer write objects at all (@claude)
  • f56b8d8: fix(go): make the pod-logs route match routes/apps/logs.rs (@claude)
  • 5fb23fd: fix(go): match Rust in the promote, jobs and app-domains routes (@claude)
  • 8cd0b15: fix(go): match Rust's content types and CSRF check found by the oracle (@claude)
  • 0446444: fix(go): match approvals and policy routes to the Rust wire contract (@claude)
  • da5a414: fix(go): read generic JSON with number text kept (@Foshati)
  • b503dbd: fix(go): resolve lint, nilaway, and type issues across uncompiled packages (@Foshati)
  • 4b55f35: fix(go): the scan script reads the database date with sed's \1 (@Foshati)
  • 2aaf9cf: fix(release): allow different binary counts in goreleaser, add leases to ClusterRole, increase e2e cleanup timeout (@Foshati)
  • 5bdc8a2: fix: Biome skips the Go tree at its new place; CI trust test reads the moved fixture (@Foshati)
  • 43b145c: perf(console): load pages on demand and budget the initial bundle (@Foshati)
  • 3b4a8c1: perf: drop text/template and client-go discovery from the binaries (hub 80→50 MiB, agent 35→15 MiB) (@Foshati)
  • 53ff4af: refactor(console): remove the old components and page tokens (@Foshati)
  • d2f4248: refactor(go): move backup, migration and install journal out of internal/cli (@Foshati)
  • 02b51da: refactor(go): move non-route integrations out of internal/api (@Foshati)
  • 889947b: refactor(go): move the preview lifecycle and the image watcher out of api (@Foshati)
  • 5a725f1: refactor(go): move the setup token and link from httpapi to firstrun (@Foshati)
  • 0af13cd: refactor(go): name keyring, jsonx, firstrun, bundlelock, envtest and supportbundle (@Foshati)
  • 1def0b6: refactor(go): name the HTTP API package httpapi and the server package server (@Foshati)
  • c573460: refactor(go): name the core packages dnsname, compat and kerrors (@Foshati)
  • 7ada682: refactor(go): shared decoding helpers, strict roles, pinned analyzers (@Foshati)
  • 76d8959: refactor(go): use platform/host as the only AdvertiseIP and WriteOwnerOnly (@Foshati)
  • 6b40364: refactor: restructure repository to Turborepo layout for Go and TypeScript (@Foshati)
  • 6f99821: style: format setup/mod.rs with cargo fmt (@Foshati)
  • ea5797d: test(console): axe failures show the element and the measured colours (@Foshati)
  • e84107b: test(console): drive the embedded console against a real Go server (@Foshati)
  • 59e3425: test(console): e2e for the F1 pages on the new components (@Foshati)
  • 552d340: test(console): e2e for the F2 pages on the new components (@Foshati)
  • f480b3e: test(console): e2e, axe and visual snapshots for the F3 views (@Foshati)
  • 344cbc1: test(console): share the axe, CSP and preference checks of the browser tests (@Foshati)
  • 2849bc7: test(dns01): the dry run compared with the v1.2.0 binary (@Foshati)
  • ac9867c: test(go): add slice S1 steps to oracle test suite (@Foshati)
  • ed18a67: test(go): compare apps, deployments, releases and members with Rust (@claude)
  • 0979d9f: test(go): make the database tests pass against PostgreSQL (@claude)
  • ac26400: test(go): port m4_quotas_bound_what_apps_may_request and close S1 (@claude)
  • d41eaec: test(go): port tests/http.rs m4_export_detach_and_release (@Foshati)
  • cf5de23: test(go): port tests/http.rs m5_previews_follow_pull_requests (@Foshati)
  • 69d1684: test(go): port the PostgreSQL operation-store spike (@Foshati)
  • 3efddf1: test(go): run the cluster tests against a real API server (envtest) (@claude)
  • 54234ba: test(kubenapi): AgentLink fixtures checked against the Rust types (@Foshati)