# Changelog

## Score

- CAI 39 → 28 (-10.9)
- Rubric changed (rubric-2026.08.18 → rubric-2026.08.15) — scores are not directly comparable.

## Lenses

- Code Health 76 → 84 (+7.9)
- Architecture 99 → 90 (-9.3)
- Maturity 52 → 57 (+4.5)
- Readiness 59 → 32 (-27.9)
- Security 27 → 11 (-16.3)
- Domain Modelling 35 → 35 (+0.0)

## Resolved (406)

- AboutFragment.buildTableDump (cognitive 17) (app/src/full/java/com/celzero/bravedns/ui/fragment/AboutFragment.kt)
- AboutFragment.hasAnyLogsAvailable (cognitive 20) (app/src/full/java/com/celzero/bravedns/ui/fragment/AboutFragment.kt)
- AboutFragment.hasAnyLogsAvailable (cyclomatic 16) (app/src/full/java/com/celzero/bravedns/ui/fragment/AboutFragment.kt)
- AboutFragment.showProcDialog (cognitive 30) (app/src/full/java/com/celzero/bravedns/ui/fragment/AboutFragment.kt)
- AboutFragment.showProcDialog (cyclomatic 18) (app/src/full/java/com/celzero/bravedns/ui/fragment/AboutFragment.kt)
- BraveVPNService.calculatePtMode (cognitive 20) (app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt)
- BraveVPNService.calculatePtMode (cyclomatic 18) (app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt)
- BraveVPNService.determineProxyDetails (cognitive 71) (app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt)
- BraveVPNService.determineProxyDetails (cyclomatic 45) (app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt)
- BraveVPNService.establishVpn (cognitive 22) (app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt)
- BraveVPNService.establishVpn (cyclomatic 17) (app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt)
- BraveVPNService.firewall (cognitive 53) (app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt)
- BraveVPNService.firewall (cyclomatic 59) (app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt)
- BraveVPNService.flow (cognitive 24) (app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt)
- BraveVPNService.flow (cyclomatic 19) (app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt)
- BraveVPNService.interestingNetworkChanges (cognitive 27) (app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt)
- BraveVPNService.interestingNetworkChanges (cyclomatic 24) (app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt)
- BraveVPNService.isSpecialApp (cognitive 19) (app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt)
- BraveVPNService.makeOrUpdateVpnAdapter (cognitive 21) (app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt)
- BraveVPNService.newBuilder (cognitive 23) (app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt)
- …and 386 more

## New (103)

- Coverage not measured — test suite did not build
- Dimension evaluation failed
- Duplicated block (10 lines × 2) (app/src/full/java/com/celzero/bravedns/ui/activity/ProxySettingsActivity.kt)
- Duplicated block (10 lines × 2) (app/src/testPlay/java/com/celzero/bravedns/iab/InAppBillingHandlerTest.kt)
- Duplicated block (11 lines × 2) (app/src/full/java/com/celzero/bravedns/scheduler/WorkScheduler.kt)
- Duplicated block (11 lines × 2) (app/src/full/java/com/celzero/bravedns/ui/activity/BubbleActivity.kt)
- Duplicated block (11 lines × 2) (app/src/full/java/com/celzero/bravedns/ui/activity/TunnelSettingsActivity.kt)
- Duplicated block (11 lines × 2) (app/src/full/java/com/celzero/bravedns/ui/bottomsheet/DnsBlocklistBottomSheet.kt)
- Duplicated block (11 lines × 2) (app/src/full/java/com/celzero/bravedns/ui/bottomsheet/LocalBlocklistsBottomSheet.kt)
- Duplicated block (11 lines × 2) (app/src/full/java/com/celzero/bravedns/ui/fragment/AboutFragment.kt)
- Duplicated block (11 lines × 2) (app/src/full/java/com/celzero/bravedns/ui/fragment/ServerSelectionFragment.kt)
- Duplicated block (11 lines × 2) (app/src/full/java/com/celzero/bravedns/viewmodel/ConnectionTrackerViewModel.kt)
- Duplicated block (11 lines × 2) (app/src/main/java/com/celzero/bravedns/database/RefreshDatabase.kt)
- Duplicated block (11 lines × 2) (app/src/main/java/com/celzero/bravedns/glide/FavIconDownloader.kt)
- Duplicated block (11 lines × 2) (app/src/main/java/com/celzero/bravedns/net/go/GoVpnAdapter.kt)
- Duplicated block (11 lines × 2) (app/src/main/java/com/celzero/bravedns/rpnproxy/SubscriptionStateMachineV2.kt)
- Duplicated block (11 lines × 2) (app/src/main/java/com/celzero/bravedns/service/BraveVPNService.kt)
- Duplicated block (11 lines × 2) (app/src/testPlay/java/com/celzero/bravedns/iab/InAppBillingHandlerTest.kt)
- Duplicated block (11 lines × 3) (app/src/full/java/com/celzero/bravedns/customdownloader/LocalBlocklistCoordinator.kt)
- Duplicated block (11 lines × 3) (app/src/main/java/com/celzero/bravedns/database/RefreshDatabase.kt)
- …and 83 more

## Changes since last survey

- 177 commits — 175 feature/other, 2 fixes

## By area

- app/src — 175 commits
- fastlane/metadata — 2 commits

## Notable commits

- fix: fix#2950: use firewallMgr to clear rules instead of direct db access
- fix: ui: fix potential index out of exception
- change: Merge pull request #2632 from weblate/weblate-rethink-dns-firewall-android
- change: Merge pull request #2954 from hussainmohd-a/dev-v055y
- change: Translated using Weblate (Italian)
- change: Translated using Weblate (Latvian)
- change: Translated using Weblate (Portuguese)
- change: Weblate: Abkhazian
- change: Weblate: Abkhazian
- change: Weblate: Abkhazian
- change: Weblate: Add Burmese
- change: Weblate: Arabic
- change: Weblate: Arabic
- change: Weblate: Arabic
- change: Weblate: Arabic
- change: Weblate: Arabic
- change: Weblate: Arabic
- change: Weblate: Arabic
- change: Weblate: Belarusian
- change: Weblate: Bengali
- …and 157 more

## Architecture

- Containers 0 added · 0 removed · contexts 0 added · 1 removed · edges 0 added · 0 removed

## Removed bounded contexts (1)

- .
