Repository navigation
Releases
Nexora 1.5.0 — agent rework: transport, permissions, tools, compaction, presets
Nexora 1.5.0 — the agent grows up
The full 1.5.0 agent rework: transport · permissions · tools · compaction · presets.
Nine pull requests, zero behavior regressions, installers included.
What changes for you
| Long tasks stop falling apart | The agent compacts its own context mid-run — early turns fold into a summary, recent turns survive verbatim. A 200-turn run no longer loses its beginning. |
| Two modes for two kinds of work | New presets: Coding (all six tools, as before) and Document — shell is structurally unavailable there: hidden from the tool list and denied on dispatch. |
| New hands | edit_file (surgical single-match edits with unified diffs) and search_files (regex-lite workspace search). Huge outputs spill to disk instead of flooding context. |
| Honest requests | Cancellation actually cancels. 429/5xx retries back off with jitter, respect Retry-After, and terminal failures fail fast. |
| Permissions without the torture | Approval decisions persist as group-scoped rules — answer once, reuse everywhere. Shell can never be blanket-allowed. |
Installers
| File | Size | SHA-256 |
|---|---|---|
Nexora_1.5.0_x64_en-US.msi |
7,135,232 B | 3c8cfca157399ac7fa1249ba9d9a7ef383795e48036ff5f99df4b823777b1e7a |
Nexora_1.5.0_x64-setup.exe |
5,112,501 B | 3bfed4aad63f3baa4184f4fc4aad6c51cdd3957fd2c2c8f61cefc8257d3161d4 |
Under the hood
- God-object splits, zero behavior change —
runner.rs→ prompts / budget / dispatch / errors ·tools.rs→ definitions / executor / output · run registry out ofservice.rs - Tauri aligned — frontend packages lifted to the rust-resolved 2.12 for bundling
- Faster CI — parallel jobs (wall ~3 min), shared cargo cache, sccache, mold on Linux
Full changelog (from CHANGELOG.md)
Added — cancellable transport + honest retries (T1) · persistent permission rules + group decisions + shell-allow floor (T2) · edit_file / search_files with spill-backed truncation (T3) · in-run compaction, threshold 0.8 + overflow recovery, max 2/run (T4) · coding/document presets with document shell ban (T5)
Changed — S1–S3 splits · CI parallelism + cache
Verification
cargo fmt --check— cleancargo clippy --all-targets -- -D warnings— cleancargo test— 552 passed / 0 failed / 1 ignorednpx tsc— cleannpm run build— ok,dist/producedcargo build— ok, nexora v1.5.0npm run tauri build— ok, MSI + NSIS produced (hashes above)
Dev-binary hashes (SHA-256)
src-tauri/target/debug/nexora.exe(29,750,784 B):5AAD0AF27FB50AEF0A4E57FC8CA94D7F9DB81B9D090F72E22080E9E7A3FB0138dist/index.html:B604D2E3EB782ED2ADEC698B3D74FEE9E7534C9AB6F4C8578377E4EB38AE4DBDdist/assets/index-Dq7ihMVq.js:2B70F9A7A02ECA84BE1B9F308E856EF822604370A091E1705B2AB1F4345E3CBDdist/assets/index-WVPokBWz.css:EC6679DC6861E793A56112C74219207244A95F906D1F5E926BBCAACD3AED2EB1
Nexora 1.3.3 — agent memory
Added
- Agent — conversation memory (Layer 1): agent runs now load the persisted
conversation history (bounded 20-message window, alignment to a user turn, and an
omission note in the system prompt when older turns were dropped). - Agent — action memory (Layer 2): agent runs now see a compact trace of the
prior runs' executed tool calls (last 3 runs, max 30 lines, denied steps included)
appended to the system prompt, so the agent remembers what it DID, not only what it
said.
Fixed
- Test-only CI stabilization: deterministic mode-switch and pause/resume handshakes
for flaky runner timings.
Install
Windows x64: Nexora_1.3.3_x64-setup.exe (NSIS) or Nexora_1.3.3_x64_en-US.msi.
No schema changes since 1.3.2 — existing databases upgrade in place, no action needed.
Full changelog: https://github.com/sshdw/Nexora/blob/main/CHANGELOG.md
Nexora Agent 1.3.2
What
The documented spend guard is now real. Nexora 1.3.2 wires the per-run cost limit into the agent
runtime: README and earlier changelogs advertised a working "financial spend guard (per-run
micro-USD budget)", but the only production entry point passed None, so the limit could never be
set. It can now be set from Settings, and every new agent run reads it.
Changes
- New setting
agent.spend_limit_micro_usdwith a "Run cost limit (micro-USD)" field in the
Provider & model settings section. Empty means no limit; a positive integer caps the spend of new
agent runs. - The stored value is resolved backend-side on every run, so the guard also applies to runs started
outside the settings UI. - Fixed: the terminal
spend_limit_exceededrun state, the pricing/metering code and the run-steps
UI were already shipped but unreachable in a release build. - No schema change, no migrations.
| File | Size (bytes) | SHA256 |
|---|---|---|
| Nexora_1.3.2_x64_en-US.msi | 6 995 968 | aed4de2ae783b356f3add050f11c3d19368dcedb31bc0b2486854ccf6f3b30f9 |
| Nexora_1.3.2_x64-setup.exe | 5 018 047 | 1e329816bb1b2114383ea61c1bf8d14a8f8b5f6d29aac59625c4565da44e5bee |
Compare link: v1.3.1...v1.3.2
Notes
- Out of scope: F-1 (no frontend test framework), D-1b (attachment path provenance and hash
pinning), B-6 (comment encoding), context compaction, and the agent-runtime transport rework. - Migrations: none. Schema unchanged since v6; the spend columns shipped with v5 in an earlier
release. - Base ba0ebae.
Title: Nexora Agent 1.3.1
What
Security patch release: three hardening fixes on top of 1.3.0. No new features, no schema
changes, no migrations — a drop-in replacement.
Changes
- Workspace guard widened (B-5). The agent workspace guard no longer covers only
C:\Windows:%SystemRoot%on any drive,Program Files,Program Files (x86),
ProgramData,Users,Windows.old,$Recycle.Bin, the Unix system trees, UNC paths and
drive roots are all rejected. The stored root is re-canonicalized and re-checked on every use. - Strict production CSP (B-7).
src-tauri/tauri.conf.jsonnow ships a strict policy:
script-src 'self'with nounsafe-inlineand nounsafe-eval, plusobject-src 'none'
andbase-uri 'self'. Development keeps a separate permissivedevCsp, sonpm run tauri dev
is unaffected. - Attachment path validation (D-1). Attachment paths are validated in the backend: the path
must be absolute, is canonicalized and stored canonical, protected system locations, UNC paths
and drive roots are rejected, only existing regular files are accepted, and the stored path is
re-validated immediately before the file is read.
| File | Size (bytes) | SHA256 |
|---|---|---|
| Nexora_1.3.1_x64_en-US.msi | 6 995 968 | 163b68beffc39be4820dc8dedcdf875dea12fee0b6a2dcf6e2e3ddfbb3224d23 |
| Nexora_1.3.1_x64-setup.exe | 5 014 893 | d74892a284d29d8a8a621fbf8cf09598dead696036d19befff8c36f101416e97 |
Compare link: v1.3.0...v1.3.1
Notes
- No database migrations. Existing databases are untouched; the schema is still v6.
- Base
ca441ec(Merge PR #38). Tagv1.3.1points atca441ec(lightweight, as with v1.3.0). - Dev mode is unchanged: the strict CSP applies to production builds only.
Nexora Agent 1.3.0
Title:
Nexora Agent 1.3.0
What
The agent gets a workspace: pick a project folder once and every conversation remembers which folder it belongs to.
Changes
- Workspace folder picker: sidebar folder button (native
dialog.open), header chip with the current folder, a 5-entry recent-folders dropdown, and the current root shown in Settings. New settingsagent.workspace_root(canonicalized; falls back to the pre-pickeragent_workspacebehaviour) andagent.workspace_recent(max 5, JSON) - Workspace guard: rejects
C:\Windows, drive roots, and non-existent paths; agent tool scope reads the setting root - Per-folder chat history: forward-only migration v6 adds
conversations.workspace_root TEXT NULL CHECK (length <= 1024)— no foreign key,NULLfor pre-picker rows - Docs:
DATABASE.mdnow documents migration v6; README version refreshed
| File | Size (bytes) | SHA256 |
|---|---|---|
Nexora_1.3.0_x64-setup.exe |
4994705 | 64704a6c65cac20a65f0705eace9e2be54344edd238866eca4a990670294ad6a |
Nexora_1.3.0_x64_en-US.msi |
6979584 | 1b380843dd5613d7d332c6c88383f83abda7a13452443a345f0356b2d8b4401d |
Compare link: https://github.com/sshdw/Nexora/compare/v1.2.3...v1.3.0
Notes
- Migration v6 — forward-only and additive. Pre-picker conversations keep
workspace_root = NULLand behave exactly as before; downgrade refusal is unchanged - Base
8ae5099fb58bda19331f8c3e0c15645b7e84977f
Nexora Agent 1.2.3
What
OpenRouter is green again: 4 dead IDs replaced with live-verified ones — all 8 now answer chat and tools.
Changes
- Dropped (4):
minimax-m3:free,minimax-m2.7:free,z-ai/glm-5.2:free(404),nemotron-3-ultra-550b-a55b:free(transport000×2) - Added (4):
nemotron-3-nano-omni-30b-a3b-reasoning:free,ling-3.0-flash-sante:free,ling-3.0-flash-vl:free,lfm-2.5-2.6b:free(all200/200) - Kept (4):
ling-3.0-flash-fin:free,nemotron-3.5-lightning:free,nemotron-3-super-120b-a12b:free,north-mini-code:free - xKiro: untouched (8/8
404, no live replacements proven)
| File | Size (bytes) | SHA256 |
|---|---|---|
Nexora_1.2.3_x64-setup.exe |
4998959 | b4a92c063b14bad0ffb2d08e64186f16ffdcc4a945362bd1679561581f5028d6 |
Nexora_1.2.3_x64_en-US.msi |
6971392 | f7251df349e915bd9ed49ed9706d0cf2d948fa4eb9a39bfb906a819901b9af55 |
Compare link: https://github.com/sshdw/Nexora/compare/v1.2.2...v1.2.3
Notes
- No migrations
- Base
92209a80316fac846f23e268b71a1f715e632a1b
Nexora Agent 1.2.2
What
Gemini model list is now live-verified: only IDs that answered chat on the rotated key stay listed, and only tools-capable ones are agent-usable.
Changes
- Gemini keep-list (7):
gemini-3.6-flash(default),gemini-3.1-flash-lite,gemini-flash-lite-latest,gemini-3.5-flash,gemini-3.5-flash-lite(all200/200), plusgemini-3.1-pro-preview(429) andgemini-pro-latest(429) kept per 429-stays rule - Dropped (4):
gemini-2.5-flash,gemini-2.5-flash-lite,gemini-2.5-pro(404),gemini-flash-latest(503) - Mock parity:
mockBackend.tsmirrors the 7 IDs
| File | Size (bytes) | SHA256 |
|---|---|---|
Nexora_1.2.2_x64-setup.exe |
4990019 | 1fcfc03e2e99cd2421329736c6fb3830fac47cb17490f233476a444f9d4599c7 |
Nexora_1.2.2_x64_en-US.msi |
6955008 | 2de5dde0c19d1d02ea84b6b2caee87dc72799ab1e4c9d12de15a3a069e2ca653 |
Compare link: https://github.com/sshdw/Nexora/compare/v1.2.1...v1.2.2
Notes
- Out of scope: OpenAI / Anthropic / compat lists untouched (D9)
- No migrations
- Base
9ecc11816cd06c7ecf6fcd09222918ec2da2fd1b
Nexora Agent 1.2.1
What's new
- Compat shortlists re-gated by live smoke (xKiro 8, OpenRouter 8, NVIDIA NIM 5, OpenCode Zen 5). Listed iff chat completions returned 2xx; agent-usable iff the tools call also returned 2xx. 429-only IDs stay listed. Native OpenAI / Anthropic / Gemini lists unchanged.
- Chat POSTs use a 120s timeout (no silent hang).
- HTTP 402 on the OpenAI-compatible path is its own error. Anthropic and Gemini 404 map to invalid request.
- Spend guard bills $0 for known-free ids (
:free/-free); everything else stays 5M/25M micro-USD per 1M tokens. - Custom model ID in Settings (1.2.0, no separate v1.2.0 tag).
Full changelog
Checksums
| File | Size (bytes) | SHA256 |
|---|---|---|
Nexora_1.2.1_x64-setup.exe |
4988462 | c4fa352cd833100c20b2404c37c9cf663dbcc702f7787a618069634679b3ffd1 |
Nexora_1.2.1_x64_en-US.msi |
6959104 | a137a1f16dccd33cb31656443ccf78308b808b0c3a968e2fb6fe5253c47fd465 |
Nexora Agent 1.1.0
What's new
- OpenAI-compatible providers: xKiro, OpenRouter, NVIDIA NIM, and OpenCode Zen, behind the existing
OpenAiExecutor(one shared path, not four copies). OpenRouter also sends Referer/Title headers. - Curated hardcoded model shortlists per provider (first model is the default). Runtime
/modelsis not in this release. - Pricing unchanged: 5M / 25M micro-USD per 1M tokens for every model. API keys stay in the OS keyring only.
Full changelog
Checksums
| File | Size (bytes) | SHA256 |
|---|---|---|
Nexora_1.1.0_x64-setup.exe |
4978340 | fe5528f86283771d57506156ce4588a05a03c67043d36356e2bf9eea6bec6b13 |
Nexora_1.1.0_x64_en-US.msi |
6938624 | 317edae0a582f58b0b91a4baab732a608f6e9cd4a1512eeb8bbfdf27632ab9ff |
Nexora Agent 1.0.2
Fixes
Provider failures now say what actually happened, in agent runs and chat alike,
instead of one generic "the AI provider failed to fulfil the request":
- Rate limit (HTTP 429) — includes the provider's
Retry-Afterhint when
it is a plain number of seconds ("…retry after 30 seconds"). - Provider unavailable or overloaded (HTTP 5xx)
- Network or timeout — the provider could not be reached.
- Rejected credential (HTTP 401/403)
- Invalid request (HTTP 400) and unexpected response — anything else
keeps the generic message.
Error response bodies are still never read, so no credential or payload can
leak. No automatic retry was added — you decide when to resend.
Full changelog: v1.0.1...v1.0.2
Checksums
| Asset | Size | SHA-256 |
|---|---|---|
Nexora_1.0.2_x64-setup.exe |
4,974,564 | CA7BD340D1EBDC0D448D6186F370EE0821041165924098D8D05E199ED82BF9C0 |
Nexora_1.0.2_x64_en-US.msi |
6,938,624 | B54092CF01690BE1BC5E885A8107CCE0977C8BD9BDAA37109C0AE96CD3ED742B |