Yaak Logo
Yaak

The Import Data dialog now takes a URL or a dropped file, and a new OpenAPI importer handles large schemas, creates an environment per server, and imports auth the way Yaak inherits it. Community contributions bring response filter history with pinning and GraphQL schemas loaded from a file.

๐Ÿ”— Import from a URL

The Import Data dialog now accepts a URL alongside file selection, so a Swagger or OpenAPI spec served by your API can be imported without downloading it first. The dialog itself also picked up drag-and-drop for files.

Import Data dialog with a URL field

Drop a file, or paste a URL

๐Ÿ•˜ Filter history with pinning

#YF637ยทyaak#338ยทContributed by @pixel-hawk

The response filter box now remembers your recent JSONPath and XPath expressions. Open the dropdown to pick one, pin the ones you reach for constantly so they stay at the top, or clear the list.

Filter history dropdown with pinned and recent expressions

Recent expressions, with $..path pinned to the top

๐Ÿ“„ GraphQL schemas from a file

yaak#462ยทContributed by @VDShelk

GraphQL autocomplete and the documentation explorer no longer depend on live introspection. Load a schema from an SDL or introspection JSON file from the Schema menu, useful when introspection is disabled on the server or you are working offline. Automatic reload keeps it fresh as the file changes.

Schema menu with a schema file loaded

The Schema menu with a file loaded, reload options, and automatic reload enabled

๐Ÿ“ฅ New OpenAPI importer

OpenAPI 3.x and Swagger 2 documents are now parsed directly into Yaak instead of round-tripping through the Postman converter. Large schemas that used to fail on import now work, and the result matches what the spec describes:

  • Each servers entry becomes its own sub-environment with baseUrl and credentials, so switching between production and sandbox is an environment change.
  • Spec-level security imports as workspace authentication that requests inherit, with client IDs, secrets, API keys, and tokens as environment variables.
  • Request bodies generate from schemas, including XML, and parameters follow the spec’s serialization rules.
  • OpenAPI 3.2 QUERY and additional operations import.
Environment dialog after importing a two-server OpenAPI document

Production and Sandbox environments, each with its own baseUrl and credentials

๐Ÿ”Œ Plugin API for reading response bodies

Plugins can now read response bodies directly, with fetch-style helpers for text, JSON, and streaming, instead of opening files off disk. Charset decoding and large bodies are handled automatically.

const { httpResponse, body } = await ctx.httpRequest.send({ httpRequest });
const data = await body.json();

Other fixes and improvements

๐ŸŽ New

๐Ÿ› ๏ธ Fixed

  • Honor workspace connection settings in CLI sends(yaak#537 )
  • Include the request body in AWS SigV4 signatures(#YF996 , yaak#430 by @WaterBread)
  • Fix OAuth password grant tokens being reused when the username changes(yaak#426 by @michaelarnauts)
  • Restore HTTP/2 and client certificate support when TLS validation is disabled(yaak#543 )
  • Follow the OS appearance when set to System without opening a new window(#YF460 , yaak#540 )
  • Fix a sync watcher crash when the sync directory path traverses a symlink(yaak#541 )
  • Don’t save the response when the file dialog is cancelled(#YF845 )
  • Fix client certificates on Linux when TLS validation is disabled(yaak#554 )
  • Upgrade dependencies to resolve 29 security advisories(yaak#562 )
  • Don’t send scope on the OAuth authorization code token request(#YF1064 , yaak#579 )
  • Fix new workspaces defaulting to not sending or storing cookies(yaak#573 )
  • Fix Timeline entries appearing in reverse order(yaak#573 )
  • Read combined short flags as separate options when importing cURL(yaak#577 by @NgoQuocViet2001)
  • Render all columns in irregular CSV responses(yaak#584 )
  • Fix the app not activating after a relaunch on macOS(yaak#583 )
  • Quote apostrophes and file paths when copying as cURL or gRPCurl(yaak#593 by @NgoQuocViet2001)
  • Keep –data-urlencode values whole and tolerate a stray % on cURL import(yaak#597 by @NgoQuocViet2001)
  • Preserve OpenAPI security requirement semantics on import(yaak#586 )
  • Fix OpenAPI import of array $refs, cookie parameters, mid-segment path templates, and typed examples(yaak#599 )
  • Preserve the base URL variable when an OpenAPI document omits servers(#YF1070 , yaak#585 )
  • Prevent the environment dropdown from opening alongside the environment editor
  • Fix the System appearance always resolving to light on macOS 27(yaak#603 )
  • Send the signing key as the OAuth 1.0 PLAINTEXT signature(yaak#605 by @NgoQuocViet2001)
  • Keep an = inside –url-query and form values on cURL import(yaak#606 by @NgoQuocViet2001)
  • Escape control characters in the json.escape template function(yaak#607 by @NgoQuocViet2001)
  • Render template values before plugin config forms use them, fixing the 1Password vault dropdown(yaak#608 )
  • Check for updates on Linux deb, rpm, and Flatpak installs and say how to update(#YF1072 , yaak#604 )
  • Sign OAuth 1.0 requests with the token secret when no access token is set(yaak#611 )

๐Ÿ’„ Improved

  • Show the CLI update notice in non-interactive shells so agents see it
  • Support OpenAPI 3.2 QUERY and additional operations on import(yaak#591 )
  • Fill OAuth client ID and secret from environment variables on OpenAPI import(#YF1071 , yaak#587 )
  • Import spec-level OpenAPI security as workspace authentication(yaak#601 )
  • Generate XML bodies and serialize deepObject, label, and matrix parameters on OpenAPI import(yaak#602 )
  • Fill the OAuth redirect URI from an environment variable on OpenAPI import(#YF1071 , yaak#610 )

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