Skip to content

Release history

bruno releases

All releases

34 shown

No immediate action
v3.4.2 Bug fix

ui tab & api multipart fixes

No immediate action
v3.4.1 Bugfix

Event sync fix

No immediate action
v3.4.0 New feature

UI snapshots, PropertyList API, Git integration

v3.3.0 New feature
Notable features
  • Support PAC file upload for proxy configuration
  • Add `OAuth 1.0` authentication support
Full changelog

Features

  • feat: Support PAC file upload by @dbrglc and @Pragadesh-45 in #7651
  • feat: replace send button with Send/Cancel buttons on request url by @gopu-bruno in #7675
  • feat: add gRPC proxy support by @lohit-bruno in #7575
  • feat: basic annotation syntax support for lang by @sid-bruno in #7609
  • feat: keybindings customisation by @shubh-bruno in #7603
  • feat(cookies): add direct cookie access methods and update translations by @sanish-bruno in #7073
  • feat: revamp Runner UI with Timings and Filters sections by @gopu-bruno in #7505
  • feat: add OAuth 1.0 authentication support by @lohit-bruno in #7482
  • feat: graphql query builder by @pooja-bruno in #7468
  • feat: persist window frames and widths by @shubh-bruno in #7409
  • feat: support for pkg installer by @shubh-bruno in #7561
  • feat: enhance ScriptError with source context and remove auto-commenting of untranslated pm commands by @sanish-bruno in #7449
  • feat(request-pane): restore body tab scroll position on tab switch by @Nizam-Chaudhary in #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
  • fix: timeline url race condition by @pooja-bruno in #7154
  • fix: resolve process.env variables in global environment level by @abhishek-bruno in #7600
  • fix: add uuid v7 support in pre-request scripts by @chirag-bruno in #7377
  • fix: validate environment variables in unsaved changes dialog by @chirag-bruno in #7403
  • fix: allow __Host- prefixed cookies to be stored via script API by @abhishek-bruno in #7549
  • fix: clear inherited DNS lookup for non-localhost URLs in redirect handling by @chirag-bruno in #7426
  • fix: graphql doc close button by @pooja-bruno in #7667
  • fix: sample collection creation race condition by @bijin-bruno in #7665
  • fix: close previous SSE connection before sending new request by @chirag-bruno in #7474
  • fix: support response query filtering in safe mode by @abhishek-bruno in #7441
  • fix: isJson assertion should accept arrays as valid JSON by @abhishek-bruno in #7620
  • fix: handle copy/paste item for requests & js file by @shubh-bruno in #7656
  • fix: add size and duration fields to CLI bru.runRequest() response by @chirag-bruno in #7429
  • fix: allow file selection in multipart form without entering a key first by @pooja-bruno in #7640
  • fix: prevent autoscroll cursor when middle-clicking to close tabs by @abhishek-bruno in #7443
  • fix: include examples when writing collection items in CLI OpenAPI import by @abhishek-bruno in #7613
  • fix: clear CodeMirror selection highlight on blur in inline editors by @abhishek-bruno in #7619
  • fix: forward cookies from 4XX/5XX responses in collection runner and CLI by @abhishek-bruno in #7498
  • fix(cli): handle non-array tags from bru parser to prevent crash by @abhishek-bruno in #7631
  • fix: handle non-array tags from bru parser to prevent crash by @abhishek-bruno in #7616
  • fix: cURL paste not updating request tab editors visually by @chirag-bruno in #7610
  • fix: autosave playwright test by @pooja-bruno in #7641
  • fix: prevent rerun flicker and fix runner configuration list order by @gopu-bruno in #7639
  • fix: refine dotenv serialization for special characters handling by @chirag-bruno in #7592
  • fix: 'axios' module not found locally by @sid-bruno in #7638
  • fix: folder docs edit button style by @pooja-bruno in #7630
  • fix: multipart form button alignment by @pooja-bruno in #7629
  • fix(dependencies): update fast-xml-parser to 5.5.7 and simple-git to … by @sid-bruno in #7602
  • fix: status & statusText swap by @shubh-bruno in #7589
  • fix: interpolate env variables in multipart-form file attachment paths by @abhishek-bruno in #7595
  • fix: coerce numeric header values to string during Postman collection import by @abhishek-bruno in #7564
  • fix: prevent Enter key from submitting form during autocomplete selection by @iyush05 in #7221
  • fix: prevent colons in OData datetime values from being parsed as path parameters by @abhishek-bruno in #7388
  • fix: preserve global environment color during script execution by @chirag-bruno in #7427
  • fix: resolve theme, overflow, and z-index bugs in Remove Collection modal by @chirag-bruno in #7590
  • fix: make documentation, folder docs and collection docs edit button … by @SahilShameerDev in #7151
  • fix: unmatched brackets invisible on dark themes by @abhishek-bruno in #7596
  • fix: multipart form upload icon visibility by @pooja-bruno in #7571
  • fix: prompt variable in URL path incorrectly parsed as query parameter by @pooja-bruno in #7216
  • fix: add the meta block to the object returned by transformFolderRoot… by @fantpmas in #7582
  • fix: cross-collection drag and drop tab and format issues by @chirag-bruno in #7584
  • fix: preserve folder/request ordering in Postman export by @abhishek-bruno in #7581
  • fix(theme): convert theme bg to hex for Electron backgroundColor by @abhishek-bruno in #7569
  • fix(import): resolve EEXIST error when importing OpenAPI collections with paths folder arrangement by @abhishek-bruno in #7499
  • fix: overlapping help text issue in Environment Variables by @statxc in #7225
  • fix: html report collapse for repeated requests by @pooja-bruno in #7153
  • fix: global search filter by active workspace by @pooja-bruno in #7156
  • fix: prevent white flash on startup with dark theme by @abhishek-bruno in #7454
  • fix: quote values containing hash (#) in .env file serialization by @chirag-bruno in #7380
  • fix: handle nested parentheses in URL link detection by @chirag-bruno in #7406
  • fix: convert non-string variable values to strings during postman import by @pooja-bruno in #7476
  • fix: add hasCookie hint to autocomplete suggestions for cookie management by @sanish-bruno in #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
  • Add support for importing Swagger 2.0 specifications into Bruno collections by @gopu-bruno in #7622
  • refactor: update Bru constructor to accept a single options obj for improved readability by @sanish-bruno in #7562
  • chore: add in more react standards by @sid-bruno in #7577
  • remove activeEnvironmentUid and migration by @naman-bruno in #7545
  • Replace SpaceX external API with local graphql-yoga mock server by @sid-bruno in #7471
  • Revert "workspace renaming with path update" by @naman-bruno in #7455
  • Feature/more visibility close icon in multipart form data on collumn value by @Bobonimo111 in #7341
  • workspace renaming with path update by @naman-bruno in #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

v3.2.2 Security relevant
Security fixes
  • fix(security): sanitise HTML before being rendered in documentation blocks
Full changelog

Changelog

Fixes

  • fix: app crashes when closing the window by @chirag-bruno in #7637
  • fix: preserve user-defined boundary in multipart/mixed Content-Type header by @chirag-bruno in #7531
  • fix: preserve query params without values by not appending = sign by @pooja-bruno in #7567
  • fix: ensure string values within auth, add string header processing during postman collection imports by @sanish-bruno in #7646
  • fix: recreate HTTP/HTTPS agents on redirect to prevent stale agent reuse by @lohit-bruno in #7615
  • fix: re-apply secret masking after editor value changes by @abhishek-bruno in #7585
  • fix(security): sanitise HTML before being rendered in documentation blocks by @sid-bruno in #7598 - Credits to @andrejtomci and other anonymous contributors for bringing it up
  • fix: update system proxy fetching to use finally by @sid-bruno in #7652
  • fix: status & statusText swap by @shubh-bruno in #7589
  • fix: convert non-string variable values to strings during postman import by @pooja-bruno in #7476
  • fix: add conversion for non-string values within headers, params, etc during postman collection imports by @sanish-bruno in #7644

Others

  • security: fix all critical vulnerable dependency reports by @sid-bruno in #7645
  • chore: add a promise based wait group for the shell variables by @sid-bruno in #7647

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

v3.2.0 New feature
Notable features
  • Red status indicator for script errors in Request, Collection, and Folder Script tabs
  • Set map support for logging
  • ZIP file import for collections
Full changelog

Changelog

Features

  • feat: Red status indicator for script errors in Request, Collection, and Folder Script tabs by @Pragadesh-45 in #7035
  • feat: set map support for logging by @james-ha-bruno in #6043
  • feat: add ZIP file import for collections by @naman-bruno in #7063
  • feat: enhance translation capabilities for Bruno to Postman conversion by @sanish-bruno in #7052
  • feat: add translations for direct cookie access methods by @sanish-bruno in #7070
  • feat: enhance axios shim error handling and add comprehensive tests by @Pragadesh-45 in #6349
  • feat: support missing env apis by @sanish-bruno in #7069
  • feat: scratch requests by @chirag-bruno and @gopu-bruno in #7087
  • feat: move import collection from git url and spec url from enterprise edition to opensource by @abhishek-bruno in #7127
  • feat: remove headers from request using scripts by @shubh-bruno in #7122
  • feat: Object Variable Interpolation by @TheUnCola in #6317
  • feat: add some doc about variable usage by @simonaubertbd in #6443
  • feat: f2-rename-shortcut by @tobiasgjerstrup in #7077
  • feat: add reveal in file manager option to workspace collections menu by @datlechin in #6944
  • feat: refactor github workflow for tests by @bijin-bruno in #7252
  • feat: interface zoom control settings by @shubh-bruno in #7255
  • feat: add options to skip request and response bodies in reporter output by @abhishek-bruno in #7114
  • feat: change default collection location to default location by @gopu-bruno in #7291
  • feat: Support multipart/mixed by @Pragadesh-45 in #7155
  • feat: implement onboarding preferences and welcome modal for new users by @naman-bruno in #7319
  • feat: add tokenType support for OAuth2 by @lohit-bruno in #7314
  • feat: improve stack traces for script and test failures by @gopu-bruno in #7181
  • feat(sidebar): show "Add request" cta when collection or folder is empty by @gopu-bruno in #7273
  • feat: enhance API spec export with environment variables support by @abhishek-bruno in #7170
  • feat: inline create collection and workspace editor by @gopu-bruno in #7324
  • feat: openapi sync by @abhishek-bruno in #7279
  • feat: implement temporary workspace creation and confirmation flow by @naman-bruno in #7462
  • feat: integrate deferred loading for saving state in DotEnvFileEditor by @naman-bruno in #7463
  • feat: remove .bru reference in error message by @fantpmas in #7479
  • feat(bruno-js): add hasCookie function to cookie jar shim by @sanish-bruno in #7501
  • feat: gRPC - Unix Socket and Named Pipes by @chirag-bruno in #7021
  • feat: add custom mount path for Vault AppRole auth by @gopu-bruno
  • feat: add iteration data translations for Bruno and Postman by @sanish-bruno
  • feat: CLI release check skeleton job to workflow by @helloanoop
  • feat: add workspace-level git tab and restore collection toolbar features by @chirag-bruno
  • feat: add history logging for collection runner and fix interpolation in history url by @gopu-bruno
  • feat: enhance telemetry tracking for session and activation actions by @naman-bruno
  • feat: QOL additions to trial flow by @sid-bruno
  • feat: include environments in API spec export functionality by @abhishek-bruno
  • feat: welcome modal A/B testing by @naman-bruno
  • feat: openapi sync limit by @abhishek-bruno
  • feat: add periodic license re-verification to LicenseGuard by @naman-bruno
  • feat: enhance telemetry tracking for OpenAPI sync and git by @naman-bruno

Fixes

  • fix: add missing URL helper translations for Bruno to Postman export by @pooja-bruno in #7026
  • fix: preserve empty query param equal sign by @pooja-bruno in #7031
  • fix: runner results enhancement by @sanjaikumar-bruno in #7040
  • fix: code editor null value crash by @pooja-bruno in #7039
  • fix: close saved deleting collections by @chirag-bruno in #7048
  • fix: improve error message formatting by @chirag-bruno in #7059
  • fix: import tests by @naman-bruno in #7067
  • fix: header and var tooltip overflow by @pooja-bruno in #7082
  • fix: disable text-overflow ellipsis on checkbox column by @gopu-bruno in #7080
  • fix: openapi content level example by @pooja-bruno in #7091
  • fix(bruno-requests): mark node.js built-in modules as external in rollup config by @lohit-bruno in #7095
  • fix: improve value handling in editor components by @sid-bruno in #7098
  • fix: env color picker ui by @pooja-bruno in #7096
  • fix: improve environment variable comparison by stripping UIDs by @sid-bruno in #7100
  • fix: filter existing paths for apispec in workspace by @naman-bruno in #7104
  • fix: persist environment color on import/export by @pooja-bruno in #7045
  • fix: update codemirror bg for pastel light theme by @gopu-bruno in #7110
  • fix: pass app-level proxy config to bru.sendRequest by @lohit-bruno in #7113
  • fix: example response statusCode not persisted in yml file by @abhishek-bruno in #7117
  • fix(save-all): fix save all modified requests while closing the app by @bijin-bruno in #7118
  • fix: enhance tag handling and validation in collection import/export by @abhishek-bruno in #7107
  • fix(node-vm): scripting context and module resolution by @lohit-bruno in #7033
  • fix: graphQL variables interpolation consistency (UI and CLI) by @sanjaikumar-bruno in #7049
  • fix: multipart form-data file param export/import for Postman by @chirag-bruno in #7111
  • fix: cURL import NDJSON in request body as text by @shubh-bruno in #7002
  • fix: env draft loss on color change and rename by @pooja-bruno in #7130
  • fix: update header validation test to use triple-click for selecting all text by @bijin-bruno in #7140
  • fix: flaky tests - standardize save keyboard shortcut across tests by @bijin-bruno in #7141
  • fix: improve visual hierarchy of markdown headers in docs by @SahilShameerDev in #7145
  • fix: importing from openapi excludes documentation for requests by @NuageTompis in #6439
  • fix: incorrect response formatting when saving examples by @jokj624 in #6528
  • fix: sse response download button by @pooja-bruno in #7081
  • fix: parsing dates from insomnia by @egmen in #7003
  • fix: cookies not being set when follow redirect = false by @JeroenVinke in #6679
  • fix: collection scope undefined var by @pooja-bruno in #7211
  • fix: import ndjson-curl handling binary data check with type file or not by @shubh-bruno in #7210
  • fix: env var edit by @pooja-bruno in #7066
  • fix: incorrect translations by @sanish-bruno in #7214
  • fix: consistent button size on save requests modal by @bastiendmt in #7197
  • fix: oauth2 credential management improvements by @lohit-bruno in #7220
  • fix: load shell environment variables on app startup by @lohit-bruno in #7223
  • fix: call initializeShellEnv directly in app ready handler by @lohit-bruno in #7228
  • fix: updated error message for renaming requests under same parent entity by @shubh-bruno in #7010
  • fix: collection reorder not persisting after restart by @sanjaikumar-bruno in #7093
  • fix: openapi cli import by @pooja-bruno in #7028
  • fix: response viewer not updating when focused (read-only editors) by @sanjaikumar-bruno in #7218
  • fix: phone number faker function by @pooja-bruno in #7046
  • fix: skip null query parameters in Postman to Bruno conversion by @sanish-bruno in #7193
  • fix: default normalizeProxyUrl to http protocol for all proxy URLs by @lohit-bruno in #7285
  • fix: Environment Search Behavior, UI Updates, and Result Handling by @Pragadesh-45 in #7287
  • fix: storing status in example for yml file by @shubh-bruno in #6876
  • fix(graphql): handle invalid schemas gracefully in query editor by @chirag-bruno in #7269
  • fix(schema): support all Unicode letters in tag validation by @numsu in #7311
  • fix(batch-events): fix order of directory file and folder events by @sid-bruno in #7300
  • fix: tags validation error for openapi import for BRU and YAML compatibility by @shubh-bruno in #7294
  • fix: wrong workspace request shown after closing tab by @sanjaikumar-bruno in #7259
  • fix: Postman import compatibility for multipart form-data file params by @chirag-bruno in #7325
  • fix(oauth2): prevent false callback matches on root path URLs by @lohit-bruno in #7315
  • fix: ensure system proxy is initialized before use in network calls by @lohit-bruno in #7264
  • fix: allow user to delete default bruno headers in pre-request by @shubh-bruno in #7331
  • fix: file extension for clone and rename request by @pooja-bruno in #7278
  • fix: persistence of additional parameters using open-collection format by @xIceFox in #7296
  • fix: enable SSL session caching and HTTP agent reuse for faster consecutive requests by @kxbnb and @lohit-bruno in #6987
  • fix: prevent triggering rename action with modifier keys by @naman-bruno in #7322
  • fix: show '+ Add request' when only transient items exist by @gopu-bruno in #7361
  • fix: focus and text selection in workspace creation flow by @gopu-bruno in #7363
  • fix: use Title Case for default Untitled Collection and Untitled Workspace names by @gopu-bruno in #7389
  • fix: preserve existing process.env values in initializeShellEnv by @lohit-bruno in #7390
  • fix: update collection path handling to use path.join for consistency by @naman-bruno in #7394
  • fix: app crash error (Rendered fewer hooks than expected) by @sanish-bruno in #7407
  • fix: normalize paths when comparing workspace and redux collection paths on Windows by @chirag-bruno in #7436
  • fix: cookie wrapper callback mode returns never-resolving Promise by @lohit-bruno in #7442
  • fix: multipart header check by @pooja-bruno in #7444
  • fix(collection-watcher): prevent crash when deleting collections by @abhishek-bruno in #7470
  • fix: add missing scrollbar-color property by @bohat-y in #7481
  • fix(RequestTabPanel): update loading message for better user feedback by @chirag-bruno in #7492
  • fix: loading state for ZIP file import by @naman-bruno
  • fix: clear trial license on deactivation by @sid-bruno
  • fix: git commit details page not able scrollable to bottom by @gopu-bruno
  • fix: update visual diff handling and improve auth, body rendering by @naman-bruno
  • fix: cli duration summary by @pooja-bruno
  • fix: history tab layout rendering and ui distorted issues by @gopu-bruno
  • fix: correct report parsing in CLI combined environment tests by @abhishek-bruno
  • fix: postman zip import test by @bijin-bruno
  • fix: make history log scrollable to bottom with dev tools open by @gopu-bruno
  • fix: import collection workspace toast by @pooja-bruno
  • fix: use getOrCreateAgents in license and vault utils by @lohit-bruno
  • fix: reset trial used by @sid-bruno
  • fix: auto populate location when cloning git repo workspace by @gopu-bruno
  • fix: ensure preferences are decrypted before sending to renderer by @naman-bruno
  • fix: update workspace creation logic to exclude creating workspaces by @naman-bruno

Others

  • Enable encodeUrl setting to control URL encoding in generated snippets by @sanish-bruno in #7187
  • Make autocomplete work with substrings by @fantpmas in #5189
  • handle unsaved changes in dot env file editor by @naman-bruno in #7094
  • chore: update swagger-ui-react by @sanjaikumar-bruno in #7086
  • refactor: enhance gRPC methods loading with cache indication by @sanish-bruno in #7022
  • test: fix breaking tests by @sid-bruno in #7132
  • chore: fix flaky tests by @bijin-bruno in #7144
  • chore: fix flaky playwright tests by @bijin-bruno in #7159
  • chore(playwright): enhance playwright config to reduce flakiness by @bijin-bruno in #7174
  • chore: redux state to keep currently active script tab in state by @Joren-vanGoethem in #6947
  • Clear input after adding a tag by @K3UL in #7180
  • chore: fix tab selection by @bijin-bruno in #7260
  • perf: Improve search performance in code editor by @Its-treason in #6920
  • fix#6247: Interpolate dynamic variables in path param by @NikHillAgar in #6251
  • Force text/plain mimetype when copying request code by @austenadler in #7321
  • chore: copyright year to 2026 by @melroy89 in #7302
  • chore: update coderabbit instructions to make sure the code is os agnostic by @bijin-bruno in #7355
  • refactor: comment out unused APIs by @sanish-bruno in #7323
  • Mark test script errors as failed in runner by @KaranPradhan266 in #6261
  • Enhance error handling for script execution by introducing isScriptError flag in test results by @sanjaikumar-bruno in #7029
  • refactor: update path imports to use utils/common/path by @naman-bruno in #7440
  • refactor: simplify environment list actions and improve styling by @Pragadesh-45 in #7459
  • refactor: optimize debounced save functionality by @naman-bruno in #7495
  • refactor: improve OpenAPI spec export by combining duplicate status codes by @sanish-bruno
  • chore: fix copy-js playwright test by @bijin-bruno
  • chore: fix auto save playwright test by @bijin-bruno
  • chore(playwright): postman import test by @bijin-bruno
  • refactor: consolidate proxy/TLS agent logic into shared getPreferencesHttpHttpsAgents by @lohit-bruno
  • refactor: replace trial modal with workspace limit modal by @naman-bruno

New Contributors

  • @SahilShameerDev made their first contribution in https://github.com/usebruno/bruno/pull/7145
  • @NuageTompis made their first contribution in https://github.com/usebruno/bruno/pull/6439
  • @TheUnCola made their first contribution in https://github.com/usebruno/bruno/pull/6317
  • @simonaubertbd made their first contribution in https://github.com/usebruno/bruno/pull/6443
  • @egmen made their first contribution in https://github.com/usebruno/bruno/pull/7003
  • @Joren-vanGoethem made their first contribution in https://github.com/usebruno/bruno/pull/6947
  • @tobiasgjerstrup made their first contribution in https://github.com/usebruno/bruno/pull/7077
  • @bastiendmt made their first contribution in https://github.com/usebruno/bruno/pull/7197
  • @K3UL made their first contribution in https://github.com/usebruno/bruno/pull/7180
  • @rameshsunkara made their first contribution in https://github.com/usebruno/bruno/pull/7207
  • @datlechin made their first contribution in https://github.com/usebruno/bruno/pull/6944
  • @numsu made their first contribution in https://github.com/usebruno/bruno/pull/7311
  • @austenadler made their first contribution in https://github.com/usebruno/bruno/pull/7321
  • @melroy89 made their first contribution in https://github.com/usebruno/bruno/pull/7302
  • @xIceFox made their first contribution in https://github.com/usebruno/bruno/pull/7296
  • @bohat-y made their first contribution in https://github.com/usebruno/bruno/pull/7481

Full Changelog: https://github.com/usebruno/bruno/compare/v3.1.4...v3.2.0

v3.1.4 Bug fix

Fixed secret variables not loading on app relaunch.

Full changelog

Changelog

Fixes

  • fix: secret variables not loading on app relaunch by @naman-bruno in https://github.com/usebruno/bruno/pull/7283
  • fix: .env file not being picked up in collections (Windows) by @pooja-bruno in https://github.com/usebruno/bruno/pull/7190
  • fix: license key activation failing issue (Windows) by @sid-bruno
  • fix: request latency regression (Windows) by @naman-bruno

Full Changelog: https://github.com/usebruno/bruno/compare/v3.1.3....v3.1.4

v3.1.3 Bug fix

Fixed import options not showing up when clicking the `fetch in bruno` button.

Full changelog

Changelog

Fixes

  • fix: collection settings are missing after app restart by @naman-bruno in #7240
  • fix(cli): preserve request item type during import and fail on unsupported types by @rameshsunkara in #7207
  • fix: disable proxy in vault client by default by @lohit-bruno
  • fix: import options are not showing up upon clicking on fetch in bruno button by @sanjaikumar-bruno

Full Changelog: https://github.com/usebruno/bruno/compare/v3.1.2....v3.1.3

v3.1.2 Bug fix

Fixed JSON assertion failure after res.setBody() with object in node-vm.

Full changelog

Changlog

Fixes

  • fix: normalize Windows paths for cross-platform compatibility by @naman-bruno in #7185
  • fix: isJson assertion fails after res.setBody() with object in node-vm by @lohit-bruno in #7191
  • fix: YML-based collections not being detected when cloning Git repository by @naman-bruno

Full Changelog: https://github.com/usebruno/bruno/compare/v3.1.1....v3.1.2

v3.1.1 Bug fix

Fixed secret configuration loading for Git‑imported collections on Windows.

Full changelog

Changlog

Fixes

  • fix: update protobuf and import path handling in opencollection by @naman-bruno in #7166
  • fix: use cached system proxy and newer proxy config for license and secret managers by @lohit-bruno
  • fix: secret configuration not loading for Git-imported collections on Windows by @gopu-bruno
  • fix: allow proxy to make pinned cert checks by @sid-bruno

Full Changelog: https://github.com/usebruno/bruno/compare/v3.1.0....v3.1.1

v3.1.0 Breaking risk
Breaking changes
  • Removed `allowScriptFilesystemAccess` flag (requires updating any related configuration).
Full changelog

Changelog

Features

  • feat: add script to list changed packages by @sid-bruno in #6678
  • feat: add zoom controls to key mappings and update key display in preferences by @Pragadesh-45 in #6765
  • feat: apply modified dataBuffer to the response by @Pragadesh-45 in #6023
  • feat: add default .gitignore file creation in workspace and collection by @naman-bruno in #6778
  • feat: workspace .env file support by @naman-bruno in #6777
  • feat: Improve response content type detection and SVG handling by @abhishek-bruno in #6741
  • feat: autosave missing actions in middleware by @pooja-bruno in #6781
  • feat: show skipped requests with parsing errors in report by @sanjaikumar-bruno in #6780
  • feat: allow collection environment and environment file to be used together in run command by @abhishek-bruno in #6784
  • feat: implement translation utilities for converting Bruno scripts to pm format by @sanish-bruno in #6761
  • feat: add node-vault util functions by @lohit-bruno in #6796
  • feat: add support for interpolation on mockDataFunctions by @Pragadesh-45 in #6393
  • feat: Implement isSafeMode() API by @datag and @pooja-bruno in #5760
  • feat: enhance SaveRequestsModal to handle environment drafts by @naman-bruno in #6857
  • feat: add certs and proxy config for bruno-cli oauth2 requests by @lohit-bruno in #6423
  • feat: add user-agent support in gRPC client channel options by @sanish-bruno in #6808
  • feat: enhance OAuth2 support in snippet generation by @stupidly-logical in #6592
  • feat: js api supports get path params by @Skrivoo in #5235
  • feat: status indicator for pre and post request scripts by @Pragadesh-45 in #6865
  • feat: preferences as tab by @Pragadesh-45 and @anusree-bruno in #6786
  • feat: bruno app instances handling updates by @lohit-bruno in #6748
  • feat: add header validation by @pooja-bruno in #6859
  • feat: transient request by @chirag-bruno in #6878
  • feat: Environments color by @MathieuDreano, @sid-bruno, and @pooja-bruno in #6970
  • feat: add resizable columns to table by @pooja-bruno in #6843
  • feat: add search functionality to environment variables by @Pragadesh-45 in #6659
  • feat: add custom AppMenu component for windows & linux by @naman-bruno in #6934
  • feat: implement dynamic terminal theming based on app theme by @chirag-bruno in #6812
  • feat: support for additional context roots in opencollection by @naman-bruno in #6995
  • feat: add certs and proxy config to bru.sendRequest API by @lohit-bruno in #6988
  • feat: dotenv visual editor by @naman-bruno in #6964
  • feat: enhance ShareCollection component by @naman-bruno in #7016
  • feat: add ZIP file import for collections by @naman-bruno in #7063
  • feat: add nightly build configuration for Windows and update build scripts by @Pragadesh44-Bruno and @sid-bruno
  • feat: autosave for script files by @pooja-bruno
  • feat: enhance GitHubTab and UrlTab with error handling and form submission by @abhishek-bruno
  • feat: asymmetric keys by @sid-bruno
  • feat: git auto fetch by @chirag-bruno
  • feat: Improve secret variable masking for CLI env files by @abhishek-bruno
  • feat: enhance workspace tab management by adding missing permanent tabs by @sanjaikumar-bruno
  • feat: MSI autoupdate config internal by @sid-bruno
  • feat: visual git diff viewer by @naman-bruno
  • feat: git option in share modal by @naman-bruno
  • feat: filter out transient items in collection exports and requests by @chirag-bruno

Fixes

  • fix: Large Response Warning download button functionality by @gopu-bruno in #6695
  • fix: opencollection format registration on collection import by @naman-bruno in #6735
  • fix: update ResponseExampleUrlBar styles for better overflow handling by @abhishek-bruno in #6535
  • fix: seq becoming NaN when moving requests to collection root by @sanjaikumar-bruno in #6727
  • fix: ephemeral environment variables being saved to filesystem by @sanjaikumar-bruno in #6723
  • fix: Handle deleted environment variables in UI by @sanjaikumar-bruno in #6703
  • fix: import paths are not considered when refreshing methods within grpc by @sanish-bruno in #6726
  • fix: correct GitHub version badge URL in readme files by @anzz14 in #6772
  • fix: workspace name case mismatch by @abhishek-bruno in #6560
  • fix: update modal size in CreateEnvironment component from small to medium for consistency by @abhishek-bruno in #6791
  • fix: autosave for environment tabs and folder-level auth by @sanjaikumar-bruno in #6510
  • fix: move yup from peerDependencies to dependencies by @gopu-bruno in #6794
  • fix: handle optional clientSecret in OAuth2 authorization header by @abhishek-bruno in #6186
  • fix: websocket message scroll by @pooja-bruno in #6503
  • fix: env vars loading and switching using react-virtuoso by @shubh-bruno in #6790
  • fix: add compute key for virtual table by @sid-bruno in #6807
  • fix: response format auto-switch on content type change by @shubh-bruno in #6773
  • fix: rename requests double notifications by @shubh-bruno in #6677
  • fix: prevent URL marking within variable patterns in CodeMirror by @chirag-bruno in #6680
  • fix: timestamp tooltip message by @pooja-bruno in #6688
  • fix: resolve Load Request button error when loading large collection by @sreelakshmi-bruno in #6809
  • fix: basic Auth inheritance in code generation by @sanjaikumar-bruno in #6805
  • fix: resolve tab flickering when switching between requests by @gopu-bruno in #6825
  • fix: improve {{var}} detection using cursor-based brace matching by @shubh-bruno in #6691
  • fix: variables set via setVar should be interpolated only during runtime by @bijin-bruno in #6823
  • fix: cli proxy config updates by @lohit-bruno in #6846
  • fix: update clone collection location logic based on active workspace by @naman-bruno in #6841
  • fix: lag when moving Electron window (issue #5203) by @qweme32 in #6771
  • fix: prevent JS hint leak on Ctrl+Space and show allowed root hints by @Abhinandan-pixel in #6776
  • fix: get certs and proxy config based on oauth2 token and refresh urls instead of resource url by @lohit-bruno in #6164
  • fix: prevent response truncation in recursive collection runner by @gopu-bruno in #6862
  • fix: openapi query param import by @pooja-bruno in #6241
  • fix: autosave for global environments by @sanjaikumar-bruno in #6872
  • fix: Code Generation for Basic Auth by @sanjaikumar-bruno in #6814
  • fix(websocket): add API Key query params support and OAuth2 inheritance by @pooja-bruno in #6271
  • fix: update linting commands to use npx for better compatibility by @kanakkholwal in #6840
  • fix: disable editing runtime variable if key is same as collection by @shubh-bruno in #6835
  • fix: openapi spec with example values by @pooja-bruno in #6476
  • fix: duplicate toast when saving an example by @sanish-bruno in #6952
  • fix: path-param variable edit popup by @shubh-bruno in #6955
  • fix: ensure terminal gains focus upon opening in the console tab by @abhishek-bruno in #6951
  • fix: CLI Buffer handling in variable interpolation by @so-iwamoto in #6922
  • fix: prevent crash when reordering query params with empty name by @gopu-bruno in #6938
  • fix: system proxy resolver logic updates by @lohit-bruno in #6273
  • fix: async fns calls window.send after the window is destroyed by @sanish-bruno in #6747
  • fix: cURL auth import for digest and ntlm by @pooja-bruno in #6292
  • fix: refresh scopeInfo after variable save in tooltip editor by @pooja-bruno in #6935
  • fix: global environment flag for cli by @naman-bruno in #6969
  • fix: update certificate type handling in stringifyCollection function by @naman-bruno in #6986
  • fix: ensure app gains focus when restoring main window by @lohit-bruno in #6984
  • fix: cache system proxy by @lohit-bruno in #6990
  • fix: support multiline example names by @gopu-bruno in #6895
  • fix: support multiline descriptions in example blocks by @gopu-bruno in #6879
  • fix: restore cursor focus on save and show placeholder for empty cells by @pooja-bruno in #6795
  • fix: response pane actions for GQL requests by @shubh-bruno in #6911
  • fix: refocus search bar in code editor on Ctrl/Cmd + F by @shubh-bruno in #6980
  • fix: update sidebar item copy toast message by @gopu-bruno in #7011
  • fix: YML parsing and stringification to support post-response variables by @naman-bruno in #7009
  • fix: default format on import modal by @naman-bruno in #7017
  • fix: add missing URL helper translations for Bruno to Postman export by @pooja-bruno in #7026
  • fix: code editor null value crash by @pooja-bruno in #7039
  • fix: close saved deleting collections by @chirag-bruno in #7048
  • fix: improve error message formatting by @chirag-bruno in #7059
  • fix: handle tests while importing opencollection yml files by @naman-bruno in #7067
  • fix: header and var tooltip overflow by @pooja-bruno in #7082
  • fix: disable text-overflow ellipsis on checkbox column by @gopu-bruno in #7080
  • fix(bruno-requests): mark node.js built-in modules as external in rollup config by @lohit-bruno in #7095
  • fix: improve value handling in editor components by @sid-bruno in #7098
  • fix: improve environment variable comparison by stripping UIDs by @sid-bruno in #7100
  • fix: filter existing paths for apispec in workspace by @naman-bruno in #7104
  • fix: update codemirror bg for pastel light theme by @gopu-bruno in #7110
  • fix: example response statusCode not persisted in yml file by @abhishek-bruno in #7117
  • fix: fix save all modified requests while closing the app by @bijin-bruno in #7118
  • fix: enhance tag handling and validation in collection import/export by @abhishek-bruno in #7107
  • fix(node-vm): scripting context and module resolution by @lohit-bruno in #7033
  • fix: resolve 'unknown collection format' error in OpenAPI open in bruno import by @gopu-bruno
  • fix: on instead of once by @sid-bruno
  • fix: removed node-vault library, added certs and proxy support for bruno-cli node-vault by @lohit-bruno
  • fix: remove period validation from collection item names by @naman-bruno
  • fix: update collection location logic in import collection modals by @naman-bruno
  • fix: Requests with prompt variables stuck in running state by @sanjaikumar-bruno
  • fix: clear trial license on deactivation by @sid-bruno

Others

  • docs: Theme-dependent screenshots in README by @rreyn-bruno in #6738
  • Change home image in readme with v3 UI by @ganesh-bruno in #6699
  • improve: migration & default workspace handling by @naman-bruno in #6707
  • refactor: enhance GrpcRequestPane and GrpcResponsePane with ResponsiveTabs component by @abhishek-bruno in #6649
  • refactor: simplify HtmlPreview component by extracting render logic into a separate function by @abhishek-bruno in #6740
  • refactor: enhance tab management in ResponseExampleResponsePane component by @abhishek-bruno in #6655
  • refactor: enhance WSRequestPane and WSResponsePane with ResponsiveTabs component by @abhishek-bruno in #6650
  • remove allowScriptFilesystemAccess flag by @naman-bruno in #6834
  • chore: update qs package version to 6.14.1 by @sid-bruno in #6849
  • chore: update project dependencies by @sid-bruno in #6858
  • skip loading CA certificates when SSL verification is disabled by @sreelakshmi-bruno in #6829
  • Remove isLikelyText detection from detectContentTypeFromBuffer utility function by @abhishek-bruno in #6870
  • refactor: improve element interactions in preferences and fix playwright tests by @Pragadesh-45 in #6894
  • consistent string handling across parsers by @naman-bruno in #6866
  • chore: reduce flakiness when running parallel tests by @sid-bruno in #6848
  • chore: React coding standards in CODING_STANDARDS.md by @sid-bruno in #6962
  • docs(converters): Fix example code to await by @ToyHugs in #6960
  • chore: remove prettier configurations by @sid-bruno in #6967
  • ci: flaky test monitor by @sid-bruno in #7007
  • refactor: update opencollection extension for bruno by @naman-bruno in #7013
  • make yml default option by @naman-bruno in #6985
  • refactor: update input styles and modal size across components by @abhishek-bruno
  • chore: pin license server certs on setup by @sid-bruno
  • chore: modal size and browse link style in export dialog by @abhishek-bruno
  • Improve OpenAPI parameter handling and add tests by @abhishek-bruno
  • Enhance OpenAPI exporter and add comprehensive tests by @abhishek-bruno
  • Updated headers for preferences sections by @anusree-bruno

New Contributors

  • @anzz14 made their first contribution in #6772
  • @Abhinandan-pixel made their first contribution in #6776
  • @kanakkholwal made their first contribution in #6840
  • @ToyHugs made their first contribution in #6960
  • @so-iwamoto made their first contribution in #6992

Full Changelog: https://github.com/usebruno/bruno/compare/v3.0.2...v3.1.0

v3.0.2 Bug fix

Fixed query URL overflow pushing action buttons out of view.

Full changelog

Changelog

Fixes

  • refactor: improve tab state management in ResponsiveTabs component by @abhishek-bruno in #6687
  • fix: Query URL overflow pushes the action buttons outside view in gRPC and HTTP by @chirag-bruno in #6706
  • chore: minor url bar alignment fixes and refactor by @bijin-bruno in #6714
  • fix: allow normal paste behavior for non-cURL commands in QueryUrl component by @abhishek-bruno in #6718
  • fix: workspace already opened by @naman-bruno in #6721
  • refactor: remove HTML validation functions and simplify HtmlPreview component logic by @abhishek-bruno in #6730
  • fix: opencollection format registration on collection import by @naman-bruno in #6735

Full Changelog: https://github.com/usebruno/bruno/compare/v3.0.1...v3.0.2

v3.0.1 Bugfix

Fixed app failing to open on macOS x64/Intel systems.

Changelog

Resolved an issue causing the app to fail to open on macOS x64/Intel systems by @sid-bruno

v3.0.0 Breaking risk
Security fixes
  • CVE‑??: Fixes CWE‑347: Improper Verification of Cryptographic Signature (#6336) by @bijin-bruno
Notable features
  • Inbuilt Terminal (feat)
  • Workspace tabs (feat)
  • Export & import workspace as zip (feat)
Full changelog

Changelog

Fixes

  • fix: prevent double serialization of websocket text messages (#6173) by @Praveenkumar02023 in #6182
  • fix: inaccurate process metrics by @chirag-bruno in #6257
  • fix: WS and GRPC request not getting saved (opencollection) by @naman-bruno in #6267
  • fix: Exporting Bruno collection as Postman collection omits collection variables by @chirag-bruno in #6117
  • fix: match to full string by @sid-bruno in #6272
  • fix: WS variable interpolation by @chirag-bruno in #6184
  • fix: wrap script in async IIFE to create isolated scope by @sanish-bruno in #6229
  • fix: update content security policy to remove unsafe-inline by @sid-bruno in #6305
  • fix: clone collection by @naman-bruno in #6322
  • fix: traffic light styling on light mode by @naman-bruno in #6333
  • fix: path for newly added collection & remove option for outside collections by @naman-bruno in #6331
  • fix: CWE-347: Improper Verification of Cryptographic Signature by @bijin-bruno in #6336
  • fix: Folder-level configuration not applied when using "Configure requests to run" by @Pragadesh-45 in #6320
  • fix: Support @contentType for multiline values by @SrsDanny in #6217
  • fix: for 'Enter' key double submission issue by @james-ha-bruno in #6356
  • fix: update default state for advanced options and change default collection format by @abhishek-bruno in #6366
  • fix: Consistent multipart form handling and @contentType support in examples by @sanish-bruno in #6325
  • fix: gRPC oauth2 call is not taking ssl cert and proxy config by @sanish-bruno in #6313
  • fix: tag persistence tests by @sanish-bruno in #6384
  • fix: workspace env count & path issue by @naman-bruno in #6383
  • fix: refactor response examples to use MenuDropdown and Editable components by @sanish-bruno in #6382
  • fix: default workspace error checking by @naman-bruno in #6379
  • fix: Improved logic for determining right side expandability of Response Actions by @abhishek-bruno in #6398
  • fix: import modal logic by @naman-bruno in #6409
  • fix: bruno crash on request rename by @naman-bruno in #6410
  • fix: tabs z-index issue by @naman-bruno in #6411
  • fix: include request URL in prompt variable extraction by @Pragadesh-45 in #6412
  • fix: response pane optimizations by @abhishek-bruno in #6395
  • fix: openapi body import by @pooja-bruno in #6288
  • fix: Only update scroll position when unmounting the editor by @Its-treason in #6420
  • fix(playwright): interpolate request url with odata param by @bijin-bruno in #6428
  • fix: response pane size when devtool open by @pooja-bruno in #6380
  • fix: OpenAPI import fails when securitySchemes are not defined by @sanjaikumar-bruno in #6429
  • fix: close all collection in workspace by @naman-bruno in #6434
  • fix: app titlebar windows by @abhishek-bruno in #6437
  • fix: opencollection export as bruno json by @naman-bruno in #6444
  • fix: crash when saving empty GraphQL query in YAML collections by @sanjaikumar-bruno in #6453
  • fix: duplicate message on workspace rename and close by @naman-bruno in #6457
  • fix: unable to add assertions to a request by @sanish-bruno in #6435
  • fix: move gql variables prettify icon to a better position by @barelyhuman in #6455
  • fix: example icon color by @sanish-bruno in #6447
  • fix: export/import icons and styles by @naman-bruno in #6462
  • fix: updated the selected state colors of tabs in dev tools by @chirag-bruno in #6465
  • fix: Terminal Resize by @chirag-bruno in #6448
  • fix: reverted the easy creation flow to the old, modal based approach by @chirag-bruno in #6449
  • fix: auto-expand collapsed sidebar section when clicking action buttons by @pooja-bruno in #6468
  • fix: restrict keyboard event handling to modal elements only by @Pragadesh-45 in #6408
  • fix: var into tooltip for faker vars by @pooja-bruno in #6312
  • fix: refactor default tab selection logic for correct tab persistance by @abhishek-bruno in #6473
  • fix: copy response based on preview toggle and selected format by @pooja-bruno in #6436
  • fix: update selectedTab prop to use selectedViewTab by @abhishek-bruno in #6478
  • fix: run formatResponse execution on copy button click by @pooja-bruno in #6485
  • fix: JSON response examples being saved as [object Object] in YAML format by @sanjaikumar-bruno in #6488
  • fix: oauth2 url update by @lohit-bruno in #6489
  • fix: linux titlebar by @naman-bruno in #6483
  • fix: prevent double serialization of websocket text messages (#6173) by @Praveenkumar02023 in #6182
  • fix: handle additional context root paths for node-vm by @lohit-bruno in #6491
  • fix: update SensitiveFieldWarning prop name in WsseAuth component by @abhishek-bruno in #6492
  • fix: autosave by @pooja-bruno in #6392
  • fix: pasting request ito parent folder even if request is selected by @pooja-bruno in #6446
  • fix: initialize selected environment correctly to prevent flicker by @abhishek-bruno in #6536
  • fix: replace hardcoded yellow text color with theme brand color by @gopu-bruno in #6538
  • fix: update dropdown item text color to use theme text color by @abhishek-bruno in #6543
  • fix: unify hover and keyboard focus styles for collection component by @gopu-bruno in #6544
  • fix: default workspace docs by @naman-bruno in #6548
  • fix: error style for env & workspace rename by @naman-bruno in #6553
  • fix: update secret var alert icon to use danger text color by @gopu-bruno in #6562
  • fix: example tab not closing post delete, tab not found issue when i … by @sanish-bruno in #6561
  • fix: use generic error component, tab padding fixes by @sanish-bruno in #6563
  • fix: colors by @sanish-bruno in #6564
  • fix: oauth setup component colors by @sanish-bruno in #6565
  • fix: oauth checkbox, button styles by @sanish-bruno in #6572
  • fix: use themes within protobuf section by @sanish-bruno in #6575
  • fix: radios buttons to use primary color by @sanish-bruno in #6576
  • fix: cookie modal theme by @sanish-bruno in #6580
  • fix: Add New Request CTA alignment in tabs by @chirag-bruno in #6584
  • fix: oauth2 callback url field placeholder text update by @lohit-bruno in #6588
  • fix: auth panel UI updates by @gopu-bruno in #6590
  • fix: UI table border color by @gopu-bruno in #6597
  • fix: prefrence modal width by @pooja-bruno in #6595
  • fix: theme within grpc timeline by @sanish-bruno in #6581
  • fix: collection already opened in other workspace by @naman-bruno in #6574
  • fix: resolve request pane tooltip visibility issue by @gopu-bruno in #6615
  • fix: folder docs save button visibility issue by @gopu-bruno in #6617
  • fix: use theme styling within timeline by @sanish-bruno in #6604
  • fix: invalid collection in workspace by @naman-bruno in #6612
  • fix: update @opencollection/types to version 0.6.0 and refactor auth … by @helloanoop in #6619
  • fix(UX): fix sandbox selector options background color by @bijin-bruno in #6626
  • fix: toggle switch color by @pooja-bruno in #6627
  • fix: modal icon colors to match button colors by @sanjaikumar-bruno in #6624
  • fix: folder settings var panel table alignment by @gopu-bruno in #6631
  • fix: text size inconsistency in collection settings by @sanjaikumar-bruno in #6630
  • fix: add authmode selector within in graphql by @sanish-bruno in #6636
  • fix: file picker component overflow by @sanish-bruno in #6635
  • fix: tooltip styling by @sanish-bruno in #6632
  • fix: codeMirror error colors to respect theme by @sanjaikumar-bruno in #6633
  • fix: add a hard sequence in SSE and WS requests by @SW881 in #6569
  • fix: escape closing tags in generated docs by @naman-bruno in #6645
  • fix(ux): fix sidebar invisible for environments tab, grpc and ws by @bijin-bruno in #6648
  • fix: reverse sorting order for websocket messages by @sid-bruno in #6652
  • fix: update logic for checking formdata instances by @lohit-bruno in #6643
  • fix: lighten dark pastel theme modal background color by @bijin-bruno in #6653
  • fix: apply infoTip styling to CodeMirror tooltip by @gopu-bruno in #6658
  • fix: update hover background color in dark theme by @abhishek-bruno in #6666
  • fix: atomic write issue by @naman-bruno in #6664
  • fix: opencollection export as bruno json by @pooja-bruno
  • fix: api spec feature respect preference settings by @abhishek-bruno
  • fix: duplicate toast notifications and incorrect count in collection import by @sanjaikumar-bruno
  • fix: Git sidebar upgrade banner crash by @sanjaikumar-bruno
  • fix: format JSON responses in History tab by @sanjaikumar-bruno
  • fix: share button colors by @naman-bruno
  • fix: Change buttons in Trial UI to match v3 by @sid-bruno
  • fix: apply global checkbox styling in Run Collection Item by @gopu-bruno
  • fix: vault test by @lohit-bruno
  • fix(theme): file item name color by @bijin-bruno
  • fix: license input width by @pooja-bruno
  • fix: yml file save by @naman-bruno
  • fix: git UI theme by @chirag-bruno
  • fix: right align action items in git status bar by @gopu-bruno
  • fix: import collection modal theme by @chirag-bruno
  • fix: vault tests by @lohit-bruno
  • fix: improve secrets manager table styling with theme consistency by @gopu-bruno

Features

  • feat: autoSave by @srikary12 in #582
  • feat: add copy paste feature for folder by @pooja-bruno in #6097
  • feat: Inbuilt Terminal by @naman-bruno @chirag-bruno in #6066
  • feat: introduce REQUEST_TYPES constant and update item deletion logic by @abhishek-bruno in #6244
  • feat: Streamline gRPC requests to use right context by @Pragadesh-45 in #6308
  • feat: Include pre-request and post-response tests in JUnit reports by @sanjaikumar-bruno in #6284
  • feat: enhance collection settings with environment modals by @sanjaikumar-bruno in #6242
  • feat: Moved Workspace Selector to the Titlebar of the window. by @abhishek-bruno in #6319
  • feat: Increase visibility of text in Request tabs by @sanjaikumar-bruno in #6243
  • feat: changes to incorporate oc schema updates by @helloanoop in #6335
  • feat: apispec support by @naman-bruno in #6337
  • feat: add hideApiSpecPage dispatch by @naman-bruno in #6344
  • feat: design updates by @helloanoop in #6345
  • feat: integrate import/export modals and refactor environment handling by @naman-bruno in #6346
  • feat: toolbar design updates by @helloanoop in #6354
  • feat: Enabled ARM64 build for Windows. by @bpacholek in #6303
  • feat: add response data type selector in response viewer by @abhishek-bruno in #6100
  • feat: implement sidebar accordion sections by @abhishek-bruno in #6373
  • feat: response tabs rewamp by @abhishek-bruno in #6388
  • feat: add support for ssl cert in websockt by @pooja-bruno in #6286
  • feat: presets in collection setting by @pooja-bruno in #6389
  • feat: use default browser for oauth2 authorization bru-2167 by @lohit-bruno in #6101
  • feat: export & import of workspace as zip by @naman-bruno in #6432
  • feat: manage workspace by @naman-bruno in #6424
  • feat: Set JavaScript sandbox to safe mode by default for new collections by @pooja-bruno in #4824
  • feat: add hideResultTypeSelector prop to QueryResponse component by @abhishek-bruno in #6452
  • feat: workspace tabs by @naman-bruno in #6456
  • feat: opencollection actions by @helloanoop in #6460
  • feat: opencollection presets by @helloanoop in #6461
  • feat: design tweaks by @helloanoop in #6463
  • feat: file attribute to Junit testsuite report by @fantpmas in #6425
  • feat: enhance ResponsePane with persisted response format and view by @abhishek-bruno in #6475
  • feat: rename folder option while creating workspace by @naman-bruno in #6481
  • feat: button storybook by @helloanoop in #6498
  • feat: right-click context menu to request tabs with MenuDropdown # by @abhishek-bruno in #6502
  • feat: collection-level and app-level proxy settings updates by @lohit-bruno in #6514
  • feat: theme + ux overhaul by @helloanoop in #6520
  • feat: default dark mode theme tweaks by @helloanoop in #6531
  • feat: filetype for import collection by @naman-bruno in #6533
  • feat: dark mode input revamp by @helloanoop in #6546
  • feat: update theme selector in preferences modal by @bijin-bruno in #6550
  • feat: design updates by @helloanoop in #6551
  • feat: update primary colors in schema by @helloanoop in #6552
  • feat: enhance ThemeDropdown with keyboard navigation and improved layout by @abhishek-bruno in #6554
  • feat(sandbox): create a dropdown selector for sandbox mode by @bijin-bruno in #6519
  • feat: export info & remove unused component by @naman-bruno in #6547
  • feat: collection-docs by @naman-bruno in #6583
  • feat: beta tag for opencollection & fix create collection location behaviour by @naman-bruno in #6594
  • feat: improved dark mode color by @helloanoop in #6616
  • feat: update file picker by @sanish-bruno in #6614
  • feat: improve RunnerResults filter bar to use theme system by @sanjaikumar-bruno in #6613
  • feat: global env and workspace flag by @naman-bruno in #6534
  • feat: Add GitHub icon to status bar by @sanjaikumar-bruno in #6607
  • feat: use theme colors for Console method badges by @gopu-bruno in #6603
  • feat: enhance HttpMethodSelector to include caret indicator when creating new request by @helloanoop in #6620
  • feat(theme): update secondary button styles by @bijin-bruno in #6621
  • feat: update toast UI to match theme by @gopu-bruno in #6622
  • feat: v3 UI updates by @abhishek-bruno in #6618
  • feat: update "Show in Folder" label based on platform in ManageWorkspace, Collection, CollectionItem, and WorkspaceHome components by @abhishek-bruno in #6623
  • feat: integrate theme support in ImportCollection component by @chirag-bruno in #6639
  • feat: update @opencollection/types to version 0.7.0 and add demo image during docs generation by @helloanoop in #6651
  • feat: license and readme to bruno query package by @sreelakshmi-bruno in #6654
  • feat: add native select styling to global styles by @abhishek-bruno in #6660
  • feat: oc support for cli by @naman-bruno in #6661
  • feat: enhance ResponsePane with visualization support by @abhishek-bruno
  • feat: workspace git by @naman-bruno
  • feat: configure AutoUpdater for architecture-specific updates by @Pragadesh44-Bruno
  • feat: secret var in brunoVarInfo by @pooja-bruno
  • feat: copy paste for script by @pooja-bruno
  • feat: Implemented error message display in ImportWorkspace component for user feedback by @abhishek-bruno
  • feat: decoupled need for ee theme by @helloanoop
  • feat: file format for bulk import by @naman-bruno
  • feat: added error stack trace by @helloanoop
  • feat: Git UI - stash commits by @helloanoop
  • feat: Git UI - request git history by @helloanoop
  • feat: Git UI - commit compare by @helloanoop
  • feat: Git UI - commits revamp by @helloanoop
  • feat: Git UI home page revamp by @helloanoop @chirag-bruno

Others

  • remove: presets and response var by @pooja-bruno in #6195
  • added copy button in ResponsePane to copy response by @sha5git in #5409
  • added copy button to copy response by @pooja-bruno in #6131
  • fixed min width issue so two windows can be used in parallel by @tarun-bruno in #5863
  • chore: improve coderabbit review instructions by @barelyhuman in #6282
  • chore: content security policy to allow inline scripts by @barelyhuman in #6139
  • chore: repo-wide lint fixes by @bijin-bruno in #6300
  • init: workspaces by @naman-bruno in #6264
  • Auto scroll to show this item when its tab becomes active by @dssagar93 in #6080
  • revert: Re-add post response vars by @sid-bruno in #6307
  • chore: update ESLint configuration to ignore additional directories by @sanjaikumar-bruno in #6310
  • refactor: Rename runtime to runDuration by @sanjaikumar-bruno in #6323
  • chore: quotes rule for string in CODING_STANDARDS.md by @bijin-bruno in #6327
  • improve: tests by @naman-bruno in #6321
  • refactor: workspaces preference by @naman-bruno in #6343
  • refactor: update AppTitleBar and SidebarHeader components by @abhishek-bruno in #6341
  • improve: tabs design by @naman-bruno in #6363
  • chore: reduce ux conflicts with toasts in playwright by @bijin-bruno in #6367
  • redesign: workspace overview by @naman-bruno in #6361
  • chore: updated request tab padding by @helloanoop in #6368
  • Design improvements by @naman-bruno in #6372
  • workspace schema update by @naman-bruno in #6374
  • Improve tables design by @naman-bruno in #6330
  • Removed filtering of empty strings from url paths when importing from postman collection by @max-melhuish-depop in #5868
  • Enhance file watching by ensuring 'node_modules' and '.git' are always ignored by @sanish-bruno in #6391
  • Save cookies on redirect response by @JeroenVinke in #6094
  • refactor: dropdown components to use MenuDropdown for improved functionality and keyboard accessibility by @abhishek-bruno in #6404
  • perf: linkAware slow in large files by @chirag-bruno in #6422
  • Environment's as tabs by @naman-bruno in #6407
  • enhancement: ability to open terminal at the root of a workspace by @chirag-bruno in #6467
  • chore: have setup install all deps by @sid-bruno in #6421
  • refactor: update ResponsePane and QueryResultTypeSelector by @abhishek-bruno in #6490
  • refactor: centralize tab management by @abhishek-bruno in #6494
  • improve: workspace handling by @naman-bruno in #6495
  • chore: modal styles by @naman-bruno in #6487
  • export & import in opencollection format by @naman-bruno in #6329
  • use: button component by @naman-bruno in #6504
  • chore: playwright fix by @bijin-bruno in #6507
  • chore: update responsive tab's more icon by @bijin-bruno in #6509
  • refactor: replace button elements with new Button component by @sanjaikumar-bruno in #6512
  • chore: fix minor runtime warnings by @bijin-bruno in #6518
  • chore: reorder collection item menu option info by @bijin-bruno in #6524
  • refactor: simplify layout and styling in QueryUrl and HttpMethodSelector by @chirag-bruno in #6545
  • chore: minor layout fixes by @bijin-bruno in #6559
  • refactor: replace button elements with Button component for consistency by @abhishek-bruno in #6567
  • style: update checkbox styles and colors in RunConfigurationPanel for improved visibility by @abhishek-bruno in #6570
  • use themes within grpc by @sanish-bruno in #6568
  • style: enhance theme dropdown and security settings with improved styles and active indicators by @abhishek-bruno in #6582
  • style: enhance CodeMirror dropdown styles with theme integration by @abhishek-bruno in #6577
  • remove max height for keybinding table by @pooja-bruno in #6586
  • chore: update delete confirmation modals to use danger button color by @sanjaikumar-bruno in #6589
  • chore: OAuth2 section labels for improved consistency and readability by @gopu-bruno in #6598
  • refactor: improve theme handling in ThemeProvider for better responsiveness to system preferences by @abhishek-bruno in #6606
  • Improve delete collection in workspace overview by @naman-bruno in #6587
  • chore: CDN links for opencollection docs by @naman-bruno in #6628
  • refactor: update color references in OAuth2 components to use theme.primary.text for improved consistency by @abhishek-bruno in #6629
  • style: update text color classes and button hover effects in RunnerResults by @chirag-bruno in #6637
  • refactor: update Tabs component structure and theme colors by @abhishek-bruno in #6638
  • style: enhance syntax highlighting in GQL Docs and Doc Gen by @helloanoop in #6640
  • style: update color references to use theme.draftColor for unsaved changes across multiple components by @abhishek-bruno in #6641
  • chore: theme updates by @bijin-bruno in #6642
  • chore: adjust indent borders, table stripes, modal bg & tooltip bg by @bijin-bruno in #6646
  • added copy button in ResponsePane to copy response by @sha5git in #5409
  • pull strategy for basic git by @naman-bruno
  • git implementation by @naman-bruno
  • chore: preference option by @naman-bruno
  • chore: basic git design by @naman-bruno
  • chore: fix playwright test for copy paste js files by @bijin-bruno
  • refactor: replace old button styles with new Button component in modals by @sanjaikumar-bruno
  • chore: table border styling in RunnerResultWithParam by @gopu-bruno
  • chore: update buttons in runner by @sanjaikumar-bruno
  • chore: update runner results styling by @sanjaikumar-bruno
  • chore: update delete confirmation modals to use danger button color by @sanjaikumar-bruno
  • Enhance ConflictResolver styles and theme integration by @chirag-bruno
  • refactor: use button component in secrets management UI by @pooja-bruno
  • chore: save icon color to draft color in file editor by @bijin-bruno
  • chore: remove duplicate collection folder menu item by @bijin-bruno
  • refactor: update icon classes in SpecialTab component for consistency by @abhishek-bruno

New Contributors

  • @srikary12 made their first contribution in https://github.com/usebruno/bruno/pull/582
  • @sha5git made their first contribution in https://github.com/usebruno/bruno/pull/5409
  • @tarun-bruno made their first contribution in https://github.com/usebruno/bruno/pull/5863
  • @dssagar93 made their first contribution in https://github.com/usebruno/bruno/pull/6080
  • @SrsDanny made their first contribution in https://github.com/usebruno/bruno/pull/6217
  • @bpacholek made their first contribution in https://github.com/usebruno/bruno/pull/6303
  • @max-melhuish-depop made their first contribution in https://github.com/usebruno/bruno/pull/5868
  • @JeroenVinke made their first contribution in https://github.com/usebruno/bruno/pull/6094
  • @fantpmas made their first contribution in https://github.com/usebruno/bruno/pull/6425
  • @gopu-bruno made their first contribution in https://github.com/usebruno/bruno/pull/6538
  • @SW881 made their first contribution in https://github.com/usebruno/bruno/pull/6569
v2.15.1 Bug fix
Notable features
  • Removed deprecation warnings from post response vars in Collection, Folder, and RequestPane settings
Full changelog

Fixes

  • fix: variable value handling in the inline variable editor by @Pragadesh-45 in #6281
  • fix: request and response pane resize logic by @pooja-bruno in #6294
  • fix: sso login issue, user getting redirected to incorrect idp by @naman-bruno
  • fix: streamline gRPC requests to use right context by @Pragadesh-45 in #6308

Others

  • feat: remove deprecation warnings from post response vars in Collection, Folder, and RequestPane settings by @sanjaikumar-bruno in #6291
v2.15.0 Mixed
Security fixes
  • fix(security): prototype pollution vulnerability in js-yaml by @bijin-bruno (PR #6168)
Notable features
  • HTTP Streaming support
  • WebSocket variable interpolation
  • Collection test results filtering and UI revamp
Full changelog

Features

  • feat: Allow ctrl/cmd + click to open URLs present in codemirror by @abansal21 @chirag-bruno @sid-bruno in #5930
  • feat: add stop request button in api url bar by @adarshajit in #5993
  • feat: support newlines in params, and variables by @pooja-bruno in #5795
  • feat: edit variable in place by @pooja-bruno in #6069
  • feat: prompt save before collection close by @chirag-bruno in #6062
  • feat: user prompt variables by @rbonestell @bijin-bruno in #6104
  • feat: add variable interpolation support for WebSocket requests by @chirag-bruno in #6064
  • feat: HTTP Streaming by @davirxavier @sid-bruno in #6074
  • feat: collection test results and filtering by @morgan-se @sid-bruno in #6070
  • feat: support v1 reflection for grpc server reflection by @sanish-bruno in #5653
  • feat: Add tabs component for pre-request and post-response scripts by @pooja-bruno in #5926
  • feat: encapsulate tab boundaries into a hook for managing pane dimensions by @barelyhuman in #5878
  • feat: close all collections at once by @Kwaadpepper @sanjaikumar-bruno in #5994
  • feat: test runner ui revamp by @chirag-bruno in #6011
  • feat: mask secret values from --env-var flags in CLI reports by @sanjaikumar-bruno
  • feat: ultimate edition self serve trials by @sid-bruno

Fixes

  • fix: modify bruno to postman converter to include tests in event section by @abhishek-bruno in #6051
  • fix: update json request and response formatting logic by @lohit-bruno in #6079
  • fix: handle escaped forward slashes by fast-json-format library upgrade by @lohit-bruno in #6075
  • fix: curl import fails for custom content-types by @dawidgora in #6083
  • fix: import multiple types of example formats from openapi by @sanish-bruno in #6039
  • fix: update result structure to use 'name' instead of 'suitename' in JUnit output by @abhishek-bruno in #6120
  • fix: environment display in HTML report by @sanjaikumar-bruno in #6055
  • fix: prevent import failure for Postman collections with missing responses by @pooja-bruno in #6129
  • fix: push event only if exec has content by @Pragadesh-45 in #6121
  • fix: sync bruno to postman converter with enterprise edition by @bijin-bruno in #6162
  • fix: reduce font size of tab test by @pooja-bruno in #6169
  • fix(security): prototype pollution vulnerability in js-yaml by @bijin-bruno in #6168
  • fix: Add Error constructors to NodeVM context to fix jsonwebtoken test failures by @chirag-bruno in #6209
  • fix: grpc messages vanishes after save if the body contains variables by @sanish-bruno in #6216
  • fix: fetching reflection adds draft state in gRPC by @sanish-bruno in #6218
  • fix: Enhance Request Item sequencing by @Skewnart @abhishek-bruno in #5975
  • fix: hashicorp error message by @ganesh-bruno
  • fix: improve runner results ui layout and fix autoscroll behaviour by @chirag-bruno

Others

  • chore: refactor bruno to postman converter by @bijin-bruno in #6162
  • test: Add test for restoring duplicate hashes in patternHasher by @barelyhuman in #6071
  • add: tests for grpc requests by @sanish-bruno in #5800
  • refactor: update deprecation messages for Presets and Post Response Vars by @sanjaikumar-bruno in #6230
  • add: coderabbit integration by @sid-bruno in #6141
  • add: draft for collection and folder settings by @pooja-bruno in #5947
  • refactor: update runner tests to use new filter implementation and reusable helpers by @chirag-bruno in #6085
  • move: import setting into import collection modal by @pooja-bruno in #5929
  • feat: Add deprecation warnings for Presets and Post Response Vars by @sanjaikumar-bruno in #6212
  • feat: combine Import Summary & Settings by @pooja-bruno

New Contributors

  • @morgan-se made their first contribution in https://github.com/usebruno/bruno/pull/3808
  • @davirxavier made their first contribution in https://github.com/usebruno/bruno/pull/4472
  • @sajadoncode made their first contribution in https://github.com/usebruno/bruno/pull/6027
  • @adarshajit made their first contribution in https://github.com/usebruno/bruno/pull/5993
  • @dawidgora made their first contribution in https://github.com/usebruno/bruno/pull/6083

Full Changelog: https://github.com/usebruno/bruno/compare/v2.14.2...v2.15.0

v2.14.2 Bug fix

Fixed JSON body prettify issues.

Full changelog

Fixes

  • fix: replace regex with replaceAll for secure string replace by @barelyhuman https://github.com/usebruno/bruno/pull/6071
  • fix JSON body prettify issues by @lohit-bruno https://github.com/usebruno/bruno/pull/6079

Full Changelog: https://github.com/usebruno/bruno/compare/v2.14.1...v2.14.2

v2.14.1 Breaking risk

Fixed URL validation for code generator, Unicode rendering issues, and unintended removal of request tags when clicking.

Full changelog

Fixes

  • fix: URL validation for code generator by @barelyhuman #6054
  • fix: render unicodes by fast-json-format library upgrade by @lohit-bruno in #6053
  • fix: request tags get removed upon clicking anywhere on the tag #6042

Full Changelog: https://github.com/usebruno/bruno/compare/v2.14.0...v2.14.1

v2.14.0 New feature
Notable features
  • Visual indicator for GQL requests
  • Process.env variable support in GraphQL introspection
  • Copy and paste functionality for requests
Full changelog

Features

  • feat: add visual indicator for GQL requests by @mheidinger in #5679
  • feat: add process.env variable support to GraphQL introspection by @anusree-bruno in #5008
  • feat: add API Key auth in code generator by @naman-bruno in #4279
  • feat: add bru.utils.minifyXml and bru.utils.minifyJson by @0x416c6578 in #5809
  • feat: add copy and paste functionality for requests by @pooja-bruno in #5907
  • feat: Import Insomnia environments by @sanjaikumar-bruno in #5716
  • feat: enhance environment variable persistence handling by @sanjaikumar-bruno in #5783
  • feat: fuzzy search for grpc methods list by @abhishek-bruno in #5940
  • feat: import and export functionality for collection and global environments by @lohit-bruno in #5910
  • feat: response examples by @sanish-bruno in #5936
  • feat: Import WSDL to collection by @tester22 in #5015
  • feat: add for vault auth mode by @pooja-bruno
  • feat: import postman/insomnia urls functionality added by @abhishek-bruno

Fixes

  • fix: resolve global env variable becoming undefined on script execution by @abhishek-bruno in #5816
  • feat: Optimize MaskedEditor Performance and Simplify Masking Logic by @Pragadesh-45 in #5748
  • fix: saving url in response pane by @BlakeGuilloud in #5829
  • fix: prettify JSON with variables by @usuhayaa and @lohit-bruno in #5113 and #6038
  • fix: show dot on used preset setting by @josbiz in #5164
  • fix: dot on unused proxy settings by @josbiz in #5163
  • fix: grpc timeline crash by @sanish-bruno in #5999
  • fix: High CPU due to WMI queries by @naman-bruno in #5924
  • fix: crash on viewing large responses by @naman-bruno in #5647
  • fix: Error importing curl with no space in header by @TanishqSingla in #5897
  • Fix/client cert passphrase issues by @abhishek-bruno in #5898
  • fix: restore text selection and copy in read-only CodeEditor - Issue #5982 by @drchiodo in #5983
  • fix: improve URL validation in GenerateCodeItem by @barelyhuman in #5998
  • fix: handle options prop defaults for req body apis in safe mode by @lohit-bruno in #6001
  • fix: ensure protocolVersion is a number in WebSocket options by @barelyhuman in #6013
  • fix: support bin header in gRPC by @jporsay @sanish-bruno in #5869
  • fix: handle options in getBody for QuickJS VM by @anusree-bruno in #4614
  • fix: process uptime in dev tools by @aquacash5 in #5961
  • fix: import environment functionality validations and fixes by @lohit-bruno in #5964
  • fix: issue with saving Auth mode by @pooja-bruno in #4708
  • fix: added option to revert changes by @anusree-bruno in #4503
  • fix: moved custom search to components folder by @anusree-bruno in #5750
  • fix: added jsonwebtoken as inbuilt library by @anusree-bruno in #5535
  • fix: Fix the space encoding issue by @vipin-sundar in #4478
  • fix: incorrect space encode by @chirag-bruno in #5870
  • fix: Generate Code does urlencoding twice by @sid-bruno in #5881
  • fix: recursive interpolation of dynamic variable by @chirag-bruno in #5900
  • fix: export folder and collection level scripts by @abhishek-bruno in #5942
  • fix: safe serialise TypedArrays to avoid loosing constructor information by @barelyhuman in #5941
  • fix: Multi sub protocol support for web sockets by @barelyhuman in #5903
  • fix: Azure CLI not accessible when app launched from Finder on macOS by @pooja-bruno
  • fix: update $PATH command by @lohit-bruno
  • fix: vault secrets manager certs and proxy fixes by @lohit-bruno
  • fix: add defaults for params and headers request prop by @lohit-bruno

Others

  • feat(common): add patternHasher utility for hashing and restoring string from special characters by @sid-bruno in #6032
  • tests: add tests for URN parsing by @Pragadesh-45 in #5819
  • tests: added tests for replacing invalid variable characters in Postman collection Env by @sanjaikumar-bruno in #4634
  • tests: playwright tests for create request with http, gRPC, ws, graphql by @sanish-bruno @abhishek-bruno in #5952
  • tests: Change how test runner handles pageWithUserData tests by @sid-bruno in #5922
  • tests: refactor request creation location checks in a collection by @bijin-bruno in #5958
  • docs: update readme_cn.md by @ZieglerZhu in #4747
  • docs: add arch linux install to readme by @bupd in #4569
  • docs: Update readme.md by @kosarinin in #5883
  • tests: flaky large response test and update app preferences for few tests by @bijin-bruno in #5963
  • tests: update test URLs having httpbin. Add redirect chain endpoint to test server by @abhishek-bruno in #5989
  • tests: revert increasing playwright worker count by @bijin-bruno in #5906
  • fix: incomplete tests by @barelyhuman in #5824

New Contributors

  • @abhishek-bruno made their first contribution in https://github.com/usebruno/bruno/pull/5816
  • @BlakeGuilloud made their first contribution in https://github.com/usebruno/bruno/pull/5829
  • @ZieglerZhu made their first contribution in https://github.com/usebruno/bruno/pull/4747
  • @usuhayaa made their first contribution in https://github.com/usebruno/bruno/pull/5113
  • @0x416c6578 made their first contribution in https://github.com/usebruno/bruno/pull/5809
  • @bupd made their first contribution in https://github.com/usebruno/bruno/pull/4569
  • @vipin-sundar made their first contribution in https://github.com/usebruno/bruno/pull/4478
  • @kosarinin made their first contribution in https://github.com/usebruno/bruno/pull/5883
  • @TanishqSingla made their first contribution in https://github.com/usebruno/bruno/pull/5897
  • @aquacash5 made their first contribution in https://github.com/usebruno/bruno/pull/5961
  • @drchiodo made their first contribution in https://github.com/usebruno/bruno/pull/5983

Full Changelog: https://github.com/usebruno/bruno/compare/v2.13.2...v2.14.0

v2.13.2 Bug fix

Fixed form-urlencoded payload type checks, URL parameter parsing, and preserved original casing in WebSocket URLs.

Full changelog

Fixes

  • fix: harden type checks for buildFormUrlEncodedPayload by @barelyhuman #5811
  • fix: enhance URL parameter parsing and interpolation logic by @Pragadesh-45 in #5812
  • fix: form-urlencoded logic updates by @lohit-bruno in #5820
  • fix: preserve original casing in websocket URL by @sid-bruno in #5822

Full Changelog: v2.13.1...v2.13.2

v2.13.1 Bug fix

Fixed duplicate gRPC requests and removed redundant ipcRenderer ready invocation.

Full changelog

Fixes

  • fix: duplicate gRPC requests by @sanish-bruno in #5793
  • fix: remove redundant ipcRenderer ready invocation by @barelyhuman in #5799

Full Changelog: v2.13.0...v2.13.1

v2.13.0 New feature
Notable features
  • WebSocket integration in the core Bruno client
  • File body mode for bruno-cli
  • Default collection location setting
Full changelog

Features

  • feat: Websocket Support by @barelyhuman in #5480
  • feat: add support for file body mode in bruno-cli by @pooja-bruno in #5427
  • feat: default location for collections by @Pragadesh-45 in #5557
  • feat: Add button to copy environment variable from popover by @RudraPatel2003 in #5416
  • Feature: Add collapse full collection feature by @maurisq12 in #4492
  • add: system monitor by @naman-bruno in #5635
  • feat: make tabs reorderable by @roele in #5413
  • feat: import multiple collections from a parent folder by @jayakrishnancn in #5431
  • feat: add draggable tabs component by @sid-bruno in #5669
  • feat: Enhance EnvironmentVariables component with read-only support for non-string values by @sanjaikumar-bruno in #5616
  • feat: adding req getTags methods by @james-ha-bruno in #5690
  • feat: use request directory as the destination for saving response by @andriyor in #5699
  • feat: support import paths for gRPC by @sanish-bruno in #5573
  • feat: enhance json environment file support in bruno-cli by @sanjaikumar-bruno in #5660
  • feat: add Rosetta detection for Apple Silicon by @barelyhuman in #5717
  • feat: add path based grouping for openapi by @pooja-bruno in #5638
  • feat(cli): ignore and skip invalid .bru file by @Pragadesh-45 in #5711
  • feat/editor custom search by @anusree-bruno in #5278
  • feat: add redirect and timeout in request settings by @pooja-bruno in #5672
  • feat: add transformDescription function to handle new description schema by @sanish-bruno in #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
  • fix: improve file upload handling in prepare-request to use streaming by @sanjaikumar-bruno in #5637
  • fix: Show active global environment in config modal by @pooja-bruno in #5698
  • fix(digest-auth): fix Digest Auth when no QOP is set by @pkolmann in #5386
  • fix: fixing tests using locale on numbers by @Skewnart in #5733
  • fix: filter out internal content-type headers for no body requests in axiosinstance by @sanjaikumar-bruno in #5591
  • fix: reimplement payload serialization for x-www-form-encoded by @barelyhuman in #5713
  • fix(bru-1928): bruno-cli oauth2 updates and fixes by @lohit-bruno in #5729
  • fix(bru-1939): oauth2 credentials not persisting across requests in the same collection run by @lohit-bruno in #5730
  • fix: remove menu from the About Bruno secondary window by @barelyhuman in #5712
  • fix: make environment name width flexible up to 650px and disable tooltip for short names by @bijin-bruno in #5778 #5781
  • fix: Enhance error log for OAuth2 when certificate error by @wbw1537 in #5757
  • fix: override normalizing on whitespace in markdown editor by @Pragadesh-45 in #5754
  • fix: newly created requests should be added within the directory context by @sanish-bruno in #5784

Others

  • Support for Odata style path params by @tester22 in #5048
  • tests: additional tests for path params and odata by @sid-bruno in #5610
  • chore: atomic diff based formatting by @barelyhuman in #5592
  • Refactor: Remove normalizeNewlines function and update tests to preserve newline types by @Pragadesh-45 in #5697
  • Enable gRPC (Beta to GA) by @sanish-bruno in #5687
  • chore(bru-1943): upgrade electron version to v37.6.1 by @lohit-bruno in #5752
  • chore(#1693): better comment explaining why bruno sets content-type header as false by @helloanoop in #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

v2.12.0 Breaking risk
Notable features
  • Moving requests cross collection
  • Collection and global env selector dropdown
  • New import UI
Full changelog

Features

  • feat: moving requests cross collection by @jayakrishnancn @sanish-bruno in #5525
  • feat: Add default sample collection on first app launch by @sanjaikumar-bruno in #5536
  • feat: collection and global env selector dropdown by @pooja-bruno in #5542
  • feat: new import ui by @pooja-bruno

Fixes

  • fix: tags removed while moving request by @sanish-bruno in #5526
  • fix(electron): avoid double encoding urls params. Fixes #5380. by @barelyhuman in #5507
  • fix crypto-js in safe mode by @lohit-bruno in #5566
  • fix: environment list scroll by @pooja-bruno in #5585
  • fix: env name overflow by @pooja-bruno in #5598
  • fix: Replace SingleLineEditor with MultiLineEditor in EnvironmentVariables components and add masking functionality by @Pragadesh-45 in #5576
  • fix: Add null safety checks in GlobalSearchModal by @pooja-bruno #5625
  • fix: add xdg-portal version override for Linux by @Pragadesh-45 #5618
  • fix e2e tests by @lohit-bruno
  • fix: git url validation by @pooja-bruno

Others

  • add end-to-end tests for collection run reports by @sanjaikumar-bruno in #5562
  • Update digest authentication test cases with new URLs and credentials by @helloanoop in #5531

New Contributors

  • @jayakrishnancn made their first contribution in #5525
v2.11.0 Bug fix
Notable features
  • Bulk and URL import support
  • Masking secret values in downloaded reports
  • Persist response body scroll position across tabs
Full changelog

Features

  • Add: Bulk and url import support by @pooja-bruno
  • Feat: Masking secret values within downloaded reports by @sanjaikumar-bruno
  • Feat: Persist response body scroll position across tabs by @terminal-overflow in #3902
  • Feat: New import modal by @pooja-bruno in #5050
  • Include oauth2 additional parameters in bruno collection exports by @lohit-bruno in #5422
  • Change landing page of Bruno by @ganesh-bruno in #5436
  • Feat: Add WSSE authentication support to gRPC requests by @sanish-bruno in #5455
  • Feat: Custom HTTP method by @sanjaikumar-bruno in #4841
  • Add: Global search modal by @pooja-bruno in #5400
  • Feat: Adding metadata to report by @sreelakshmi-bruno in #5360

Fixes

  • Fix: Github scripts tests by @lohit-bruno
  • Fix: Collection runner download - add missing fs lib import by @lohit-bruno
  • Fix: Skip disables secrets from azure secret fetch by @pooja-bruno
  • Fix: Show request body in devtools #5336 by @tlaloc911 in #5337
  • Fix: Large response crash bruno by @naman-bruno in #5385
  • Fix: Environment persistence and UI by @sanjaikumar-bruno in #5404
  • Fix: Incorrectly counts running/in-progress requests by @jokj624 in #5253
  • Fix: Resolve URL and search string for proper handling in digest auth interceptor by @Pragadesh-45 in #5317
  • Fix: Store redirect cookies under initial request domain by @pooja-bruno in #5387
  • Fix: Unable to set request bodies with colon characters in their names by @pietrygamat in #3178
  • Fix: Openapi auth import in bruno by @pooja-bruno in #5354
  • Fix: GraphQL documentation theme by @notKvS in #5435
  • Fix(Curl-parser): Curl commands with url without protocol by @bijin-bruno in #5453
  • Fix(Apt): Ensure Bruno repo key is world-readable on Debian 12+ by @Pragadesh-45 in #5474
  • Fix: Bruno GUI hangs on 308 redirect by @naman-bruno in #5445
  • Bugfix/Global shortcut unfocused by @bernborgess in #5490
  • Fix: Add z-index to CodeMirror hint box by @josbiz in #5459
  • Fix: Remove use of globalShortcut for minimize/hide to avoid hijacking system shortcuts by @Pragadesh-45 in #5458
  • Fix: Ca certs fixes and tests by @lohit-bruno in #5429

Others

  • Update: Paid modal language by @rreyn-bruno
  • Rename: Golden edition to features in preference in modal by @pooja-bruno
  • Added dev utils and remove chrome console by @ganesh-bruno
  • Moved e2e import tests to the tests folder by @lohit-bruno
  • Chore: Electron builder updates by @lohit-bruno in #5425
  • Chore: Eslint updates and fixes by @lohit-bruno in #5402
  • Update: Readme.md installation instructions via Apt (#5411) by @jbraconig in #5412
  • Rename: Query table value from path to value by @ganesh-bruno in #5139
  • Changed example to cjs syntax by @ganesh-bruno in #4526
  • [Snyk] Upgrade @faker-js/faker from 8.4.0 to 8.4.1 by @bijin-bruno in #5347
  • Update: The grpc tagline by @ganesh-bruno in #5449
  • Add: Playwright tests for Notifications modal and Sidebar toggle by @helloanoop in #5466
  • Update: Bruno's age 🎉 by @Pragadesh-45 in #5328
  • Add: HttpMethodSelector component tests by @helloanoop in #5481
  • Add: Playwright test for import collection modal by @pooja-bruno in #5487
  • Add: Vscode image by @naman-bruno in #5491
  • Refactor: Tests by @helloanoop in #5517
  • Feat: Script to calculate locs of repo by @helloanoop in #5238
  • Add: Playwright testing guide for Bruno application by @sanish-bruno in #5262
  • Node VM support by @lohit-bruno in #5518

New Contributors

  • @terminal-overflow made their first contribution in #3902
  • @jbraconig made their first contribution in #5412
  • @josbiz made their first contribution in #5459
  • @notKvS made their first contribution in #5435
  • @bernborgess made their first contribution in #5490
v2.10.1 Bug fix

Reverted global shortcuts for Zoom, Minimize, and Close on Windows.

Full changelog

Patch Fix

  • Revert "Feat/ Add Global Shortcuts for Zoom, Minimize, and Close on Windows by @Pragadesh-45 in https://github.com/usebruno/bruno/pull/5504
v2.10.0 Security relevant
Security fixes
Notable features
  • gRPC support
  • Global shortcuts for Zoom, Minimize, and Close on Windows
Full changelog

Features

  • feat: gRPC Support by @sanish-bruno in #5148
  • feat: Add Global Shortcuts for Zoom, Minimize, and Close on Windows (fixes: #4108) by @Pragadesh-45 in #4110
  • feat: persist cookies in app by @pooja-bruno in #5318
  • feat: add persistent environment variable handling in IPC events and Bru class by @sanjaikumar-bruno in #5172
  • feat: bulk edit for collection and folder header by @pooja-bruno in #5279
  • feat: add support for additional parameters in oauth2 requests by @lohxt1 in #4447
  • feat: add parallel execution option for CSV iterations in run command by @sanjaikumar-bruno
  • improve: toolbar ui by @pooja-bruno

Fixes

  • fix: test only flag in cli to include pre and post test by @pooja-bruno in #5216
  • fix: url interpolation in code gen by @pooja-bruno in #5187
  • fix: cli test for cookie by @pooja-bruno in #5327
  • fix(security): patch CVE-2025-7783 by forcing [email protected] by @bijin-bruno in #5329
  • fix: update authentication mode to inherit in OpenAPI to Bruno by @sanish-bruno in #5300
  • Fix: OAuth2 Token Scope Handling and Optional Client Secret by @naman-bruno in #5259
  • fix: client id placement issue by @naman-bruno in #5348
  • fix: consider delay when running again by @naman-bruno in #5349
  • fix(cookie-store): defer encryption setup to prevent early macOS by @pooja-bruno in #5373
  • CLI Fix: OAuth2 Token Scope Handling and encode Client Secret by @naman-bruno in #5377
  • fix: Bruno collection import corrupt files by @naman-bruno in #5393
  • fix: global env issue on bulk import by @sreelakshmi-bruno in #5396
  • fix: option to parse large bru files by @lohit-bruno in #5324
  • fix: Add missing stringifyRequest import for bruno-cli by @abborg in #5282
  • fix: add global env var in codegen url interpolation by @pooja-bruno in #5397
  • fix: Add type field to env when not present by @sreelakshmi-bruno in #5401
  • fix: Updated axios request to include httpAgent and httpsAgent for Discovery process SSO by @Pragadesh44-Bruno
  • fix: updated envSecrets logic for creating api spec from collection and added missing imports by @lohit-bruno

Others

  • move: cookie file in bruno-request package by @pooja-bruno in #5384

New Contributors

  • @abborg made their first contribution in #5282
  • @bijin-bruno made their first contribution in #5329

Full Changelog: https://github.com/usebruno/bruno/compare/v2.9.0...v2.10.0

v2.9.1 Bug fix

Fixed OpenAPI import issue in bruno-cli and gracefully handled decryption failures for secret environment variables.

Full changelog

Fixes

  • Fix OpenAPI import issue in bruno-cli by @abborg in https://github.com/usebruno/bruno/pull/5282
  • Gracefully handle decryption failures for secret environment variables by @sreelakshmi-bruno in https://github.com/usebruno/bruno/pull/5285

Full Changelog: https://github.com/usebruno/bruno/compare/v2.9.0...v2.9.1

v2.9.0 Bug fix
Notable features
  • Added cookie APIs
  • Implemented Response URL variable
  • Added Select/Deselect and Reorder Capabilities to Collection Runner
Full changelog

Features

  • Added warnings for sensitive fields other auths by @sanjaikumar-bruno in https://github.com/usebruno/bruno/pull/5100
  • Added cookie apis by @pooja-bruno in https://github.com/usebruno/bruno/pull/5117
  • Added sensitive field warnings for collection and folder auth in Environment modal by @sanjaikumar-bruno in https://github.com/usebruno/bruno/pull/5230
  • Implemented Response URL variable by @nikischin in https://github.com/usebruno/bruno/pull/2983
  • Added Select/Deselect and Reorder Capabilities to Collection Runner by @naman-bruno in https://github.com/usebruno/bruno/pull/5195
  • Git UI Revamp by @Pragadesh44-Bruno

Fixes

  • Fix loading state while collection mount by @naman-bruno in https://github.com/usebruno/bruno/pull/5138
  • Fix request tab opening unintentionally by @naman-bruno in https://github.com/usebruno/bruno/pull/5240
  • Fix password field binding in DigestAuth component by @sanjaikumar-bruno in https://github.com/usebruno/bruno/pull/5242
  • Fix file editor view scroll issues by @lohit-bruno
  • Fix height in filemode by @naman-bruno
  • Fix scrollbar in runner by @naman-bruno
  • Fix app crashes while upgrading the version by @lohit-bruno
  • Fix whitespace from remote name and URL in AddRemoteModal by @sanish-bruno

Others

  • Add @usebruno/filestore package by @naman-bruno in https://github.com/usebruno/bruno/pull/5130
  • Added response url api hint words by @lohit-bruno in https://github.com/usebruno/bruno/pull/5234
  • Error handling for fetching global environments by @lohit-bruno in https://github.com/usebruno/bruno/pull/5241

Full Changelog: https://github.com/usebruno/bruno/compare/v2.8.1...v2.9.0

v2.8.1 Bug fix
Security fixes
  • Fix: insecure requests not working
Full changelog

What's Changed

Fixes

  • Fix: always showing scrollbar by @naman-bruno in https://github.com/usebruno/bruno/pull/5184
  • Fix: update statusbar styling, enhance cookie button accessibility, and adjust theme colors by @helloanoop in https://github.com/usebruno/bruno/pull/5185
  • Fix:list block grammar fixes by @lohit-bruno in https://github.com/usebruno/bruno/pull/5180
  • Revert "disable ssl/tls & enable system proxy" (Revert OSS PR: 5125) by @helloanoop in https://github.com/usebruno/bruno/pull/5196
  • Fix: insecure requests not working by @naman-bruno in https://github.com/usebruno/bruno/pull/5197
  • Fix: add update notification styles to StatusBar component @sanjaikumar-bruno
  • Fix: insecure ssl @naman-bruno
v2.8.0 New feature
Notable features
  • Tagging requests and filtering collection runs using tags
  • OAuth2 implicit grant type support
  • Support AWS Session Token for SSO and Temporary Credentials
Full changelog

What's Changed

Features

Feat: Tagging requests and filtering collection runs using tags by @asonkeri in https://github.com/usebruno/bruno/pull/2716
Feat: validator to check if a given path is inside an open Collection by @ramki-bruno in https://github.com/usebruno/bruno/pull/4800
Feat: add dataBuffer to response for test scripts by @RainoPikkarainen in https://github.com/usebruno/bruno/pull/1881
Feat: introduce res.getSize() helper (header/body/total) by @pooja-bruno in https://github.com/usebruno/bruno/pull/5018
Feat: OAuth2 implicit grant type by @naman-bruno in https://github.com/usebruno/bruno/pull/4307
Feat: add status bar & console by @naman-bruno in https://github.com/usebruno/bruno/pull/4922
Feat: toggle encoding of URL query parameters by @maintainer-bruno in https://github.com/usebruno/bruno/pull/5089
Feat: import URL-encode settings from Postman and Insomnia by @maintainer-bruno in https://github.com/usebruno/bruno/pull/5102
Feat: folder sequencing sort in bruno-cli by @lohxt1 in https://github.com/usebruno/bruno/pull/5111
Feat: disable SSL/TLS & enable system proxy by @lohxt1 in https://github.com/usebruno/bruno/pull/5125
Feat: enable/disable collection/folder run buttons based on filtered requests by @lohxt1 in https://github.com/usebruno/bruno/pull/5131
Feat: Support AWS Session Token for SSO and Temporary Credentials by @pooja-bruno
Feat: Auto-updater improvements. by @sanjaikumar-bruno
Feat: Azure cli auth for secrets fetching by @pooja-bruno
Feat: pass item and collection props to RunnerTimeline component by @sanjaikumar-bruno

Fixes

Fix: reset test-results state on each new request run by @pooja-bruno in https://github.com/usebruno/bruno/pull/5022
Fix: handle undefined title and improve error handling by @sanjaikumar-bruno in https://github.com/usebruno/bruno/pull/5009
Fix: collection request-numbers font family by @pooja-bruno in https://github.com/usebruno/bruno/pull/4248
Fix: restrict {{$randomInt}} to 0–1000 by @junglesub in https://github.com/usebruno/bruno/pull/4938
Fix: include draft tags while filtering requests for runs by @lohxt1 in https://github.com/usebruno/bruno/pull/5142
Fix: move URL-encoding utils to bruno common by @maintainer-bruno in https://github.com/usebruno/bruno/pull/5098
Fix: export for folder-level auth by @pooja-bruno in https://github.com/usebruno/bruno/pull/5041
Fix: add rsbuild watchFiles config & forceRefreshWatcher option by @lohxt1 in https://github.com/usebruno/bruno/pull/4766
Fix: runner result scroll by @pooja-bruno in https://github.com/usebruno/bruno/pull/5062
Fix: use SingleLineEditor for env-variable highlighting by @bacteriostat in https://github.com/usebruno/bruno/pull/4954
Fix: add script error card in collection runner by @pooja-bruno in https://github.com/usebruno/bruno/pull/4984
Fix: code-generator headers and multipart-form bug by @pooja-bruno in https://github.com/usebruno/bruno/pull/5056
Fix: OAuth2 token-request refactor and fixes by @lohxt1 in https://github.com/usebruno/bruno/pull/5066
Fix: scroll issue in collection & folder settings by @naman-bruno in https://github.com/usebruno/bruno/pull/5093
Fix: AWS v4 signature error by @pooja-bruno in https://github.com/usebruno/bruno/pull/5099
Fix: ignore empty header on Auth API-Key (Header) by @wibaek in https://github.com/usebruno/bruno/pull/5007
Fix: timeline scroll behaviour, border colour, tooltip opacity by @naman-bruno in https://github.com/usebruno/bruno/pull/5108
Fix: timeline responsePane scroll by @naman-bruno in https://github.com/usebruno/bruno/pull/5110
Fix: enhance path validation to include last-opened collections by @Pragadesh-45 in https://github.com/usebruno/bruno/pull/5123
Fix: status-bar & dev-tools z-index issue by @naman-bruno in https://github.com/usebruno/bruno/pull/5132
Fix: improve handling of “Inherit” for folders & requests by @sanish-bruno in https://github.com/usebruno/bruno/pull/5107
Fix: crash on double-click for collection & collection item by @sanish-bruno in https://github.com/usebruno/bruno/pull/5151
Fix: console-design tweaks by @naman-bruno in https://github.com/usebruno/bruno/pull/5103
Fix: sort folders by name first then sequence by @lohxt1 in https://github.com/usebruno/bruno/pull/5063
Fix: add: iterationIndex in notifyScriptExecution by @pooja-bruno
Fix: runner scroll fixes by @lohit-bruno

Others

Warning-message content updated by @Joseph-PS in https://github.com/usebruno/bruno/pull/5032
Content updated by @Joseph-PS in https://github.com/usebruno/bruno/pull/5027
Manage-secrets modal content updated by @Joseph-PS in https://github.com/usebruno/bruno/pull/5034
Collection-runner tags updates by @lohit-bruno in https://github.com/usebruno/bruno/pull/5069
Capitalize toast message by @stupidly-logical in https://github.com/usebruno/bruno/pull/5083
Rename: devtools to devUtils by @naman-bruno

Full Changelog: https://github.com/usebruno/bruno/compare/v2.7.0..._v2.8.0

v2.7.0 Breaking risk
Breaking changes
  • Removed 'BETA' keyword from runtime variable section.
  • Removed `scope` parameter from token request when its value is empty.
Notable features
  • MSI Installer support for Windows
  • Autocomplete random variables
  • Add `randomNanoId` to dynamic variables
Full changelog

What's Changed

Features

  • Autocomplete random variables by @sanjaikumar-bruno in https://github.com/usebruno/bruno/pull/4695
  • feature: add randomNanoId to dynamic variables by @henripqt in https://github.com/usebruno/bruno/pull/4932
  • feat: implement vertical layout for response pane and enhance drag by @helloanoop in https://github.com/usebruno/bruno/pull/4957
  • feat: Add placeholder for SingleLineEditor by @bacteriostat in https://github.com/usebruno/bruno/pull/4956
  • feat: add dropdown to select language and add lib selector in code gen by @pooja-bruno in https://github.com/usebruno/bruno/pull/4345
  • Feat: Update serialization logic for application/x-www-form-urlencoded body type by @Pragadesh-45 in https://github.com/usebruno/bruno/pull/4943
  • Improved feat: add bulk edit mode for request headers by @sanjaikumar-bruno in https://github.com/usebruno/bruno/pull/4958
  • feat: support onFail api to catch errors in pre req by @pooja-bruno in https://github.com/usebruno/bruno/pull/4581
  • Feat: MSI Installer support for Windows

Fixes

  • fix: handle falsy values in Postman environment and collection variables by @sanish-bruno in https://github.com/usebruno/bruno/pull/4924
  • Fix: postman collection fails when auth object missing auth values by @sanish-bruno in https://github.com/usebruno/bruno/pull/4794
  • fix(import): curl parser library by @maintainer-bruno in https://github.com/usebruno/bruno/pull/4959
  • Fix: Made reporter-skip-headers option case-insensitive in bruno-cli by @ganesh-bruno in https://github.com/usebruno/bruno/pull/4799
  • Fix: undefined auth fields in folder-level authentication by @pooja-bruno in https://github.com/usebruno/bruno/pull/4907
  • fix: oauth2 tokenHeaderPrefix can be set to an empty string value by @lohxt1 in https://github.com/usebruno/bruno/pull/4928
  • fix(layout): minor layout css fixes by @maintainer-bruno in https://github.com/usebruno/bruno/pull/4994
  • fix(import): handle repeated query keys and improve error handling in curl import by @maintainer-bruno in https://github.com/usebruno/bruno/pull/4992
  • Fix: Allow empty Content-Type when no body (#1693) by @betawait in https://github.com/usebruno/bruno/pull/3973
  • fix: include unsaved changes in generate code by @pooja-bruno in https://github.com/usebruno/bruno/pull/4995
  • Bugfix/4749 generate code error with binary file request by @Art051 in https://github.com/usebruno/bruno/pull/4752
  • fix: set default proxy value as false for bru.sendRequest' axios request config by @lohxt1 in https://github.com/usebruno/bruno/pull/4973
  • fix: Add null check for collection root in snippet generator #5029 by @stupidly-logical in https://github.com/usebruno/bruno/pull/5030

Others

  • Add Debian dependencies (in particular, for "libasound2") by @Nikolai2038 in https://github.com/usebruno/bruno/pull/2356
  • Update Spanish contribution guide for clarity and accuracy by @georgegiosue in https://github.com/usebruno/bruno/pull/4859
  • docs(#1036): Update linux installation instructions via apt by @Nikolai2038 in https://github.com/usebruno/bruno/pull/1037
  • Update wording for clarification. Add tooltip. by @JohannKaspar in https://github.com/usebruno/bruno/pull/4761
  • Add support for integer and boolean in OpenAPI to Bruno converter by @philjones88 in https://github.com/usebruno/bruno/pull/4734
  • Enable variable tootlip in json request body by @stupidly-logical in https://github.com/usebruno/bruno/pull/4885
  • add explicit HTTP agents with keepAlive to bru.sendRequest axios request config by @lohxt1 in https://github.com/usebruno/bruno/pull/4969
  • Removed text from runtime var section by @ganesh-bruno in https://github.com/usebruno/bruno/pull/4970
  • Remove scope parameter from token request when empty by @naman-bruno in https://github.com/usebruno/bruno/pull/4987
  • codemirror api/variables autocomplete refactor by @lohxt1 in https://github.com/usebruno/bruno/pull/4980
  • removed BETA keyword by @ganesh-bruno in https://github.com/usebruno/bruno/pull/4999
  • handle requestConfig translations for variable references in pm.sendRequest calls by @lohxt1 in https://github.com/usebruno/bruno/pull/5020

New Contributors

  • @Nikolai2038 made their first contribution in https://github.com/usebruno/bruno/pull/2356
  • @georgegiosue made their first contribution in https://github.com/usebruno/bruno/pull/4859
  • @henripqt made their first contribution in https://github.com/usebruno/bruno/pull/4932
  • @JohannKaspar made their first contribution in https://github.com/usebruno/bruno/pull/4761
  • @philjones88 made their first contribution in https://github.com/usebruno/bruno/pull/4734
  • @bacteriostat made their first contribution in https://github.com/usebruno/bruno/pull/4956
  • @betawait made their first contribution in https://github.com/usebruno/bruno/pull/3973

Full Changelog: https://github.com/usebruno/bruno/compare/v2.6.1...v2.7.0

v2.6.1 Bug fix

Fixed processing of tests from Pre-request and Post-response tabs for iteration runner UI and HTML report.

Full changelog

What's Changed

Fixes

  • Fix: Added logic to process tests defined in Pre-request and Post-response tabs into the iteration runner UI and HTML report by @pooja-bruno in https://github.com/usebruno/bruno/pull/4931

Full Changelog: https://github.com/usebruno/bruno/compare/v2.6.0...v2.6.1

v2.6.0 New feature
Notable features
  • `bru.sendRequest` API for sending requests programmatically
  • Prompt added to handle large response payloads in the Desktop App
  • CLI `run` command now accepts multiple request and folder inputs
Full changelog

What's Changed

🖥️ Desktop App

Features

  • feat: bru.sendRequest api by @lohxt1 in https://github.com/usebruno/bruno/pull/4867
  • feat: add prompt for handling large responses by @Pragadesh-45 in https://github.com/usebruno/bruno/pull/4866

Fixes

  • Fix: resolved issue on Windows installation where admin rights were previously required to access the temp folder; this is no longer needed.
  • Fix watcher error message typo by @stupidly-logical in https://github.com/usebruno/bruno/pull/4893
  • Fix Digest auth header field key value extraction by @jonman5 in https://github.com/usebruno/bruno/pull/4514
  • fix: handle undefined bearer token to send an empty string instead by @sanish-bruno in https://github.com/usebruno/bruno/pull/4886
  • Fix: showing test script errors by @naman-bruno in https://github.com/usebruno/bruno/pull/4902
  • fix: timeline scroll by @naman-bruno in https://github.com/usebruno/bruno/pull/4914

Others

  • Added Hindi translation of Readme file by @ShrutiShahi18 in https://github.com/usebruno/bruno/pull/4758
  • fix(workflow): ensure E2E test collection dependencies are installed … by @maintainer-bruno in https://github.com/usebruno/bruno/pull/4923

📟 CLI

Features

  • feat(cli): add support for environment file input in run command by @Pragadesh-45 in https://github.com/usebruno/bruno/pull/4908
  • Feat: Enhance run command to accept multiple inputs for requests and folders in Bruno CLI in https://github.com/usebruno/bruno/pull/4901

New Contributors

  • @ShrutiShahi18 made their first contribution in https://github.com/usebruno/bruno/pull/4758
  • @stupidly-logical made their first contribution in https://github.com/usebruno/bruno/pull/4893
  • @jonman5 made their first contribution in https://github.com/usebruno/bruno/pull/4514

Full Changelog: https://github.com/usebruno/bruno/compare/v2.5.0...v2.6.0

v2.5.0 Bug fix
Notable features
  • Support chai in scripts
  • Migrate Postman post‑response scripts to Bruno format
  • Added combined vars for prepareGqlIntrospectionRequest
Full changelog

What's Changed

Features

  • Feat: Support chai in scripts by @pooja-bruno in #4552
  • Feat: Migrate Postman Post Response scripts to Bruno Post Response scripts instead of Tests by @pooja-bruno in #4552
  • Feat: Added combined Vars for prepareGqlIntrospectionRequest for all interpolations by @devendra-bruno in #4661

Fixes

  • Fix: Fixed issue where requests would get stuck in a loading state and the cancel button was unresponsive by @lohxt1 in #4863
  • Fix: Special URI characters in proxy username/password is giving error by @ramki-bruno in #4782
  • Fix: Single line editor component onChange validations update by @lohxt1 in #4765
  • Fix: Secrets appear as null instead of an empty value by @pooja-bruno in #4693

Others

  • Improve: Rename 'New Script' to 'New JS Script' in collection and folder menus by @pooja-bruno
  • Enhance hot reload development setup by @maintainer-bruno in #4837
  • Improvements in Playwright setup and added tests for running bruno-testbench by @ramki-bruno in #4694
  • Tests for responseSize component by @sreelakshmi-bruno in #4750

New Contributors

  • @maintainer-bruno made their first contribution in https://github.com/usebruno/bruno/pull/4837

Full Changelog: https://github.com/usebruno/bruno/compare/v2.4.0...v2.5.0

Beta — feedback welcome: [email protected]