2025-11-23: Humbug v0.30

Published: 2025-11-23

Having fixed my agentic editing problems and quite a lot of bugs, I've decided today should be Humbug v0.30.

Bug fixing the UI

Sometimes one LLM will show something odd that others do not. A couple of days ago I noticed GLM doing something odd when streaming both AI responses and reasoning. The reasoning messages were in the correct place in the UI, but weren't completing until after the response messages.

This turned out to be silly assumption in the widget code that only one message type would be being updated incrementally. Once I spotted the problem, Claude one-shotted a fix.

Annoyingly, the fix was correct, but GLM started to add delays in its network responses at the same time so it looked like the fix wasn't working properly. Coincidences can be annoying!

Learning from the agentic editing tools

One thing I learned a few days ago is that LLMs work much better if we give them line numbers along with lines of text. If that works well in one place, it probably works well in others.

I added a read_file_lines operation to the filesystem tool to give AIs a chance to read files the same way (without having to first open them in an editor tab).

Humbug v0.30

With this all done, it's time for v0.30!

Here's the change log:

New features

  • Added support for Google Gemini 3 Pro, and removed support for Gemini 1.5 models.
  • Added a new patch applying operation to the system AI editor tools.
  • Removed the code from v0.29 that would modify text in an editor, as the new patch tool supersedes it.
  • Added a read_file_lines tool to provide line numbers with each line to improve AI tool use reliability.

Bug fixes

  • Removed "patch" tests as the provisional patch tool has now been removed from the project.
  • Fixed a problem when editing the last line of a file.
  • Some of the system AI tool descriptions were not clear about the need to use tab IDs.
  • Fixed a problem where the user queues a message during an AI streaming response but where no tool call occurs.
  • Fixed a problem with cancelling messages after an API error.
  • Fixed a problem with "thinking" Claude models.
  • Fixed a problem where renaming conversations did not always correctly resize tab labels.
  • Modified the editor_read_lines tool to provide line numbers with each line to improve AI tool use reliability.
  • Resolved a visual update problem where reasoning and AI replies come back concurrently.