v3.3.0
scottschiller/SoundManager2v3.3.0Apr 22, 2026by bijin-bruno
AI Summary
This release adds numerous features to the API client including PAC file upload, gRPC proxy support, OAuth 1.0, and a revamped Runner UI with Timings and Filters.
Key Highlights
- PAC file upload support
- gRPC proxy support
- OAuth 1.0 authentication support
- Revamped Runner UI with Timings and Filters sections
New Features
- GraphQL query builder
- Keybindings customisation
- Cookies direct access methods and translations
- Persist window frames and widths
- Pkg installer support
- OAuth 1.0 authentication support
- AWS, Azure, and Vault Cloud secret managers support
- Embedded workspace fetch support
- PosthogDistinctId in trial license verification
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