2026-09-14: Humbug v55 and Menai v0.5

Published: 2026-09-14

Today marks updates for Humbug and Menai.

Humbug v55

New features:

  • Added DeepSeek v4.1 Flash support.
  • Added Gemini 3.8 Flash, and removed Gemini 3.5 Flash.
  • Added Gemini 3.5 Flash lite, and removed Gemini 3.1 Flash lite.
  • Removed GPT-5.4 and GPT-5.5.
  • Added GLM 5.3 Flash (Z.ai backend).
  • Removed GLM 4.5 series models and GLM 5.1.
  • Removed MiniMax M2.7.
  • Removed GPT-OSS models from the Ollama cloud backend.
  • Border animation now applies to all messages with pending or ongoing content, not just the last visible one. This ensures the correct message boxes are highlighted after scrolling and deferred content is revealed.
  • Added pinning of conversations within the mindspace sidebar.
  • Added undo/redo for deletions of conversations from the sidebar.
  • Added an interactive onboarding product tour that spotlights the key parts of Humbug for first-time users. It can be replayed at any time from Humbug → Take a Tour.
  • Added a "product tour" feature to guide new users.
  • Added [object Object], [object Object], and [object Object] operations to the system AI tool, so the AI can organise the workspace layout into columns just as the user can.

Bug fixes:

  • Implemented hard limits on results for the filesystem AI tool. Any limit exceeded generates an error, not a truncated response. This prevents context window explosions.
  • Fixed conversation tab "bouncing" when scrolled away from the bottom during streaming. Content is no longer rendered while the user is scrolled up. Deferred content is rendered in one pass when the user scrolls at all (preserving their scroll position), or when they scroll back to the bottom (snapping to the bottom).
  • Fixed a problem with text highlighting in terminal tabs that have a horizontal scrollbar.
  • Fixed a problem that could cause diff views to finish prematurely.
  • Fixed a problem where closing a tab might leave mouse-over hover effects not working afterwards.
  • The editor [object Object] operation no longer requests user authorization. It modifies the in-memory editor buffer, consistent with [object Object]. Use [object Object] to persist changes to disk.
  • Fixed a problem when an AI opened a tab while in the carousel view.

Internal structure changes:

  • The System AI tool has now been moved to being generic and not Qt-specific. Updated the context registry to support this change.
  • The editor context no longer depends on Qt. Instead there is an abstract editor concept and the Qt editor reacts to changes made in the context document.
  • The main window UI updates the context registry and the UI then reacts to that, rather than the UI driving the change.
  • Workspace state is now split into three layers with distinct owners (see ADR-0008): layout (open contexts, column, position, focus, ephemerality) belongs to the context registry, content (file paths, terminal commands, conversation transcripts) belongs to the frontend-agnostic context models, and view state (cursor, scroll, find widget) belongs to the frontend. Session save and restore are now registry operations rather than being driven by the tab manager.
  • Tab order within a column is now part of the registry's layout state, so columns and ordering are preserved exactly across a session.
  • Moving a tab between columns now carries live state (unsaved buffers, terminal processes) through an explicit frontend migration mechanism rather than through the session persistence format.

Menai v0.5

New features:

  • Added a [object Object] type to Menai.
  • Added a loop-invariant-code-motion optimizer.
  • Added a constant coalescing optimizer.
  • Added a jump threading optimizer.
  • Implemented performance improvements for some prelude functions.
  • The [object Object] operation can now take any arbitrary Menai value, allowing for structured error returns.
  • Runtime errors now generate a backtrace to make it easier to debug them.

Bug fixes:

  • Unified [object Object] so it matches the semantics of the other slice operations.

Internal structure changes:

  • Reimplemented the bytecode validator in C rather than Python. This always runs meaning we can remove runtime checks that are now covered by the validator.