v3.3.0

potpie-ai/potpiev3.3.0Apr 22, 2026by bijin-bruno

AI Summary

Adds support for PAC files, gRPC proxy, OAuth 1.0, and revamps the Runner UI with new timing and filtering capabilities.

Key Highlights

  • Support for PAC file upload
  • gRPC proxy support
  • OAuth 1.0 authentication support
  • Revamped Runner UI with Timings and Filters sections

New Features

  • PAC file upload support
  • Send/Cancel buttons on request URL
  • gRPC proxy support
  • Basic annotation syntax support
  • Keybindings customisation
  • Direct cookie access methods
  • OAuth 1.0 authentication
  • GraphQL query builder
  • Persist window frames and widths
  • pkg installer support
  • Proxy and SSL certificate support for secret managers
  • Git collection URL in generated documentation
  • Telemetry improvements and trial user tracking
  • Github search and import for collections
  • Embedded workspace fetch support
  • Git UI controls (Stage, Commit, Push)
  • Bru visualize with handlebars support
  • .pkg installer for macOS

Full Release Notes

## Features
- feat: Support PAC file upload by @dbrglc and @Pragadesh-45 in [#7651](https://github.com/usebruno/bruno/pull/7651)
- feat: replace send button with Send/Cancel buttons on request url by @gopu-bruno in [#7675](https://github.com/usebruno/bruno/pull/7675)
- feat: add gRPC proxy support by @lohit-bruno in [#7575](https://github.com/usebruno/bruno/pull/7575)
- feat: basic annotation syntax support for lang by @sid-bruno in [#7609](https://github.com/usebruno/bruno/pull/7609)
- feat: keybindings customisation by @shubh-bruno in [#7603](https://github.com/usebruno/bruno/pull/7603)
- feat(cookies): add direct cookie access methods and update translations by @sanish-bruno in [#7073](https://github.com/usebruno/bruno/pull/7073)
- feat: revamp Runner UI with Timings and Filters sections by @gopu-bruno in [#7505](https://github.com/usebruno/bruno/pull/7505)
- feat: add `OAuth 1.0` authentication support by @lohit-bruno in [#7482](https://github.com/usebruno/bruno/pull/7482)
- feat: graphql query builder by @pooja-bruno in [#7468](https://github.com/usebruno/bruno/pull/7468)
- feat: persist window frames and widths by @shubh-bruno in [#7409](https://github.com/usebruno/bruno/pull/7409)
- feat: support for pkg installer by @shubh-bruno in [#7561](https://github.com/usebruno/bruno/pull/7561)
- feat: enhance ScriptError with source context and remove auto-commenting of untranslated pm commands by @sanish-bruno in [#7449](https://github.com/usebruno/bruno/pull/7449)
- feat(request-pane): restore body tab scroll position on tab switch by @Nizam-Chaudhary in [#7250](https://github.com/usebruno/bruno/pull/7250)
- feat: add `proxy` and `SSL certificate` support for `AWS, Azure, and Vault Cloud` secret managers by @lohit-bruno
- feat: include `git collection URL` in generated documentation by @lohit-bruno
- feat: improve telemetry and track trial users by @naman-bruno
- feat: Github search and import for collections by @Pragadesh44-Bruno
- feat: add support for embedded workspace fetch in bruno by @bijin-bruno
- feat: Surface Stage, Commit, Push in Git UI for free users with upgrade modal by @gopu-bruno
- feat: refine license activation error messages and SSL detection by @gopu-bruno
- feat: show Initialize Git control in collection header by @gopu-bruno
- feat: surface collection runner options and gate parameter component by @gopu-bruno
- feat: bru visualize with handlebars support by @sanish-bruno
- feat: .pkg installer for macos (nightly) builder by @shubh-bruno
- feat: include posthogDistinctId in trial license verification by @naman-bruno
- feat: introduce OpenAPI Sync beta feedback feature by @abhishek-bruno

## Fixes
- fix: fix scroll in querybar component by @naman-bruno in [#7700](https://github.com/usebruno/bruno/pull/7700)
- fix: timeline url race condition by @pooja-bruno in [#7154](https://github.com/usebruno/bruno/pull/7154)
- fix: resolve process.env variables in global environment level by @abhishek-bruno in [#7600](https://github.com/usebruno/bruno/pull/7600)
- fix: add uuid v7 support in pre-request scripts by @chirag-bruno in [#7377](https://github.com/usebruno/bruno/pull/7377)
- fix: validate environment variables in unsaved changes dialog by @chirag-bruno in [#7403](https://github.com/usebruno/bruno/pull/7403)
- fix: allow __Host- prefixed cookies to be stored via script API by @abhishek-bruno in [#7549](https://github.com/usebruno/bruno/pull/7549)
- fix: clear inherited DNS lookup for non-localhost URLs in redirect handling by @chirag-bruno in [#7426](https://github.com/usebruno/bruno/pull/7426)
- fix: graphql doc close button by @pooja-bruno in [#7667](https://github.com/usebruno/bruno/pull/7667)
- fix: sample collection creation race condition by @bijin-bruno in [#7665](https://github.com/usebruno/bruno/pull/7665)
- fix: close previous SSE connection before sending new request by @chirag-bruno in [#7474](https://github.com/usebruno/bruno/pull/7474)
- fix: support response query filtering in safe mode by @abhishek-bruno in [#7441](https://github.com/usebruno/bruno/pull/7441)
- fix: isJson assertion should accept arrays as valid JSON by @abhishek-bruno in [#7620](https://github.com/usebruno/bruno/pull/7620)
- fix: handle copy/paste item for requests & js file by @shubh-bruno in [#7656](https://github.com/usebruno/bruno/pull/7656)
- fix: add size and duration fields to CLI bru.runRequest() response by @chirag-bruno in [#7429](https://github.com/usebruno/bruno/pull/7429)
- fix: allow file selection in multipart form without entering a key first by @pooja-bruno in [#7640](https://github.com/usebruno/bruno/pull/7640)
- fix: prevent autoscroll cursor when middle-clicking to close tabs by @abhishek-bruno in [#7443](https://github.com/usebruno/bruno/pull/7443)
- fix: include examples when writing collection items in CLI OpenAPI import by @abhishek-bruno in [#7613](https://github.com/usebruno/bruno/pull/7613)
- fix: clear CodeMirror selection highlight on blur in inline editors by @abhishek-bruno in [#7619](https://github.com/usebruno/bruno/pull/7619)
- fix: forward cookies from 4XX/5XX responses in collection runner and CLI by @abhishek-bruno in [#7498](https://github.com/usebruno/bruno/pull/7498)
- fix(cli): handle non-array tags from bru parser to prevent crash by @abhishek-bruno in [#7631](https://github.com/usebruno/bruno/pull/7631)
- fix: handle non-array tags from bru parser to prevent crash by @abhishek-bruno in [#7616](https://github.com/usebruno/bruno/pull/7616)
- fix: cURL paste not updating request tab editors visually by @chirag-bruno in [#7610](https://github.com/usebruno/bruno/pull/7610)
- fix: autosave playwright test by @pooja-bruno in [#7641](https://github.com/usebruno/bruno/pull/7641)
- fix: prevent rerun flicker and fix runner configuration list order by @gopu-bruno in [#7639](https://github.com/usebruno/bruno/pull/7639)
- fix: refine dotenv serialization for special characters handling by @chirag-bruno in [#7592](https://github.com/usebruno/bruno/pull/7592)
- fix: 'axios' module not found locally by @sid-bruno in [#7638](https://github.com/usebruno/bruno/pull/7638)
- fix: folder docs edit button style by @pooja-bruno in [#7630](https://github.com/usebruno/bruno/pull/7630)
- fix: multipart form button alignment by @pooja-bruno in [#7629](https://github.com/usebruno/bruno/pull/7629)
- fix(dependencies): update fast-xml-parser to 5.5.7 and simple-git to … by @sid-bruno in [#7602](https://github.com/usebruno/bruno/pull/7602)
- fix: status & statusText swap by @shubh-bruno in [#7589](https://github.com/usebruno/bruno/pull/7589)
- fix: interpolate env variables in multipart-form file attachment paths by @abhishek-bruno in [#7595](https://github.com/usebruno/bruno/pull/7595)
- fix: coerce numeric header values to string during Postman collection import by @abhishek-bruno in [#7564](https://github.com/usebruno/bruno/pull/7564)
- fix: prevent Enter key from submitting form during autocomplete selection by @iyush05 in [#7221](https://github.com/usebruno/bruno/pull/7221)
- fix: prevent colons in OData datetime values from being parsed as path parameters by @abhishek-bruno in [#7388](https://github.com/usebruno/bruno/pull/7388)
- fix: preserve global environment color during script execution by @chirag-bruno in [#7427](https://github.com/usebruno/bruno/pull/7427)
- fix: resolve theme, overflow, and z-index bugs in Remove Collection modal by @chirag-bruno in [#7590](https://github.com/usebruno/bruno/pull/7590)
- fix: make documentation, folder docs and collection docs edit button … by @SahilShameerDev in [#7151](https://github.com/usebruno/bruno/pull/7151)
- fix: unmatched brackets invisible on dark themes by @abhishek-bruno in [#7596](https://github.com/usebruno/bruno/pull/7596)
- fix: multipart form upload icon visibility by @pooja-bruno in [#7571](https://github.com/usebruno/bruno/pull/7571)
- fix: prompt variable in URL path incorrectly parsed as query parameter by @pooja-bruno in [#7216](https://github.com/usebruno/bruno/pull/7216)
- fix: add the meta block to the object returned by transformFolderRoot… by @fantpmas in [#7582](https://github.com/usebruno/bruno/pull/7582)
- fix: cross-collection drag and drop tab and format issues by @chirag-bruno in [#7584](https://github.com/usebruno/bruno/pull/7584)
- fix: preserve folder/request ordering in Postman export by @abhishek-bruno in [#7581](https://github.com/usebruno/bruno/pull/7581)
- fix(theme): convert theme bg to hex for Electron backgroundColor by @abhishek-bruno in [#7569](https://github.com/usebruno/bruno/pull/7569)
- fix(import): resolve EEXIST error when importing OpenAPI collections with paths folder arrangement by @abhishek-bruno in [#7499](https://github.com/usebruno/bruno/pull/7499)
- fix: overlapping help text issue in Environment Variables by @statxc in [#7225](https://github.com/usebruno/bruno/pull/7225)
- fix: html report collapse for repeated requests by @pooja-bruno in [#7153](https://github.com/usebruno/bruno/pull/7153)
- fix: global search filter by active workspace by @pooja-bruno in [#7156](https://github.com/usebruno/bruno/pull/7156)
- fix: prevent white flash on startup with dark theme by @abhishek-bruno in [#7454](https://github.com/usebruno/bruno/pull/7454)
- fix: quote values containing hash (#) in .env file serialization by @chirag-bruno in [#7380](https://github.com/usebruno/bruno/pull/7380)
- fix: handle nested parentheses in URL link detection by @chirag-bruno in [#7406](https://github.com/usebruno/bruno/pull/7406)
- fix: convert non-string variable values to strings during postman import by @pooja-bruno in [#7476](https://github.com/usebruno/bruno/pull/7476)
- fix: add hasCookie hint to autocomplete suggestions for cookie management by @sanish-bruno in [#7516](https://github.com/usebruno/bruno/pull/7516)
- fix: enhance proxy configuration to support PAC mode by @Pragadesh44-Bruno
- fix: detect Electron crashes on app close in e2e tests by @chirag-bruno
- fix: cleanup git watchers on app quit by @bijin-bruno
- fix: OAuth1 tests on windows by @lohit-bruno
- fix: load AWS profiles when editing an existing secrets provider by @pooja-bruno
- fix: update export icon in ShareCollection by @naman-bruno
- fix: Git UI showing "Initialize Git" on detached HEAD by @prateek-bruno 

## Others
- perf: optimize DNS resolution to reduce request latency by @chirag-bruno in [#7664](https://github.com/usebruno/bruno/pull/7664)
- Add support for importing Swagger 2.0 specifications into Bruno collections by @gopu-bruno in [#7622](https://github.com/usebruno/bruno/pull/7622)
- refactor: update Bru constructor to accept a single options obj for improved readability by @sanish-bruno in [#7562](https://github.com/usebruno/bruno/pull/7562)
- chore: add in more react standards by @sid-bruno in [#7577](https://github.com/usebruno/bruno/pull/7577)
- remove activeEnvironmentUid and migration by @naman-bruno in [#7545](https://github.com/usebruno/bruno/pull/7545)
- Replace SpaceX external API with local graphql-yoga mock server by @sid-bruno in [#7471](https://github.com/usebruno/bruno/pull/7471)
- Revert "workspace renaming with path update" by @naman-bruno in [#7455](https://github.com/usebruno/bruno/pull/7455)
- Feature/more visibility close icon in multipart form data on collumn value by @Bobonimo111 in [#7341](https://github.com/usebruno/bruno/pull/7341)
- workspace renaming with path update by @naman-bruno in [#7437](https://github.com/usebruno/bruno/pull/7437)
- refactor: simplify GitHubDropdownTab and SearchResults components by @Pragadesh44-Bruno
- refactor: update toggle switch design by @naman-bruno
- chore: wait on shell before making license calls by @sid-bruno
- chore: sync shrinkwrap npm by @sid-bruno
- rm: expand collapse in collection settings by @pooja-bruno
- added playwright tests for `fetch in bruno` workspace by @sanish-bruno

## New Contributors
* @Nizam-Chaudhary made their first contribution in https://github.com/usebruno/bruno/pull/7250
* @Bobonimo111 made their first contribution in https://github.com/usebruno/bruno/pull/7341
* @bohat-y made their first contribution in https://github.com/usebruno/bruno/pull/7481
* @statxc made their first contribution in https://github.com/usebruno/bruno/pull/7225
* @iyush05 made their first contribution in https://github.com/usebruno/bruno/pull/7221

**Full Changelog:** https://github.com/usebruno/bruno/compare/v3.2.2...v3.3.0