Skip to content

Releases: m6r-ai/humbug

v53

Choose a tag to compare

@dave-hudson dave-hudson released this 12 Jul 16:46

New features:

  • Conversations now move to .humbug/conversation instead of conversations as they're not directly part of the mindspace file content and are auto-managed by Humbug. The .humbug directory now becomes visible to support viewing and drag-and-drop operations.
  • Added a new git AI tool to allow an AI to query git status without needing to use a terminal.
  • Added a new HTTP client tool to allow an AI to query remote endpoints such as websites.
  • Added a new diff tab view to allow an inline view as well as a side-by-side view.
  • Added Unix shell and Windows batch file syntax highlighting.
  • Added Grok 4.5.
  • Added GPT 5.6.
  • Removed GLM 4.7.
  • Added new file icons.
  • Removed the edit button from file previews as editing can now be done via the context menu.

Bug fixes:

  • Fixed a problem that could create empty directories from the system AI tool.
  • Fixed a problem where cached token usages were zeroed out on reloading a conversation.

Internal structure changes:

  • Renamed src/dmarkdown to src/markdown_ and src/dhtml to src/html_ to unify the approach for package namespace collisions.
  • Tightened up the dependency_checker tool so it catches unused dependencies as well as missing dependencies.

v52

v52

Choose a tag to compare

@dave-hudson dave-hudson released this 03 Jul 12:44

New features:

  • AI messages that contain no content (previously displayed as "...") are now suppressed.
  • Removed the trace special form from Menai. It was an interesting idea a few months ago but didn't turn out to be that useful in practice.
  • Set up GitHub actions to build binaries for the Menai VM and added a script to fetch these instead of needing to compile them locally.
  • Removed the legacy Python implementation fo the Menai VM. The C version is now definitive on all platforms, with binaries available from GitHub.
  • Added Linux binary app build scripts.
  • Set up GitHub actions to build binaries for MacOS, Windows, and Linux.
  • Added YAML and TOML syntax highlighters.
  • Added Claude Sonnet 5 and Claude Fable 5. Removed Claude Opus 4.7.

Bug fixes:

  • On moving a token usage tab the provider stats retain their expansion state.

Menai C VM (latest)

Menai C VM (latest) Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 30 Jun 01:54

Pre-built Menai C VM binaries, automatically built from main.
Updated on every successful build.

v51

v51

Choose a tag to compare

@dave-hudson dave-hudson released this 28 Jun 12:09

New features:

  • Added feature to close all tabs in a column from the tab label context menu.

Bug fixes:

  • Resolved a problem with image previews on Windows.
  • Resolved a problem with the sidebar breadcrumb folders now always unlatching a folder correctly.
  • Resolved a problem where bullet lists were not always correctly extracted from docx files.
  • Resolved a problem in the generation of Markdown code blocks from docx files.
  • Resolved a problem with hyperlinks when converting docx files to Markdown.
  • Resolved a performance issue with scrolling Markdown documents that contain images.
  • Resolved a problem with column splitters not moving correctly.

Internal structure changes:

  • Removed aiohttp and replaced it with a new built-in HTTP client.
  • Added style_checker to augment pylint with Humbug style checking.
  • Extended mypy and pylint checking to the tools directory.
  • Updated code to use modern type hinting for Python (e.g. list, not List, tuple not Tuple, and type1 | type2 not Union[type1, type2].
  • Reduced logging level for qasync to info, from debug to reduce noise in log files.

v50

v50

Choose a tag to compare

@dave-hudson dave-hudson released this 24 Jun 04:14

New features:

  • Split out mindspace operations into a new "Mindspace" menu.
  • Replaced MiniMax M2.5 with MiniMax M3 on Ollama.com.
  • Added Kimi K2.7 Code on Ollama.com.
  • Added GLM 5.2 on Z.ai and Ollama.com.
  • Added Gemini 3.5 Flash.
  • Added cache usage tracking on API commands.
  • Added a new "token usage" tab to keep track of token usage within the mindspace.
  • Added a tab carousel (View -> Show Tab Carousel, Ctrl+Shift+T) that shows open tabs as a horizontally scrollable card strip with the current tab nearly filling the view. Scroll, drag the strip sideways, use the arrow keys, or press the shortcut again to flip through tabs; click the centred card (or press Enter) to switch to it, and close a tab with its close button or by swiping its card upwards.
  • Added a tab overview (View -> Show Open Tabs, Ctrl+Shift+E) that shows all open tabs as thumbnail cards, like a mobile recents screen. Click a card to switch to that tab, swipe/drag it upwards or use its close button to close the tab. Pressing the shortcut again cycles the selection through the cards; Enter activates the selected tab.
  • Right-clicking a tab label now shows a context menu with options to open a new tab to the left or right, and to close tabs to the left, tabs to the right, or all other tabs in the column.
  • Conversation message banners are now "sticky" at the top of the conversation tab when scrolling. This provides context on the conversation you're viewing.
  • Added a cat shell command that emulates the functionality of the filesystem AI tool's file read operation.
  • Made VCS (git) polling an async task so it doesn't block the main thread. Useful on Windows with anti-malware scanners.
  • Colour theme changes in the menu are now persistent.
  • Added a colour picker and high contrast colour scheme.
  • When converting from .docx files, images are now extracted into a sidecar directory. When converting to .docx files images are now inserted.
  • Improved the Menai tool description to encourage AIs to read the help if they haven't already done so.
  • Added support for animated GIF files in markdown.

Bug fixes:

  • Dramatically sped up zoom operations.
  • Conversation inputs now scale with the zoom factor.
  • Resolved problem with application zoom shortcuts interacting with terminal tabs.
  • Resolved .docx document rendering problems with spacing and list numbering.
  • Resolved subtle rendering problems with Markdown documents and "tight" lists.
  • Improved the Markdown syntax highlighter to make things consistent between different block types.
  • The diff applier now looks for potentially ambiguous diffs and rejects them, providing context to allow an AI to improve the diff and resubmit.
  • Improved the PDF text extraction.
  • When an AI was opening tabs, if another tab of a different type existed for the same file then the open would not work correctly.
  • Dragging and dropping a binary image file from the files sidebar will now open the image in a preview tab.
  • Attempting to edit binary image files is now prevented.

v49

v49

Choose a tag to compare

@dave-hudson dave-hudson released this 07 Jun 16:02

New features:

  • The GUI is now in src/desktop, not src/humbug. This allows for other (future) frontends. This means you must use python -m desktop to launch the application now, not python -m humbug.
  • The filesystem and editor tools now have the ability for an AI to use Menai programs to modify files/editor buffers.
  • Markdown rendering (including in AI conversations) now supports blockquotes.
  • When delegating a task to an AI, if the AI model is available from more than one backend provider, the tool now tells the AI and asks it to select the correct one.
  • Google Gemini models now show their reasoning.
  • Added Claude Opus 4.8 and removed 4.6.
  • Added support for strikethrough in the markdown parser.
  • Added a new DOCX AST and code to read/write DOCX format using it.
  • Added a new HTML DOM and code to read/write HTML using it.
  • Added a convert_document CLI tool to convert docs between markdown, DOCX, and HTML.
  • Added a document converter AI tool. Initially this can convert between markdown, DOCX, and HTML.
  • Replaced the app icon!

Bug fixes:

  • Resolved a problem that could leave the cursor in the wrong column after the UI resized a terminal.
  • On moving tabs between columns we could end up placing the tab in the wrong position in the new column.
  • System shell and AI tool operations could end up leaving ephemeral tabs as ephemeral instead of making them permanent.
  • If a task was delegated to an AI that generated an HTTP error, the error wasn't propagated to the caller.
  • Fixed a problem where no syntax highlighting was applied for YAML, TOML, bash, PHP and Ruby files.
  • Resolved a problem where new tabs might not have the correct focus.
  • Fixed a regression related to file attachments in conversations.
  • Improved text extraction from PDF files.
  • The tab label for "File Save As" did not automatically update to reflect the new name.
  • If a file is moved and had an open tab then the new location is picked up and the tab is updated to the new path.
  • Markdown indentation for embedded code blocks could end up incorrect.
  • When applying diffs via the filesystem or an editor buffer, if any hunk fails to apply then none apply. Updated the error responses to make this clear so the AI never assumes some did apply.
  • Removed the ability to pass "current" as the session ID to be shared with a child AI. Passing the history became very confusing as the child didn't understand what it was being presented.

Internal structure changes:

  • Moved the core AI tools into separate top-level modules so the dependency management is clearer.
  • Switched GUI-interacting AI tools to use a new context registry enabling other front ends in the future.
  • Separated out more functionality from the tab manager (was the column manager) into the tabs.
  • Created a clean separation of sidebar functionality and added a new sidebar manager.
  • Hoisted all tabs and sidebars to the top of the src/desktop directory.
  • Added pytest tests for the Markdown syntax highlighter.
  • Added a new abstract document IR.

v48

v48

Choose a tag to compare

@dave-hudson dave-hudson released this 22 May 02:29

New features:

  • New text being streamed by an AI is now presented in a much more smooth way, eliminating the "jumpiness" of text chunks delivered via the API endpoint.
  • Added support for reasoning levels against models that support reasoning levels. This simplifies the model catalogue as it shrinks dramatically.
  • Removed Gemini 2.5 support and added more Gemini 3 models.
  • In an editor tab, Ctrl+G (on all platforms) will navigate you to a specific line.
  • In an editor tab, Cmd+Opt+F (MacOS) or Ctrl+H (other platforms) will open the "find and replace" control.
  • Added separate support for Ollama cloud and Ollama running locally.
  • Separated the concept of the AI model and the AI model provider, making it possible to have the same model accessible via different routes, but using the same model name.
  • The mindspace settings now offers the ability to fetch all available models from a given AI provider, and to remove any that were fetched this way.

Bug fixes:

  • Correctly resolved an earlier problem with streaming text and rendering, where the user is looking at an earlier part of the conversation.
  • Resolved problems in the Java syntax highlighter (around handling of generics).
  • If a file open in a diff view is saved then the scroll position within the diff view is now preserved.
  • If a file open in an editor view is saved externally then the scroll position within the editor tab is now preserved.
  • Arabic text line numbers now line up with the text.

Internal structure changes:

  • Added pytest tests for the Java syntax highlighter.

v47

v47

Choose a tag to compare

@dave-hudson dave-hudson released this 15 May 10:30

New features:

  • Updated the grok model catalogue to grok 4.3, removing the now-obsolete 4.0 amd 4.1 models.
  • Added the ability to view files that were attached to a message in a conversation.
  • Introduced the idea of blueprint.md files, allowing both AIs and human users to understand the intent of a mindspace.
  • Allow a ~/.humbug/user-ai-config.json file to be used to define models not directly supported by Humbug.
  • Added support for reading the text in PDF and DOCX files when attaching files to a conversation or when reading files via the filesystem AI tool.
  • The message input box now floats above historical messages when scrolling, making is easier to read earlier parts of a conversation while typing.
  • The alt+up/alt+down keyboard shortcuts in the conversation tabs now scroll between user messages, skipping all other types of message. This lets you scroll to the important events more quickly.

Bug fixes:

  • Resolved an issue with lazy loading introduced in v46.
  • Improve the tab bar rendering with a custom painter (faster and contents are positioned more accurately).
  • Dragging a file from the mindspace tree that is already open in a column will now correctly open the tab in the correct location.
  • Scroll wheel operations on the Windows terminal now work correctly.
  • When shrinking a conversation tab's width, the message label will now elide (replace text with ...) so the message does not end up too wide.

Internal structure changes:

  • Attachments have been added as a specific concept inside AI conversations. This keeps the context cleaner and will allow future innovations.

v46

v46

Choose a tag to compare

@dave-hudson dave-hudson released this 05 May 16:27

New features:

  • If a network message fails and the user gets a system error message, there's now a retry button to allow retrying everything back to the last user message or tool call response.
  • Added a "breadcrumb" view to the mindspace tree views. This let's you see which directories/folders are currently expanded for any of the trees.
  • Unified the previous "user" and "mindspace" settings into a single new dialog that can be accessed from the icon rail. The new settings dialog is far easier to navigate and easier to discover.
  • Added Noto Sans, Noto Sans Arabic, and JetBrain Mono fonts to ensure a consistent user experience across all platforms (and also because they look nicer!)
  • Humbug now controls the minimize/maximize/close functionality on Windows and Linux to give more vertical real estate to the application content.
  • Added full-screen mode for Linux and Windows. Remove the task bar and put the minimize/maximize/close widgets on the same row as the menu bar to give more screen real estate.
  • Added "whole word" searching in all find boxes.
  • Added a mindspace global search feature.
  • The terminal now reflows lines better when it resizes.
  • Added code to check for the latest version, and to check on startup.

Bug fixes:

  • There was a small problem with the AI applying diffs at the end of the file when using the editor tab.
  • When switching reasoning models mid-conversation, only provide reasoning context to the new AI if it can definitely understand it (i.e. the models are compatible).
  • Tab hover effects were not working correctly in Linux.
  • Find in terminal tabs did not correctly search across a line wrap.
  • Arabic text no longer results in invalid spacing in the terminal emulator (the Arabic won't necessarily be super-readable).
  • When an AI opens a new tab, the focus will no longer automatically shift to the new tab. It will stay with the current focused tab.
  • When rendering very long conversations the UI would stall for significant amounts of time. Now these are handled incrementally so the UI remains responsive.
  • All find operations now cap at 500 search matches, but all also do live matching and don't wait for a user to press enter.

Internal structure changes:

  • Added a test suite for the core terminal emulator.

v45

v45

Choose a tag to compare

@dave-hudson dave-hudson released this 26 Apr 15:30

New features:

  • If an AI generates a diff hunk with @@ but with no line numbers, the diff applier will try to find with a fuzzy match.
  • Added support for using the C version of the Menai VM for Linux systems.
  • Dramatically improve the performance of the Menai VM.
  • The Menai VM C code is now much cleaner and decoupled from the original Python implementation.
  • Added keyboard scrolling of diff tabs.
  • Double-clicking an ephemeral tab label will now make the tab persistent.
  • Find controls now have history buffers, so up and down arrow will navigate previous searches.
  • Conversations now track the relationships between parent conversations and child conversations, so the mindspace conversations view now groups conversations under each other.
  • When opening an editor tab from a diff tab, the editor tab will be scrolled to the same position being shown in the diff.
  • The mindspace panel can be expanded and collapsed. Also the panel shows just one view at a time, giving more room to see what's there.
  • If you change a file extension when renaming a file, you will now be prompted to confirm that's what you want to do.
  • Adding "thinking" support to the DeepSeek backend.
  • Updated the DeepSeek models to v4 (flash and pro).
  • Updated the OpenAI models to include GPT-5.5 and updated nano and mini models to GPT-5.4.
  • Updated the Ollama Qwen 3.5 models to 3.6.

Bug fixes:

  • Tighten guidance on regexp syntax to AI models.
  • Despite instructions, and AI may use the wrong alternation format in regexps. If we get no results using an escaped form, but get results when it's unescaped, the tool will now return the results and warning that it had to remove the escaping.
  • If you highlight text and the open the find control in a diff tab it now uses the selected text as the initial search option.
  • Enabled keyboard shortcuts for "copy" operations in diff tabs.
  • Resolved a problem where find positions could be lost when hiding and unhiding the find bar in a tab.
  • If you attempt to drag a file that cannot be opened then an exception would trigger and the exception canary would activate. Now this action will trigger a popup message box.
  • Fixed a problem in the C and C++ syntax highlighters when preprocessor lines are continued with \.
  • Fixed menu and dialog edit control scaling problem on Ubuntu under WSL2 on Windows 11.
  • Fixed bugs in the Menai and Scheme syntax highlighting.
  • Added tests for the Scheme syntax highlighter.
  • Menai now suports #d and #D numeric literals.