# Changelog

## Score

- CAI 50 → 33 (-17.0)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.15) — scores are not directly comparable.

## Lenses

- Code Health 60 → 44 (-15.9)
- Maturity 63 → 57 (-6.6)
- Readiness 41 → 15 (-26.1)
- Security 61 → 56 (-4.7)

## Resolved (46)

- Boundary-crossing change coupling: bruno-to-opencollection.ts ↔ parseCollection.ts (packages/bruno-converters/src/opencollection/bruno-to-opencollection.ts)
- Boundary-crossing change coupling: bruno-to-opencollection.ts ↔ stringifyCollection.ts (packages/bruno-converters/src/opencollection/bruno-to-opencollection.ts)
- Boundary-crossing change coupling: index.js ↔ index.js (packages/bruno-app/src/components/RequestPane/Auth/AuthMode/index.js)
- Boundary-crossing change coupling: index.js ↔ jsonToBru.js (packages/bruno-app/src/components/RequestPane/Auth/AuthMode/index.js)
- Boundary-crossing change coupling: index.js ↔ prepare-request.js (packages/bruno-app/src/components/RequestPane/Auth/AuthMode/index.js)
- Boundary-crossing change coupling: interpolate-vars.js ↔ interpolate-vars.js (packages/bruno-cli/src/runner/interpolate-vars.js)
- Boundary-crossing change coupling: opencollection-to-bruno.ts ↔ parseCollection.ts (packages/bruno-converters/src/opencollection/opencollection-to-bruno.ts)
- Boundary-crossing change coupling: opencollection-to-bruno.ts ↔ stringifyCollection.ts (packages/bruno-converters/src/opencollection/opencollection-to-bruno.ts)
- Boundary-crossing change coupling: proxy-util.js ↔ proxy-util.js (packages/bruno-cli/src/utils/proxy-util.js)
- Boundary-crossing change coupling: types.ts ↔ stringifyCollection.ts (packages/bruno-converters/src/opencollection/types.ts)
- Coverage not included — suite not readable by the collector
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- Further orphaned files (smaller)
- Further sole-owners (lower concentration)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- High CVE: [GHSA redacted] (package-lock.json)
- …and 26 more

## New (180)

- (anonymous) (cognitive 155) (packages/bruno-electron/src/ipc/openapi-sync.js)
- (anonymous) (cognitive 16) (packages/bruno-electron/src/utils/git.js)
- (anonymous) (cognitive 17) (packages/bruno-electron/src/ipc/openapi-sync.js)
- (anonymous) (cognitive 17) (packages/bruno-electron/src/ipc/workspace.js)
- (anonymous) (cognitive 17) (packages/bruno-js/src/utils/error-formatter.js)
- (anonymous) (cognitive 18) (packages/bruno-tests/src/redirect/index.js)
- (anonymous) (cognitive 19) (packages/bruno-tests/src/echo/index.js)
- (anonymous) (cognitive 20) (packages/bruno-requests/src/grpc/grpcMessageGenerator.js)
- (anonymous) (cognitive 22) (packages/bruno-electron/src/ipc/collection.js)
- (anonymous) (cognitive 26) (packages/bruno-requests/src/auth/digestauth-helper.js)
- (anonymous) (cognitive 27) (packages/bruno-electron/src/ipc/collection.js)
- (anonymous) (cognitive 31) (packages/bruno-electron/src/ipc/collection.js)
- (anonymous) (cognitive 32) (packages/bruno-electron/src/ipc/collection.js)
- (anonymous) (cognitive 33) (packages/bruno-electron/src/ipc/openapi-sync.js)
- (anonymous) (cyclomatic 16) (packages/bruno-electron/src/ipc/openapi-sync.js)
- (anonymous) (cyclomatic 17) (packages/bruno-electron/src/ipc/collection.js)
- (anonymous) (cyclomatic 20) (packages/bruno-requests/src/auth/digestauth-helper.js)
- (anonymous) (cyclomatic 24) (packages/bruno-requests/src/grpc/grpcMessageGenerator.js)
- (anonymous) (cyclomatic 25) (packages/bruno-electron/src/ipc/openapi-sync.js)
- (anonymous) (cyclomatic 26) (packages/bruno-electron/src/ipc/collection.js)
- …and 160 more

## Changes since last survey

- 14 commits — 5 feature/other, 9 fixes

## By area

- packages/bruno-app — 11 commits
- .github/workflows — 1 commit
- packages/bruno-electron — 1 commit
- tests/utils — 1 commit

## Notable commits

- fix: fix (transient-request): unable to create transient request when preset is websocket (#8889)
- fix: fix(mock-server): bring the UI in line with the rest of Bruno (#8880)
- fix: fix(mount): hydrate websocket message uids in the cached mount path (#8862)
- fix: fix(proxy): update timestamp label format  (#8870)
- fix: fix(ws): disable message queuing when in intermediate connection states (#8879)
- fix: fix: persist additional request values in preferences general tab save (#8823)
- fix: fix:change-version modal ui (#8735)
- fix: fix:keep sort column header from shifting when the arrow appears (#8833)
- fix: fix:sorting now works for secrets tab (#8871)
- change: ci: move all linux to self hosted (#8791)
- change: feat(docs): syntax highlighting for code blocks in rich text docs (#8670)
- change: feat(presets)/updated dropdown with menu dropdown and label weight ux changes (#8841)
- change: feat(tests): enhance CodeEditor and EditorCodeBlock tests with additional mocks and configurations (#8858)
- change: feat: add migrate-to-YML pill to collection header (#8882)
