Skip to content

Releases: esengine/DeepSeek-Reasonix

Reasonix CLI v1.1.0

04 Jun 04:36
b5ab685

Choose a tag to compare

Changelog

  • b5ab685 fix(styles): update sidebar styles for improved layout and consistency (#3002)
  • c32ec3c fix(tooltip): enhance keyboard accessibility and pointer interactions (#3000)
  • bee0b48 fix(desktop): remove accidental project tabs rollout (clean revert) (#3011)
  • 5de4a1a fix(desktop): isolate user config dir in tests; SearchFileRefs non-nil (#3009)
  • faa1d20 fix(desktop): keep the live controller when a model switch fails (#3003)
  • 2b1ddce fix(cli): restore mid-turn interject feedback (#3001)
  • df921a1 fix(cli): measure approval-banner subject by display width, not rune count (#2996)
  • 72a4804 fix(checkpoint): create the .ckpt dir lazily, not on every New (#2995)
  • 0b6a635 fix(codegraph): mark read tools read-only (#2991)
  • ed88428 fix: improve macOS window chrome layout and drag area (#2997)
  • 9d3a7e7 fix(desktop): sidebar toggle button hidden after collapse (#2987)
  • 92d6898 fix(cli): show fractional K in compact token counts (#2966)
  • a9ee763 fix(cli): refresh statusline after model switch (#2937)
  • e04b179 refactor(cli): split skill picker view, strip restating comments (#2990)
  • b8c407f fix(memory): scope import-cycle detection to the current path (#2975)
  • 4123025 fix(control): stop bare @ref resolution dropping files on duplicate names (#2977)
  • 2dc6246 fix: preserve checkpoint restore file encoding (#2967)
  • 9250fba fix(agent): allow plan-mode todos in final readiness (#2933)
  • 9619220 feat(desktop): update Skill page and CLI /skills picker (#2928)
  • e63c6ce feat(site): serve the v0.53 desktop downloads from R2, not GitHub (#2971)
  • a478e50 feat(site): dual-track landing — stable v0.53 default, v1.0.0 in preview (#2962)
  • 61a9666 chore(npm): publish the v2 (1.x) line under next, keep 0.x as latest (#2951)
  • 9a4353f chore(deps): bump desktop module dependencies to latest (#2950)
  • ddefd1c docs(desktop): document the WebKitGTK 4.1 build tag for Fedora et al. (#2944)
  • 7605ace chore(deps): bump dependencies to latest, toolchain go1.26.4 (#2941)
  • 67e5603 ci: enforce golangci-lint, add govulncheck + coverage jobs (#2932)
  • 37042b2 feat(serve): runtime effort switching via /effort (#2926)
  • 606f7c5 fix(desktop): pad macOS app icon into the standard icon grid (#2924)
  • 2dc3457 fix(sessions): back-fill v0.x sessions even after v1 has been used (#2923)
  • eafdd01 fix(agent): gate final answers on incomplete todos (#2920)
  • f9f68e2 fix(openai): clamp effort=max to high for non-DeepSeek backends (#2921)
  • 5d0a2ec refactor(complete): memoize @token basename search, drop dead skip entry (#2919)
  • d78c412 fix(cli): only re-run setup on a true first run when the default model can't resolve (#2908)
  • 8be65f6 fix: add bounded filename search for @ file references (#2910)
  • 2108ab4 fix(tools): match CRLF line endings in edit_file/multi_edit (#2918)
  • 7a7386e fix(tools): root glob's recursive fallback at workDir; don't swallow walk errors (#2916)
  • 3c42ea9 fix(plugin): reap detached stdio-server descendants via a Windows Job Object
  • 923f50f fix: recursive file search in glob/ls + @-ref resolution (#2915)
  • f015e9c feat(config): read v0.x ~/.reasonix/config.json mcpServers (#2912)
  • 7264bb7 feat: make codegraph MCP configurable (#2902)
  • da01d3c fix(cli): don't re-trigger setup when a global config loads (#2906)
  • e25fcff fix(config): backfill deepseek-pro for flash-only configs from the old wizard (#2905)
  • e3b8a41 fix(setup): keep each family model in its own entry to preserve pricing (#2904)
  • 65ca37c fix(setup): collect the API key before probing /models so Pro isn't hidden (#2901)
  • 963a4c0 feat(cli): show git status in default status line (#2892)
  • 576ae9c Add skill enable/disable controls (#2898)
  • 0b76198 style(permission): gofmt the ParseRule test table
  • 9e3fee6 fix(permission): persist remembered approvals as exact-match rules, not globs
  • 5130c93 refactor(boot): drop unreachable nil-check in the persist-rule callback
  • 972ce49 fix(build): append GOEXE so make build names the Windows binary .exe (#2896)
  • ba39ff6 feat: persistent approval option (#2885)
  • bd86caf test(agent): de-flake batch-parallelism guard with a larger delay, not a looser bound
  • c9c443a fix(read): decode BOM-less UTF-16 instead of rejecting it as binary (#2891)
  • d7f1ded Fix desktop MCP failure cards showing connection mode (#2888)
  • 53221ab fix(desktop): downgrade mdast-util-gfm-autolink-literal to 2.0.0 for Safari 15 (#2886)
  • 3f87bd0 fix(config): store API keys in a global credentials file, never a project .env
  • 7f8aa5f refactor(cli): split mcp_manager.go under the 800-line ceiling (#2889)
  • 2eaf36d Improve MCP management UX (#2879)
  • 0edb738 fix(permission): treat plain cd as read-only bash (#2880)
  • f76129f fix(desktop): strip crossorigin from built assets so macOS 12 webview loads (#2883)
  • 8c54ec4 style(desktop): add builtin badge variant on skill source rows (#2878)
  • 18c363f feat(desktop): update the skill page source management UI (#2874)
  • 9203288 fix(codegraph): make install + init robust on Windows (Access-denied, hung init) (#2863)
  • 7306f53 style(desktop): trim dotEnvPath comment to the terse one-liner the repo wants (#2857)
  • 385b36a fix(desktop): use absolute path for .env to prevent key loss on workspace switch (#2853)
  • d255a51 fix(plugin): tree-kill stdio servers on close so a wedged handshake can't hang boot
  • bd39f19 refactor(desktop): drop dead codegraph-disabled loop in Capabilities (#2847)
  • e1e9b98 fix(desktop): stop console windows flashing on Windows during tasks (#2852)
  • 0fda79f refactor(desktop): apply composer gating via one atomic SetMode (#2848)
  • b04e189 fix: auto-allow pending approvals in YOLO mode (#2840)
  • 1ab14a9 feat(desktop): tier-based MCP startup with lazy/background/eager modes (#2834)
  • fe9e53b fix(sandbox): don't pick the WSL bash launcher on Windows (#2843)
  • c08cbbb feat(desktop): attach files dropped onto the composer (#2841)
  • b07150d fix(agent): echo the tool schema when a tool call's args are invalid JSON
  • 9a198e2 feat(agent): skip the planner pass for non-work turns in two-model mode
  • 04f1097 feat(cli): add a --dir flag to run and chat (#2827)
  • 1b7b407 fix(desktop): refresh slash commands once the controller is ready
  • 6b420fa fix(desktop): list the whole directory level in the @ file menu (#2823)
  • 5bf8dec refactor(net): make proxy-direct hosts data-driven instead of hardcoding MiMo
  • 6624812 fix(net): route built-in CN providers direct in auto/env proxy modes
  • 758e767 chore(desktop): drop committed screenshot, fix dev-mock stack reference
  • 8132d85 Unify Ask and Approval Prompt Shelves (#2812)
  • 324c3bb feat(site): rebuild the landing page in Astro, deploy via Actions (#2818)
  • 3738d75 fix(session): keep carried conversations in one file across rebuilds (#2817)
  • 0191045 fix(desktop): restore the session-cost readout and unblock settings/new-session mid-run
  • 3e3856d fix(desktop): blend the Windows title bar with the dark shell
  • 0705c31 feat(cli): accept legacy "code" as an alias for "chat"
  • f63b3e7 feat(config): import a v0.x ~/.reasonix install on first v2 boot
  • f920da1...
Read more

Reasonix Desktop v1.1.0

04 Jun 04:28
b5ab685

Choose a tag to compare

What's Changed

  • feat(site): minimal v2 landing page by @esengine in #2797
  • feat: migrate v0.x ~/.reasonix install on upgrade (config, key, MCP, sessions) + legacy code alias by @esengine in #2809
  • fix(desktop): unblock settings/new-session mid-run, restore cost readout, blend Windows title bar by @esengine in #2816
  • fix(session): keep carried conversations in one file across rebuilds by @esengine in #2817
  • feat(site): rebuild landing page in Astro, deploy via Actions by @esengine in #2818
  • Unify Ask and Approval Prompt Shelves by @SivanCola in #2812
  • chore(desktop): prompt-shelf follow-up — drop screenshot, fix dev-mock stack ref by @esengine in #2820
  • fix(net): route built-in CN providers direct in auto/env proxy modes (#2803) by @esengine in #2821
  • refactor(net): data-driven proxy-direct hosts (supersede MiMo hardcode) by @esengine in #2824
  • fix(desktop): list the whole directory level in the @ file menu by @esengine in #2823
  • fix(desktop): show skills/custom/MCP in the slash picker (#2815) by @esengine in #2826
  • feat(cli): add a --dir flag to run and chat by @esengine in #2827
  • feat(agent): skip the planner pass for non-work turns in two-model mode by @esengine in #2833
  • fix(agent): echo tool schema on invalid-JSON tool args by @esengine in #2839
  • feat(desktop): attach files dropped onto the composer by @esengine in #2841
  • fix(sandbox): don't pick the WSL bash launcher on Windows by @esengine in #2843
  • Improve desktop MCP startup behavior and settings UX by @SivanCola in #2834
  • fix: auto-allow pending approvals in YOLO mode by @SivanCola in #2840
  • refactor(desktop): apply composer gating via one atomic SetMode by @esengine in #2848
  • fix(desktop): stop console windows flashing on Windows during tasks by @esengine in #2852
  • refactor(desktop): drop dead codegraph-disabled loop in Capabilities by @esengine in #2847
  • fix(desktop): use absolute path for .env to prevent key loss on workspace switch by @Bernardxu123 in #2853
  • style(desktop): trim dotEnvPath comment to one line by @esengine in #2857
  • fix(codegraph): make install + init robust on Windows (Access-denied, hung init) by @esengine in #2863
  • feat(desktop): update the skill page source management UI by @SivanCola in #2874
  • style(desktop): add builtin badge variant on skill source rows by @esengine in #2878
  • fix(desktop): strip crossorigin from built assets so macOS 12 webview loads by @esengine in #2883
  • fix(permission): stop prompting for plain cd commands by @GTC2080 in #2880
  • Improve MCP management UX by @SivanCola in #2879
  • refactor(cli): split mcp_manager.go under the 800-line ceiling by @esengine in #2889
  • fix(desktop): downgrade mdast-util-gfm-autolink-literal to fix Safari… by @kekexunxun in #2886
  • Fix desktop MCP failure cards showing connection mode by @SivanCola in #2888
  • fix(read): decode BOM-less UTF-16 instead of rejecting it as binary by @esengine in #2891
  • feat: add persistent approval option to the approval process by @YoungDan-hero in #2885
  • fix(build): append GOEXE so make build names the Windows binary .exe by @esengine in #2896
  • Add skill enable/disable controls by @esengine in #2898
  • fix(setup): collect the API key before probing /models so Pro isn't hidden by @esengine in #2901
  • fix(setup): keep each family model in its own entry to preserve pricing by @esengine in #2904
  • fix(config): backfill deepseek-pro for flash-only configs from the old wizard by @esengine in #2905
  • fix(cli): prevent welcome() from re-triggering setup when a global config exists by @esengine in #2906
  • feat(config): read v0.x ~/.reasonix/config.json mcpServers by @esengine in #2912
  • fix: recursive file search in glob/ls + @-ref resolution by @esengine in #2915
  • fix(tools): root glob recursive fallback at workDir; stop swallowing walk errors by @esengine in #2916
  • fix(tools): match CRLF line endings in edit_file/multi_edit by @esengine in #2918
  • fix: add bounded filename search for @ file references by @YoungDan-hero in #2910
  • fix(cli): stop config overwrite when the default model can't resolve by @esengine in #2908
  • refactor(complete): memoize @token file search, drop dead skip entry by @esengine in #2919
  • fix(openai): clamp effort=max to high for non-DeepSeek backends (MiMo 400) by @esengine in #2921
  • fix(agent): block final answers with incomplete todos by @GTC2080 in #2920
  • fix(sessions): back-fill v0.x sessions even after v1 has been used by @esengine in #2923
  • fix(desktop): pad macOS app icon into the standard icon grid by @esengine in #2924
  • feat(serve): runtime effort switching via /effort by @esengine in #2926
  • ci: enforce golangci-lint, add govulncheck + coverage by @esengine in #2932
  • chore(deps): bump dependencies to latest, toolchain go1.26.4 by @esengine in #2941
  • docs(desktop): document the WebKitGTK 4.1 build tag (Fedora compile fix) by @esengine in #2944
  • chore(deps): bump desktop module dependencies to latest by @esengine in #2950
  • chore(npm): publish v2 (1.x) under next, keep 0.x as latest by @esengine in #2951
  • feat(site): dual-track landing — stable v0.53 default, v1.0.0 preview by @esengine in #2962
  • feat(site): serve v0.53 desktop downloads from R2 by @esengine in #2971
  • feat(desktop): update Skill page and CLI /skills picker by @SivanCola in #2928
  • fix(agent): allow plan-mode todos in final readiness by @lizhengwu in #2933
  • Preserve file encoding during checkpoint restore by @GTC2080 in #2967
  • fix(control): bare @ref resolution drops files when a name exists in multiple dirs by @Tatlatat in #2977
  • fix(memory): scope import-cycle detection to the current path (diamonds aren't cycles) by @Tatlatat in #2975
  • refactor(cli): split skill picker view, strip restating comments by @esengine in #2990
  • fix(cli): refresh statusline after model switch by @lizhengwu in #2937
  • fix(cli): show fractional K in compact token counts by @Tatlatat in #2966
  • fix(desktop): sidebar toggle button hidden after collapse by @YoungDan-hero in #2987
  • fix: improve macOS window chrome layout and drag area by @YoungDan-hero in #2997
  • fix(codegraph): mark read tools read-only (rebase of #2983) by @esengine in #2991
  • fix(checkpoint): create the .ckpt dir lazily, not on every New (rebase of #2972) by @esengine in #2995
  • fix(cli): measure approval-banner subject by display width, not rune count (rebase of #2968) by @esengine in https://g...
Read more

Reasonix CLI v1.0.0

03 Jun 01:49
3483681

Choose a tag to compare

Changelog

  • 3483681 docs(changelog): mark 1.0.0 released (#2789)
  • 6dd32af fix(desktop): build a universal macOS app, drop the Intel runner (#2787)
  • 96881ce fix(release): distinguish CLI vs desktop releases; shield the updater from prereleases (#2784)
  • 59d74a8 fix(desktop): bump CI pnpm to 10 for the frontend build (#2783)
  • 424a563 fix(release): don't push the Homebrew cask for prereleases (#2782)
  • 71a6645 fix(desktop): use a numeric version for the installer/versioninfo (#2781)
  • 053f2b9 fix(desktop): keep the NSIS installer script ASCII (#2780)
  • 4755e22 fix(desktop): stamp the release version into the build (#2779)
  • 2ad62ff fix(plugin): drain detached MCP stats writers in Host.Close (#2777)
  • e438908 feat(desktop): commit explicit Windows installer icon.ico (#2776)
  • 45927ce feat(release): npm + Homebrew distribution for the CLI (#2775)
  • 01b720d fix(test): make Windows statusline and symlink tests portable (#2772)
  • 6b6bdfc fix(desktop): restore full-path hover on workspace tree rows (#2773)
  • 5b8d54f feat(agent): gate final-answer readiness (with mutation-driven test coverage) (#2771)
  • d4abfa1 fix(desktop): remove redundant tooltips (#2769)
  • 7839cdd fix memory quick-add hash prompt handling (#2767)
  • b543649 feat(net): exponential-backoff retry with clear error UX (#2765)
  • 3277b06 style(config): trim SetLanguage doc comment to one line (#2763)
  • fd64aa3 feat(desktop): workspace Add to Chat context + Changed view (#2762)
  • c9c16e6 feat(cli): add /language command to switch UI language (#2760)
  • 21ac7c0 fix(serve): sidebar resume/compact/model-switch with a race-safe controller swap (#2758)
  • 6807b89 refactor(desktop): trim onboarding comments, fix stale timeout note (#2759)
  • 686f050 feat(agent): enforce project instruction receipts (#2753)
  • 5cdfbe9 feat(desktop): first-run onboarding overlay for default provider API key (#2752)
  • 5ba50cc refactor(desktop): drop duplicate session-path validation on delete (#2756)
  • da84e11 feat(cli): render LaTeX math as Unicode in chat output (#2757)
  • 3c95429 Manage Recent Sessions from the Desktop Sidebar (#2746)
  • 9ee4fed fix(serve): cache session titles and match current session on Windows (#2745)
  • e98f14d feat(serve): overhaul HTTP SSE sidebar and add session titles (#2742)
  • 3141c3a fix(cli): chain into argument menu right after accepting a command (#2744)
  • e2f9f66 fix(cli): setup always offers the built-in provider catalog (#2743)
  • af1f6a7 fix(desktop): complete the live-stream state so the frontend builds (#2741)
  • b343da5 fix(cli): don't OSC-probe the terminal on a runtime /theme auto
  • 08e76c3 feat(theme): wire mode and accent themes (#2734)
  • 2f6461b fix(cli): setup wizard — fetch /models, dedupe key prompts, stable entry names (#2739)
  • 04ee7b5 perf(desktop): stop re-rendering the whole transcript on every streamed token
  • 2639389 feat(desktop): autosave the session after each turn
  • bc520ac fix(boot): surface why a model is empty instead of failing silently
  • 6b35939 fix(windows): stop subprocesses flashing a console window
  • 26d348d fix(cli): let Esc cancel a running turn even with the completion menu open (#2733)
  • eb6f60b feat(cli): show a live "working · Ns" line under a running tool (#2729)
  • 2e16a97 fix(control): don't draft or gate on a plan in bypass/YOLO mode
  • 3a8d79c feat(cli): interactive /resume picker with keyboard navigation (#2726)
  • b02f353 feat(cli): add theme switching (#2727)
  • f92ea80 fix(control): cancel the per-turn context on normal turn completion
  • 482d9d4 perf(tools): cache each tool's canonical schema at registration
  • 229f3bc perf(tools): stop read_file scanning the whole file for a windowed read
  • c9c6ef2 test(bash): widen cancel/kill timing margins to stop load flakes (#2724)
  • 33c76cd fix(tools): skip macOS TCC-protected dirs in recursive glob/grep walks (#2723)
  • 2c7f7e1 feat: reasoning effort controls (/effort) (#2722)
  • 3a9aeca fix(desktop): allow read-only history preview while running (#2711)
  • 271dd84 fix(cli): copy via OSC 52 when the platform clipboard tool fails (tmux/SSH) (#2719)
  • 3a3f861 fix(jobs): mark a killed job Killed synchronously (#2715)
  • c2cbb97 feat(tui): clear composer on single Ctrl+C when input is non-empty (#2712)
  • 4903fd2 feat(plugin): tier-based MCP loading with cache-aware lazy placeholders (#2713)
  • 23f4220 test: goroutine-leak guard (goleak) + fix the leaks it found (#2709)
  • ae49ba8 fix(doctor): surface warnings at the top of the report (#2710)
  • c7da554 fix(doctor): report effective sandbox availability, not just mode (#2708)
  • 418f1ca fix(desktop): restore reasoning in resumed history (#2705)
  • e7bd279 ci: add a -race job and run the prompt-cache prefix guard (#2707)
  • a2e0a3e chore: clear staticcheck findings across internal packages (#2706)
  • 46ee765 Define a cohesive desktop light and dark theme system (#2636)
  • 462e340 Polished Slash Command Views (#2521)
  • 50b9907 feat(plugin): persist handshake schema & startup latency to user cache (#2703)
  • ae0d890 fix(skill): make relevant inline skills mandatory, keep subagent judgment-based (#2704)
  • ac0ec00 feat(proxy): auto-detect the Windows system proxy (IE/PAC/WPAD) (#2702)
  • 2160fa6 fix(cli): recall submitted input with arrow keys (#2700)
  • 963fe55 feat(plugin): defer prompts/resources to a background phase (#2701)
  • 1bc5181 refactor(desktop): share sessionActivityTime helper (#2699)
  • 3cd755c fix(desktop): keep session list stable on resume (#2697)
  • 757c4aa feat: add configurable network proxy settings (#2690)
  • e6833d5 feat(plugin): unify StartAll/StartAvailable with timeout & concurrency cap (#2675)
  • 0768c9b refactor(config): share skill-path canonicalization, fold case on Windows (#2698)
  • 25ea517 feat(desktop): manage agent skill sources
  • c7b119e fix(io): fall back to copy when an atomic-write rename hits a cross-device link (#2696)
  • 684e17e style(memory): drop redundant docSeen.add comment (#2695)
  • 0806779 fix(memory): deduplicate symlinked memory docs (#2688)
  • 062c568 fix(desktop): wire up tool_progress so live bash output doesn't blank the app (#2693)
  • 7e2e4ce feat(desktop): surface crashes instead of blanking to a white screen (#2691)
  • 862803a fix(bash): suppress the console window for shell commands on Windows (#2686)
  • d73df5d perf(tools): stream read_file instead of slurping the whole file
  • fa7d154 fix(config): merge [[plugins]] across config files instead of replacing (#2684)
  • cfb91d0 refactor(desktop): share the transcript re-pin logic across resize sources (#2676)
  • d3a2b86 ci: run the root test matrix on windows-latest (#2674)
  • b7bc55e fix(tools): make native grep/glob walks interruptible
  • 3d73243 fix(desktop): keep transcript pinned when approval shelf appears (#2670)
  • 781916f fix: resolve stdio MCP commands with effective PATH (#2665)
  • 42c7c7f fix(cli): expand tabs and fix header detection in diff/stream rows
  • 6f0a631 chore(desktop): drop approval i18n keys orphaned by the shelf refactor (#2669)
  • 1a5d6a4 fix(desktop): repair module build and add CI coverage (#2668)
  • d35199f...
Read more

Reasonix Desktop v1.0.0

03 Jun 01:50
3483681

Choose a tag to compare

What's Changed

  • fix: skip saving empty conversations to history when switching workspace/model by @AtmoOmen in #2401
  • [v2] Stabilize tool schema ordering for prompt cache reuse by @SivanCola in #2402
  • [v2] Canonicalize MCP JSON schemas for stable cache prefixes by @SivanCola in #2403
  • fix(gitignore): update v2 build ignores by @PorunC in #2415
  • test(event): add comprehensive unit tests for event package by @HUQIANTAO in #2417
  • docs: add CONTRIBUTING.md and update .gitignore by @HUQIANTAO in #2427
  • feat(glob): add ** recursive pattern support by @HUQIANTAO in #2423
  • fix(serve): gate CORS behind explicit origin, wire RunGraceful with signal handling by @HUQIANTAO in #2459
  • fix(openai): drain error response body for HTTP connection reuse by @HUQIANTAO in #2450
  • feat(desktop): add release pipeline and self-updater by @esengine in #2466
  • fix(plugin): log prompt/resource listing failures in Host.Add by @HUQIANTAO in #2448
  • fix(subagent): tighten inherited tool boundaries by @paradoxSCH in #2434
  • feat(desktop): use a fresh signing key; add genkey/verify by @esengine in #2467
  • fix: replace silent error discards with structured logging by @HUQIANTAO in #2421
  • test(hook): add comprehensive runner, format, and payload tests by @HUQIANTAO in #2430
  • test(memory): add tests for splitFrontmatter, slug, oneLine, render, and store edge cases by @HUQIANTAO in #2437
  • test(diff): add edge case tests for splitLines, isBinary, CRLF, large files, and helpers by @HUQIANTAO in #2438
  • test(billing): add edge case tests for symbol, Display, and Fetch error paths by @HUQIANTAO in #2439
  • test(permission): add edge case tests for ParseDecision, matchGlob, Subject, and rememberRule by @HUQIANTAO in #2440
  • test(jobs): add timeout, edge case, and helper tests by @HUQIANTAO in #2441
  • test(command): add edge case tests for splitFrontmatter, Render, and Load by @HUQIANTAO in #2442
  • test(desktop): add wire.go and sessions.go tests by @HUQIANTAO in #2452
  • test(serve): add endpoint tests for cancel, approve, new, compact, index, malformed input by @HUQIANTAO in #2453
  • test(agent): add comprehensive session, save, load, and preview tests by @HUQIANTAO in #2454
  • test(builtin): add dedicated tests for read_file, ls, glob, and grep tools by @HUQIANTAO in #2432
  • test(builtin): add dedicated tests for write_file, edit_file, multi_edit, and confine by @HUQIANTAO in #2433
  • feat(provider): add Anthropic Messages API provider by @esengine in #2469
  • feat(provider): support Anthropic extended thinking round-trip by @esengine in #2471
  • test(provider): add comprehensive unit tests for provider package by @HUQIANTAO in #2418
  • test(skill): add edge case tests for IsValidName, splitFrontmatter, parseAllowedTools, parseRunAs, and helpers by @HUQIANTAO in #2443
  • test(acp): add tests for newSessionID, mcpSpecs, transcriptPath, and acpSession by @HUQIANTAO in #2445
  • test(cli): add tests for visibleWidth, padRight, and boxed helpers by @HUQIANTAO in #2455
  • test(desktop): add workspace.go and settings_app.go helper tests by @HUQIANTAO in #2458
  • fix(ci): update golangci-lint v2 config, move sandbox tests to platform-specific files by @HUQIANTAO in #2444
  • feat(sandbox): add bubblewrap support for Linux with enforce-mode warning by @HUQIANTAO in #2447
  • refactor: extract shared frontmatter parser into internal/frontmatter by @HUQIANTAO in #2446
  • refactor: deduplicate compactArgs between agent and cli by @HUQIANTAO in #2449
  • fix(agent): break the same-tool, same-error retry loop by @esengine in #2474
  • style: gofmt storm_test.go to unblock CI by @esengine in #2475
  • fix(tui): add shift+enter to InsertNewline key binding, with test by @JimmyDaddy in #2425
  • feat(compaction): surface context compaction as a card across CLI, desktop, headless by @esengine in #2477
  • fix(ask): reject blank option labels by @XTLine in #2426
  • feat(subagent): configure skill model overrides by @GTC2080 in #2451
  • fix(cli): /model switch breaks terminal + garbles streaming output by @HUQIANTAO in #2472
  • feat(hooks): add lifecycle hook events + compaction focus & headroom by @esengine in #2478
  • docs: drop external-agent references from two comments by @esengine in #2480
  • feat(outputstyle): selectable persona/tone output styles by @esengine in #2482
  • Clarify CLI Tool Approval Prompts by @SivanCola in #2484
  • feat(tool): add notebook_edit for Jupyter .ipynb cells by @esengine in #2491
  • Add release cache-hit guard by @SivanCola in #2470
  • fix(tool): repair notebook_edit test compile error by @esengine in #2492
  • Conversation Branch Tree for Chat Sessions / 对话分支树管理 by @SivanCola in #2460
  • fix(cli): /model switch breaks terminal + garbles streaming output by @HUQIANTAO in #2486
  • Fix desktop transcript streaming autoscroll by @SivanCola in #2487
  • feat(tool): add slash_command for model-invoked slash commands by @esengine in #2494
  • [v2] Skip approval for known read-only bash commands by @SivanCola in #2411
  • [v2] Add range and Go symbol deletion tools by @SivanCola in #2410
  • test(builtin): make resolveIn absolute-path test cross-platform by @esengine in #2500
  • [v2] Add DeepSeek thinking effort controls by @SivanCola in #2408
  • build: add Go-native git hooks (make hooks) by @esengine in #2505
  • test: make path and codegraph tests Windows-portable by @esengine in #2507
  • feat(desktop): render LaTeX math in markdown via KaTeX by @esengine in #2509
  • fix(desktop): render LaTeX with ( ) and [ ] math delimiters by @esengine in #2510
  • fix(desktop): pin vite dev server to 127.0.0.1 (fix Windows blank window) by @esengine in #2511
  • fix(desktop): protect [ spacing and swap | for \vert in math (#2017 parity) by @esengine in #2514
  • fix(desktop): save provider/config to global user config, surviving workspace switch by @esengine in #2516
  • Support image paste attachments in CLI by @SivanCola in #2508
  • Add secure desktop image attachments by @SivanCola in #2504
  • feat(cli): read clipboard images on Windows and Linux by @esengine in #2525
  • TUI: alt-screen transcript viewport with scrollbar, selection, and copy by @esengine in #2524
  • fix(model): skip providers without an API key in all model pickers by @AtmoOmen in #2519
  • feat(cli): in-chat /resume to switch saved sessions live by @esengine in #2531
  • fix(tool): make the shell tool work on Windows without bash by @esengine in https://github.com/esengine/DeepSeek-Reasonix/pull/...
Read more

Reasonix desktop-v0.53.0

27 May 05:13

Choose a tag to compare

Highlights

Force-summary respects the active model (#1979) — context-guard and stuck-state recovery no longer hard-code deepseek-v4-flash. Sessions on third-party DeepSeek-compatible endpoints (mimo, self-hosted, Azure forks) that don't expose flash now recover cleanly instead of crashing the summary turn.

Brave Search backend for web_search (#1916) — alternative to the existing Bing / Tavily / Ollama-cloud paths.

Desktop — workspace switcher (#1908) — multiple project roots in the sidebar, no relaunch required.

Desktop fixes — per-tab hook firing (#1984), pending-assistant clears on error so the spinner stops (#1985), /skill and /skills slash commands wired (#1978), context token meter refreshes per turn (#1964), preserve context across abort (#1938), \[ \] / \( \) math delimiters render in markdown (#1923), Windows path separator normalization (#1914), settings allow clearing base URL / editor (#1905), 余额显示支持多币种 (#1930).

Networkingweb_fetch falls back to DNS-over-HTTPS when system DNS returns RFC1918 / link-local addresses (#1944); doctor accepts a custom /models endpoint (#1972).

Truncation / encoding — slice boundaries align to UTF-16 codepoints (#1976, includes #1970); truncated-result-saver falls back to ~/.reasonix when rootDir is the FS root (#1974); lone surrogates sanitized in chat payloads (#1939).

Other/qq defaults to markdown replies (#1941); CardStream measure→render→measure loop broken (#1958); structured errorDetail propagation through loop / transcript / ACP (#1965); ink runtime fully in-tree as a workspace package (#1947); config saveApiKey overrides stale env (#1982); dashboard session refresh (#1917); New Chat label on one line (#1924).

Full changelog: CHANGELOG.md

Reasonix desktop-v0.52.0

26 May 13:22

Choose a tag to compare

fix(desktop): bump app bundle version to 0.52.0

Reasonix desktop-v0.51.0

25 May 16:59

Choose a tag to compare

desktop-v0.51.0

Reasonix desktop-v0.50.0

24 May 14:14

Choose a tag to compare

desktop-v0.50.0

Reasonix desktop-v0.49.0

22 May 17:29
6ea352f

Choose a tag to compare

reasonix desktop v0.49.0

Reasonix desktop-v0.48.1

21 May 13:54

Choose a tag to compare

Reasonix Desktop 0.48.1 — see CHANGELOG.md for the full notes.