Changelog

What is new, and what is next

Every version of Bifurc and what changed in it. The upcoming version lists only work that is already finished and waiting for the release.

v0.6.0

Flows, a local mail inbox, webhook requests, and a command line built for AI agents. Bifurc now runs on macOS too.

  • Flows

    Chain saved requests on a canvas. Wire one node's output into the next, branch with If and Condition nodes, loop with Repeat and For each, call MCP tools, read streams and wait for mail. Run a flow from the app or with bifurc flows run, load test it with many instances at once, or build one from captured traffic.

  • Local mail inbox

    The engine runs an SMTP server on 127.0.0.1:1025. Point your app at it and read what it sent on the new Mail screen, with the sign-in code and the first link picked out to copy or open. Each workspace has its own inbox, kept on your machine. A flow's Mail node waits for the matching mail of its run.

  • Webhook requests

    A new request type that sends a webhook signed with a secret from a vault, with sample events for Stripe, GitHub and others. Capture opens a temporary Cloudflare tunnel and fills the request from the first real webhook that arrives.

  • A command line built for AI agents

    One summary line per request, exit codes that say what went wrong, bifurc curl, bifurc wait, named sessions with their own cookies and variables, and bifurc agent init to add a cheat sheet to AGENTS.md or CLAUDE.md. The MCP server covers the same verbs.

  • Guardrails, approvals and locks

    A workspace's policy.yaml can deny calls, limit hosts or hold a call until a person approves it in the app or the terminal. An item another session is editing is locked against edits, shown with a lock and a Take over button.

  • Dev servers and their logs

    Services can start, stop and restart your dev servers, with secrets from a vault, a live log with an errors-only filter, and a Logs tab in Capture that finds a request's lines in their output. Free port stops whatever holds one.

  • Faults, record and replay

    Add latency, error statuses, dropped connections or resets to proxied traffic from the Faults tab of Proxy rules. Record real answers of chosen hosts into a cassette from the Capture toolbar, and replay it later instead of the real hosts.

  • Mock scenarios and contract checks

    Switch a mock between its scenarios, see its live hit count, serve the workspace's mocks on a port of their own, and check that a mock still matches what the real API answers. Mocks now answer cross-origin pages with CORS headers.

  • Cookies, JWTs and types

    A Cookies tab in the response shows every cookie with its attributes and decodes JWTs. A Types panel infers TypeScript, Zod, Python or Go types from a request's responses. From the terminal, bifurc jwt mints test tokens and bifurc openapi infer writes an OpenAPI file.

  • Requests and capture

    Cancel a running request; set its timeout, redirects and certificate checks; keep its last five responses. GraphQL gets a schema explorer and field completion, SOAP fetches a WSDL. Capture can pin exchanges, export them as HAR and copy one as cURL, and the runner exports an HTML report.

  • macOS

    Bifurc is available for Apple silicon and Intel Macs as a DMG, with a menu-bar icon and the bifurc command on your PATH. Updates install in place.

  • Linux and the interface

    A tray icon on Linux, the root certificate installed into the system trust store, and ports below 1024 on request. The interface is available in German and Japanese, with more keyboard shortcuts and a window that reopens where you left it.

  • Crash reports

    With usage analytics on, Bifurc also reports where in its own code it crashed or failed, never what you were working on. The same switch in Settings, under About, turns both off.

v0.5.0

Three more kinds of request, HTTPS on the proxies' own ports, and a view of which browsers are paired with the app.

  • MCP requests

    Connect to a Model Context Protocol server over stdio or Streamable HTTP, see the tools, prompts and resources it declares, and call them. Saved like any other request, in the app and from the bifurc command.

  • Server-sent events requests

    Open a text/event-stream connection and watch the events arrive in a searchable stream log.

  • Socket.IO requests

    Connect to a Socket.IO v3 or v4 server, join a namespace with an optional auth payload, emit events with acknowledgements, and log only the events you choose to listen to.

  • HTTPS on the forward and reverse proxy

    With the HTTPS toggle on, the reverse proxy serves your .localhost names over TLS and redirects plain HTTP to HTTPS, and the forward proxy's port accepts both TLS and plain proxy clients.

  • Update notices

    The app looks once a day for a newer version and says so in the footer and in Settings, under About, with the way your install gets it: the Microsoft Store, a winget or Scoop command, or a download. Nothing is installed without you, and the check can be switched off.

  • Connected companions in Settings

    Settings, under Servers, lists the browser extensions currently connected to the app, with the browser and operating system of each.

v0.4.0

Rebuilt as a native app: a Rust interface on a Rust engine, with a Rust CLI.

  • Native desktop app, engine and CLI

    The Electron app and the Node engine are replaced by Rust ones. No bundled browser and no Node runtime.

  • GitHub sign-in and workspace sync

    Sign in with GitHub to publish a workspace to a repository you own, import it on another machine, and sync a whole workspace at once.

  • Secret vaults

    Keep secrets sealed behind a passphrase and out of scripts, logs and results. Proxy rules can inject them, and bifurc vault run hands them to a command.

  • The same CLI verbs for everything

    Mappings, rules, mocks, requests, health checks and vaults all have list, show, create and update, plus the verb that runs or enables them.

  • gRPC reflection and streaming

    Service and method pickers filled from server reflection, all four call kinds, and live streaming calls.

  • cURL import

    Paste a cURL command to create a request or a mock.

  • Collection runner results

    Each result row expands to its response, scripts, logs and tests, and finished runs are kept in history.

  • First-run setup

    Terms, privacy policy, preferences, HTTPS and proxy ports are set up in stages before the first workspace.

  • Linux packages

    Bifurc is available for Linux as a .deb, an AppImage and a plain archive.

  • Anonymous usage analytics

    What kind of thing you did, never its content. One switch in Settings, under About, turns them off.

v0.3.0

Packaging and distribution.

  • Microsoft Store package

    Bifurc is packaged for the Microsoft Store, where it installs and updates itself.

  • Terms before the first screen

    The terms of use are shown and accepted before the app opens for the first time.

  • Fixes

    App icons are fixed, and the default window size no longer needs scrolling.

v0.2.0

A reworked interface.

  • Global search

    Search across the workspace from one place, and search the list of running services.

  • Requests and mocks in single tabs

    Every kind of request, and every mock, is reached from one tab instead of several.

  • Clearer git actions

    Sync, revert and history are easier to find and to use.

  • Simpler workspaces and environments

    Workspaces and environments take fewer steps to set up and switch.

  • Update checker

    The app checks for a newer version, and settings are gathered in one place.

v0.1.0

The first release.

  • Routing and proxying

    .localhost mappings, proxy rules and traffic capture, with mock-all and save-all from the capture panel.

  • Requests and mocks

    REST, GraphQL, gRPC and SOAP requests in folders, mocks, and a collection runner that runs a folder in order.

  • Workspace

    Git-backed workspaces with sync status, themes, tab keyboard shortcuts and folder drag-and-drop.

Downloads for every version are on the releases page. Missing something? Ask for it on GitHub.