Skip to content

Release history

bruno releases

All releases

39 shown

No immediate action
v4.0.0 Mixed

AI, App UI, Auth Fix, Docs

No immediate action
v3.5.3 Bugfix

Env variable preservation

Config change
v3.5.2 Maintenance
Auth

Routine maintenance and dependency updates.

No immediate action
v3.5.1 Bug fix

Multipart‑form path fix + Git lock update

No immediate action
v3.5.0 New feature

Secret annotation, script timeline, import enhancements, file uploads, CLI example

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]