Why Choose Bruno v3? The Features That Make It Special (And Why You Should Start Using It Today)
Bruno isn’t just another API client—it’s built for real-world workflows. The v3 release brings a fresh modern interface with better colors, spacing, and responsiveness that feels polished and intuitive. Standout upgrades include:- Workspaces: Easily organize multiple API collections by project or team—no more scrolling through endless lists!
- Inbuilt Terminal: Run commands right inside Bruno for quicker debugging and scripting.
- Enhanced Git Tools: View commit history, graphs, stash changes, and handle merges smoothly.
- YAML Support (Beta): The big one we’ll cover in depth below—ditching proprietary formats for clean, standard YAML.
Unlock the Magic of OpenCollection: YAML Format and Seamless CI/CD Integration
One of Bruno v3’s biggest wins is adopting the OpenCollection format—an open standard for API collections stored as simple YAML files. Why is this a game-changer?- Truly Open-Source: No proprietary magic. Anyone can build tools around it.
- Git-Optimized: Human-readable files mean beautiful, meaningful diffs (goodbye, noisy changes!).
- Editor-Friendly: Tweak requests in VS Code, Vim, or any text editor.
- Perfect for Automation: Use Bruno’s CLI to run collections headless in pipelines like GitHub Actions or GitLab CI.
How to Create YAML Collections and Requests in Bruno v3 (With Practical Examples)
Getting started is easy:- Download the v3 and create a new collection.
- Select YAML as the format.
- Bruno sets up a folder with
.ymlfiles—you can build via the UI or edit directly.
Simple GET Request Example
Here’s a basicget-users.yml:
Advanced POST Request with Headers, Body, and Params
Try thiscreate-user.yml:
Adding Pre-Request and Post-Request Scripts
Scripts run JavaScript with Bruno’s handybru API for dynamic logic and tests.
Mastering Environments in Bruno v3
Environments let you swap variables effortlessly between dev, staging, and production. In the v3 you can store environment files as YAML (or JSON) — YAML is recommended for readability and consistency with OpenCollection. Create files likeenvironments/dev.env.yml in your collection folder:
url: {{base_url}}/users.
Switch environments in the UI or via CLI (bru run --env dev). Environment variables override collection- and folder-level variables, keeping your tests flexible and secure.
Using a local .env file
If you prefer to keep secrets out of collection files, you can add a local .env file at the collection root (not the same as the YAML env files). This file is loaded into the process environment at runtime and is useful for developer-local secrets or CI runners that read environment files.
Example .env (collection root):
- In YAML requests and templates, reference process env variables with Bruno’s process interpolation syntax, for example:
{{$processEnv.KEY1}}. - In request scripts (pre/post request) you can also access them via
process.env.KEY1(the script runtime exposes the process env).
process.env:
.env files to the repo. Add a simple .gitignore entry at the collection root:
Understanding Folder Structure, Settings, and Configurations
YAML collections are beautifully simple directories:folders.yml (folder-level variables)
users/:
.env file at the collection root (the same directory that contains bruno.json or collection.yml) so Bruno loads those values into the process environment at runtime. Do not place .env inside the environments/ folder — keep it at the collection root and add it to .gitignore to avoid committing secrets.
Settings flow down: collection → folder → request. This mirrors your API structure and makes organization intuitive.
Variables Demystified: How to Use Them in Requests and Scripts
Variables make your requests dynamic and reusable. Scopes prioritize: request > folder > collection > environment > system env.- In Requests: Just wrap with
{{}}, e.g.,{{base_url}}or{{auth_token}}. - In Scripts:
{{timestamp}} or {{randomId}} add quick magic. Process env vars? Use {{$processEnv.SECRET_KEY}}.
Ready to Level Up Your API Game? Download Bruno v3 Now!
Bruno v3 is your ticket to a smoother, more collaborative API testing experience. With YAML beta shining bright and full release on the horizon, there’s never been a better time to try it. Download the v3 here: Bruno v3 Release (Windows, macOS, Linux available). Have questions or feedback? Join the community on GitHub or check the official docs. Thanks for reading—happy testing, and let’s make 2026 the year of better API tools! 🚀Sources
- Bruno - Fast, Git-Friendly Open Source API Client https://www.usebruno.com
- Running a Collection https://docs.usebruno.com/bru-cli/runCollection
- Environment Variables | Bruno Docs https://docs.usebruno.com/variables/environment-variables
- Download Bruno - Free Open Source API Client https://www.usebruno.com/downloads
- Process Environment Variables - Bruno Docs https://docs.usebruno.com/variables/process-env