Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
1d0b442
chore: migrate workspace to nightly-2026-08-14 with Cranelift for dev…
w0wl0lxd Aug 14, 2026
93f0514
fix(ci): keep the Coverage job on LLVM codegen
w0wl0lxd Aug 14, 2026
1e763f9
fix(ci): keep the Linux Test job on LLVM codegen and fix nightly lints
w0wl0lxd Aug 14, 2026
4c926ae
fix: resolve nightly clippy lints and cargo config issues
w0wl0lxd Aug 14, 2026
04e2f88
fix: replace remaining disallowed unwrap_or uses flagged by nightly c…
w0wl0lxd Aug 15, 2026
9ca26b3
Merge remote-tracking branch 'origin/main' into HEAD
w0wl0lxd Aug 15, 2026
8cc2d7b
chore: drop rust-version inherit in n00n-git for nightly workspace
w0wl0lxd Aug 15, 2026
9a8b7f4
chore(lint): allow clippy::assert_is_empty for the nightly toolchain
w0wl0lxd Aug 15, 2026
a058c35
fix(redact): replace useless format! in test fixture
w0wl0lxd Aug 15, 2026
a77a4c4
refactor: replace identity map_or with unwrap_or_else and fix Result …
w0wl0lxd Aug 15, 2026
db3fec6
refactor: fix identity map_or call sites and allow result_large_err
w0wl0lxd Aug 15, 2026
c1b4ed3
refactor: convert remaining identity map_or calls in n00n-acp
w0wl0lxd Aug 15, 2026
b26a3dc
refactor: convert final identity map_or calls in theme
w0wl0lxd Aug 15, 2026
d844c87
refactor: apply newer nightly clippy suggestions across the UI and Lu…
w0wl0lxd Aug 15, 2026
0c19ae1
fix(ci): align release toolchain with the nightly pin and drop unused…
w0wl0lxd Aug 15, 2026
100ec05
Merge remote-tracking branch 'origin/main' into HEAD
w0wl0lxd Aug 15, 2026
8b7fa17
merge: bring in n00n-smell and drop its rust-version inherit for nightly
w0wl0lxd Aug 15, 2026
4d615d5
refactor: fix identity map_or in smell result preview
w0wl0lxd Aug 15, 2026
21c8f00
fix: address CodeRabbit review on the nightly migration
w0wl0lxd Aug 15, 2026
29bd01b
fix: scope result_large_err allows to the actual websocket functions
w0wl0lxd Aug 15, 2026
e01de2b
chore(lint): allow result_large_err workspace-wide after all
w0wl0lxd Aug 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .cargo/config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,14 @@
# which rustc's `-nodefaultlibs` musl link would otherwise drop.
[target.aarch64-unknown-linux-musl]
rustflags = ["-C", "link-arg=-lgcc"]

# Cranelift for dev builds only; release keeps LLVM. Windows/macOS CI jobs and
# the Coverage job override this back to llvm via CARGO_PROFILE_DEV_CODEGEN_BACKEND:
# Windows/macOS because cranelift's unwinding support is experimental there and
# n00n's own code catches panics via catch_unwind, Coverage because
# -C instrument-coverage is LLVM-specific and cranelift rejects it outright.
[unstable]
codegen-backend = true

[profile.dev]
codegen-backend = "cranelift"
3 changes: 2 additions & 1 deletion .github/workflows/benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,9 @@ jobs:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@4cda84d5c5c54efe2404f9d843567869ab1699d4 # stable
- uses: dtolnay/rust-toolchain@6c977a6ca4077a0ceb28ffbe03f59d46e9ac8772 # master
with:
toolchain: nightly-2026-08-14
components: rustfmt
- uses: Swatinem/rust-cache@23869a5bd66c73db3c0ac40331f3206eb23791dc # v2.9.1
with:
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ jobs:
- uses: 'actions/checkout@11d5960a326750d5838078e36cf38b85af677262' # v4
with:
persist-credentials: false
- uses: 'dtolnay/rust-toolchain@4cda84d5c5c54efe2404f9d843567869ab1699d4' # stable
- uses: 'dtolnay/rust-toolchain@6c977a6ca4077a0ceb28ffbe03f59d46e9ac8772' # master
with:
toolchain: nightly-2026-08-14
- uses: 'Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32' # v2
with:
shared-key: 'linux-stable'
Expand Down
31 changes: 14 additions & 17 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,8 @@ jobs:
needs: changes
if: needs.changes.outputs.code == 'true'
runs-on: windows-latest
env:
CARGO_PROFILE_DEV_CODEGEN_BACKEND: llvm
steps:
- uses: 'actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1' # v7
with:
Expand All @@ -167,6 +169,8 @@ jobs:
needs: changes
if: needs.changes.outputs.code == 'true'
runs-on: macos-latest
env:
CARGO_PROFILE_DEV_CODEGEN_BACKEND: llvm
steps:
- uses: 'actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1' # v7
with:
Expand All @@ -184,6 +188,8 @@ jobs:
needs: changes
if: needs.changes.outputs.code == 'true'
runs-on: windows-latest
env:
CARGO_PROFILE_DEV_CODEGEN_BACKEND: llvm
steps:
- uses: 'actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1' # v7
with:
Expand All @@ -201,6 +207,8 @@ jobs:
needs: changes
if: needs.changes.outputs.code == 'true'
runs-on: macos-latest
env:
CARGO_PROFILE_DEV_CODEGEN_BACKEND: llvm
steps:
- uses: 'actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1' # v7
with:
Expand All @@ -218,6 +226,8 @@ jobs:
needs: changes
if: needs.changes.outputs.code == 'true'
runs-on: windows-latest
env:
CARGO_PROFILE_DEV_CODEGEN_BACKEND: llvm
steps:
- uses: 'actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1' # v7
with:
Expand All @@ -235,12 +245,15 @@ jobs:
needs: changes
if: needs.changes.outputs.code == 'true'
runs-on: ubuntu-latest
env:
CARGO_PROFILE_DEV_CODEGEN_BACKEND: llvm
steps:
- uses: 'actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1' # v7
with:
persist-credentials: false
- uses: 'dtolnay/rust-toolchain@4cda84d5c5c54efe2404f9d843567869ab1699d4' # stable
- uses: 'dtolnay/rust-toolchain@6c977a6ca4077a0ceb28ffbe03f59d46e9ac8772' # master
with:
toolchain: nightly-2026-08-14
components: llvm-tools-preview
- uses: 'Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32' # v2
with:
Expand All @@ -255,21 +268,6 @@ jobs:
files: lcov.info
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}
msrv:
name: MSRV (1.97)
needs: changes
if: needs.changes.outputs.code == 'true'
runs-on: ubuntu-latest
steps:
- uses: 'actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1' # v7
with:
persist-credentials: false
- uses: 'dtolnay/rust-toolchain@35a842e360814583e976785eeda0bd0655cb8e83' # 1.97.0
- uses: 'Swatinem/rust-cache@e18b497796c12c097a38f9edb9d0641fb99eee32' # v2
with:
shared-key: 'linux-msrv'
save-if: ${{ github.ref == 'refs/heads/main' }}
- run: cargo build --workspace --all-targets
rustdoc:
name: Rustdoc
needs: changes
Expand Down Expand Up @@ -301,7 +299,6 @@ jobs:
- build-windows
- test-windows
- coverage
- msrv
- rustdoc
runs-on: ubuntu-latest
steps:
Expand Down
2 changes: 0 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ homepage = "https://github.com/w0wl0lxd/n00n"
readme = "README.md"
keywords = ["ai", "agent", "cli", "tui", "coding"]
categories = ["command-line-utilities", "development-tools"]
rust-version = "1.97"

[[bin]]
name = "n00n"
Expand Down Expand Up @@ -87,7 +86,6 @@ edition = "2024"
authors = ["w0wl0lxd <w0wl0lxd@tuta.com>"]
license = "AGPL-3.0-only"
repository = "https://github.com/w0wl0lxd/n00n"
rust-version = "1.97"

[workspace.dependencies]
n00n-agent = { path = "n00n-agent" }
Expand Down
1 change: 1 addition & 0 deletions changelog.d/nightly-toolchain-cranelift.changed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
n00n now builds on a floating Rust nightly toolchain instead of stable, with the Cranelift codegen backend enabled for dev builds (release builds still use LLVM). CI toolchain steps were switched to nightly, the MSRV job was removed since a floating-nightly policy has no minimum supported version, and the `rust-version` field was dropped from all workspace manifests accordingly.
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated
1 change: 0 additions & 1 deletion n00n-acp/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
rust-version.workspace = true

[dependencies]
n00n-agent = { workspace = true }
Expand Down
1 change: 0 additions & 1 deletion n00n-agent/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
rust-version.workspace = true

[dependencies]
n00n-providers = { workspace = true }
Expand Down
1 change: 0 additions & 1 deletion n00n-codegraph/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true

# Targets CodeGraph 1.5.0 CLI for command expansion (callers, callees, impact, affected, node, query, sync, files)
# Falls back to CLI when native SQLite queries are not available
Expand Down
1 change: 0 additions & 1 deletion n00n-config-macro/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
rust-version.workspace = true

[lib]
proc-macro = true
Expand Down
1 change: 0 additions & 1 deletion n00n-config/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
rust-version.workspace = true

[dependencies]
n00n-config-macro = { workspace = true }
Expand Down
1 change: 0 additions & 1 deletion n00n-daemon/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ description = "On-device agent control plane: registry, UDS NDJSON protocol, wor
license.workspace = true
authors.workspace = true
repository.workspace = true
rust-version.workspace = true

[dependencies]
n00n-storage = { workspace = true }
Expand Down
1 change: 0 additions & 1 deletion n00n-docgen/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true

[[bin]]
name = "n00n-docgen"
Expand Down
1 change: 0 additions & 1 deletion n00n-highlight/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true

[dependencies]
serde_json = { workspace = true }
Expand Down
1 change: 0 additions & 1 deletion n00n-interpreter/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
rust-version.workspace = true

[dependencies]
monty = { workspace = true }
Expand Down
1 change: 0 additions & 1 deletion n00n-lua-macro/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
rust-version.workspace = true

[lib]
proc-macro = true
Expand Down
1 change: 0 additions & 1 deletion n00n-lua/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true

[dependencies]
arc-swap = { workspace = true }
Expand Down
1 change: 0 additions & 1 deletion n00n-markdown/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true

[dependencies]
n00n-highlight = { workspace = true }
Expand Down
1 change: 0 additions & 1 deletion n00n-providers/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
rust-version.workspace = true
build = "build.rs"

[dependencies]
Expand Down
1 change: 0 additions & 1 deletion n00n-redact/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true

[dependencies]
serde_json = { workspace = true }
Expand Down
1 change: 0 additions & 1 deletion n00n-search/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true

[lints]
workspace = true
Expand Down
1 change: 0 additions & 1 deletion n00n-semble/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true

[lints]
workspace = true
Expand Down
1 change: 0 additions & 1 deletion n00n-storage/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
rust-version.workspace = true

[dependencies]
getrandom = { workspace = true }
Expand Down
1 change: 0 additions & 1 deletion n00n-token-profile/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
description = "Offline cold-start token profiling and CI regression gates for n00n"
publish = false

Expand Down
1 change: 0 additions & 1 deletion n00n-ui/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
rust-version.workspace = true

[dependencies]
n00n-agent = { workspace = true }
Expand Down
4 changes: 2 additions & 2 deletions rust-toolchain.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[toolchain]
channel = "stable"
components = ["clippy", "rustfmt", "rust-src", "rust-analyzer"]
channel = "nightly-2026-08-14"
Comment thread
w0wl0lxd marked this conversation as resolved.
components = ["clippy", "rustfmt", "rust-src", "rust-analyzer", "rustc-codegen-cranelift-preview"]
Comment thread
w0wl0lxd marked this conversation as resolved.
Outdated
profile = "minimal"
targets = ["x86_64-pc-windows-msvc"]
Loading