v2.13.0

usebruno/brunov2.13.0Oct 14, 2025by bijin-bruno

AI Summary

A major feature release introducing WebSocket support and significant UI improvements. It also enhances gRPC functionality and brings in new authentication methods like Digest Auth fixes.

Key Highlights

  • Full WebSocket support.
  • Draggable and reorderable tabs.
  • System monitor feature added.
  • Enhanced OpenAPI import with path-based grouping.
  • Improved Digest Auth handling.

New Features

  • Websocket Support.
  • Support for file body mode in bruno-cli.
  • Default location for collections.
  • Add button to copy environment variable from popover.
  • Make tabs reorderable.
  • Add draggable tabs component.
  • Enhance EnvironmentVariables component with read-only support.
  • Support import paths for gRPC.
  • Enhance json environment file support in bruno-cli.
  • Add Rosetta detection for Apple Silicon.
  • Path based grouping in openapi import.
  • Ignore and skip invalid .bru file.
  • Editor custom search.
  • Add redirect and timeout in request settings.
  • Override normalizing on whitespace in markdown editor.

Full Release Notes

## Features
- feat: Websocket Support by @barelyhuman in [#5480](https://github.com/usebruno/bruno/pull/5480)
- feat: add support for file body mode in bruno-cli by @pooja-bruno in [#5427](https://github.com/usebruno/bruno/pull/5427)
- feat: default location for collections by @Pragadesh-45 in [#5557](https://github.com/usebruno/bruno/pull/5557)
- feat: Add button to copy environment variable from popover by @RudraPatel2003 in [#5416](https://github.com/usebruno/bruno/pull/5416)
- Feature: Add collapse full collection feature by @maurisq12 in [#4492](https://github.com/usebruno/bruno/pull/4492)
- add: system monitor by @naman-bruno in [#5635](https://github.com/usebruno/bruno/pull/5635)
- feat: make tabs reorderable by @roele in [#5413](https://github.com/usebruno/bruno/pull/5413)
- feat: import multiple collections from a parent folder by @jayakrishnancn in [#5431](https://github.com/usebruno/bruno/pull/5431)
- feat: add draggable tabs component by @sid-bruno in [#5669](https://github.com/usebruno/bruno/pull/5669)
- feat: Enhance EnvironmentVariables component with read-only support for non-string values by @sanjaikumar-bruno in [#5616](https://github.com/usebruno/bruno/pull/5616)
- feat: adding req getTags methods by @james-ha-bruno in [#5690](https://github.com/usebruno/bruno/pull/5690)
- feat: use request directory as the destination for saving response by @andriyor in [#5699](https://github.com/usebruno/bruno/pull/5699)
- feat: support import paths for gRPC by @sanish-bruno in [#5573](https://github.com/usebruno/bruno/pull/5573)
- feat: enhance json environment file support in bruno-cli by @sanjaikumar-bruno in [#5660](https://github.com/usebruno/bruno/pull/5660)
- feat: add Rosetta detection for Apple Silicon by @barelyhuman in [#5717](https://github.com/usebruno/bruno/pull/5717)
- feat: add path based grouping for openapi by @pooja-bruno in [#5638](https://github.com/usebruno/bruno/pull/5638)
- feat(cli): ignore and skip invalid `.bru` file by @Pragadesh-45 in [#5711](https://github.com/usebruno/bruno/pull/5711)
- feat/editor custom search by @anusree-bruno in [#5278](https://github.com/usebruno/bruno/pull/5278)
- feat: add redirect and timeout in request settings by @pooja-bruno in [#5672](https://github.com/usebruno/bruno/pull/5672)
- feat: add transformDescription function to handle new description schema by @sanish-bruno in [#5744](https://github.com/usebruno/bruno/pull/5744)
- add: path based grouping in openapi import by @pooja-bruno
- add profile based authentication in AWS secret manager by @sreelakshmi-bruno

## Fixes
- fix: openapi request import by @pooja-bruno in [#5586](https://github.com/usebruno/bruno/pull/5586)
- fix: improve file upload handling in prepare-request to use streaming by @sanjaikumar-bruno in [#5637](https://github.com/usebruno/bruno/pull/5637)
- fix: Show active global environment in config modal by @pooja-bruno in [#5698](https://github.com/usebruno/bruno/pull/5698)
- fix(digest-auth): fix Digest Auth when no QOP is set by @pkolmann in [#5386](https://github.com/usebruno/bruno/pull/5386)
- fix: fixing tests using locale on numbers by @Skewnart in [#5733](https://github.com/usebruno/bruno/pull/5733)
- fix: filter out internal content-type headers for no body requests in axiosinstance by @sanjaikumar-bruno in [#5591](https://github.com/usebruno/bruno/pull/5591)
- fix: reimplement payload serialization for `x-www-form-encoded` by @barelyhuman in [#5713](https://github.com/usebruno/bruno/pull/5713)
- fix(bru-1928): bruno-cli oauth2 updates and fixes by @lohit-bruno in [#5729](https://github.com/usebruno/bruno/pull/5729)
- fix(bru-1939): oauth2 credentials not persisting across requests in the same collection run by @lohit-bruno in [#5730](https://github.com/usebruno/bruno/pull/5730)
- fix: remove menu from the About Bruno secondary window by @barelyhuman in [#5712](https://github.com/usebruno/bruno/pull/5712)
- fix: make environment name width flexible up to 650px and disable tooltip for short names by @bijin-bruno in [#5778](https://github.com/usebruno/bruno/pull/5778) [#5781](https://github.com/usebruno/bruno/pull/5781)
- fix: Enhance error log for OAuth2 when certificate error by @wbw1537 in [#5757](https://github.com/usebruno/bruno/pull/5757)
- fix: override normalizing on whitespace in markdown editor by @Pragadesh-45 in [#5754](https://github.com/usebruno/bruno/pull/5754)
- fix: newly created requests should be added within the directory context by @sanish-bruno in [#5784](https://github.com/usebruno/bruno/pull/5784) 

## Others
- Support for Odata style path params by @tester22 in [#5048](https://github.com/usebruno/bruno/pull/5048)
- tests: additional tests for path params and odata by @sid-bruno in [#5610](https://github.com/usebruno/bruno/pull/5610)
- chore: atomic diff based formatting by @barelyhuman in [#5592](https://github.com/usebruno/bruno/pull/5592)
- Refactor: Remove `normalizeNewlines` function and update tests to preserve newline types by @Pragadesh-45 in [#5697](https://github.com/usebruno/bruno/pull/5697)
- Enable gRPC (Beta to GA) by @sanish-bruno in [#5687](https://github.com/usebruno/bruno/pull/5687)
- chore(bru-1943): upgrade electron version to v37.6.1 by @lohit-bruno in [#5752](https://github.com/usebruno/bruno/pull/5752)
- chore(#1693): better comment explaining why bruno sets content-type header as false by @helloanoop in [#5765](https://github.com/usebruno/bruno/pull/5765)

## New Contributors
* @sid-bruno made their first contribution in https://github.com/usebruno/bruno/pull/5610
* @RudraPatel2003 made their first contribution in https://github.com/usebruno/bruno/pull/5416
* @maurisq12 made their first contribution in https://github.com/usebruno/bruno/pull/4492
* @roele made their first contribution in https://github.com/usebruno/bruno/pull/5413
* @jayakrishnancn made their first contribution in https://github.com/usebruno/bruno/pull/5431
* @james-ha-bruno made their first contribution in https://github.com/usebruno/bruno/pull/5690
* @andriyor made their first contribution in https://github.com/usebruno/bruno/pull/5699
* @pkolmann made their first contribution in https://github.com/usebruno/bruno/pull/5386
* @Skewnart made their first contribution in https://github.com/usebruno/bruno/pull/5733
* @wbw1537 made their first contribution in https://github.com/usebruno/bruno/pull/5757

**Full Changelog**: [v2.12.0...v2.13.0](https://github.com/usebruno/bruno/compare/v2.12.0...v2.13.0)