v3.5.0
canove/whaticket-communityv3.5.0Jun 23, 2026by bijin-bruno
AI Summary
This is a feature-rich release for usebruno/bruno that includes numerous enhancements for API testing, import functionality, and UI improvements. The release addresses many bugs and adds new capabilities.
Key Highlights
- Supports annotations for secret environment variables
- Shows scripted requests in timeline
- Adds npm package report and installation support
- Enhances import functionality with issue tracking
- Adds multi-file upload in multipart form bodies
- Adds missing status assertions and .not negation support
- Adds benchmark framework for collection mount performance
New Features
- Secret environment variable annotations
- Scripted request timeline display
- npm package reporting and installation
- Multi-file upload support
- Status assertions and negation support
- Collection mount performance benchmarking
Full Release Notes
# Changelog ## Features - feat: support annotations for secret environment variables in `bru` and preserve variable value type in `yml` by @lohit-bruno in [#8251](https://github.com/usebruno/bruno/pull/8251) - feat: show scripted requests in timeline by @pooja-bruno in [#8047](https://github.com/usebruno/bruno/pull/8047) - feat: npm package report and installation support by @naman-bruno in [#8143](https://github.com/usebruno/bruno/pull/8143) - feat(import): enhance import functionality with issue tracking and logging by @sanish-bruno in [#8098](https://github.com/usebruno/bruno/pull/8098) - feat: import modal revamp by @prateek-bruno in [#8121](https://github.com/usebruno/bruno/pull/8121) - feat: add support for duplicate request url + type in OpenAPI spec by @prateek-bruno in [#8028](https://github.com/usebruno/bruno/pull/8028) - feat: multi-file upload in multipart form body by @pooja-bruno in [#7971](https://github.com/usebruno/bruno/pull/7971) - feat: add bru.hasGlobalEnvVar method and update translations by @sanish-bruno in [#8037](https://github.com/usebruno/bruno/pull/8037) - feat(cli): add Docker Compose example for the Bruno CLI Docker image by @sundram-bruno in [#8036](https://github.com/usebruno/bruno/pull/8036) - feat: add default http protocol when URL scheme is missing by @KanhaiyaPandey in [#7786](https://github.com/usebruno/bruno/pull/7786) - feat: add missing status assertions and .not negation support by @sanish-bruno in [#7660](https://github.com/usebruno/bruno/pull/7660) - feat: add benchmark framework for collection mount performance by @chirag-bruno in [#7915](https://github.com/usebruno/bruno/pull/7915) - feat: open in terminal from manage workspace by @prateek-bruno in [#7877](https://github.com/usebruno/bruno/pull/7877) - feat: Stabilize variable info editor transition and popup lifecycle by @sid-bruno in [#7912](https://github.com/usebruno/bruno/pull/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](https://github.com/usebruno/bruno/pull/8249) - fix(apispec): prevent crash on non-array specs and fix Windows spec listing (BRU-3556) by @sundram-bruno in [#8255](https://github.com/usebruno/bruno/pull/8255) - fix(timeline): scope scripted requests to their own request by @pooja-bruno in [#8210](https://github.com/usebruno/bruno/pull/8210) - fix(snapshot): folder nested script tab interactivity and tests by @sid-bruno in [#8225](https://github.com/usebruno/bruno/pull/8225) - fix(electron): Install packages dialog reports npm not on PATH when Node.js and npm are installed by @utkarsh-bruno in [#8253](https://github.com/usebruno/bruno/pull/8253) - fix(proxy): refresh cached PAC content on demand by @pooja-bruno in [#8173](https://github.com/usebruno/bruno/pull/8173) - fix(openapi-export): openapi spec export crash on websocket request by @prateek-bruno in [#8132](https://github.com/usebruno/bruno/pull/8132) - fix(proxy): proxy config export from v2 to import in v3 by @abhishekp-bruno in [#8112](https://github.com/usebruno/bruno/pull/8112) - fix(app): preserve multipart file values when creating example from r… by @pooja-bruno in [#8129](https://github.com/usebruno/bruno/pull/8129) - fix(app): make SwaggerUI "Try it out" work cross-origin in API Spec viewer (BRU-3300) by @sundram-bruno in [#8109](https://github.com/usebruno/bruno/pull/8109) - fix(workspace): open success toast on cancel by @DeviSriSaiCharan and @abhishekp-bruno in [#8146](https://github.com/usebruno/bruno/pull/8146) - fix(cli): enhancement --bail flag not stopping execution when a test fails by @sharan-bruno in [#8103](https://github.com/usebruno/bruno/pull/8103) - fix(import): preserve special chars in OpenAPI tag/folder names for yml collections by @sundram-bruno in [#8123](https://github.com/usebruno/bruno/pull/8123) - fix(proxy): honor OS-level PAC configuration in system proxy mode by @pooja-bruno in [#7766](https://github.com/usebruno/bruno/pull/7766) - fix(app): null-safe OAuth2 scope in OpenAPI export (BRU-3297) by @sundram-bruno in [#8086](https://github.com/usebruno/bruno/pull/8086) - fix: varinfo drag-select dismiss by @shubh-bruno in [#8070](https://github.com/usebruno/bruno/pull/8070) - fix(import): pm.setNextRequest(null) not translating to bru.runner.stopExecution() by @sharan-bruno in [#8049](https://github.com/usebruno/bruno/pull/8049) - fix: select overview tab when closing all tabs by @naman-bruno in [#8026](https://github.com/usebruno/bruno/pull/8026) - fix: relative path getting stored as absolute on windows by @prateek-bruno in [#7895](https://github.com/usebruno/bruno/pull/7895) - fix: allow users to clear the cache, adds environment tests and re-serialization addition by @sid-bruno in [#8035](https://github.com/usebruno/bruno/pull/8035) - fix: preserve stream-backed file bodies during request interpolation by @hriztam and @sid-bruno in [#7939](https://github.com/usebruno/bruno/pull/7939) - fix: workspace home icon alignment in title bar when already fullscreen by @gopu-bruno in [#7967](https://github.com/usebruno/bruno/pull/7967) - fix: restore saved credentials when switching back to original auth mode by @pooja-bruno in [#7911](https://github.com/usebruno/bruno/pull/7911) - fix: normalize select file labels by @mturac in [#8021](https://github.com/usebruno/bruno/pull/8021) - fix: refresh code editor and query editor on resize by @prateek-bruno in [#7889](https://github.com/usebruno/bruno/pull/7889) - fix: file streaming for multipart bodies by @shubh-bruno in [#7998](https://github.com/usebruno/bruno/pull/7998) - fix(import): Postman import ignores API Key "in" placement setting and defaults to header by @sharan-bruno in [#7968](https://github.com/usebruno/bruno/pull/7968) - fix: handle empty mime type in insomnia importer by @prateek-bruno in [#7828](https://github.com/usebruno/bruno/pull/7828) - fix: show whitespace-only error on Create workspace and collection modal by @prateek-bruno in [#7883](https://github.com/usebruno/bruno/pull/7883) - fix(bruno-electron): interpolate auth headers for GraphQL introspection request by @phoval in [#5560](https://github.com/usebruno/bruno/pull/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](https://github.com/usebruno/bruno/pull/8193) - docs(cli): polish Docker Hub README rendering — absolute links, blockquote restructure, streamline steps by @sundram-bruno in [#8064](https://github.com/usebruno/bruno/pull/8064) - chore: add stack trace to boundary by @sid-bruno in [#8040](https://github.com/usebruno/bruno/pull/8040) - ai: coding standards for e2e tests by @sid-bruno in [#7973](https://github.com/usebruno/bruno/pull/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 * @hriztam made their first contribution in https://github.com/usebruno/bruno/pull/7690 * @mturac made their first contribution in https://github.com/usebruno/bruno/pull/8021 * @KanhaiyaPandey made their first contribution in https://github.com/usebruno/bruno/pull/7786 * @abhishekp-bruno made their first contribution in https://github.com/usebruno/bruno/pull/8146 * @DeviSriSaiCharan made their first contribution in https://github.com/usebruno/bruno/pull/8096 * @bhavik168 made thrie first contribution in https://github.com/usebruno/bruno/pull/8245 **Full Changelog:** https://github.com/usebruno/bruno/compare/v3.4.2...v3.5.0