Repository navigation
Releases: Jozkah/flint
Release list
Flint nightly 2026-10-11 17:00
Unsigned desktop bundles built from e5a1616. Changes since v0.9.0 (not included in the stable release).
What's Changed
- fix(agent): harden shell, redaction, hooks, subagents and sandbox (#336)
- feat(campaign): campaign engine, board, sidebar, overview, shell and phone UI (#337)
- feat(campaign): close campaign gaps with server task moves, run host, phone drawer, attachment chips and translations (#339)
- feat(ui): tidy the sidebar top, fix Linux zoom/fade/wave, simplify accent card (#340)
- feat(ios): sideloadable iPhone app as a thin client of a desktop (#341)
- feat(ui): approval-only sound, swap Sounds/Reset, sidebar polish (#342)
- ci: stop pruning nightlies and drop legacy Jan workflows (#343)
Present from older nightly builds
- Add local LoRA adapters to Studio (#169)
- Fix nightly builds and run at midnight and noon Lisbon time (#172)
- Fix downloaded GGUF import paths and unsupported Studio availability (#171)
- Add desktop keyboard, mouse and screenshots on Windows, macOS and Linux (#173)
- Fix chat context cap enforcement, sampler focus, and mobile steering (#170)
- feat: enable Studio image and video engines on Linux (#174)
- fix: keep nightly changelogs limited to changes since stable (#175)
- Show model download speed and outcome (#176)
- Link Output file references and restore HTML preview (#178)
- Fix sampling control heights and use reported context window (#177)
- Fix Cowork bypass, worktree reuse, and Studio size (#180)
- Add inline rich text chat composer and readable PowerShell approvals (#181)
- Fix Cowork failure details and fresh worktree base (#182)
- Remove internal AI planning documents (#183)
- fix(chat): stop a reasoning loop whatever the length of the repeated unit (#184)
- Fix What changed errors, summary links, steer lag and bypass overhead (#185)
- fix(agent-tools): wrapper flags that may take a value make the command ambiguous (#187)
- Port janhq/jan fixes: orphan engine sweep, chat transport, window controls (#186)
- Don't stop a run for polling a changing result (#188)
- End a chat reply when the model stream goes silent (#189)
- ci: skip unchanged nightlies, fold old notes, build every push as artifact (#190)
- fix(app): restore the startup blocks the upstream port dropped (#191)
- feat(ui): animation pass (loaders, controls, media, status, mobile) (#195)
- fix(security): harden migration, hooks, sandbox, MCP identity and locks (#192)
- fix(extensions): extra args, model checks, pinned sqlite-vec (#196)
- chore(deps): patch runtime and dev dependencies within their ranges (#194)
- fix(web): audit fixes for links, listeners, state, a11y, mobile i18n and asset scope (#193)
- ci: pin actions, add a pin lint, drop dead workflows (#197)
- feat(i18n): full locale parity for 17 languages, enforced in CI (#198)
- fix(sessions): remove size limit on session import (#199)
- feat(ui): show a failed model load and hold Ready on finished downloads (#200)
- ci(release): read-only build token, separate upload job, prune nightlies; keep plain variables in hooks (#201)
- fix: abort the request on a reasoning loop, plug listener leaks, decode SDK output as UTF-8 (#202)
- fix(mobile): translate the strings the animation pass added (#203)
- fix(agent,remote): clamp the compaction scan, free stuck image jobs, harden the phone server and exit paths (#204)
- fix(sandbox): enable the network capability SIDs so allowed network can open sockets (Windows) (#205)
- chore(build): fail fast with a clear message when the engine has not been built (#206)
- fix(cowork): judge the no-reply fallback on the whole split reply (#207)
- feat(chat): convert a chat to a Cowork session from its right-click menu (#208)
- fix(cowork): record who decided an MCP tool call and pin the approval order in tests (#209)
- fix(visualize): size diagram height to the drawing with padding (#210)
- fix(cowork): apply the web-search toggle on the next run, not mid-run (#211)
- feat(chat): offer to enable tool calls when a model without them tries one (#212)
- Limit where the computer tool can act: off-limits areas and an app allowlist (#213)
- Export and import settings as a JSON file (#214)
- feat: add flint serve, a headless web server for the browser UI (#179)
- Show the window and its source when the pre-flight context check fails (#216)
- Upgrade llama.cpp to 0.6.0 and expose draft sampling (#215)
- Speed up Providers grid, balance General columns (#217)
- Idle-based model timeout, bypass for MCP tools, mid-run folder prompt (#219)
- docs: recapture screenshots from the latest nightly, add Studio and agent browser (#218)
- Render sanitized inline HTML colors in model output (#220)
- Engine pin b11524 and filtering for long remote model lists (#221)
- Ask a model that wraps up after a long run whether it is really done (#222)
- Add a Fable model tier to the Claude Code settings (#223)
- CLI parity with the desktop app: management commands, permission modes, fixes (#224)
- ci(release): retry the artifact upload and drop unfinished nightly drafts (#225)
- Steer now no longer stalls on a pending approval (#229)
- Web preview PIP: edge resize, tab-style title bar with close, copy URL (#231)
- Open in submenu with New window; right-click menus at the pointer (#236)
- Fix backend bugs reported against Jan: MCP fresh-install, local API CORS/proxy, AppImage bun (#226)
- Keep Gemini thought signatures in agent runs, smarter tool-schema pattern filter, rotate keys on 402 (#237)
- Fix MCP children under AppImage, Linux blank window, download hangs, thread-list robustness (#232)
- Download speed limit, close to tray, redacted log export, context metadata in /v1/models, ChatGPT import (#238)
- Fix frontend bugs reported against Jan: old-WebKit crashes, provider errors, MCP config, Hub filter (#227)
- Azure api-key header, OpenRouter reasoning_details round trip, clearer thinking-only reply (#233)
- Provider and Hub UX: clear hosted models, delete from Hub, show model in folder, Poe and Ollama Cloud (#234)
- Chat parameters: stop sequences, GPT-5 verbosity, OpenRouter web search, routing and image output; project default model (#235)
- Per-model reasoning default, stop strings and extra args; project file tree; richer chat errors; old web view notice (#240)
- Cancel non-streaming requests on client disconnect, retry a vision model without mmproj offload on out-of-memory (#239)
- Compact inside the current turn in Cowork, add a switch to turn the shell tool off (#241)
- ci(release): add release-please with on-demand release PRs (#242)
- feat(ui): simplify the path into work with a task-first sidebar, guided model setup and calmer Cowork (#243)
- fix: chat titles, sent text, Cowork rename/delete, window guess, provider status, Studio, tables, toast (#244)
- fix: chat titles, sent text, Cowork rename/delete, provider status, Studio, tables (#245)
- fix: honest provider labels, context card, Hub on Windows, headless server and phone remote hardening (https://github.com/Jozkah/fli...
Flint nightly 2026-10-11 02:00
Unsigned desktop bundles built from 5eaf741. Changes since v0.9.0 (not included in the stable release).
What's Changed
- feat: rolling 5 hour and weekly token limits (#258)
- fix(appimage): keep host libvulkan out of the AppImage, relative .DirIcon (#259)
- fix(llamacpp): pin MTP models to one user slot when Parallel Sequences is auto (#260)
- fix(chat): keep thread project when attaching a document (#261)
- fix(linux): reveal a session path off the async runtime (#266)
- fix(chat): keep a run on the model it was sent with (#263)
- fix(linux): scrub the AppImage environment for host program spawns (#264)
- fix(rag): lenient PDF extraction fallback and clear errors (#265)
- fix(cmdscan): honour rules and grants only for plain invocations (#268)
- fix(providers): allow keyless custom providers and add a local Ollama preset (#271)
- fix(mcp): do not pass Flint API keys to stdio MCP servers (#270)
- fix(api-server): trust the machine's own interface addresses as a Host or Origin (#273)
- fix(cli): gate rfc3339_of so the cli build has no dead code (#276)
- test: make the web-app suite green on a clean checkout (#295)
- fix(api-server): fall back to a free port when the configured port is unavailable (#274)
- feat: remember window frame on macOS/Linux, file drop in Rooms, offer pasted paths (#294)
- fix(providers): send one auth header on model list and key test (#275)
- fix(rpc): do not fail a turn on a streaming event burst (#277)
- fix(tui): restore the terminal when the TUI panics (#278)
- fix(chat): save a code block under the filename its fence declares (#280)
- fix(models): star a model per provider (#281)
- fix(rag): name the cause of an embedding context error (#282)
- fix(api-server): time out a stuck server start instead of hanging on Starting Server (#283)
- fix(schema): strip bounded repetition keywords from tool schemas (#285)
- feat(openrouter): more provider routing options (#286)
- fix(windows): keep REG_EXPAND_SZ and %VAR% entries when editing the user PATH (#288)
- feat(hub): honour HF_ENDPOINT for Hugging Face model search and downloads (#289)
- feat(hub): check free disk space before a model download starts (#291)
- fix(agent-tools): inherit the host process limit on Linux (#292)
- feat(agent): show upstream retries as a retrying state (#284)
- feat(agent): session budget follows the context window; report in-run compactions (#290)
- fix(ci): two Linux test failures on main (#296)
- fix(engine): CUDA graphs, llamafile and native sm_75 in the engine build (#262)
- fix: apply the HTTPS proxy setting and keep engine loopback direct (#267)
- fix(engine): classify engine crashes and say why the worker stopped (#272)
- feat(llamacpp): unload local models after an idle timeout (#279)
- i18n: fill missing keys in ja, ko, pl, pt-BR, ru, tr, vn, zh-CN, zh-TW (#300)
- i18n: fill missing keys in ca, cs, de-DE, es, fr, hi, id, it (#303)
- fix(api-server): keep the pinned port when the server falls back to another (#297)
- feat(llamacpp): default the KV cache to q8_0 where flash attention allows it (#302)
- fix(linux): disable the AT-SPI bridge on Fedora to avoid the startup crash (#298)
- feat(chats): bulk delete chats from the sidebar (#299)
- feat(hub): pin a pasted exact repo id to the top of Hub search (#301)
- fix(chat): keep the thought duration on a reply after a restart (#304)
- feat(settings): add a switch for inline source icons in answers (#306)
- feat(hub): add a Fits my hardware filter to Discover (#308)
- feat(providers): opt-in allow-invalid-certificates per provider endpoint (#309)
- feat(deeplink): fill the composer from a flint://chat?prompt= link (#307)
- feat(mcp): set a working directory per MCP server (#311)
- feat(providers): offer LM Studio and Ollama found on loopback when adding a provider (#310)
- fix(ci): keep the proxy unit test free of a model-catalogue URL literal (#313)
- feat(tui): add /reload to re-read config, skills, plugin commands and MCP servers (#312)
- refactor(mcp): fold status filter and layout toggle into the search bar (#314)
- fix(api-server): log a missing Origin at debug and lift the model load timeout to 30 minutes (#287)
- fix(tls): report the most specific certificate failure in an error chain (#315)
- feat(llamacpp): cancel a model load in progress (#305)
- feat(providers): disable or enable every provider in one click (#317)
- chore(i18n): translate the provider enable-all and disable-all strings (#318)
- feat(composer): attach a large paste as a .txt file (#322)
- fix(claude-code): raise a local model's context to a workable size and explain the limit (#324)
- fix(tls): read OpenSSL's IP address mismatch as a host name failure (#326)
- fix(claude-code): map every model tier, use the bound port and explain overriding Claude Code settings (#325)
- fix(api-server): start only a local model when the server needs one loaded (#319)
- fix(api-server): stop saying the port setting was updated after a port fallback (#320)
- fix(models): clear the stuck Loading chip and show the engine's reason on a failed start (#321)
- fix(context): send the provider key when asking a server for its context window (#327)
- feat(agent): declare the prompt-cache capability of each provider route (#323)
- feat(agent): declare the writers of the system prompt and gate who may lead it (#328)
- fix(models): lead engine error details with the reason, not the boilerplate (#330)
- fix(providers): fetch a new provider's model list right after it is added (#329)
- fix(models): keep the sidebar loaded-model count current after a load (#331)
- test: follow the shutdown teardown into core::system::shutdown (#332)
- feat(ui): replace native select popups with the app's own menu (#316)
- test(rag): write the xref entry's trailing space as an escape (#334)
- test(hardware): call the blocking probes the async commands wrap (#333)
- feat(llamacpp): enable auto-fit by default and show GPU offload in model status (#293)
- ci: run lint and tests on pull requests (#269)
- feat(ui): play the theme reveal in Appearance settings (#335)
Present from older nightly builds
- Add local LoRA adapters to Studio (#169)
- Fix nightly builds and run at midnight and noon Lisbon time (#172)
- Fix downloaded GGUF import paths and unsupported Studio availability (#171)
- Add desktop keyboard, mouse and screenshots on Windows, macOS and Linux (#173)
- Fix chat context cap enforcement, sampler focus, and mobile steering (#170)
- feat: enable Studio image and video engines on Linux (#174)
- fix: keep nightly changelogs limited to changes since stable (#175)
- Show model download speed and outcome (#176)
- Link Output file references and restore HTML preview (#178)
- Fix sampling control heights and use reported context window (#177)
- Fix Cowork ...
Flint nightly 2026-10-10 17:00
Unsigned desktop bundles built from ffd022e. Changes since v0.9.0 (not included in the stable release).
What's Changed
- fix: chat titles, sent text, Cowork rename/delete, provider status, Studio, tables (#245)
- fix: honest provider labels, context card, Hub on Windows, headless server and phone remote hardening (#246)
- fix: code viewer flash and frozen empty Cowork tool set (#247)
- feat(agent): session messaging for headless and CLI runs (#248)
- feat(chat): one clean composer, no plain/rich toggle (#249)
- fix(cowork): don't show What changed for a question or quoted word (#250)
- chore(deps): bump actions/download-artifact from 4.3.0 to 8.0.2 by @dependabot[bot] in #251
- chore(deps): bump actions/upload-artifact from 7.0.1 to 7.0.2 by @dependabot[bot] in #252
- chore(deps): bump actions/deploy-pages from 4.0.5 to 5.0.1 by @dependabot[bot] in #253
- chore(deps): bump actions/setup-node from 7.0.0 to 7.1.0 by @dependabot[bot] in #254
- fix(server): discussion rooms work in the browser client (#256)
- ci: release the flint CLI and publish it to Homebrew, Scoop and npm (#255)
- ci: pin runners to ubuntu-24.04 and bump actions/cache to v6.1.0 (#257)
Present from older nightly builds
- Add local LoRA adapters to Studio (#169)
- Fix nightly builds and run at midnight and noon Lisbon time (#172)
- Fix downloaded GGUF import paths and unsupported Studio availability (#171)
- Add desktop keyboard, mouse and screenshots on Windows, macOS and Linux (#173)
- Fix chat context cap enforcement, sampler focus, and mobile steering (#170)
- feat: enable Studio image and video engines on Linux (#174)
- fix: keep nightly changelogs limited to changes since stable (#175)
- Show model download speed and outcome (#176)
- Link Output file references and restore HTML preview (#178)
- Fix sampling control heights and use reported context window (#177)
- Fix Cowork bypass, worktree reuse, and Studio size (#180)
- Add inline rich text chat composer and readable PowerShell approvals (#181)
- Fix Cowork failure details and fresh worktree base (#182)
- Remove internal AI planning documents (#183)
- fix(chat): stop a reasoning loop whatever the length of the repeated unit (#184)
- Fix What changed errors, summary links, steer lag and bypass overhead (#185)
- fix(agent-tools): wrapper flags that may take a value make the command ambiguous (#187)
- Port janhq/jan fixes: orphan engine sweep, chat transport, window controls (#186)
- Don't stop a run for polling a changing result (#188)
- End a chat reply when the model stream goes silent (#189)
- ci: skip unchanged nightlies, fold old notes, build every push as artifact (#190)
- fix(app): restore the startup blocks the upstream port dropped (#191)
- feat(ui): animation pass (loaders, controls, media, status, mobile) (#195)
- fix(security): harden migration, hooks, sandbox, MCP identity and locks (#192)
- fix(extensions): extra args, model checks, pinned sqlite-vec (#196)
- chore(deps): patch runtime and dev dependencies within their ranges (#194)
- fix(web): audit fixes for links, listeners, state, a11y, mobile i18n and asset scope (#193)
- ci: pin actions, add a pin lint, drop dead workflows (#197)
- feat(i18n): full locale parity for 17 languages, enforced in CI (#198)
- fix(sessions): remove size limit on session import (#199)
- feat(ui): show a failed model load and hold Ready on finished downloads (#200)
- ci(release): read-only build token, separate upload job, prune nightlies; keep plain variables in hooks (#201)
- fix: abort the request on a reasoning loop, plug listener leaks, decode SDK output as UTF-8 (#202)
- fix(mobile): translate the strings the animation pass added (#203)
- fix(agent,remote): clamp the compaction scan, free stuck image jobs, harden the phone server and exit paths (#204)
- fix(sandbox): enable the network capability SIDs so allowed network can open sockets (Windows) (#205)
- chore(build): fail fast with a clear message when the engine has not been built (#206)
- fix(cowork): judge the no-reply fallback on the whole split reply (#207)
- feat(chat): convert a chat to a Cowork session from its right-click menu (#208)
- fix(cowork): record who decided an MCP tool call and pin the approval order in tests (#209)
- fix(visualize): size diagram height to the drawing with padding (#210)
- fix(cowork): apply the web-search toggle on the next run, not mid-run (#211)
- feat(chat): offer to enable tool calls when a model without them tries one (#212)
- Limit where the computer tool can act: off-limits areas and an app allowlist (#213)
- Export and import settings as a JSON file (#214)
- feat: add flint serve, a headless web server for the browser UI (#179)
- Show the window and its source when the pre-flight context check fails (#216)
- Upgrade llama.cpp to 0.6.0 and expose draft sampling (#215)
- Speed up Providers grid, balance General columns (#217)
- Idle-based model timeout, bypass for MCP tools, mid-run folder prompt (#219)
- docs: recapture screenshots from the latest nightly, add Studio and agent browser (#218)
- Render sanitized inline HTML colors in model output (#220)
- Engine pin b11524 and filtering for long remote model lists (#221)
- Ask a model that wraps up after a long run whether it is really done (#222)
- Add a Fable model tier to the Claude Code settings (#223)
- CLI parity with the desktop app: management commands, permission modes, fixes (#224)
- ci(release): retry the artifact upload and drop unfinished nightly drafts (#225)
- Steer now no longer stalls on a pending approval (#229)
- Web preview PIP: edge resize, tab-style title bar with close, copy URL (#231)
- Open in submenu with New window; right-click menus at the pointer (#236)
- Fix backend bugs reported against Jan: MCP fresh-install, local API CORS/proxy, AppImage bun (#226)
- Keep Gemini thought signatures in agent runs, smarter tool-schema pattern filter, rotate keys on 402 (#237)
- Fix MCP children under AppImage, Linux blank window, download hangs, thread-list robustness (#232)
- Download speed limit, close to tray, redacted log export, context metadata in /v1/models, ChatGPT import (#238)
- Fix frontend bugs reported against Jan: old-WebKit crashes, provider errors, MCP config, Hub filter (#227)
- Azure api-key header, OpenRouter reasoning_details round trip, clearer thinking-only reply (#233)
- Provider and Hub UX: clear hosted models, delete from Hub, show model in folder, Poe and Ollama Cloud (#234)
- Chat parameters: stop sequences, GPT-5 verbosity, OpenRouter web search, routing and image output; project default model (#235)
- Per-model reasoning default, stop strings and extra args; project file tree; richer chat errors; old web view notice (#240)
- Cancel non-streaming requests on client disconnect, retry a vision model without mmproj offload on out-of-memory (#239)
- Compact inside the current turn in Cowork, add a switch to turn the shell tool off (https://github.com/Jozkah/fl...
Flint nightly 2026-10-10 03:00
Unsigned desktop bundles built from ebd8bcb. Changes since v0.9.0 (not included in the stable release).
What's Changed
- ci(release): retry the artifact upload and drop unfinished nightly drafts (#225)
- Steer now no longer stalls on a pending approval (#229)
- Web preview PIP: edge resize, tab-style title bar with close, copy URL (#231)
- Open in submenu with New window; right-click menus at the pointer (#236)
- Fix backend bugs reported against Jan: MCP fresh-install, local API CORS/proxy, AppImage bun (#226)
- Keep Gemini thought signatures in agent runs, smarter tool-schema pattern filter, rotate keys on 402 (#237)
- Fix MCP children under AppImage, Linux blank window, download hangs, thread-list robustness (#232)
- Download speed limit, close to tray, redacted log export, context metadata in /v1/models, ChatGPT import (#238)
- Fix frontend bugs reported against Jan: old-WebKit crashes, provider errors, MCP config, Hub filter (#227)
- Azure api-key header, OpenRouter reasoning_details round trip, clearer thinking-only reply (#233)
- Provider and Hub UX: clear hosted models, delete from Hub, show model in folder, Poe and Ollama Cloud (#234)
- Chat parameters: stop sequences, GPT-5 verbosity, OpenRouter web search, routing and image output; project default model (#235)
- Per-model reasoning default, stop strings and extra args; project file tree; richer chat errors; old web view notice (#240)
- Cancel non-streaming requests on client disconnect, retry a vision model without mmproj offload on out-of-memory (#239)
- Compact inside the current turn in Cowork, add a switch to turn the shell tool off (#241)
- ci(release): add release-please with on-demand release PRs (#242)
- feat(ui): simplify the path into work with a task-first sidebar, guided model setup and calmer Cowork (#243)
- fix(chat): window guess last, escaped text, chat titles, tables, undo toast (#244)
Present from older nightly builds
- Add local LoRA adapters to Studio (#169)
- Fix nightly builds and run at midnight and noon Lisbon time (#172)
- Fix downloaded GGUF import paths and unsupported Studio availability (#171)
- Add desktop keyboard, mouse and screenshots on Windows, macOS and Linux (#173)
- Fix chat context cap enforcement, sampler focus, and mobile steering (#170)
- feat: enable Studio image and video engines on Linux (#174)
- fix: keep nightly changelogs limited to changes since stable (#175)
- Show model download speed and outcome (#176)
- Link Output file references and restore HTML preview (#178)
- Fix sampling control heights and use reported context window (#177)
- Fix Cowork bypass, worktree reuse, and Studio size (#180)
- Add inline rich text chat composer and readable PowerShell approvals (#181)
- Fix Cowork failure details and fresh worktree base (#182)
- Remove internal AI planning documents (#183)
- fix(chat): stop a reasoning loop whatever the length of the repeated unit (#184)
- Fix What changed errors, summary links, steer lag and bypass overhead (#185)
- fix(agent-tools): wrapper flags that may take a value make the command ambiguous (#187)
- Port janhq/jan fixes: orphan engine sweep, chat transport, window controls (#186)
- Don't stop a run for polling a changing result (#188)
- End a chat reply when the model stream goes silent (#189)
- ci: skip unchanged nightlies, fold old notes, build every push as artifact (#190)
- fix(app): restore the startup blocks the upstream port dropped (#191)
- feat(ui): animation pass (loaders, controls, media, status, mobile) (#195)
- fix(security): harden migration, hooks, sandbox, MCP identity and locks (#192)
- fix(extensions): extra args, model checks, pinned sqlite-vec (#196)
- chore(deps): patch runtime and dev dependencies within their ranges (#194)
- fix(web): audit fixes for links, listeners, state, a11y, mobile i18n and asset scope (#193)
- ci: pin actions, add a pin lint, drop dead workflows (#197)
- feat(i18n): full locale parity for 17 languages, enforced in CI (#198)
- fix(sessions): remove size limit on session import (#199)
- feat(ui): show a failed model load and hold Ready on finished downloads (#200)
- ci(release): read-only build token, separate upload job, prune nightlies; keep plain variables in hooks (#201)
- fix: abort the request on a reasoning loop, plug listener leaks, decode SDK output as UTF-8 (#202)
- fix(mobile): translate the strings the animation pass added (#203)
- fix(agent,remote): clamp the compaction scan, free stuck image jobs, harden the phone server and exit paths (#204)
- fix(sandbox): enable the network capability SIDs so allowed network can open sockets (Windows) (#205)
- chore(build): fail fast with a clear message when the engine has not been built (#206)
- fix(cowork): judge the no-reply fallback on the whole split reply (#207)
- feat(chat): convert a chat to a Cowork session from its right-click menu (#208)
- fix(cowork): record who decided an MCP tool call and pin the approval order in tests (#209)
- fix(visualize): size diagram height to the drawing with padding (#210)
- fix(cowork): apply the web-search toggle on the next run, not mid-run (#211)
- feat(chat): offer to enable tool calls when a model without them tries one (#212)
- Limit where the computer tool can act: off-limits areas and an app allowlist (#213)
- Export and import settings as a JSON file (#214)
- feat: add flint serve, a headless web server for the browser UI (#179)
- Show the window and its source when the pre-flight context check fails (#216)
- Upgrade llama.cpp to 0.6.0 and expose draft sampling (#215)
- Speed up Providers grid, balance General columns (#217)
- Idle-based model timeout, bypass for MCP tools, mid-run folder prompt (#219)
- docs: recapture screenshots from the latest nightly, add Studio and agent browser (#218)
- Render sanitized inline HTML colors in model output (#220)
- Engine pin b11524 and filtering for long remote model lists (#221)
- Ask a model that wraps up after a long run whether it is really done (#222)
- Add a Fable model tier to the Claude Code settings (#223)
- CLI parity with the desktop app: management commands, permission modes, fixes (#224)
Full Changelog: v0.9.0...nightly-20261010-03
Flint nightly 2026-10-09 18:00
Unsigned desktop bundles built from 4fbbc81. Changes since v0.9.0 (not included in the stable release).
What's Changed
- Upgrade llama.cpp to 0.6.0 and expose draft sampling (#215)
- Speed up Providers grid, balance General columns (#217)
- Idle-based model timeout, bypass for MCP tools, mid-run folder prompt (#219)
- docs: recapture screenshots from the latest nightly, add Studio and agent browser (#218)
- Render sanitized inline HTML colors in model output (#220)
- Engine pin b11524 and filtering for long remote model lists (#221)
- Ask a model that wraps up after a long run whether it is really done (#222)
- Add a Fable model tier to the Claude Code settings (#223)
- CLI parity with the desktop app: management commands, permission modes, fixes (#224)
Present from older nightly builds
- Add local LoRA adapters to Studio (#169)
- Fix nightly builds and run at midnight and noon Lisbon time (#172)
- Fix downloaded GGUF import paths and unsupported Studio availability (#171)
- Add desktop keyboard, mouse and screenshots on Windows, macOS and Linux (#173)
- Fix chat context cap enforcement, sampler focus, and mobile steering (#170)
- feat: enable Studio image and video engines on Linux (#174)
- fix: keep nightly changelogs limited to changes since stable (#175)
- Show model download speed and outcome (#176)
- Link Output file references and restore HTML preview (#178)
- Fix sampling control heights and use reported context window (#177)
- Fix Cowork bypass, worktree reuse, and Studio size (#180)
- Add inline rich text chat composer and readable PowerShell approvals (#181)
- Fix Cowork failure details and fresh worktree base (#182)
- Remove internal AI planning documents (#183)
- fix(chat): stop a reasoning loop whatever the length of the repeated unit (#184)
- Fix What changed errors, summary links, steer lag and bypass overhead (#185)
- fix(agent-tools): wrapper flags that may take a value make the command ambiguous (#187)
- Port janhq/jan fixes: orphan engine sweep, chat transport, window controls (#186)
- Don't stop a run for polling a changing result (#188)
- End a chat reply when the model stream goes silent (#189)
- ci: skip unchanged nightlies, fold old notes, build every push as artifact (#190)
- fix(app): restore the startup blocks the upstream port dropped (#191)
- feat(ui): animation pass (loaders, controls, media, status, mobile) (#195)
- fix(security): harden migration, hooks, sandbox, MCP identity and locks (#192)
- fix(extensions): extra args, model checks, pinned sqlite-vec (#196)
- chore(deps): patch runtime and dev dependencies within their ranges (#194)
- fix(web): audit fixes for links, listeners, state, a11y, mobile i18n and asset scope (#193)
- ci: pin actions, add a pin lint, drop dead workflows (#197)
- feat(i18n): full locale parity for 17 languages, enforced in CI (#198)
- fix(sessions): remove size limit on session import (#199)
- feat(ui): show a failed model load and hold Ready on finished downloads (#200)
- ci(release): read-only build token, separate upload job, prune nightlies; keep plain variables in hooks (#201)
- fix: abort the request on a reasoning loop, plug listener leaks, decode SDK output as UTF-8 (#202)
- fix(mobile): translate the strings the animation pass added (#203)
- fix(agent,remote): clamp the compaction scan, free stuck image jobs, harden the phone server and exit paths (#204)
- fix(sandbox): enable the network capability SIDs so allowed network can open sockets (Windows) (#205)
- chore(build): fail fast with a clear message when the engine has not been built (#206)
- fix(cowork): judge the no-reply fallback on the whole split reply (#207)
- feat(chat): convert a chat to a Cowork session from its right-click menu (#208)
- fix(cowork): record who decided an MCP tool call and pin the approval order in tests (#209)
- fix(visualize): size diagram height to the drawing with padding (#210)
- fix(cowork): apply the web-search toggle on the next run, not mid-run (#211)
- feat(chat): offer to enable tool calls when a model without them tries one (#212)
- Limit where the computer tool can act: off-limits areas and an app allowlist (#213)
- Export and import settings as a JSON file (#214)
- feat: add flint serve, a headless web server for the browser UI (#179)
- Show the window and its source when the pre-flight context check fails (#216)
Full Changelog: v0.9.0...nightly-20261009-18
Flint nightly 2026-10-08 18:00
Unsigned desktop bundles built from c6e9318. Changes since v0.9.0 (not included in the stable release).
What's Changed
- ci: pin actions, add a pin lint, drop dead workflows (#197)
- feat(i18n): full locale parity for 17 languages, enforced in CI (#198)
- fix(sessions): remove size limit on session import (#199)
- feat(ui): show a failed model load and hold Ready on finished downloads (#200)
- ci(release): read-only build token, separate upload job, prune nightlies; keep plain variables in hooks (#201)
- fix: abort the request on a reasoning loop, plug listener leaks, decode SDK output as UTF-8 (#202)
- fix(mobile): translate the strings the animation pass added (#203)
- fix(agent,remote): clamp the compaction scan, free stuck image jobs, harden the phone server and exit paths (#204)
- fix(sandbox): enable the network capability SIDs so allowed network can open sockets (Windows) (#205)
- chore(build): fail fast with a clear message when the engine has not been built (#206)
- fix(cowork): judge the no-reply fallback on the whole split reply (#207)
- feat(chat): convert a chat to a Cowork session from its right-click menu (#208)
- fix(cowork): record who decided an MCP tool call and pin the approval order in tests (#209)
- fix(visualize): size diagram height to the drawing with padding (#210)
- fix(cowork): apply the web-search toggle on the next run, not mid-run (#211)
- feat(chat): offer to enable tool calls when a model without them tries one (#212)
- Limit where the computer tool can act: off-limits areas and an app allowlist (#213)
- Export and import settings as a JSON file (#214)
- feat: add flint serve, a headless web server for the browser UI (#179)
- Show the window and its source when the pre-flight context check fails (#216)
Present from older nightly builds
- Add local LoRA adapters to Studio (#169)
- Fix nightly builds and run at midnight and noon Lisbon time (#172)
- Fix downloaded GGUF import paths and unsupported Studio availability (#171)
- Add desktop keyboard, mouse and screenshots on Windows, macOS and Linux (#173)
- Fix chat context cap enforcement, sampler focus, and mobile steering (#170)
- feat: enable Studio image and video engines on Linux (#174)
- fix: keep nightly changelogs limited to changes since stable (#175)
- Show model download speed and outcome (#176)
- Link Output file references and restore HTML preview (#178)
- Fix sampling control heights and use reported context window (#177)
- Fix Cowork bypass, worktree reuse, and Studio size (#180)
- Add inline rich text chat composer and readable PowerShell approvals (#181)
- Fix Cowork failure details and fresh worktree base (#182)
- Remove internal AI planning documents (#183)
- fix(chat): stop a reasoning loop whatever the length of the repeated unit (#184)
- Fix What changed errors, summary links, steer lag and bypass overhead (#185)
- fix(agent-tools): wrapper flags that may take a value make the command ambiguous (#187)
- Port janhq/jan fixes: orphan engine sweep, chat transport, window controls (#186)
- Don't stop a run for polling a changing result (#188)
- End a chat reply when the model stream goes silent (#189)
- ci: skip unchanged nightlies, fold old notes, build every push as artifact (#190)
- fix(app): restore the startup blocks the upstream port dropped (#191)
- feat(ui): animation pass (loaders, controls, media, status, mobile) (#195)
- fix(security): harden migration, hooks, sandbox, MCP identity and locks (#192)
- fix(extensions): extra args, model checks, pinned sqlite-vec (#196)
- chore(deps): patch runtime and dev dependencies within their ranges (#194)
- fix(web): audit fixes for links, listeners, state, a11y, mobile i18n and asset scope (#193)
Full Changelog: v0.9.0...nightly-20261008-18
Flint nightly 2026-10-08 03:00
Unsigned desktop bundles built from d690aad. Changes since v0.9.0 (not included in the stable release).
What's Changed
- fix(app): restore the startup blocks the upstream port dropped (#191)
- feat(ui): animation pass (loaders, controls, media, status, mobile) (#195)
- fix(security): harden migration, hooks, sandbox, MCP identity and locks (#192)
- fix(extensions): extra args, model checks, pinned sqlite-vec (#196)
- chore(deps): patch runtime and dev dependencies within their ranges (#194)
- fix(web): audit fixes for links, listeners, state, a11y, mobile i18n and asset scope (#193)
Present from older nightly builds
- Add local LoRA adapters to Studio (#169)
- Fix nightly builds and run at midnight and noon Lisbon time (#172)
- Fix downloaded GGUF import paths and unsupported Studio availability (#171)
- Add desktop keyboard, mouse and screenshots on Windows, macOS and Linux (#173)
- Fix chat context cap enforcement, sampler focus, and mobile steering (#170)
- feat: enable Studio image and video engines on Linux (#174)
- fix: keep nightly changelogs limited to changes since stable (#175)
- Show model download speed and outcome (#176)
- Link Output file references and restore HTML preview (#178)
- Fix sampling control heights and use reported context window (#177)
- Fix Cowork bypass, worktree reuse, and Studio size (#180)
- Add inline rich text chat composer and readable PowerShell approvals (#181)
- Fix Cowork failure details and fresh worktree base (#182)
- Remove internal AI planning documents (#183)
- fix(chat): stop a reasoning loop whatever the length of the repeated unit (#184)
- Fix What changed errors, summary links, steer lag and bypass overhead (#185)
- fix(agent-tools): wrapper flags that may take a value make the command ambiguous (#187)
- Port janhq/jan fixes: orphan engine sweep, chat transport, window controls (#186)
- Don't stop a run for polling a changing result (#188)
- End a chat reply when the model stream goes silent (#189)
- ci: skip unchanged nightlies, fold old notes, build every push as artifact (#190)
Full Changelog: v0.9.0...nightly-20261008-03
Flint nightly 2026-10-07 18:00
Unsigned desktop bundles built from 6ba5e2a. Changes since v0.9.0 (not included in the stable release).
What's Changed
- fix(chat): stop a reasoning loop whatever the length of the repeated unit (#184)
- Fix What changed errors, summary links, steer lag and bypass overhead (#185)
- fix(agent-tools): wrapper flags that may take a value make the command ambiguous (#187)
- Port janhq/jan fixes: orphan engine sweep, chat transport, window controls (#186)
- Don't stop a run for polling a changing result (#188)
- End a chat reply when the model stream goes silent (#189)
- ci: skip unchanged nightlies, fold old notes, build every push as artifact (#190)
Present from older nightly builds
- Add local LoRA adapters to Studio (#169)
- Fix nightly builds and run at midnight and noon Lisbon time (#172)
- Fix downloaded GGUF import paths and unsupported Studio availability (#171)
- Add desktop keyboard, mouse and screenshots on Windows, macOS and Linux (#173)
- Fix chat context cap enforcement, sampler focus, and mobile steering (#170)
- feat: enable Studio image and video engines on Linux (#174)
- fix: keep nightly changelogs limited to changes since stable (#175)
- Show model download speed and outcome (#176)
- Link Output file references and restore HTML preview (#178)
- Fix sampling control heights and use reported context window (#177)
- Fix Cowork bypass, worktree reuse, and Studio size (#180)
- Add inline rich text chat composer and readable PowerShell approvals (#181)
- Fix Cowork failure details and fresh worktree base (#182)
- Remove internal AI planning documents (#183)
Full Changelog: v0.9.0...nightly-20261007-18
Flint nightly 2026-10-07 03:00
Unsigned desktop bundles built from f7b28a3. Changes since v0.9.0 (not included in the stable release).
What's Changed
- Show model download speed and outcome (#176)
- Link Output file references and restore HTML preview (#178)
- Fix sampling control heights and use reported context window (#177)
- Fix Cowork bypass, worktree reuse, and Studio size (#180)
- Add inline rich text chat composer and readable PowerShell approvals (#181)
- Fix Cowork failure details and fresh worktree base (#182)
- Remove internal AI planning documents (#183)
Present from older nightly builds
- Add local LoRA adapters to Studio (#169)
- Fix nightly builds and run at midnight and noon Lisbon time (#172)
- Fix downloaded GGUF import paths and unsupported Studio availability (#171)
- Add desktop keyboard, mouse and screenshots on Windows, macOS and Linux (#173)
- Fix chat context cap enforcement, sampler focus, and mobile steering (#170)
- feat: enable Studio image and video engines on Linux (#174)
- fix: keep nightly changelogs limited to changes since stable (#175)
Full Changelog: v0.9.0...nightly-20261007-03
0.9.0
Flint 0.9.0
Migration
Flint detects an existing Jan installation on first launch.
Because Flint keeps Jan's bundle identifier (jan.ai.app) and data path, an existing Jan install is found automatically, and the first-launch assistant offers four choices. Copy to Flint duplicates the selected data and preserves your original Jan installation and data untouched. Reuse Jan data shares the selected existing data in place, with concurrency protection so both apps do not corrupt it. Move to Flint copies into Flint and then removes the Jan source once every item succeeds, keeping a recoverable backup and supporting rollback. Start fresh begins with an empty Flint profile and leaves Jan untouched. You can also migrate later from Settings > General > Migrate from Jan.
You choose which categories to bring — conversations and assistants, models, settings and provider credentials, configuration, extensions and logs, and the agent workspace and rooms — and how to resolve items that already exist in Flint. A newer item already in Flint is never silently overwritten. A failed migration rolls back to the previous state, an interrupted migration resumes idempotently, partial data is quarantined, and every run records a manifest. Your existing Jan data is never deleted automatically.
Your existing settings, credentials, providers, models, threads, projects, rooms, mailboxes, and extensions are preserved where compatible. Secrets continue through the protected keychain/backend-store path and are never copied into plaintext or logs. Legacy compatibility is kept throughout: JAN_* environment variables (with FLINT_* preferred), the jan:// protocol (alongside flint://), JAN.md project files (alongside FLINT.md), the legacy data locations, and the persisted identifiers all continue to work.
Recent approval and tool updates
- Cowork now offers Bypass permissions in its work-mode menu for the current session. Settings > Permissions offers Ask, automatic approval of safe calls with prompts for dangerous calls, and Bypass until Flint closes. Folder boundaries still apply.
- Approval prompts can remember recognized single-process termination calls for the conversation or future similar calls.
Stop-Process -IdandStop-Process -Id -Forceremain separate grants; arbitrary scripts still ask. - The token usage popup stays open while hovering its information icons.
What's Changed
Local-first and privacy
- fix(tools): reject malformed MCP and RAG tool names before provider serialization, preventing "Expected 'function.name' to be a string" generation failures
- perf(inference): keep GPU-capable Vulkan as the default engine build and document throughput tuning for Flash Attention, batching, offload, and parallel sequences
- feat(app): local-only build — no telemetry, no catalog, no downloads (#10)
- feat(local-only): finish removing telemetry, update checking and model discovery, and guard the whole repo
- refactor(privacy): remove telemetry build vars, the analytics injection, the catalogue URLs and the update feed
- refactor(core): remove the updater, the CLI's telemetry, and the mirror
- fix(privacy): stop telling Google what the web search returned
- fix(docs): fetch OpenAI status directly and never report a fake "operational", and leave analytics out of a docs build that has no GTM secret
Flint identity and migration
- rebrand(ui): present the product as Flint — app name, window title, sidebar wordmark, default assistant, and every locale
- rebrand(ui): Flint in the agent identity and the remaining visible strings
- rebrand(agent): the default persona says Flint agent harness
- rebrand(packaging): rename the desktop binary to Flint-Desktop and register the
flint://deep link, keepingjan:// - rebrand(docs): Flint navigation labels, keeping the research model names
- docs(rebrand): add an original Flint logo and replace the Jan logo in the favicon, boot splash, window title, and in-app badges
- docs(readme): rewrite the README as "Flint — a fork of Jan" with provenance, migration and feature sections (#12)
- docs(license): retain Apache-2.0, the upstream copyright, acknowledgements and upstream provenance
- feat(migration): first-launch Jan to Flint data-migration core and the six Tauri commands
- feat(migration): a guided first-launch migration assistant UI
- feat(migration): Copy, Reuse, Move and Start-fresh modes, with per-category selection
- feat(migration): conflict policies — keep the newer Flint item, use the Jan item, or keep both under a suffix
- feat(migration): a recoverable backup for Move, with rollback and retry on failure
- feat(migration): idempotent resume of an interrupted migration, and quarantine of partial data
- feat(migration): a migration manifest recording mode, categories, results and status
- feat(migration): reopen the assistant any time from Settings > General > Migrate from Jan
- feat(env): prefer
FLINT_*environment variables, with aJAN_*fallback - feat(project-init): write
FLINT.mdand keep discovering legacyJAN.md(Rust) - feat(cowork): discover
FLINT.md, still reading legacyJAN.md(web) - feat(agent): the CLI/agent context reads
FLINT.mdand falls back to legacyJAN.md - fix(app): honour
JAN_DATA_FOLDEReverywhere it is meant to win - fix(app): fall back from a data folder that is gone, without moving the user's data (#8855)
- chore(compat): keep the
jan.ai.appidentifier, legacy data locations and persisted IDs so an existing Jan install upgrades in place - feat(i18n): add a Turkish locale, and fill in missing Simplified Chinese translations
Cowork workspace
- feat(cowork): "Fix this check" — named pull-request checks bound to their head commit, bounded failed logs through the user's
ghlogin, and a focused fix request in the owning session once the head is confirmed; never pushed automatically - feat(cowork): Verify in browser — drive a local app in an isolated, temporary Chrome/Edge profile confined to its exact origin, with steps, screenshots, console errors, blocked requests and pass/fail in the run summary; stops on cancel, timeout, browser exit or app-server exit
- feat(cowork): edit files in the Code panel (undo, find, Ctrl+S, conflict prompt when the file changes on disk), saved where the session's access allows and listed in Changes as your edit; widen the Output rail up to 70% of the window; click a file path in any tool card, diff or reply to open it in the Code panel at the line; the editor gutter marks added, changed and deleted lines against the repository, and inline blame shows each line's author and commit with links to the commit and its pull request
- feat(cowork): complete Cowork workspace — Code, Preview, Changes (Git), Activity, Settings search, per-chat models, temporary chats (#4)
- feat(cowork): a read-only code workspace, an Activity rail, and global settings search (#1)
- feat(cowork): make the declared coding-harness modes real (#6)
- feat(cowork): report the real context — a repository map and the payload actually sent — with a harness feature registry (#7)
- feat(cowork): the managed worktree — make it real, use the tree the run actually uses, and finish its lifecycle including recovery
- feat(cowork): parallel sessions on one folder — each new session in a Git folder works in its own worktree and branch (flint/<title>) by default, created even while the checkout has a rebase or merge in progress; merge into the base branch with a conflict report, open a pull request, or discard from the session; a pull request is claimed by the session that opened it, so other sessions on the same checkout do not show it; deleting a session asks whether to keep its worktree; plain folders can work on a copy and apply changes back file by file with conflict detection
- feat(cowork): checkpoints and two meanings of rewind, wired into Cowork with a safety point on restore
- feat(cowork): answer an opening request with a proposal, not an edit; review it by hunk and apply only what was chosen
- feat(cowork): export a managed worktree as a reviewable patch bundle, and import one back through proposal review
- feat(cowork): real read-only Git working-tree review in the Changes rail, with real diff gutters
- feat(cowork): report change origins from recorded evidence, not from the model
- feat(cowork): dispatch a team through the real run, coordinate subagents on shared work, and give a team its own row with its children under it
- feat(cowork): restart or replace a failed team member (AH-111); review team children and decide overlaps before they run
- feat(cowork): give an isolated team task a checkout of its own, and isolate Rust subagents
- feat(cowork): fork a session without forking its authority (AH-201)
- feat(proposals): a proposed change is stored, bound and applied by the backend
- feat(patch): an approval applies to the file that was reviewed, or not at all
- feat(changes): say which agent made every change, durably (AH-110)
- feat(cowork): preview the restore diff before rewinding, and stream bash output live
- feat(cowork): point out a repeated bash command in the approval dialog and on its approval card
- feat(cowork): tell the model its real environment and working directory, and which toolchains the sandbox can run
- feat(cowork): say that MCP servers from Settings are not offered
- feat(cowork): attach more than one folder to a session, each with its own access, seen by subagents too
- feat(cowork): session details estimate the context (system prompt, instructions, tool schemas) before the first run
- feat(cowork): Edit this folder on Windows, through AppContainer grants withdrawn when the grant goes
- feat(cowork): compact a long run automatically instead of stopping at the context window
- feat(cowork): a reply cut off by the output limit, a dropped stream or an empty reply is con...