v5.0.2
Release Notes
- Measurement engine synced with OONI Probe CLI v3.24.0.
- Major UI improvements.
- Bug fixes and improvements.
What's Changed
- Integrate with Android and iOS artifacts by @sdsantos in #3
- Tooling: CI + Lints by @sdsantos in #4
- Tooling: Logging & Platform Info by @sdsantos in #11
- DI + Navigation + ViewModel by @sdsantos in #14
- feat: add support for flavors by @aanorbel in #13
- chore: update ios flavor and build by @aanorbel in #29
- Navigation main screens skeleton by @sdsantos in #21
- Material 3 theming: colors, schemes and custom font by @sdsantos in #27
- Add UI and ViewModel tests by @sdsantos in #28
- Engine bridge interface + Android implementation by @sdsantos in #30
- feat: add engine bridge on ios. by @aanorbel in #31
- feat: fix paths used by probe by @aanorbel in #34
- Engine Task Events by @sdsantos in #35
- Finish Engine SDK by @sdsantos in #36
- Configure database models and repositories by @sdsantos in #38
- NetworkTypeFinder for Android by @sdsantos in #39
- Wrap engine calls with a result object to avoid thrown exceptions by @sdsantos in #41
- fix(database): error running on iOS device by @aanorbel in #48
- Show results by @sdsantos in #47
- Setup default OONI tests by @sdsantos in #63
- Run V2: Bootstrap DW tests by @sdsantos in #64
- feat: add network type finder for
iOS
by @aanorbel in #49 - feat: start settings page by @aanorbel in #37
- Fix database name by @sdsantos in #70
- Run Tests by @sdsantos in #67
- Run tests stop and errors by @sdsantos in #68
- Show result by @sdsantos in #69
- Show measurement by @sdsantos in #71
- Mark result as viewed by @sdsantos in #72
- Integrate preferences in engine by @sdsantos in #73
- chore: add support for charging status by @aanorbel in #75
- Support for localized month names by @sdsantos in #76
- Probe logo by @sdsantos in #77
- feat: about page by @aanorbel in #74
- Dashboard run tests state UI by @sdsantos in #79
- Running test screen by @sdsantos in #80
- feat: add proxy page by @aanorbel in #78
- Run test on background service (Android) by @sdsantos in #82
- Auto-run Tests (Android) by @sdsantos in #83
- feat: add translation files by @aanorbel in #84
- Add task origin to result by @sdsantos in #85
- Upload missing measurements by @sdsantos in #86
- Run tests screen by @sdsantos in #89
- feat(run-v2): link installation by @aanorbel in #90
- Test details by @sdsantos in #91
- Finish Settings Test Options by @sdsantos in #93
- Improve markdown by @sdsantos in #94
- Implemente global test progress by @sdsantos in #95
- chore: update link installation by @aanorbel in #101
- Delete all results by @sdsantos in #102
- Filter results by descriptor and origin by @sdsantos in #103
- feat: add
ci
deployment to firebase app distribution by @aanorbel in #112 - feat: background run on iOS by @aanorbel in #111
- Upload missing measurements from specific result by @sdsantos in #113
- Results summary by @sdsantos in #114
- Result Summary by @sdsantos in #115
- feat: add iOS Open VPN Settings by @aanorbel in #124
- Bootstrap preferences by @sdsantos in #119
- Warn when VPN is in use by @sdsantos in #118
- Various Run Test improvements by @sdsantos in #125
- Evaluate measurement keys to get isFailed and isAnomaly. Improve result and measurement states. by @sdsantos in #127
- feat: Onboarding by @sdsantos in #126
- chore: update translations and test for
rtl
by @aanorbel in #130 - feat: descriptor update by @aanorbel in #117
- fix broken build for
nms
oniOS
by @aanorbel in #131 - feat: Configure Sentry crash reporting by @sdsantos in #129
- update: version usage by @aanorbel in #137
- fix: Onboarding text cut with large fonts by @sdsantos in #135
- fix: Result not marked as done when test is manually stopped by @sdsantos in #136
- App Icons by @sdsantos in #139
- Onboarding UI tweaks by @sdsantos in #140
- chore: extract bundle configuration item by @aanorbel in #146
- Share log file by @sdsantos in #133
- feat: add
iOS
file share by @aanorbel in #141 - Improve onboarding large text scroll by @sdsantos in #142
- Dashboard UI by @sdsantos in #143
- feat: add
iOS
icons by @aanorbel in #144 - Results UI by @sdsantos in #145
- fix(workers): worker input error by @aanorbel in #147
- Result, Settings and Descriptor UI by @sdsantos in #148
- chore: update
ios
task configuration by @aanorbel in #153 - feat:
iOS
status bar color by @aanorbel in #152 - feat(settings): storage used and clear storage by @aanorbel in #151
- Lock sentry pod version by @sdsantos in #168
- use proper icons in result screen by @aanorbel in #165
- Android UI instrumented tests by @sdsantos in #150
- Fix TestKeys Tampering json deserialization by @sdsantos in #162
- Show errors on result list by @sdsantos in #164
- Run V2 UI tests by @sdsantos in #170
- feat: add firebase test lab by @aanorbel in #169
- feat(runv2): add descriptor uninstall prompt by @aanorbel in #171
- update
info.plist
and released to test flight. by @aanorbel in #176 - chore: fix uninstall test by @aanorbel in #180
- Choose websites by @sdsantos in #177
- Protect navigation from duplicated actions and empty screens by @sdsantos in #179
- fix: ios status bar for onboarding. by @aanorbel in #181
- Fix website base64 encoding crash on iOS by @sdsantos in #182
- fix:
ResultMeasurementCell
text overflow by @aanorbel in #184 - Fix installAndUninstall resource failure by @sdsantos in #185
- Small navigation improvements. Right keyboard for websites. by @sdsantos in #183
- Request to ignore battery optimizations by @sdsantos in #186
- Rerun websites by @sdsantos in #187
- chore: update dependencies by @aanorbel in #194
- Optimize WebP images size by @sdsantos in #191
- feat: add created date by @aanorbel in #192
- chore: update notification icon by @aanorbel in #193
- Update dependencies by @sdsantos in #197
- Disable javascript and other links from webview by @sdsantos in #198
- Landscape support by @sdsantos in #199
- Show progress when downloading urls by @sdsantos in #200
- feat: added proxy label to running screen by @aanorbel in #202
- Fix removal of uploaded json reports. Don't keep test logs. by @sdsantos in #206
- Update storage space on observe by @sdsantos in #207
- Show results limit notice by @sdsantos in #212
- Show failed uploads by @sdsantos in #213
- Add database indexes by @sdsantos in #214
- Upload missing results during auto-run by @sdsantos in #215
- fixes IrLinkageError by @aanorbel in #217
- fix: url encoding error by @aanorbel in #218
- feat: add support for
f-droid
build by @aanorbel in #216 - Auto-run now depends on upload results settings by @sdsantos in #223
- Skip auto-run after certain amount of not uploaded results by @sdsantos in #225
- feat: add
km
language update translation by @aanorbel in #227 - Skip auto-run if VPN is enabled by @sdsantos in #229
- Notification: Handle stopping state and disable dismiss by @sdsantos in #231
- Choose websites test by @sdsantos in #232
- Disable transition animations by @sdsantos in #233
- UI Testing for NewsMediaScan by @sdsantos in #236
- chore: move to prod backend. by @aanorbel in #235
- Improve checkbox and switch accessibility by @sdsantos in #237
- chore: update
ios
background scheduling by @aanorbel in #234 - feat: Add support for sharing a link to the OONI Probe app by @aanorbel in #239
- Fix inset in Descriptor screen update by @sdsantos in #242
- Cancel in progress CI actions on push by @sdsantos in #243
- feat: add headers for embedded webview by @aanorbel in #245
- fix: ios email error by @aanorbel in #253
- chore: update settings preferences by @aanorbel in #254
- fix: change
nms
android icons by @aanorbel in #259 - fix: background runner strategy by @aanorbel in #258
- fix: interrupt test in the engine by @aanorbel in #264
- Update Sentry by @sdsantos in #266
- Platform-specific WebView implementation to limit domains to ooni.org by @sdsantos in #260
- Limit amount of events from preferences by @sdsantos in #267
- Remove zoom transitions by always providing content on screens by @sdsantos in #270
- fix: display proper test name in progress views by @aanorbel in #268
- Fix logging performance issues by @sdsantos in #272
- update: explorer url by @aanorbel in #271
- chore: fix ios build by @aanorbel in #273
- feat: add support for using OONI Icons in descriptors. by @aanorbel in #244
- feat: add share for explorer URL by @aanorbel in #283
- Make uploading missing results stoppable and part of the same background flow by @sdsantos in #284
- Revert /res/ gitignore changes by @sdsantos in #285
- Make result summary scrollable by @sdsantos in #286
- feat: website categories and test duration do not apply to NewsMediaScan by @aanorbel in #288
- Setup sentry new projects by @sdsantos in #290
- Improve measurement webview loading UI by @sdsantos in #291
- Hide tap results after tap by @sdsantos in #287
- Upload missing measurement after result cancel by @sdsantos in #294
- show website animation and colors in RunningScreen by @aanorbel in #289
- Assemble release APKs for firebase distribution by @sdsantos in #296
- Fix fdroid build by @sdsantos in #297
- Fix SettingsTest for NewsMediaScan by @sdsantos in #298
- Clear preferences shortcut by @sdsantos in #295
- fix: app distribution deploy on main by @aanorbel in #299
- feat: limit test duration should only apply to the OONI websites descriptor by @aanorbel in #292
- chore: add audio to background modes by @aanorbel in #301
- fix: run screen view by @aanorbel in #302
- Improve DescriptorUpdateWorker exception handling to avoid misleading reports by @sdsantos in #303
- Test reporting improvements by @sdsantos in #305
- Fix stunReachability test by @sdsantos in #306
- Fix first descriptor update on NewsMediaScan by @sdsantos in #307
- Add CI badges to README by @sdsantos in #308
- chore: upgrade to engine
v3.24.0
by @aanorbel in #309 - chore: update explorer url by @aanorbel in #312
- fix:
mailto
on android by @aanorbel in #311 - Improve test options by @sdsantos in #313
- Upload missing results on start by @sdsantos in #315
- Fix run with VPN by @sdsantos in #317
- Prepare new strings by @sdsantos in #318
- update: kotlin version and support for
xcode 16.0
by @aanorbel in #269 - Lower level of openvpn warning by @sdsantos in #322
- Enhance missing uploads monitoring on Sentry by @sdsantos in #325
- fix: month issue by @aanorbel in #327
- fix: test URLs button is hidden behind keyboard by @aanorbel in #326
- Disable websites descriptor if no categories are enabled by @sdsantos in #329
- Select/deselect all website categories by @sdsantos in #328
- Remove setting to skip auto-run after certain limit by @sdsantos in #330
- feat: migrate to
dw
signing by @aanorbel in #331 - chore: update resources by @aanorbel in #332
- fix: update entitlements for
iOS
by @aanorbel in #335 - fix:
ipad
share by @aanorbel in #336 - fix: linting by @aanorbel in #351
- Avoid upload dialog from becoming stuck after successful upload in background by @sdsantos in #337
- Suppress LookupHost failed error reports by @sdsantos in #338
- chore: remove
audio
fromUIBackgroundModes
by @aanorbel in #348 - fix: Sentry iOS: A required debug information file was missing by @aanorbel in #347
- feat: Group experimental measurements by type by @aanorbel in #349
- feat: disable
ndt
anddash
in background run by @aanorbel in #353 - Results: Show success, anomaly and failed counts on items by @sdsantos in #346
- Correct order for showing measurements by @sdsantos in #358
- Drop network IP column by @sdsantos in #355
- feat: Show performance metrics on performance items by @aanorbel in #360
- feat: add counts to summary cards by @aanorbel in #352
- Start docs folder by @sdsantos in #364
- Android in-app updates by @sdsantos in #363
- Finish initial version of the Database documentation by @sdsantos in #366
- fix character encoding while reading
ios
file by @aanorbel in #365 - feat: add expired tag by @aanorbel in #359
- Background work documentation by @sdsantos in #371
- Switch to Result Summary Type by @sdsantos in #373
- chore: update ooni release backend by @aanorbel in #375
- feat: add
ios
in-app update by @aanorbel in #377 - Fix failed measurements count string by @sdsantos in #376
- feat: Show performance metrics (video, download, upload and ping) on summary card by @aanorbel in #374
- revert back to
prod
APIs by @aanorbel in #382 - chore: add email extra to mail intent by @aanorbel in #383
- V2 descriptors summary type should be anomaly by @sdsantos in #380
- Keep old descriptor revisions by @sdsantos in #381
- Fix review descriptor bugs by @sdsantos in #388
- Do not review minor descriptor updates (no revision number change) by @sdsantos in #390
- Show previous revisions without current by @sdsantos in #391
- chore: update
ooni
app ID by @aanorbel in #392 - chore(deps): update dependency by @aanorbel in #393
- Sync font awesome icons by @sdsantos in #401
- Improve StartupFailure/ResolverLookupFailure message by @sdsantos in #402
- chore: add
android-fragment
explicitly by @aanorbel in #404 - Aggregate cannot submit measurement logs by @sdsantos in #403
- fix: SharedPreferences are failing to migrate from the old Android app by @aanorbel in #407
- Foreground Service Mitigations by @sdsantos in #408
- Handle and report blank measurement report file by @sdsantos in #409
- chore: update
nms
app id by @aanorbel in #410 - chore: enable
echcheck
,dnscheck
,torsf
by @aanorbel in #413 - chore: add release docs by @aanorbel in #412
- More detailed uninstall link prompt string by @sdsantos in #411
- feat: add
os_version
to annotations by @aanorbel in #415 - chore: update translations by @aanorbel in #414
- chore: update experimental app status by @aanorbel in #420
- chore(iOS): restructure background task by @aanorbel in #424
- chore: update dependency to fix broken
ci
by @aanorbel in #427 - Persist rejected descriptor updates by @sdsantos in #425
- feat: correct autorun filter by @aanorbel in #434
- chore: update version for
5.0.1
release by @aanorbel in #432 - Add ISSUE_TEMPLATEs from probe repo by @hellais in #430
- chore: increment version code by @aanorbel in #436
- feat: add support for url in
echcheck
by @aanorbel in #437 - Don't fetch previous revisions from API by @sdsantos in #439
- Add release version badges of Google Play apps to README by @sdsantos in #440
- Aggregate statsManager not found error logs by @sdsantos in #441
- Add F-Droid and App Store release badges by @sdsantos in #442
- Accessibility improvements by @sdsantos in #444
- Request in-app review by @sdsantos in #445
- feat: add fastlane by @aanorbel in #431
- Ensure CI is running for both Fdroid and Full. Update AGP. by @sdsantos in #447
- chore: update app versions for
5.0.2
release by @aanorbel in #450 - chore: update translation by @aanorbel in #451
- chore: update version code for
5.0.2
release by @aanorbel in #455 - fix: translation template by @aanorbel in #456
- Handle measurement webview errors by @sdsantos in #457
- chore: add metadata folder for F-Droid release by @aanorbel in #470
- Screenshots for test results by @sdsantos in #452
- Translations: Updates for project OONI Probe by @transifex-integration in #472
- Translations (NMS): Updates for project DW News Media Scan by @transifex-integration in #474
- Unique string-commons.xml translations. Setup transifex. by @sdsantos in #471
- chore: update fastlane config for
nms
by @aanorbel in #473 - Disable crash reporting for screenshot tests by @sdsantos in #475
- Translations: Updates for project OONI Probe by @transifex-integration in #476
- Translations (NMS): Updates for project DW News Media Scan by @transifex-integration in #477
- chore: update dependencies by @aanorbel in #478
- Translations: Updates for project OONI Probe by @transifex-integration in #479
- chore: update version for ooni probe release by @aanorbel in #481
- fix: add default values for settings. by @aanorbel in #480
- Center bottom navbar title by @sdsantos in #485
- Remove DependencyInfoBlock by @licaon-kter in #490
- Organize and remove unusued strings by @sdsantos in #487
- Re-create DB if older than V5 by @sdsantos in #488
- Translations: Updates for project OONI Probe by @transifex-integration in #482
- Translations (NMS): Updates for project DW News Media Scan by @transifex-integration in #483
- Translations: Updates for project OONI Probe by @transifex-integration in #492
- Enable ABI split by @sdsantos in #491
- Integrate fastlane Google Play strings with transifex by @sdsantos in #489
- Translations (NMS): Updates for project DW News Media Scan by @transifex-integration in #493
- Translations: Updates for project OONI Probe by @transifex-integration in #494
New Contributors
- @hellais made their first contribution in #430
- @transifex-integration made their first contribution in #472
- @licaon-kter made their first contribution in #490
Full Changelog: https://github.com/ooni/probe-multiplatform/commits/v5.0.2