Skip to content

Releases

ApiWorkbench 1.4.0

Choose a tag to compare

@dhivadhiva dhivadhiva released this 30 Oct 22:53
f684a26

The Postman gaps release: scripts, every Postman auth type, cookies, the console, streaming protocols, gRPC, and the formats Postman reads and writes. 1.3.1 was never published separately; its changes (arm64 builds, Windows zip, Microsoft Store packaging, privacy policy) ship here too.

Added

  • Scripts. Pre-request and post-response scripts run with Postman's
    pm API on an embedded QuickJS engine (built from source for every
    platform, including arm64). Scripts run at collection, folder and
    request level, in Postman's order.
    • Variables: pm.environment, pm.collectionVariables, pm.globals,
      pm.variables and pm.iterationData.
    • Requests: pm.request (pre-request scripts can change it),
      pm.response, pm.sendRequest and pm.cookies.
    • Tests: pm.test, pm.expect (chai) and the pm.response.to.*
      assertions.
    • Flow: pm.execution.skipRequest and postman.setNextRequest in the
      runner.
    • Libraries: lodash, crypto-js, moment, uuid, tv4 and ajv through
      require().
    • console.* output goes to the Console.
    • pm.visualizer output appears in a new Visualize response tab.
    • Scripts get a timeout, a memory cap, and no file system access.
  • Auth. OAuth 2.0 with every grant: authorization code with PKCE,
    implicit, password and client credentials. "Get new access token" signs in
    through the system browser and a local redirect listener. Tokens refresh
    automatically, and a saved-token list is kept per request.
    • Also: OAuth 1.0, Digest, NTLM, AWS Signature v4, Hawk, Akamai EdgeGrid
      and JWT Bearer.
    • Requests can inherit auth from their folder or collection.
  • Collection and folder settings: auth, scripts and description for each
    collection and folder.
  • Cookies:
    • An RFC 6265 cookie jar. It keeps cookies from every response (redirect
      hops included) and sends them back.
    • A cookie manager to browse, add, edit and delete cookies.
    • A Cookies response tab.
    • Settings to turn the jar off app-wide and per request.
  • Console. Every request on the wire, redirects included, with headers
    and bodies, plus script output. It has filters and search, and secret
    values are masked.
  • Request settings: a per-request Settings tab for following redirects,
    the redirect limit, keeping the method and Authorization on redirects,
    certificate checks, URL encoding, the cookie jar and the timeout.
  • Proxy and certificates:
    • Proxy: none, system (environment variables) or custom, with a login and
      a bypass list.
    • An extra trusted CA certificate.
    • Client certificates (mutual TLS) per host, as PEM or PFX.
  • Variables:
    • A Globals scope.
    • Separate initial and current values. Scripts and captures write current
      values; you can reset or persist them.
    • Secret variables, masked in editors, the Console, docs and reports.
  • New request types:
    • WebSocket: composer, saved messages, ping and auto-reconnect.
    • Socket.IO: event listeners and emit with acknowledgements.
    • MQTT: subscriptions, publish, QoS, retain and last will.
    • Server-Sent Events, with reconnect and Last-Event-ID.
    • gRPC: services from server reflection or imported .proto files; all
      four call types, metadata, TLS and deadlines.
  • GraphQL:
    • Fetch the schema by introspection.
    • Browse it in an explorer and click to insert fields with their
      variables.
    • Field suggestions while you type, and a prettifier.
  • Path variables: :id segments get their own table under Params, and
    values are filled in on send.
  • Code snippets in 19 languages: cURL, HTTPie, wget and PowerShell;
    Python, JavaScript and Node; Java, Kotlin, C# and Go; PHP, Ruby, Swift,
    Dart and Rust. Snippets use the resolved request, with auth, or with
    {{variables}} kept as written.
  • Bulk edit for params, headers and form fields, as key: value lines.
  • Response tools:
    • A Preview tab for HTML, images, SVG and PDF, and a hex view for binary
      bodies.
    • Save the response body to a file.
    • Find in body (Ctrl+F).
    • A full-body view beyond the 64 KB preview.
  • Saved response examples: save a response as an example, then edit,
    duplicate or delete it from the collection tree.
  • Import and export:
    • Postman: export collections (v2.1), environments and globals. Postman
      imports now keep scripts, examples, path variables, inherited auth,
      folder settings, globals and secret variables.
    • OpenAPI 3.0 and 3.1 and Swagger 2.0: import (JSON or YAML) and export
      (OpenAPI 3.0).
    • HAR: import, with static assets left out.
  • Runner and CLI:
    • The collection runner takes CSV or JSON data files.
    • New apiworkbench-cli command, a Newman-style runner for CI. It runs a
      workspace export or a Postman collection with environment, globals and
      data files, and writes cli, JSON, JUnit and HTML reports. It ships in
      the .deb, the tarball, the snap (apiworkbench.cli) and the Windows
      zip.
  • Collection docs and history:
    • Generate documentation for a whole collection, as one HTML page or as
      Markdown.
    • Local version history for collections, with a diff and restore.

Changed

  • Redirects are followed by the app, hop by hop, so cookies and the Console
    see each one. The Authorization header is dropped when a redirect leaves
    the original host.
  • GET requests send their body when one is set, like Postman. HEAD never
    does.
  • Saving a request keeps its place in the collection.
  • On Android, iOS and macOS, HTTP/3 falls back to HTTP/1.1 when a proxy,
    CA, client certificate or "don't verify" is set, because the platform
    network stacks don't apply those settings.

Install: the Linux and Windows packages (x64 and arm64) are attached below; the Android APK is ApiWorkbench-1.4.0.apk. Snap: sudo snap install apiworkbench. Full notes: CHANGELOG.md.

ApiWorkbench 1.3.0

Choose a tag to compare

@dhivadhiva dhivadhiva released this 09 Oct 23:25

ApiWorkbench 1.3.0

New

  • Hover help: every field, tab, button and badge explains itself with a title, a plain explanation and an example. HTTP methods and status codes are described in plain words. Long-press on touch screens. Turn it off in Settings.

Phone and layout polish

  • Every screen fits at phone, tablet and desktop sizes:
    • heavy dialogs go full-screen on phones;
    • the runner scrolls as one page;
    • assertion rows and load-test logs stack on narrow screens;
    • body-type chips scroll sideways;
    • touch targets are 44 px or more.
  • Layout sweep test: renders every screen at 7 sizes (320–1440 px) in each theme and fails on any overflow, overlap or small touch target.

Less flicker

  • Theme switches happen in one frame, with no leftover colors.
  • Chaos effects no longer replay when you switch tabs.
  • The response cross-fade no longer flips content partway through.
  • Dragging the splitter or panel no longer redraws the editor.
  • Each request tab remembers which editor and response tab you had open.

Fixes

  • A crash when the Save, Rename or Import cURL dialogs closed.
  • A row taking on the wrong assertion type after another row was removed.

Install

sudo apt install ./apiworkbench_1.3.0_amd64.deb, or sudo snap install apiworkbench. On Android, install ApiWorkbench-1.3.0.apk directly; it's signed with a development key, so it isn't a Play Store build.

ApiWorkbench 1.2.0

Choose a tag to compare

@dhivadhiva dhivadhiva released this 09 Oct 16:59

ApiWorkbench 1.2.0

New: import from Postman

Click Import on the left rail (or press Ctrl+O), or use Import into collection / folder from any collection or folder menu.

  • Formats: collections (v1, v2.0, v2.1), single requests or folders, environments, globals and Postman's full Export data dump, plus ApiWorkbench workspaces. Choose files or paste JSON.
  • Destination: a new collection, or an existing collection or folder. Existing requests and variable values are never overwritten.
  • Carried over: nested folders, auth inherited from the collection or folder (Bearer, Basic, API key, OAuth 2.0 with a saved token), collection variables, :id path variables, disabled params and headers, descriptions, and every body type.
  • Scripts: ApiWorkbench doesn't run JavaScript. Common pm.test checks (status, response time, headers, body text, JSON values) become Tests, and pm.environment.set(...)-style lines become Captures. The original scripts are kept under Docs.
  • Preview: before importing, a preview lists anything that couldn't be carried over: saved response examples, and the Digest, OAuth 1.0, AWS Signature, NTLM, Hawk, Akamai EdgeGrid, JWT and ASAP auth types.

Also new

  • Folders: collections show a folder tree. Run, load-test or import into any collection or folder.
  • Collection variables: variables scoped to a collection; the active environment wins on a name clash.
  • Dynamic variables: Postman-style values such as {{$guid}}, {{$timestamp}} and {{$randomEmail}} are generated on send.
  • Captures: save response values (token = body.data.token, etag = header.ETag) into variables for later requests, in the editor, runner and load tester.
  • New body types: multipart form-data with file fields, and binary file bodies.
  • Docs tab: a description for each request.

Redesign

  • Navigation: an icon rail (Collections, Environments, History, Import, Export, theme, Settings) with a resizable, collapsible side panel. Request tabs, breadcrumbs with Save (Ctrl+S), and an environment picker in the top bar.
  • Themes: Teal in light and dark, following your system setting by default, and Graphite and orange. Switch from the rail or Settings › Appearance.
  • Logo: a new braces-and-bolt logo on every platform.

Install

sudo apt install ./apiworkbench_1.2.0_amd64.deb

or sudo snap install apiworkbench.

Android: install ApiWorkbench-1.2.0.apk directly (sideload). It's signed with a development key, so it isn't a Play Store build.

ApiWorkbench 1.1.0

Choose a tag to compare

@dhivadhiva dhivadhiva released this 05 Oct 20:45

ApiWorkbench 1.1.0

New: load testing

Open any request's ⋮ → Load test (parallel calls)…, or Load test collection… from a collection's menu.

  • Parallel calls: up to 1,000 parallel users, each sending its own copy of the request at the same time.
  • Repeat: a set number of iterations per user, a fixed duration, or until you press Stop. Ramp-up and think time are supported.
  • Multi-step journeys: collection requests run one by one (values extracted from a response, e.g. token = body.data.token, are passed to later requests as {{token}}) or all at once.
  • Live results: throughput chart, error rate, and p50/p95/p99 latency overall and per request, with status-code and error breakdowns.
  • Call log: every call is recorded with its time, user, iteration, status, latency, size, pass/fail and error. Response bodies can be kept for none, only failed, or all calls (64 KB each). The log is written to disk, so long runs don't grow memory.
  • Reports: save an HTML report (summary, latency, call log, saved responses), a CSV log of every call, or a JSON export with every call and saved response.

Lighter on memory

  • The runner keeps bounded result summaries; stats still cover the whole run.
  • Response previews decode at most 64 KiB (full bytes stay available for tests, copy and export).
  • JSON formatting is cached; network clients are closed when replaced.

Phone layout

Bottom request/response navigation, status badges, request progress, a full-width URL field and larger touch targets.

Install

sudo apt install ./apiworkbench_1.1.0_amd64.deb

or from the Snap Store: sudo snap install apiworkbench.

Android: install ApiWorkbench-1.1.0.apk (sideload; signed with a development key, so it is not a Play Store build).

Only load-test servers you own or have permission to test.

v1.0.0

Choose a tag to compare

@dhivadhiva dhivadhiva released this 20 Jul 19:24

ApiWorkbench v1.0.0

A fast, cross-platform API client — one Flutter codebase for Linux, Windows, macOS, Android and iOS.

Highlights

  • Request builder — all HTTP methods incl. the new QUERY; query params, headers, JSON / text / XML / form / GraphQL bodies; Bearer / Basic / API-key auth.
  • Protocols — HTTP/1.1, HTTP/2 (ALPN), and HTTP/3 (QUIC) with automatic fallback.
  • Organise — collections, {{variable}} environments, request history, multi-tab editing.
  • Test — response assertions (status, JSON path, headers, latency) and a collection runner with recurring and data-driven runs.
  • Share — cURL import/export, workspace import/export, Markdown docs export (secrets auto-masked).
  • Dev-friendly — self-signed cert support, configurable timeouts, resizable panes, keyboard shortcuts.
  • 🎲 Chaos Mode — a Focus/Chaos toggle that plays a meme sound per status code (confetti on success, screen-shake on errors), plus a sound library for importing your own clips.

Downloads

Platform File
Android ApiWorkbench-1.0.0.apk
Linux (Debian/Ubuntu) apiworkbench_1.0.0_amd64.deb

Install

  • Android: enable "install unknown apps", then open the APK.
  • Linux: sudo apt install ./apiworkbench_1.0.0_amd64.deb

Checksums (SHA-256)

95dc5609d19fef8f14f1a73c1e27b5fc84c59f7123f4b6d07b2c878d730ad7fc  ApiWorkbench-1.0.0.apk
792463137d2612e3c2f3b78fc0c5b97e9bea8e93f242ed05c4b6e8a7ad15b494  apiworkbench_1.0.0_amd64.deb

Notes

  • The Android APK is signed with a debug key (fine for sideloading; a release keystore is needed for Play Store).
  • Windows / macOS / iOS builds require those OSes to compile and aren't attached here.

Initial Release

Choose a tag to compare

@dhivadhiva dhivadhiva released this 14 Jul 23:15
1.0.0

Initial release