Releases: takeshy/gemihub-desktop
Release list
v1.4.9
What’s new
-
Added a one-click button to quickly widen or narrow the Chat sidebar.
-
The button icon now changes dynamically to indicate whether the next action will expand or shrink the
sidebar. -
Added compact manual Chat export to a configurable Workspace folder.
-
Exported files use the format YYYYMMDD-HHmmss_Chat title.md.
-
Exported Markdown omits frontmatter, creation timestamps, separators, and internal message metadata.
-
Exporting the same Chat again overwrites the previously exported file.
-
Empty Chats cannot be exported.
-
Added a configurable maximum number of saved Chat histories.
-
The default limit is 100 for both new and existing users.
-
Setting the limit to 0 keeps Chat histories without a limit.
v1.4.8
Highlights
Kanban cards are now tasks. One editor holds the title, status, due date, a
Markdown description, a checklist and attachments. A card shows its due date,
checklist progress, attachment count and completion date, and the board records
started when a task leaves the first column and completed when it reaches a
completion column — moving it back clears completed again.
Create tasks with AI. With a provider or CLI configured, Create with AI
turns a sentence into several proposed tasks as JSON — relative dates resolved
against today — which you review and edit before any file is written.
Chat file tools can read Workspace PDFs. read_file and read_note used to
hand the model a base64 data URL it could not read. A PDF now arrives as a
document part for the providers that accept one, and as extracted per-page text
everywhere else; other binary formats are refused with a message that says what
to do instead.
Workflow automation is configurable again. The workflow view had no way to
open its automation settings, so event triggers could not be registered at all.
Kanban
- The card modal edits Markdown as Preview, WYSIWYG or Raw, and checklist items
can be ticked directly in the preview. - Attached Markdown, text, images, PDF, EPUB and HTML preview in the same modal;
anything else can be downloaded. The modal still drags, resizes and opens in a
regular File widget. - New widget options
dueProperty,startedPropertyandcompletedProperty
name the frontmatter keys behind the dates. - Characters that cannot appear in a filename are replaced with
-instead of
being dropped when a card's file is created from its title.
Workflow automation
- The workflow detail header has an Automation button for the event
triggers, file pattern and keyboard shortcut of that workflow, and it is
highlighted once either is registered. - New App started trigger, run once the Workspace is ready. The file pattern
does not apply to it. - The
rag-syncnode runs a real incremental local RAG sync instead of
returning the old "server sync unsupported" stub, so a startup workflow can
refresh the index. It takesragSetting, defaulting to the selected one, and
refuses read-only settings. - Event-triggered runs report themselves in a small toast: running, elapsed time
when they finish, and the error until it is dismissed. They used to be
entirely silent, with failures reaching only the console.
Chat
- The composer is cleared the moment a message is sent. It used to hold the
typed text until the referenced files and RAG results had been gathered, which
could take seconds and looked like the send had not registered. - Models whose name contains
lunadisable reasoning on Chat Completions with
tools, the same compatibility overrideterraalready had. - PDF attachments sent through Chat Completions are delivered as file content
parts instead of a "[Binary attachment]" label, a PDF read twice in one round
is uploaded once, and files over 15 MB fall back to their text layer.
Full Changelog: v1.4.6...v1.4.7
v1.4.6
Highlights
Chat can search your RAG index on its own. The automatic retrieval reuses
your message verbatim, which is a weak query for a follow-up or a pronoun-heavy
request. When that context comes back thin or off-topic, the model now calls
rag_search with a rephrased, self-contained query — up to 3 searches per turn
including the automatic one, 3 chunks each — and every source it finds is added
to the answer's citations.
Tool chips say what they actually did. Hovering a chip shows the argument
that identifies the call: the search query, the file path, the shell command.
This covers every provider and Codex app-server items, and the RAG badge lists
the automatic query alongside each rag_search the turn made.
Windows file associations. The Store package registers .md, .txt,
.html, .pdf, .epub, .canvas, .dashboard, .yaml, .json, and
.encrypted, so GemiHub can open them straight from Explorer.
Chat
- Local file links in an answer open in the app instead of the browser —
workspace-relative paths, Windows absolute paths, andfile://URLs, with a
path outside the Workspace opening in its own scope. - Links written without a scheme (
example.com/a) open in the browser instead
of doing nothing, while a bare filename such asmain.goorApp.tsxis
correctly treated as a workspace file rather than a host name. - Workspace: off no longer lets a model reach Workspace file tools it was
never offered. Registering a frontend tool used to make a hallucinated
read_fileorappend_timelineexecutable; backend tools are now refused in
the modes that never advertised them, discovery tools included. - No-discovery mode explains what it still has: retrieved context is the primary
source andrag_searchstays available, instead of reading as a blanket ban
on searching.
File tree
- The tree scrolls while dragging, so a folder outside the viewport can be
reached. Scrolling starts only after the drag rests against an edge for a
moment and stops outside the list, so an ordinary drag is unaffected. - Dropping on empty tree space moves a file to the Workspace root — no need to
scroll to the drop zone at the end of the tree. - The dragged file follows the cursor as a small chip.
- The file opened from the tree keeps a distinct background, and during a drag
only the drop target lights up: hover highlighting and row actions are
suppressed, and the drop target is an outline rather than a fill.
Other
- GemiHub is on the Microsoft Store,
now linked from the README, which also drops its Codex-centric framing for a
provider-neutral one.
v1.4.5
- Added plugin APIs for decorating FileTree entries with colors and tooltips.
- Added plugin-provided actions to FileTree context menus and File widget viewers.
- Fixed plugin file actions remaining after an asynchronous plugin reload.
- Fixed stale action disposers removing newer actions registered with the same ID.
v1.4.4
Workflows
- AI file edits are now reviewed before they are written. When a command node's AI proposes a file write or rename, the change is shown as a line-by-line diff and applied only after you approve it. Rejecting the change tells the model instead of failing the run, and the per-line Regenerate feedback goes back to the model so it can revise the edit in the same step.
- Set confirm: false on a command node to keep applying edits unattended — required for headless runs (Dashboard, Discord, and non-streaming skill workflows). A proposal that matches the file already on disk is applied without a prompt, and encrypted files are never shown as a diff of ciphertext.
Chat
- Prompt recall: press Up / Down in the chat composer to bring back prompts you sent earlier, kept per workspace. Multi-line editing is unaffected — recall triggers only when the caret is on the first or last line.
MCP
- MCP clients now declare the MCP Apps UI capability during initialize and accept the flat ui/resourceUri metadata key, so more servers hand back their app UI.
PDF viewing
- Corrupted or truncated stored PDF content is detected before pdf.js sees it, so a File widget reloads the document from disk instead of failing on every retry. A load still in flight is now cancelled when the viewer closes.
Fixes
- Protected internal application files from plugin file API access, including normalized and Windows-style paths.
v1.4.2
What's fixed
- Fixed installation of plugins distributed through GitHub Releases.
- GitHub may serve
manifest.json,main.js, and other release assets asapplication/octet-stream. GemiHub now correctly decodes these assets frombodyBase64.
v1.4.1
fix: align Microsoft Store display name
v1.4.0
This release upgrades GemiHub Desktop to Wails v3 and introduces Microsoft Store-ready Windows packaging.
Highlights
- Upgraded the desktop runtime and build system to Wails v3.
- Added Windows x64 and ARM64 builds.
- Added MSIX packaging for Microsoft Store distribution.
- Improved release automation across Linux, macOS, and Windows.
- Documented the canonical document-memo storage format for more reliable AI-assisted memo creation.
v1.3.2
This release improves plugin security and Markdown generation quality.
What’s new
- Protected internal .llm-hub application files from plugin file API access.
- Hardened path validation against normalized paths, Windows-style separators, case variations, and directory traversal.
- Improved the built-in Markdown Skill’s guidance for bold text embedded in Japanese and other prose.
These changes reduce the risk of plugins modifying internal application data and help AI-generated Markdown render more consistently.