Skip to content

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 26 May 10:32
Immutable release. Only release title and notes can be modified.
81f7171

Install nyxid-cli 0.6.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/ChronoAIProject/NyxID/releases/download/v0.6.0/nyxid-cli-installer.sh | sh

Download nyxid-cli 0.6.0

File Platform Checksum
nyxid-cli-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
nyxid-cli-x86_64-apple-darwin.tar.gz Intel macOS checksum
nyxid-cli-aarch64-unknown-linux-gnu.tar.gz ARM64 Linux checksum
nyxid-cli-x86_64-unknown-linux-gnu.tar.gz x64 Linux checksum

Changes

  • Merge pull request #841 from ChronoAIProject/bump-all-components-to-0-6-0 (81f7171)
  • chore: rebuild wizard bundle for 0.6.0 version bump (8cef00c)
  • chore: bump all main components to 0.6.0 (3af0327)
  • ci: add coverage gates (cargo llvm-cov + vitest --coverage) (#837) (b5d169f)
  • test(backend): close #788 hot-path coverage gaps (#840) (1c6edd2)
  • Merge pull request #839 from ChronoAIProject/workspace-20260526-140811 (dd26888)
  • test: add ~200 more integration tests for services and handlers (61d3afb)
  • test: add ~260 more backend tests including integration tests for coverage (0329872)
  • Merge remote-tracking branch 'origin/main' into workspace-20260526-140811 (466cc3b)
  • feat(admin): add "By User" view to Invite Codes page (#838) (8978edd)
  • test: add ~500 backend unit tests across 56 files toward 60% coverage target (5a46faa)
  • Merge pull request #836 from ChronoAIProject/check-code-coverage-cli-backend (7de96a7)
  • fix: make MFA TOTP tests resilient to MongoDB pool timeouts (20f96e0)
  • fix: add missing email field to InviteCodeUsage test fixture (5981986)
  • Merge remote-tracking branch 'origin/main' into check-code-coverage-cli-backend (7e5d27f)
  • test: add ~530 tests to improve backend and CLI code coverage (776d7ea)
  • Fe 25052026 (#835) (a004f9a)
  • Merge pull request #833 from ChronoAIProject/fix/docs-nginx-spa-fallback-port-leak (340637d)
  • fix(nginx): serve /docs via SPA fallback instead of redirecting to the dir (75745ff)
  • Merge pull request #831 from ChronoAIProject/feat/issue-778-wizard-oauth-client (877115f)
  • fix(cli+wizard): resolve Codex review findings on copy-oauth-client (637edeb)
  • feat(cli+wizard): add --copy-oauth-client-from and wizard copy-from picker (5ef12bc)
  • Merge pull request #830 from ChronoAIProject/fix/683-oauth-callback-url-all-providers (1bb68fe)
  • fix(keys): show NyxID callback URL for all OAuth providers (#683) (00e50a6)
  • Merge pull request #828 from ChronoAIProject/check-outstanding-cli-tickets (b9a9879)
  • fix(cli-pair): show terminal step on completed pairing page (ec39bbf)
  • Merge pull request #823 from ChronoAIProject/fix/docs-routing-nav-alignment (8ee67ae)
  • fix(docs): resolve scroll-spy URL state update loop (3f6b9f2)
  • fix: restore standard try_files directory matching in nginx template (f89c992)
  • test: mock localStorage in global test setup for happy-dom compat (d38029e)
  • fix: align landing page nav and fix docs routing/port leak (a78b28c)
  • Merge pull request #821 from ChronoAIProject/feat/issues-772-774-show-command-hints (8812cba)
  • test(cli): extract and unit-test service/node show render helpers (0bcd8e5)
  • feat(cli): show node source IP and connection age in node show (#774) (4d31015)
  • feat(cli): explain node_managed credential type in service show (#772) (a042ff0)
  • Merge pull request #820 from ChronoAIProject/fix/frontend-image-docs-build-context (5f39d0d)
  • Merge pull request #819 from ChronoAIProject/fix/issue-771-stale-node-binding-warning (70e57f6)
  • fix(ci): build frontend image from repo root so docs publish-gate finds docs/site (71e1610)
  • perf(backend): batch node lookup in key list enrichment (031f7c8)
  • fix(cli): surface stale node binding in service show/list (#771) (a7eb49b)
  • Merge pull request #818 from ChronoAIProject/FE-changes (62567c7)
  • feat(docs): public documentation site — Phase 1 (AI/Web/CLI + Concepts) (#814) (ef93125)
  • feat(frontend): add GitHub button to landing nav and auth pages (#816) (30932f4)
  • test(frontend): expand schema/hook/lib coverage + extract page helpers (#817) (4ed5d4a)
  • Merge pull request #815 from ChronoAIProject/fix/issue-770-node-credential-target-url (3a4c4e6)
  • fix(backend): close IPv6 bracket bypass and add Alibaba/Azure metadata blocks (1b1e13b)
  • fix(backend): reject cloud metadata hosts in advisory target_url (ffd0b8d)
  • fix(backend): allow node-local credential target urls (de417aa)
  • Merge pull request #805 from ChronoAIProject/org-admin-onboarding-friction-tracking (2097a28)
  • test(cli): command-level integration tests + coverage harness (#811) (c14a18f)
  • refactor(landing): align marketing pages with the app design system (#810) (35eae12)
  • fix(cli): clarify node credential hints (f1e5234)
  • feat(cli): preflight session validation before authed commands (#803) (8135f02)
  • fix(oauth): surface account-mismatch error to browser and CLI (#695) (#789) (098c09d)
  • Merge pull request #800 from ChronoAIProject/fix/issue-716-gcp-startup-warning (209f9a5)
  • fix(catalog): cascade-delete user data tied to legacy GCP SA services (b97b013)
  • fix(catalog): drop stale GCP service-account rows on startup (9646a5c)
  • fix(provider): downgrade google-cloud startup warning to info (83ae045)
  • fix(wizard): surface upstream timeout/unreachable errors to the user (#711) (#798) (9195855)
  • Merge pull request #796 from ChronoAIProject/feat/issue-716-gcp-oauth (2a1e1b6)
  • fix(catalog): google-cloud refresh token + operator OAuth setup docs (7e071f2)
  • fix(devices): clean up pending_auth on device-code timeout/cancel (#790) (e823481)
  • test(cli): serialize default node config dir home lookup (70dcb61)
  • chore(catalog): clean stale GCP auth comment (3947cd7)
  • chore(frontend): update prefill lint suppression (c5938e0)
  • docs(skills): document api-google-cloud OAuth flow (54e34b9)
  • refactor(frontend): remove gcp_service_account form variant (af27a45)
  • refactor(cloud-auth): drop gcp_auth crate dep (6809f79)
  • refactor(node): remove gcp_service_account credential injection (b054cb4)
  • refactor(proxy): remove gcp_service_account auth method (f69ae7b)
  • feat(catalog): switch GCP to generic api-google-cloud OAuth service (a01a155)
  • feat(oauth): multi-connection OAuth — BYO Custom Apps, dashboard, CLI (#776) (4bb9931)
  • Merge pull request #767 from ChronoAIProject/revert-764-feat/issue-736-device-code-grant (77f5648)
  • Revert "feat(devices): device-code grant for headless provisioning" (c39616f)
  • Merge pull request #764 from ChronoAIProject/feat/issue-736-device-code-grant (52ee15d)
  • Merge pull request #765 from ChronoAIProject/fix/ui-consistency-sweep-v5 (c98bc12)
  • merge: resolve conflicts with main — adopt url-tabs, keep view toggles (c0b358d)
  • fix(frontend): UI consistency sweep v5 — view toggles, card fixes, onboarding chrome (2015a96)
  • feat(frontend): make the dashboard interactive — URL-driven tabs and deep-link actions (#761) (2477172)
  • refactor(mobile): realign mobile app with DESIGN.md (PR #759) (#762) (50570a0)
  • feat(devices): default_services opt-in on approve (grant proxy access at approve time) (0891c74)
  • feat(devices): per-pubkey lockout state (cumulative across device_code rows) (ba57f3d)
  • fix(devices): default device-code api_key to empty service allowlist (least privilege) (4fe6d02)
  • fix(devices): audit failed approve attempts for insider-probe detection (2fb7a1c)
  • fix(devices): fire-and-forget notification dispatch on approve (don't block 200 on push providers) (bbc3867)
  • fix(devices): clear lock_alert_sent_at on failed-poll-count reset (claim-once-per-cycle) (c446394)
  • fix(devices): Ed25519 hardening (verify_strict + domain separation + 10s skew) (326226b)
  • fix(devices): create_for_device leaves auth fields empty + adds device-code discriminator (fd65c85)
  • fix(devices): rate-limit IP keying respects TRUSTED_PROXY_IPS (0933b83)
  • fix(devices): require current-rotation user_code on approve + unique pending index (8a04b15)
  • fix(devices): atomic Approved->Delivered + atomic failed_poll_count increment (54cf5ae)
  • fix(devices): extend expires_at on Approved to outlive TTL during delivery window (da4028f)
  • feat(devices): system audit log for pre-approval lockouts (9dc3816)
  • refactor(devices): split device_code_service into submodules (CLAUDE.md size guidance) (6a79032)
  • refactor(devices): reserve error codes 9500-9599 for device-code (restore 9000-9002 to api-key scope) (8afe3aa)
  • refactor(devices): device_code wire format = base64url unpadded (matches reference design) (43fbc84)
  • docs(devices): device-code-binding guide + CLAUDE.md updates; closes #736 (80b347b)
  • feat(cli): nyxid device factory-key Ed25519 provisioning tool (93663f4)
  • feat(frontend): QR-friendly user_code prefill from URL param (8ac3ed1)
  • feat(frontend): /settings/devices/bind page + Zod schemas + hooks (5275f40)
  • feat(cli): nyxid device approve subcommand (756cde5)
  • feat(devices): bind_success, repeated_fail, lock_alert notification templates (243cf9b)
  • feat(devices): POST /devices/code/approve issues api_key + node + refresh_token (7c366a3)
  • feat(devices): POST /devices/code/poll endpoint with Ed25519 verify + user_code rotation (8a23ff5)
  • feat(devices): POST /devices/code/request endpoint (557625c)
  • feat(devices): rate-limit middleware with per-pubkey + lockout (ced52fa)
  • feat(devices): device_codes schema, crypto helpers, error codes 9000-9099 (a5ba986)
  • Merge pull request #760 from ChronoAIProject/feat/login-redesign (4b6f191)
  • feat(frontend): redesign login page — split-screen layout with image carousel (35da7d4)
  • docs: rewrite DESIGN.md to match the logged-in app (#759) (141e296)
  • Merge pull request #758 from ChronoAIProject/fix/ui-polish-v4 (3d2c0ff)
  • chore: regenerate CLI wizard bundle (8a8ee70)
  • fix(frontend): UI polish v4 — button colors, pencil placement, badges, layout fixes (044f998)
  • feat: per-user onboarding state + first-run wizard takeover (#757) (56a3047)
  • fix(landing): restore hero wordmark image and Register CTAs (#756) (ee3b191)
  • Merge pull request #755 from ChronoAIProject/fix/ui-consistency-sweep-v3 (9d1581b)
  • fix(frontend): ensure equal height on dashboard status cells (e2f6238)
  • fix(frontend): truncate status cell labels on small screens (f16e312)
  • Merge pull request #754 from ChronoAIProject/fix/ui-consistency-sweep-v3 (4a1ea60)
  • fix(frontend): align auto-assign checkbox with label in Create Role dialog (b1aeb11)
  • chore: regenerate CLI wizard bundle (af0d395)
  • fix(frontend): fix remaining empty state body text colors (cfea974)
  • fix(frontend): UI consistency sweep — empty states, button styling, Title Case (1826e60)
  • Merge pull request #750 from ChronoAIProject/fix/ui-consistency-sweep-v2 (15cedda)
  • Merge pull request #753 from ChronoAIProject/fix/issue-716-backend-rustls-crypto-provider (5a5f77f)
  • fix(backend): install rustls aws-lc-rs CryptoProvider at startup (#716) (8033613)
  • Merge pull request #752 from ChronoAIProject/fix/issue-716-docker-cloud-auth (0b2f2c9)
  • fix(docker+ci): stage cloud-auth crate in Dockerfiles + CI path filters (#716) (9a46aaa)
  • fix(frontend): remove duplicate Authorizations nav, fix empty state consistency (ccab0ba)
  • fix(frontend): breadcrumbs, mobile cards, ButtonIcon, and UI polish (d0bd958)
  • fix(frontend): unify table styles, 3-dot menus, and detail page layout (69e20fc)
  • Merge pull request #748 from ChronoAIProject/feat/issue-716-cloud-billing-auth (5dd5d85)
  • feat(frontend): UI consistency sweep + onboarding flow (#733) (051592c)
  • feat(keys): verify cloud-billing credentials at add-time (#716) (ef2b958)
  • fix(cli): open the wizard browser under WSL (#749) (2267a66)
  • refactor(cloud-auth): replace hand-rolled SigV4/JWT with aws-sigv4 + gcp_auth crates (#716) (d30c385)
  • fix(misc): resolve Codex recs 5/6/9/10 + nits 2/3 (#716) (3435a91)
  • fix(node+sigv4): wire cloud auth methods end-to-end on the node + tighten SigV4 (#716) (3da4834)
  • fix(proxy): resolve Codex blockers 1-5,7,8 + recs 7,11 + nit 1 (#716) (282f1d9)
  • Merge pull request #703 from ChronoAIProject/docs/design-system-update (e11171b)
  • Merge pull request #732 from ChronoAIProject/docs/sync-claude-md-with-code (784ea2a)
  • docs(claude-md): sync File Structure with shipped code (66301cd)
  • test(proxy): cloud-billing smoke tests + forward-header fix for AWS/GCP (#716) (cbaeda2)
  • feat(proxy): response cache for cloud-billing auth methods (#716) (7734a48)
  • feat(node): aws_sigv4 + gcp_service_account proxy auth on the node agent (#716) (9fc0f72)
  • feat(cli+frontend): credential intake for cloud-billing auth methods (#716) (1053d64)
  • feat(backend): aws_sigv4 + gcp_service_account proxy auth methods (#716) (1acf0c5)
  • feat(cloud-auth): add SigV4 + GCP service-account signing crate (#716) (8843869)
  • fix(mobile): recoverable push state + drop off-spec hero ambient (#730) (077247c)
  • docs: update DESIGN.md with current component sizes and layout structure (1d71bfd)
  • docs(design): comprehensive design system update with component patterns (971ffd9)

Container images

Multi-arch (linux/amd64, linux/arm64) images for this release are published to GitHub Container Registry by the Publish Images workflow:

  • ghcr.io/chronoaiproject/nyxid/backend:v0.6.0
  • ghcr.io/chronoaiproject/nyxid/frontend:v0.6.0
  • ghcr.io/chronoaiproject/nyxid/node-agent:v0.6.0