Yaak Logo
Yaak

Readable Streaming Responses for LLM APIs and GraphQL Operation Names

This release adds readable streaming responses for LLM APIs, support for GraphQL operation names, a time-grouped response history, and performance work including SQLite WAL mode and a fix for constant CPU usage when Git syncing inside large repos.

Readable streaming responses for LLM APIs

LLM APIs like OpenAI and Anthropic stream their responses as server-sent events, which makes the actual message hard to read. Yaak now assembles the model’s output into a single readable view that updates as tokens stream in. The raw event list is still one tab away.

SSE summary view

An OpenAI streaming response, assembled as it arrives

See also: feedback , #466

Response history menu grouped by time

The response history menu now groups entries by when they happened: today, yesterday, this week. Each entry shows a timestamp, making it easier to find that response from before lunch.

Response history grouped by time

Response history grouped into time buckets

See also: feedback , #492

Allow to define operation name in GraphQL

GraphQL documents with multiple operations can now specify which one to execute. Yaak detects the operations in your query and shows a picker when there’s more than one.

GraphQL operation picker

Choosing which operation to run from a multi-operation document

See also: feedback , #499

Other fixes and improvements

🎁 New

  • Configurable gRPC and WebSocket message size limits(#487 )
  • Sidebar filter suggestions(#477 )
  • CLI: new import and export commands(#484 )
  • Leave quick feedback on select features from within the app(#497 )

🛠️ Fixed

  • Fix macOS spell-correction popover appearing while typing request names(feedback , #483 )
  • Fix :name path placeholders followed by literal : suffixes (e.g. /tasks/:id:cancel)(#465 )
  • Fix Postman imports where string-based url.path values imported as empty paths(#490 )
  • Fix bulk environment variable parsing(feedback , #482 )
  • Fix secret input text bleeding under the obscure toggle button(#461 )
  • Fix long model names overflowing the delete dialog(#468 )
  • Graphql incorrect request after import from Curl(feedback , #499 )
  • Fix overflowing text in inputs with right-side controls
  • Fix constant high CPU usage when the Git sync folder is inside a large repository(feedback , #503 )
  • Show an error instead of hanging at startup when the plugin runtime fails to start(#502 )
  • Fix duplicating a request sometimes copying stale content(feedback , #505 )
  • Refresh OAuth 2.0 tokens using the JWT exp claim when the token response has no expires_in(#506 )
  • Fix responses staying in a loading state after large uploads(#498 )
  • Fix Insomnia text body imports(#507 )
  • Broken Keyboard shortcuts modal formatting(feedback , #509 )
  • Autocomplete inserts duplicate protocol(feedback , #510 )

💄 Improved

  • Improved SQLite performance with WAL mode(feedback , #496 )
  • Extract Bearer and Basic authentication when importing cURL commands(#423 )
  • Better window-state preservation(#495 )
  • Upgraded the app styling system to Tailwind CSS v4(#491 )
  • Allow uninstalling plugins with missing directories(#481 )
  • Commercial-use nudges for team-oriented workflows(#478 )
  • Commit dialog, commits, and pull now only consider files in the sync folder(#503 )
  • Faster request body history persistence for large uploads(#508 )

Thanks to you

Community-purchased licenses are what power new features and fixes like this. Supporting Yaak means more updates to come, for you and your team.

Gregory SchierFounder, Yaak