Yaak Logo
Yaak

Git diff viewer, OAuth2 in external browser, and code snippets

You can now review diffs before committing with the new Git diff viewer, complete OAuth2 flows in your default browser, and generate code snippets from any HTTP request with the new httpsnippet plugin. Here’s everything that changed.

🔍 Git diff viewer and more

The Git commit dialog now includes a visual diff viewer, so you can review exactly what changed before committing.

Diff viewer in Git commit dialog

Diff viewer in the Git commit dialog

Several other Git workflow improvements ship in this release:

  • Pulling with uncommitted changes now shows a dialog prompting you to reset and pull, instead of a raw error message
  • A new “Reset Changes” menu item in the git dropdown lets you discard all uncommitted changes
  • Ahead/behind indicators (↗N ↙N) are shown next to the branch name in the git dropdown button
  • Push, Pull, and Commit menu items are disabled when not applicable

See also: #374

🌐 OAuth2 in external browser

OAuth2 authorization (authorization code and implicit grants) can now be completed in an external browser instead of the embedded webview. This is useful when OAuth providers block embedded browsers or when you need access to existing browser sessions.

External browser OAuth2 settings

External browser checkbox in OAuth2 settings

Enable the “Use External Browser” checkbox in the OAuth2 settings to open the authorization URL in your default browser. Two callback modes are available:

  • Hosted Redirect (default) uses a Yaak-hosted endpoint (oauth.yaak.app) as an intermediary that forwards the redirect back to Yaak
  • Localhost starts a local callback server on a configurable port (default 8765) for direct callback

A computed Redirect URI is displayed in the form so you know exactly which URI to register with your OAuth provider. A 5-minute timeout automatically cleans up the callback server if no response is received.

See also: feedback , #375

📋 HTTP snippet plugin

The new HTTP Snippet plugin lets you generate code snippets from any HTTP request. Select a language and library, and get a ready-to-use code snippet for your request.

Code snippet generation

Generate code snippets from HTTP requests

Supported languages include JavaScript (fetch, axios, jQuery), Python (requests, http.client), Go, Ruby, PHP, cURL, and many more via the httpsnippet library.

This plugin also uses the new dynamic() support in the prompt.form() plugin API, which allows form fields to update reactively when values change. For example, selecting a different language automatically updates the available libraries and regenerates the code preview.

Other fixes and improvements

🎁 New

  • Pulling with uncommitted changes shows a dialog to reset and pull
  • New “Reset Changes” menu item in the git dropdown
  • Ahead/behind indicators in the git dropdown button
  • “Copy from Folder/Workspace” action for authentication config
  • Add dynamic() support to prompt.form() plugin API(#386 )
  • Add delete folder and copy id actions to folder settings(#380 )

🛠️ Fixed

  • Fix implicit grant not respecting the Response Type dropdown
  • Fix dynamic auth form becoming unresponsive after first request
  • Fix x64 macOS build bundling wrong architecture binaries
  • Timeline debug view shows URL query parameters(feedback , #373 )
  • Fix basic auth failing when password field is empty or unset(feedback )
  • Fix template tag theme colors
  • Fix redirect behavior on cross-origin redirects(feedback , #378 )
  • Fix passing down onClose properly for SSE streams(#376 )
  • Fix request cancellation before the request is sent
  • Fix text input autocomplete not working with completionOptions(#368 )
  • Don’t select current request by default for response chaining
  • Fix CSV responses ignoring raw view mode
  • Fix curl requests not getting parsed properly(feedback , #387 )

💄 Improved

  • Push, Pull, and Commit menu items disabled when not applicable
  • Graceful OAuth server shutdown
  • Add breadcrumbs to folder settings dialog(#296 )
  • More reliable plugin runtime kill
  • Use “send” preview mode for copy-as-curl
  • Cleaned up unused functions(#382 )

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
Support Yaak