v2.9.0
This latest version includes tutorials and UI fixes to make using VPN easier, as well as bug fixes and technical improvements.
What's Changed
- Reactivate Qt6 android builds by @mbirghan in #3052
- Add missing error string by @lesleyjanenorton in #3067
- Fix #3026 - Submit auth forms on 'Enter' clicks only when submit buttons are enabled by @lesleyjanenorton in #3066
- Disable 2FA "Verify" button when code input is empty by @lesleyjanenorton in #3065
- Build Ubuntu packages with Qt6 linux support by @oskirby in #3063
- Fix animations not playing when navigating back from Get help by @flozia in #3057
- RELENG-851 - Pull taskgraph from pypi by @hneiva in #3059
- Fix #3060 by @lesleyjanenorton in #3064
- Disable VPNToggle when Connection Info Screen is open by @flozia in #3075
- Fix connection info restart button on error view by @flozia in #3080
- Fix connection info mobile layout by @flozia in #3078
- RELENG-820: Create android push apk tasks by @gabrielbusta in #2939
- Fix a crash in CI - nullify the request when completed - VPN-1930 by @bakulf in #3087
- Improve the qmake project generation by @bakulf in #3082
- Fix uploads to Socorro (Crashreports) by @mkestler-rtp in #3094
- Add a new string to fix the connection label - VPN-1858 by @bakulf in #3089
- Add ViewAuthenticationUnblockCodeNeeded.qml UI by @lesleyjanenorton in #3098
- Fix the IOS compilation in CI - VPN-1955 by @bakulf in #3099
- Use glean_parser latest version - fixes VPN-1886 by @bakulf in #3041
- Extra glean events for the subscription IAP flow by @bakulf in #3047
- Schedule contact-tasks during the authentication - VPN-1947 by @bakulf in #3109
- Fix the ci_scripts PATHs for the iOS CI by @bakulf in #3108
- No too aggressive timeouts in lottie animations by @bakulf in #3093
- Fix What’s new panel translations by @flozia in #3104
- Telemetry events for connection stability by @bakulf in #3048
- Add a missing dependency to fix the compilation on macos by @bakulf in #3112
- Fix settings label when Connection info screen is open by @flozia in #3113
- grcov for linux by @bakulf in #3019
- Remove a non-existing CONFIG flag by @bakulf in #3116
- Move a script for linux in the taskcluster folder by @bakulf in #3053
- Fix for AIA inputs on Android by @flozia in #3054
- Move macosx_build.sh script into the taskcluster folder by @bakulf in #3120
- Update the server country/city names - fixes VPN-1658 by @bakulf in #3121
- Invoke glean_parser as a module. by @oskirby in #3135
- Fix ConnectionInfo binding loop by @flozia in #3133
- Run Connection info animation only once by @flozia in #3136
- Android: Do not block UI thread for ipc by @strseb in #3100
- Update
Prototype Pollution in minimistdependency - VPN-1964 by @bakulf in #3118 - Disable selection of server location and devices when CI is open by @flozia in #3143
- Fix What’s new translations on initial slide by @flozia in #3142
- Tunnel log entries were not decoded correctly by @mkestler-rtp in #3137
- Add MacosAuthenticationListener to support deep linking by @oskirby in #2852
- Sign Mozillavpnnp correctly on macos by @bakulf in #3145
- Fix VPNIconButton tooltips by @flozia in #3144
- Fix mobile onboarding white space on iOS by @flozia in #3072
- Fix The Whitebox issues on android 11+ by @strseb in #3155
- Re-enable native multihop support via LocalSocketController by @oskirby in #3134
- Update Android Qt version 6.2.1-> 6.2.3 by @strseb in #3159
- Linux: Update Qt6 PPA URL for Github CI builds by @oskirby in #3160
- A new tool to create country/city localization - fixes VPN-1967 by @bakulf in #3132
- Create the dump folder by @mkestler-rtp in #3139
- Fix typo in README.md by @jwigert in #3169
- Fix a crash in the CI - VPN-1989 by @bakulf in #3170
- Add libqt6sql6-sqlite as a dependency by @oskirby in #3172
- Allow the lib path to be set during build config by @Cimbali in #3140
- Remove Broken Apk's in release tasks by @strseb in #3161
- Ignore .cargo* folders - fixes VPN-1976 by @bakulf in #3166
- Generate grcov logs for functional tests by @bakulf in #3146
- Avoid a 0-division in CI by @bakulf in #3182
- Localize countries/cities using "en" as fallback by @bakulf in #3164
- Fix mobile onboarding background on android 12 by @strseb in #3184
- Heartbeat task couses high CPU usage and high memory consumption by @bakulf in #3189
- Update i18n repo in ci runs by @strseb in #3185
- Fix the connection-speed value by @bakulf in #3188
- Fix Not Loadable Lottie Animations on Android 12 by @strseb in #3183
- Fix handling of controller state changes while benchmarking connection by @flozia in #3163
- Remove feature-tour warnings - fixes VPN-1997 by @bakulf in #3193
- Fix captive portal functional tests. by @oskirby in #3187
- Fix way to enable debug features for Glean by @brizental in #3090
- Fix Log sharing on android by @strseb in #3196
- Fix a bunch of assorted QML warnings. by @oskirby in #3173
- Fix red cursor in VPNTextField on Android by @lesleyjanenorton in #2992
- Reduce the number of writing operations - fixes VPN-VPN-1996 by @bakulf in #3191
- Fix a crash in adjust task submission - VPN-2001 by @bakulf in #3205
- Fix high-DPI scaling on Android by @flozia in #3194
- Verification code is a 8-digit string - fixes VPN-2000 by @bakulf in #3208
- Fix #3103 - Fix clickable areas of links in IAPP legal disclaimer by @lesleyjanenorton in #3204
- Fix a crash in the sending unblock codes by @bakulf in #3210
- Correct error propagation in the Auth in-app listener - VPN-2007 by @bakulf in #3214
- Rescan for dumps by @mkestler-rtp in #3202
- Suspect the timers for lottie animations when they are completed - VPN-2004 by @bakulf in #3207
- update the i18n git module before importing languages by @bakulf in #3219
- Replace hard-coded "Secure password" string with string id by @lesleyjanenorton in #3223
- added initial pr template by @mozrokafor in #3105
- Xcode cloud fix by @mbirghan in #3225
- Let's use QT 6.2.4 almost everywhere by @bakulf in #3217
- Unblock code and email code are not digit only. by @bakulf in #3226
- Fix the system notification icons on Linux by @oskirby in #3224
- Revise password hint behavior in create password view by @lesleyjanenorton in #3038
- Fix LogViewer by @strseb in #3233
- Data-review bugID updated by @bakulf in #2990
- Fix contact and developer menu when visited from iOS onboarding by @flozia in #3234
- Version bump 2.9.0 by @bakulf in #3244
- Remove a non-catchable Fxa error and increase the test-coverage for auth-in-app by @bakulf in #3242
- Fix red cursor in VPNTextArea on Android by @lesleyjanenorton in #3221
- Fix 1615 - Checkboxes and radio buttons can be controlled by tapping their labels by @MattLichtenstein in #3174
- Only install on Win10 or higher, 64bit, x86 by @mkestler-rtp in #3236
- Functional testing: Qt6 and cleanup by @oskirby in #3218
- Use qt6 for all the github actions by @bakulf in #3254
- Additional logging for crash reporter by @mkestler-rtp in #3237
- Rewrite the ip-address lookup - fixes VPN-1986 by @bakulf in #3257
- Fix password creation tooltip by @lesleyjanenorton in #3239
- Remove QtCharts dependency by @bakulf in #3259
- Remove the 'fake' disconecting timeout - closes VPN-1985 by @bakulf in #3263
- Add generic authentication error message by @lesleyjanenorton in #3248
- Full Windows Taskcluster CI by @strseb in #2893
- Proposal: Handle Timeouts in InAppAuth Sign-In Step by @strseb in #3256
- Update connectionbenchmark.cpp by @mkestler-rtp in #3266
- Update Android-Qt to 6.2.4 by @strseb in #3275
- TC-Windows: Add debug symbols to artifact bundle by @strseb in #3274
- modified layout to support long country names by @lloan in #3272
- Fix an unblock-code-required issue - fix VPN-2037 by @bakulf in #3279
- Windows: Ignore hidden interfaces for exclusion routes. by @oskirby in #3282
- Cleanup qt5 hacks by @strseb in #3284
- Enable macos tasckluster by @mbirghan in #2873
- Fix Wix schema error due to out-of-order Conditions. by @oskirby in #3290
- Fix PPA automation workflow after Qt6 changes by @oskirby in #3289
- Fix the contact-us stackview handling - fixes VPN-2047 by @bakulf in #3296
- Use the auth-in-app component for account deletion by @bakulf in #3276
- Use qt6 for macos builds in taskcluster by @bakulf in #3307
- Add postrm script to kill the mozillavpn instances when the linux package is uninstalled - fixes VPN-2048 by @bakulf in #3304
- Try to fix python module installation in taskcluster by @bakulf in #3312
- Rename macosx to macos and fix indentations by @bakulf in #3313
- Remove not-used functions in apple-compile script by @bakulf in #3318
- Fix 1615 - Fix issues with radio buttons by @MattLichtenstein in #3260
- Introduce the guide engine by @bakulf in #3252
- Fix location button background color changes when connecting by @lesleyjanenorton in #3333
- Cleanup macos/ios builds in CI by @bakulf in #3334
- Parallelize the connection download benchmark by @oskirby in #3249
- Rust bridge: Add Cargo.lock file by @andersk in #3341
- Android: Split the gradle monolith by @strseb in #3288
- Remove Dead Qt5/android Code by @strseb in #3336
- Move windows_compile.bat into a scripts/windows folder by @bakulf in #3349
- Add the guides by @bakulf in #3339
- Fix-2783: Consistent cancel button by @MattLichtenstein in #3311
- Add free trial strings by @lesleyjanenorton in #3271
- Remove unused environment variables from .taskcluster.yml by @ahal in #3332
- Feature dependencies by @bakulf in #3364
- Enable the delete-account features only on iOS - VPN-2110 by @bakulf in #3362
- VPN-2035: Add 7-day trial label to mobile onboarding by @MattLichtenstein in #3355
- update string for tooltip - vpn apps permission view - toggle by @lloan in #3344
- VPN-1832: Improve visual cues from switching between single and multi-hop (and back) by @MattLichtenstein in #3309
- Add free trial as feature by @flozia in #3370
- RELENG-790: Linux build debian package signing by @gabrielbusta in #3354
- VPN-1839: Dinamically change status bar text color on mobile by @brizental in #3359
- Add and update account deletion views by @flozia in #3365
- Pass iap free trial duration to qml by @strseb in #3351
- Ensure
taskgraphcan be generated locally by @ahal in #3371 - Fix handling of aborted download benchmark by @flozia in #3369
- Fix collapsible card not expanding by @MattLichtenstein in #3376
- Add free trial chip to subscription options by @MattLichtenstein in #3391
- Update settings menu per in-app subscription management updates by @lesleyjanenorton in #3381
- Fix binding loops in mobile onboarding by @lesleyjanenorton in #3392
- Pass the original login email in case of redirects in the in-app auth flow - VPN-2124 by @bakulf in #3387
- Taskcluster: Build qt6 deps on a mac runner by @strseb in #2914
- Enforce empty line at the end of strings.yaml by @flodolo in #3382
- Disable features with dependencies by @bakulf in #3395
- Add the missing extra keys - VPN-2123 by @bakulf in #3403
- Fix disclaimer alignment in auth template by @flozia in #3405
- Fix layout breakage in DNS settings by @flozia in #3406
- Fix isDeleteAccountAuth is undefined by @flozia in #3401
- Guess graphic API for windows by @bakulf in #3398
- Use hashIndex for Openssl by @strseb in #3422
- Hide user info in Contact Support form if user is unauthenticated by @lesleyjanenorton in #3420
- Fix in-browser auth cancel button by @lesleyjanenorton in #3419
- Fix recursive rearranges in connection speed test screen by @lesleyjanenorton in #3417
- Check the model initialization before going to StateMain by @bakulf in #3427
- Try enforcing concurrency limits to abort stale CI runs by @oskirby in #3434
- Expose the app-state via glean events by @bakulf in #3428
- Remove a localizable string for the GPUCheck view by @bakulf in #3435
- Windows: Replace connectivity hint with GetIpInterfaceTable() by @oskirby in #3418
- Expose graphicsApi and use it in the glean initialization by @bakulf in #3441
- Proposal: Sort Plans by trial days by @strseb in #3450
- Fix the tutorial engine by @bakulf in #3438
- Allow landscape mode on ipad - closes VPN-1575 by @bakulf in #3463
- Update to taskgraph 1.5.0 and bump decision image by @gabrielbusta in #3430
- Fix German Free Trial layout by @strseb in #3451
- ci(taskcluster): make sure Android build failures turn the task red (… by @ahal in #3461
- Do not write the conf file on windows by @strseb in #3415
- Fix IAP-Discount not shown by @strseb in #3478
- ci(taskcluster): bump decision image by @gabrielbusta in #3469
- Account Deletion feature should not have features dependencies by @bakulf in #3476
- Get android builds a bigger taskcluster vm by @strseb in #3474
- Documentation for the guide JSON files - VPN-1743 by @bakulf in #3459
- Android: Fix Enless Loading of a free trial plan by @strseb in #3487
- IOS-IAP: Fetch the Free-Trial Info from the right field by @strseb in #3484
- Reduce the number of log entries in android by @bakulf in #2952
- Check the model initialization after the IAP check - fixes VPN-2184 by @bakulf in #3475
- Also check for x64 arch on non-prod .msi by @strseb in #3473
- ci(signing): switch Android builds back to an AWS pool by @ahal in #3495
- Mark some of the glean events as
interactionby @bakulf in #3471 - Android: Fix Random Service starts in the client by @strseb in #3492
- No log entries to stderr when in production - VPN-2207 by @bakulf in #3504
- Remove webview auth code for iOS and Android by @bakulf in #3502
- Experiment: Building with CMake by @oskirby in #3350
- Add highlighted tutorial attribute by @bakulf in #3497
- Reduce clickable area for checkboxrow labels by @MattLichtenstein in #3508
- Expose VPN state via 'status' cli - VPN-2197 by @bakulf in #3519
- Reduce the level of information shared through logs by @bakulf in #3510
- Refactor handling of views with multiple entry points by @lesleyjanenorton in #3407
- Tips and tricks page by @MattLichtenstein in #3431
- Enable/disable features via inspector by @bakulf in #3530
- Tips and tricks page layout fix by @MattLichtenstein in #3524
- Removed NETWORKEXTENSION param by @bakulf in #3533
- Disable features by @bakulf in #3536
- Do not expose free-trial products if free-trial feature is not supported by @bakulf in #3541
- ci: Mac build and signing tasks by @hneiva in #3534
- Taskcluster: Fix wasm build by @strseb in #3546
- Change location to support multi-hop in tutorials by @bakulf in #3458
- Expose objectName in the tutorial signals by @bakulf in #3552
- Fix auth tests and improve unit testing by @oskirby in #3557
- ci: fix Linux + Android Taskcluster build artifacts by @ahal in #3560
- Fix a dumb typo causing the nightly PPA to fail. by @oskirby in #3555
- Fix the cmake-generated windows installer by @oskirby in #3567
- Mention ./scripts/utils/import_languages.py in error message. by @emilio in #3585
- Use Authentication in-app for the functional tests by @bakulf in #3553
- VPN-2260 - Create resilient connection with Guardian Websocket by @brizental in #3505
- Run apt-get update in PPA automation workflow by @oskirby in #3601
- Fix auto-generated BUILD_ID to include major version. by @oskirby in #3599
- Guide view for tips and tricks by @MattLichtenstein in #3565
- VPN-2276 - Put push feature behind feature flag by @brizental in #3604
- Remove the 'aia' params in the client user-agent - PSP-393 by @bakulf in #3485
- Cherry-pick: Check Direct3D shader version to select software rendering by @oskirby in #3605
- Add installation of mozillavpn binary. by @oskirby in #3612
- Add controller state event by @birdsarah in #3470
- linux: Fix icon on GNOME Wayland. by @emilio in #3589
- Reset the app in case of an auth failure - VPN-2149 by @bakulf in #3619
- Refactoring the feature initilization by @bakulf in #3608
- Make surveys per locale by @bakulf in #3623
- Fix install command by @emilio in #3581
- Bugs in CMake string translations by @oskirby in #3631
- Start update with a detached process - VPN-116 by @bakulf in #3626
- ci(taskcluster): temporarily disable caches for mac builds and toolch… by @ahal in #3630
- First experiments with addons by @bakulf in #3586
- Fix wrong name for controller step event by @birdsarah in #3636
- ci: Fix decision task retrigger by @hneiva in #3646
- Expose a way to localize currency values from iso4217 - VPN-2307 by @bakulf in #3648
- Add extra checks for the VPN-2307 currency issue by @bakulf in #3649
- Query parameter replacement for the surveys - VPN-2294 by @bakulf in #3634
- Support for the touch events by @bakulf in #3654
- Update back button in guide views - Fix #3643 by @lesleyjanenorton in #3659
- Quick followup to #3407 by @lesleyjanenorton in #3526
- Add Release notes 2.7.1 -> 2.8.3 by @strseb in #3592
- Fix device-limit - VPN-2319 by @bakulf in #3666
- Center connection info details vertically by @flozia in #3668
- Refactor VPNPopup by @MattLichtenstein in #3653
- Reduce the logging during the authentication flow - VPN-2323 by @bakulf in #3673
- Add a script to generate a translation file by @bakulf in #3664
- Remove unused LinkFeedback by @birdsarah in #3702
- Stop using 8.8.8.8 in the connection check by @strseb in #3708
- Tips and tricks intro modal by @MattLichtenstein in #3679
- VPN-2006 Add an alert for resent confirm codes by @strseb in #3545
- Use toolchain tasks for building openssl and qt by @ahal in #3620
- Let's point to google play store or apple store when updating the client by @bakulf in #3714
- VPN-2259 - Implement exponentially increasing interval between WebSocket server connection retries by @brizental in #3675
- Glean events for the update flow by @bakulf in #3509
- Clear QT_STYLE_OVERRIDE if the style was not found. by @oskirby in #3558
- Update Get help menus by @lesleyjanenorton in #3707
- Remove the ios-kill-switch
Featureand include all networks by default by @bakulf in #3728 - Generate tutorial addons by @bakulf in #3638
- Include addons in the gh-pages branch by @bakulf in #3733
- Fix string export for main branch by @flodolo in #3737
- Feature tour card implementation + refactor by @MattLichtenstein in #3625
- Add guidance on data bugs by @birdsarah in #3726
- fix translations typo for guide block headers by @MattLichtenstein in #3747
- fix: misnamed path in Windows qt toolchain script by @ahal in #3744
- Schedule addon index refresh by @bakulf in #3736
- Move the condition block in the addon world by @bakulf in #3738
- Addons for wasm by @bakulf in #3742
- No filtering for addons. Moving tic-tac-toe and language in a `exampl… by @bakulf in #3740
- Tutorials by @lesleyjanenorton in #3652
- Content change for guide by @MattLichtenstein in #3748
- Mock guardian & FxA - functional tests by @bakulf in #3746
- Improve "device limit" removal visual cues by @MattLichtenstein in #3735
- Nit: Update scrollbar visibility by @lesleyjanenorton in #3661
- Fix Android Crash: Type abort #622 by @strseb in #3706
- Subscription management view by @flozia in #3606
- Fix an error in the translation string script by @bakulf in #3765
- Fallback for the download task DNS lookup by @flozia in #3671
- Addons for 2.9.0 by @bakulf in #3755
- Remove RPM github action by @bakulf in #3809
- [2.9.0] Properly disable qmljsdebugger in release mode by @andersk in #3803
- Remove extra files in the final addon folder by @bakulf in #3890
- Fix the windows installer path for 2.9 by @bakulf in #3943
- Consume signed stuff from the 'signed-internals' folder by @strseb in #3969
- HackFix for 2.9 tutorial UI issues (#4002) by @lesleyjanenorton in #4018
New Contributors
- @gabrielbusta made their first contribution in #2939
- @jwigert made their first contribution in #3169
- @Cimbali made their first contribution in #3140
- @lloan made their first contribution in #3272
Full Changelog: v2.8.4...v2.9.0