Bruno

Developer Tools

An offline-first, open-source API client.

Latest v4.0.0 · by BrunoWebsiteusebruno/bruno

Release activity

Release activity — 10 releases across 10 days since Apr 3, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before Apr 3, 2026. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Apr 19, 2026No releases on Apr 26, 2026No releases on May 3, 2026No releases on May 10, 2026No releases on May 17, 2026No releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026
MondayNo releases on Apr 20, 2026No releases on Apr 27, 2026No releases on May 4, 2026No releases on May 11, 2026No releases on May 18, 2026No releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 20261 release on Jul 13, 20261 release on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026
TuesdayNo releases on Apr 21, 2026No releases on Apr 28, 2026No releases on May 5, 2026No releases on May 12, 2026No releases on May 19, 20261 release on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 20261 release on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026
Wednesday1 release on Apr 22, 2026No releases on Apr 29, 2026No releases on May 6, 2026No releases on May 13, 20261 release on May 20, 2026No releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026
ThursdayNo releases on Apr 23, 2026No releases on Apr 30, 2026No releases on May 7, 2026No releases on May 14, 20261 release on May 21, 2026No releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 20261 release on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 20261 release on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026
FridayNo releases on Apr 24, 2026No releases on May 1, 2026No releases on May 8, 2026No releases on May 15, 2026No releases on May 22, 2026No releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026
SaturdayNo releases on Apr 25, 2026No releases on May 2, 2026No releases on May 9, 2026No releases on May 16, 2026No releases on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026

10 releases since Apr 3, 2026

Changelog

v4.0.0

Added 21
  • Migrate ctx API to bru.ctx
  • Show human-readable size for unloaded requests in overview
  • File binary description implementation
  • AI model handling with reasoning support
  • Variable descriptions
  • Active workspace tab type tracking

Changelog

Features
  • feat(app): migrate ctx API to bru.ctx by @gopu-bruno in #8557
  • feat(overview): show human-readable size for unloaded requests by @chirag-bruno in #8580
  • feat(description): file binary description implementation by @sid-bruno in #8434
  • feat(ai): AI model handling with reasoning support by @naman-bruno in #8539
  • feat: variable descriptions by @sid-bruno in #8269
  • feat(snapshot): implement active workspace tab type tracking by @sid-bruno in #8487
  • feat: Added the option for bruno version edit in the collection overview by @sachin-bruno in #8424
  • feat(auth): akamai auth integration by @shubh-bruno in #8199
  • feat(ai): add security preferences management to AI settings by @naman-bruno in #8453
  • feat: Added collection name and minor UI changes to the generate doc modal by @sachin-bruno in #8391
  • feat(cli): persist env, global-env, and collection var changes from scripts by @sanish-bruno in #8387
  • feat(import): set yml as a default file format across all types of imports by @sharan-bruno in #8363
  • feat(electron): add pkg configuration for installation location by @sid-bruno in #8403
  • feat(variables): persist scripted variable changes by default and re-enable disabled scripting APIs by @sanish-bruno in #8315
  • feat(ai): mode toggle UI and add AI support for folder & collection by @naman-bruno in #8385
  • feat(environments): split variables and secrets into separate tabs by @pooja-bruno in #8191
  • feat(ai): add AI chat sidebar with code block and diff view components by @naman-bruno in #8358
  • feat(ai): OpenAI-compatible endpoints support by @naman-bruno in #8365
  • feat(woof): add WOOF easter egg by @sanish-bruno in #8301
  • feat(app): introduce app functionality by @naman-bruno in #8338
  • feat(network-ui): added resizable columns in network panel by @sachin-thakur-bruno in #8265
  • feat: integrate Markdown into NotificationDetail by @naman-bruno in #8335
  • feat(ai): implement AI autocomplete by @naman-bruno in #8300
  • feat: add cli offline bundle script by @sid-bruno in #8192
  • feat: faster collection mount via file cache (Beta) by @chirag-bruno in #8222
  • feat(ai-assist): add docs generation with folder and collection context by @utkarsh-bruno and @ravindra-bruno in #8246
  • feat: Choose environments to include and show versions in the Generate Documentation modal by @sachin-bruno in #8268
  • feat: variable data types support by @lohit-bruno in #8046
  • feat: redesign notification modal by @prateek-bruno in #8140
  • feat(websocket): show full message name in a tooltip on hover by @pooja-bruno in #8299
  • feat(import): hide File Format option and default collections to Open… by @ravindra-bruno in #8247
  • feat: implement file mode by @naman-bruno, @shubh-bruno, and @chirag-bruno in #8258
  • feat(openapi-sync): preserve user-configured request values on sync by @sundram-bruno in #8204
  • feat(app): scroll to and highlight error line on script error by @pooja-bruno in #8183
  • feat(dev-tools-rquest-resize): dev tools details panel can be resized horizontally via a drag handle by @sachin-thakur-bruno in #8234
  • feat(dev-tools): adds sorting on columns with verticle borders by @sachin-thakur-bruno in #8238
  • feat(workspace): move external collections into the workspace by @gopu-bruno in #8196
  • feat: integrate AIAssist for script editing by @naman-bruno in #8220
  • feat(ws): multiple messages support in websockets by @pooja-bruno in #8115
  • feat(ai): implement organization policy checks for AI features by @naman-bruno
  • feat: add trial upgrade dynamic url flow by @prateek-bruno
  • feat(telemetry): add per-generation documentation telemetry (BRU-3673) by @arpit-bruno
  • feat: secrets managers ui revamp by @lohit-bruno
  • feat(telemetry): track v2 collection mount (file cache) usage by @chirag-bruno
  • feat(notifications): enhance notification handling by @naman-bruno
  • feat(runner): revamp runner results table by @chirag-bruno
  • feat(mount): support js files in collection parsing and tree building by @chirag-bruno
  • feat(electron): add pkg configuration for installation location by @sid-bruno
Fixes
  • fix(app): point generated docs to api-docs CDN path by @sundram-bruno in #8633
  • fix(variable-tooltip): mask secret variables of non-string dataType by @pooja-bruno in #8606
  • fix(description): bulk edit round trip looses description information by @sid-bruno in #8595
  • fix: remove broken markdown in README_pt_br by @BraianS in #8375
  • fix(ui): Added Horizontal Scroll On CollectionHeader to avoid overlapping and squeezing of contents by @ravindra-bruno in #8511
  • fix(ui): websocket and grpc tooltip overflow fixed in request panel by @sachin-thakur-bruno in #8544
  • fix: handle missing location header in redirect error response by @Pragadesh-45 in #7725
  • fix(oauth2): prevent code injection in OAuth2 callback handling by @abhishekp-bruno and @kOaDT in #8405
  • fix: system proxy refresh by @abhishekp-bruno and @sid-bruno in #8535
  • fix(ui): fixed overflow size column issue on first load by @sachin-thakur-bruno in #8525
  • fix(ToggleSwitch): correct onChange handler for response pane by @sid-bruno in #8520
  • fix(openapi): validate API spec imports by @adwait-bruno in #8322
  • fix(app): scope env variable/secret search per tab by @pooja-bruno in #8491
  • fix(request-panel): changed request panel static width to percentage width of screen width by @sachin-thakur-bruno in #8499
  • fix(snapshot): active workspace restoration from snapshot by @sid-bruno in #8392
  • fix(variables): correct scripted-variable persistence races and cross-request propagation by @sanish-bruno in #8406
  • fix: Draft icon indicator on Workspace Environment tab by @adwait-bruno in #8342
  • fix(app): move env save-all icon to header actions by @pooja-bruno in #8449
  • fix(import): linting issue in Import fails for gRPC request without URL in exported collection by @sharan-bruno in #8462
  • fix: serialize object variable values before copying to clipboard by @adwait-bruno in #8362
  • fix(import): Import fails for gRPC request without URL in exported collection by @sharan-bruno in #8367
  • fix(lang): filter multipart multi file by @sid-bruno in #8444
  • fix(workspace-watcher): use workspace-environment IPC channels so env file changes hot-reload by @sanish-bruno in #8370
  • fix(openapi): copy cURL icon now respects the theme variables by @adwait-bruno in #8314
  • fix: prevent redundant workspace switch toast by @DeviSriSaiCharan in #8229
  • fix(transient): scope bruno- lookup to transient base, not full path by @chirag-bruno in #8273
  • fix: correctly parse insomnia exported yaml by @prateek-bruno in #7966
  • fix(import): Postman import: OAuth2 tokenPlacement not set correctly, Header Prefix field hidden and value lost by @rajashreehj-bruno in #8197
  • fix(request-parser): preserve literal colon path segments without path param value by @utkarsh-bruno in #8157
  • fix(ui): open response pane at a minimum height on expand by @gopu-bruno in #8236
  • fix: Preserve folder order from seq attribute by @sachin-bruno in #8213
  • fix(sse): sse response body is empty in res.getBody() for app and cli by @sachin-thakur-bruno in #8212
  • fix: open panes at default size on expand from collapsed state by @gopu-bruno in #8133
  • fix(ui): prevent empty header row from persisting state and crashing CLI by @sharan-bruno in #8167
  • fix(cli): use path name for classname in JUnit reports instead of request URL by @sharan-bruno in #8169
  • fix(grpc): gRPC request loses all messages except the first on save for yaml collection by @sharan-bruno in #8203
  • fix(generate-code): generate code URL issues by @shubh-bruno in #8136
  • fix(ui): correct “modified” indicator state across collection, folder, request, and presets/auth tabs (#3386) by @sharan-bruno in #8027
  • fix: show correct New Request shortcut in response placeholder by @gengjiawen in #8116
  • fix(postman-import): OAuth2 Implicit Grant Type Silently Converted to Client Credentials on Import by @rajashreehj-bruno in #8113
  • fix(ui): use primary accent in OpenAPI Sync settings modal by @sundram-bruno in #8161
  • fix: Remove Beta badge from openAPI sync by @sachin-bruno in #8250
  • fix(ui): Version edit modal minor UI fixes by @sachin-bruno in #8549
  • fix(sidebar): remove deleted JS files from the sidebar by @pooja-bruno
  • fix(mount): build js items as script nodes instead of request nodes by @chirag-bruno
  • fix: with email open upgrade url by @prateek-bruno
  • fix: refresh full-git when git-ui is active tab by @prateek-bruno
  • fix(environments): keep env row's secret flag in sync with active tab by @shubh-bruno
  • fix(watcher): added a value to the present param on collection addWatcher method by @utkarsh-bruno
  • fix(mountv2): attach git watcher after collection watcher by @chirag-bruno
  • fix(environments): remove draft indicator from variable & secret tabs by @pooja-bruno
  • fix: update tab state structure for environment tabs and enhance tests by @sid-bruno
  • fix: throttle git calls to an acceptable amount by @sid-bruno
  • fix(cli): swap persistPaths / bailAbortSignal args in runSingleRequest calls by @sanish-bruno
  • fix(runner): Remove iteration data from runtime variables by @rajashreehj-bruno
  • fix: use portal to prevent z-index issues by @prateek-bruno
  • fix: Added file js as well in the doc generation order by @sachin-bruno
  • fix(git-provider): cache settings page for revisits by @gopu-bruno
  • fix(ui): OpenAPI sync "Syncs Used" counter not updating after sync by @sundram-bruno
  • fix: style responsiveness by @Pragadesh44-Bruno
  • fix: update lodash version to 4.18.1 across multiple packages by @sid-bruno
Others
  • test(sidebar): move sidebar locators to a dedicated file by @pooja-bruno in #8634
  • test(folder): folder no auth test description by @pooja-bruno in #8560
  • test: update openFolderRequest function for tests by @shubh-bruno in #8506
  • test(e2e): update runner to run on self-hosted instances by @sid-bruno in #8524
  • test: flaky bound action tests by @shubh-bruno in #8071
  • test: await the websocket visibility assertion so it actually runs by @voidmatcha in #8317
  • test: fix flaky tests by @bijin-bruno in #8319
  • test: update timeline item locators and improve response status code assertion by @sharan-bruno in #8202
  • test: update locators for save button in presets indicator tests by @sharan-bruno in #8201
  • docs: update guidelines on 'Readability and Abstractions' section by @gopu-bruno in #8623
  • test(tabs): enhance tab migration tests and add restoreTabs functionality by @utkarsh-bruno in #8609
  • refactor: separate app items from requests in sidebar & sorting logic by @naman-bruno in #8577
  • chore(electron): update notarization team ID and add app requirements by @sid-bruno in #8578
  • test(auth): fix modified-indicator inherit spec test by @pooja-bruno in #8550
  • refactor(environments): use tabState.environment.tab for env tabs by @pooja-bruno in #8528
  • style(app): app mode toggle button styling by @naman-bruno in #8523
  • chore: update coding conventions and best practices for this repo by @bijin-bruno in #8482
  • CDN docs url change by @sachin-bruno in #8466
  • chore: update lodash to version 4.18.1 across all packages by @sid-bruno in #8455
  • chore: improve bug report issue template by @rreyn-bruno in #8369
  • ci: use env vars instead of hard coded paths by @sid-bruno in #8389
  • test: workspace import and validation testcase by @mohit-bruno in #8349
  • chore: change app builder to bruno team by @sid-bruno in #8218
  • ci: group the runner to PR by @sid-bruno in #8343
  • test(preferences): set default preferences values by @bijin-bruno in #8321
  • test: fix test and update default retry in local to 0 by @bijin-bruno in #8316
  • test: run playwright e2e fully parallel by @bijin-bruno in #8313
  • add: change log tab by @naman-bruno and @utkarsh-bruno in #8289
  • test(core): current mount pipeline by @chirag-bruno in #7466
  • docs: update README to include Bruno CLI and Docker usage instructions by @abhishek-bruno in #8184
  • chore: remove deps array from playwright test by @pooja-bruno in #8181
  • test: import buildPreferencesLocators from its source module by @lohit-bruno
  • test: update test for externally added remotes by @sid-bruno
  • test: make git tests less flaky by @prateek-bruno
  • test(e2e): fix git-providers tests on local and CI by @Pragadesh44-Bruno
  • test(cli): use bru.runner.iterationData in bail-iter fixtures by @sanish-bruno
  • chore: fix typo by @prateek-bruno
  • switch file-mode sync e2e tests to shared helpers and retrying assertions by @ravindra-bruno
  • Telemetry tracking for AI and app features by @naman-bruno
  • import-workspace-limit: unlicensed user is blocked with the by @mohit-bruno
  • test(cli): cover persistence for iteration-count, bail, and parallel by @sanish-bruno
  • Added file-mode sync e2e tests to use view-mode toggle after upstream UI sync by @ravindra-bruno
  • File Format toggle for Bulk collection import by @ravindra-bruno
  • test: fix data test it for failing tests by @bijin-bruno
  • perf(runner): virtualize iterations table for high iteration counts by @chirag-bruno
New contributors

Full Changelog: https://github.com/usebruno/bruno/compare/v3.5.3...v4.0.0

View originalPermalink
How v4.0.0 went

v3.5.3

Fixed 2
  • Refresh git state on the trailing edge of the throttle
  • Preserve process env so git can resolve the commit author

Changelog

Fixes

fix: refresh git state on the trailing edge of the throttle by @prateek-bruno fix: preserve process env so git can resolve the commit author by @prateek-bruno

Full Changelog: https://github.com/usebruno/bruno/compare/v3.5.2...v3.5.3

View originalPermalink
How v3.5.3 went

v3.5.2

Added 1
  • Added chain of trust (designated requirement) for the apple signing certificates
Changed 1
  • Reverted signing identity to Anoop MD

Changelog

Maintenance
  • Reverted signing identity to Anoop MD
  • Added chain of trust (designated requirement) for the apple signing certificates.
View originalPermalink
How v3.5.2 went

v3.5.1

Pre-release
Fixed 2
  • Handle leading | being added to multipart-form file paths
  • Ignore index.lock and avoid updating file mtimes during git status/git diff

Changelog

Fixes
  • fix(lang): handle leading | being added to multipart-form file paths by @sid-bruno in #8444
  • fix(git): ignore index.lock and avoid updating file mtimes during git status/git diff by @prateek-bruno

Full Changelog: https://github.com/usebruno/bruno/compare/v3.5.0...v3.5.1

View originalPermalink
How v3.5.1 went

v3.5.0

Added 17
  • Support annotations for secret environment variables in bru and preserve variable value type in yml
  • Show scripted requests in timeline
  • npm package report and installation support
  • Enhance import functionality with issue tracking and logging
  • Revamp import modal
  • Add support for duplicate request url and type in OpenAPI spec
Fixed 3
  • Keep workspace nav tabs visible when editing docs
  • Prevent crash on non-array specs and fix Windows spec listing
  • Scope scripted requests to their own request in timeline

Changelog

Features
  • feat: support annotations for secret environment variables in bru and preserve variable value type in yml by @lohit-bruno in #8251
  • feat: show scripted requests in timeline by @pooja-bruno in #8047
  • feat: npm package report and installation support by @naman-bruno in #8143
  • feat(import): enhance import functionality with issue tracking and logging by @sanish-bruno in #8098
  • feat: import modal revamp by @prateek-bruno in #8121
  • feat: add support for duplicate request url + type in OpenAPI spec by @prateek-bruno in #8028
  • feat: multi-file upload in multipart form body by @pooja-bruno in #7971
  • feat: add bru.hasGlobalEnvVar method and update translations by @sanish-bruno in #8037
  • feat(cli): add Docker Compose example for the Bruno CLI Docker image by @sundram-bruno in #8036
  • feat: add default http protocol when URL scheme is missing by @KanhaiyaPandey in #7786
  • feat: add missing status assertions and .not negation support by @sanish-bruno in #7660
  • feat: add benchmark framework for collection mount performance by @chirag-bruno in #7915
  • feat: open in terminal from manage workspace by @prateek-bruno in #7877
  • feat: Stabilize variable info editor transition and popup lifecycle by @sid-bruno in #7912
  • feat: add v4 migration heads-up tab + indicator by @prateek-bruno
  • feat: add cli migration ui for script by @prateek-bruno
  • feat: honor system PAC config for license requests by @pooja-bruno
Fixes
  • fix(workspace): keep workspace nav tabs visible when editing docs by @gopu-bruno in #8249
  • fix(apispec): prevent crash on non-array specs and fix Windows spec listing (BRU-3556) by @sundram-bruno in #8255
  • fix(timeline): scope scripted requests to their own request by @pooja-bruno in #8210
  • fix(snapshot): folder nested script tab interactivity and tests by @sid-bruno in #8225
  • fix(electron): Install packages dialog reports npm not on PATH when Node.js and npm are installed by @utkarsh-bruno in #8253
  • fix(proxy): refresh cached PAC content on demand by @pooja-bruno in #8173
  • fix(openapi-export): openapi spec export crash on websocket request by @prateek-bruno in #8132
  • fix(proxy): proxy config export from v2 to import in v3 by @abhishekp-bruno in #8112
  • fix(app): preserve multipart file values when creating example from r… by @pooja-bruno in #8129
  • fix(app): make SwaggerUI "Try it out" work cross-origin in API Spec viewer (BRU-3300) by @sundram-bruno in #8109
  • fix(workspace): open success toast on cancel by @DeviSriSaiCharan and @abhishekp-bruno in #8146
  • fix(cli): enhancement --bail flag not stopping execution when a test fails by @sharan-bruno in #8103
  • fix(import): preserve special chars in OpenAPI tag/folder names for yml collections by @sundram-bruno in #8123
  • fix(proxy): honor OS-level PAC configuration in system proxy mode by @pooja-bruno in #7766
  • fix(app): null-safe OAuth2 scope in OpenAPI export (BRU-3297) by @sundram-bruno in #8086
  • fix: varinfo drag-select dismiss by @shubh-bruno in #8070
  • fix(import): pm.setNextRequest(null) not translating to bru.runner.stopExecution() by @sharan-bruno in #8049
  • fix: select overview tab when closing all tabs by @naman-bruno in #8026
  • fix: relative path getting stored as absolute on windows by @prateek-bruno in #7895
  • fix: allow users to clear the cache, adds environment tests and re-serialization addition by @sid-bruno in #8035
  • fix: preserve stream-backed file bodies during request interpolation by @hriztam and @sid-bruno in #7939
  • fix: workspace home icon alignment in title bar when already fullscreen by @gopu-bruno in #7967
  • fix: restore saved credentials when switching back to original auth mode by @pooja-bruno in #7911
  • fix: normalize select file labels by @mturac in #8021
  • fix: refresh code editor and query editor on resize by @prateek-bruno in #7889
  • fix: file streaming for multipart bodies by @shubh-bruno in #7998
  • fix(import): Postman import ignores API Key "in" placement setting and defaults to header by @sharan-bruno in #7968
  • fix: handle empty mime type in insomnia importer by @prateek-bruno in #7828
  • fix: show whitespace-only error on Create workspace and collection modal by @prateek-bruno in #7883
  • fix(bruno-electron): interpolate auth headers for GraphQL introspection request by @phoval in #5560
  • fix(git): check only enabled for GitHub readiness on Git Home by @utkarsh-bruno
  • fix(reporter): handle NaN values for total controls/tests in HTML report during --bail runs by @sharan-bruno
  • fix(cli): enhancement in CLI (bail flag not stopping execution when a test fails in a csv file) by @sharan-bruno
  • fix(ui): refresh git ui when files in collections change by @prateek-bruno
  • fix: unintended file explorer trigger when clicking on create OpenAPI Spec by @pooja-bruno
Others
  • chore: security updates by @sid-bruno in #8193
  • docs(cli): polish Docker Hub README rendering — absolute links, blockquote restructure, streamline steps by @sundram-bruno in #8064
  • chore: add stack trace to boundary by @sid-bruno in #8040
  • ai: coding standards for e2e tests by @sid-bruno in #7973
  • add(telemetry): add partial import tracking to session_activity event by @sanish-bruno
  • refactor: git watcher by @prateek-bruno
  • update onboarding experience by @naman-bruno
New Contributors

Full Changelog: https://github.com/usebruno/bruno/compare/v3.4.2...v3.5.0

View originalPermalink
How v3.5.0 went

v3.4.2

Changed 1
  • Revert optimization of DNS resolution to reduce request latency
Fixed 3
  • Tab type resolution for non request types
  • Multipart/mixed and multipart/form-data interpolation and generic request behaviour
  • Remove stray semicolon typo from UI

Changelog

Fixes
  • fix(ui): tab type resolution for non request types by @sid-bruno in #8097
  • fix(api): multipart/mixed and multipart/form-data interpolation and generic request behaviour by @sid-bruno in #8087
  • fix(ui): remove stray semicolon typo from UI by @ganesh-bruno in #8088
Others
  • revert: "perf: optimize DNS resolution to reduce request latency" by @sid-bruno in #8092

Full Changelog https://github.com/usebruno/bruno/compare/v3.4.1...v3.4.2

View originalPermalink
How v3.4.2 went

v3.4.1

Changelog

Fixes
  • Fixes event sync issues during crash
View originalPermalink
How v3.4.1 went

v3.4.0

Added 15
  • UI state snapshots
  • PropertyList API for req.headerList and res.headerList
  • Drag-to-resize split pane with persisted width in API spec view
  • Virtualized spec diff rendering and spec change block navigation in OpenAPI sync
  • Auto-require Postman sandbox globals during import
  • Persist CodeEditor's JSON state across tab switching
Fixed 5
  • Allow empty header names in CLI and gRPC request preparation
  • Skip headers with empty name when building request in CLI
  • Apply proxy settings to URL spec import
  • Remove dragbar z-index that was bleeding through modals
  • Enable DPI-aware NSIS installer

Changelog

Features
  • feat: ui state snapshots by @sid-bruno in #7794
  • feat: add PropertyList API for req.headerList and res.headerList by @sanish-bruno in #7673
  • feat(api-spec): drag-to-resize split pane with persisted width by @abhishek-bruno in #7866
  • feat(openapi-sync): virtualize spec diff rendering + spec change block navigation by @abhishek-bruno in #7848
  • feat: auto-require Postman sandbox globals during import by @gopu-bruno in #7878
  • feat: persist CodeEditor's json state across tab switching by @shubh-bruno in #7797
  • feat: integrate Git remote for collections by @naman-bruno in #7879
  • feat: persist scroll across tabs by @shubh-bruno in #7695
  • feat: new selected list component for importing from git by @prateek-bruno in #7813
  • feat: add new parameter "apiKeyHeaderName" for "apikey" mode by @prateek-bruno in #7762
  • feat: add custom jsonBody Chai assertion + simplify Postman translation by @sanish-bruno in #7299
  • feat: collapsible request/response split in request tab by @gopu-bruno in #7566
  • feat: add JSON Schema validation support with custom chai assertion by @sanish-bruno in #7301
  • feat: use selection list in github import flow by @prateek-bruno
  • feat: GitHub repository creation by @naman-bruno
  • feat: enhance telemetry by @naman-bruno and @gopu-bruno
  • feat: history tab visible for all users by @pooja-bruno
Fixes
  • fix: allow empty header names in CLI and gRPC request preparation by @Pragadesh-45 in #7925
  • fix(cli): skip headers with empty name when building request by @Pragadesh-45 in #7869
  • fix: apply proxy settings to URL spec import by @Pragadesh-45 in #7767
  • fix: remove dragbar z-index that was bleeding through modals by @gopu-bruno in #7924
  • fix: enable DPI-aware NSIS installer by @davidkaya in #7803
  • fix: restore default axios request headers by @j4ln in #7820
  • fix: collection settings access, UI overflow fixes, and auto-focus URL bar by @chirag-bruno in #7861
  • fix: prevent assertions from returning wrong values during large iteration runs by @gopu-bruno in #7692
  • fix: Even after clearing the response, the test count keeps on displaying on the tests tab by @sharan-bruno in #7852
  • fix: "URL encoding off" ignored for multi-param URLs in generated code by @prateek-bruno in #7769
  • fix: use stable index in requests tab in report by @prateek-bruno in #7867
  • fix: make "Remove Collection" consistent with "Remove Workspace" by @prateek-bruno in #7750
  • fix: send-request shortcut by @shubh-bruno in #7853
  • fix: shortcut for query builder by @shubh-bruno in #7805
  • fix: layout glitches on multiline environment variables when scrolling by @shubh-bruno in #7732
  • fix: no environment alignment by @pooja-bruno in #7580
  • fix: Variables Text Missing Whitespace by @TheUnCola in #7844
  • fix: search bar in codeeditor by @shubh-bruno in #7841
  • fix: fixed noproxy flag from ----no-proxy to --no-proxy by @ganesh-bruno in #7586
  • fix: pass resolved license server URL to getLicenseHttpsAgent for better endpoint handling by @Pragadesh44-Bruno
  • fix: scrollbar for file mode by @shubh-bruno
  • fix: update the git tooltip by @prateek-bruno
  • fix: drag drop indicator css by @pooja-bruno
  • fix: sync file mode by @pooja-bruno
  • fix: add default git state by @prateek-bruno
Others
  • Add missing space in help text of Variables Editor window by @ryanjbonnell in #7871
  • update readme file with image by @ganesh-bruno in #7721
  • refactor(table): virtualise tables for perf for EditableTable components by @pooja-bruno in #7810
  • chore: re-add git into workspace switch for non-default by @sid-bruno
  • update docs for commands of getting current branch by @prateek-bruno
  • Redirect to Git overview after successful commit from diff view by @gopu-bruno
  • Improve Git IPC error messaging in the UI by @gopu-bruno
  • Inherit Value from registry for MSI Installs by @sid-bruno
New Contributors

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

View originalPermalink
How v3.4.0 went

v3.3.0

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

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

View originalPermalink
How v3.3.0 went

v3.2.2

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

View originalPermalink
How v3.2.2 went
View all

Discussion