
Tor Browser 16.0a9 is now available from the .
This version includes important . As such, Tor Browser Alpha is not intended for general use because it is more likely to include bugs affecting usability, security, and privacy.
Moreover, Tor Browser Alphas are now based on Firefox's betas. Please read more about this important change in the .
It's ESR transition season again!
Well actually, it has been ESR transition season throughout this entire release cycle! As described in the aforementioned and to patch any changes which do not.
Challenges and Triumphs
💍 Sharing the Load
Rebasing the hundreds of Tor Browser patches onto newer versions of Firefox is a challenging task. It is like maintaining the structural stability of sand-castle at high-tide with the waves crashing all around you.
As such, it quickly become clear early in this new process that we would need to do something if we wanted to avoid burning out the few developers typically involved in this work. To mitigate this, we shared the knowledge internally and spread the work out across all eight members of the team. This way, each developer was only responsible for at most two or three rebases throughout the entire release cycle.
🎨 UI Code Churn
Over the past year, Firefox has developed and integrated two major changes to the UI in Firefox: a from Material 2 to Material 3 in Firefox Android.
Adapting to these types of changes to the frontend are typically rather time-consuming for us, as many (if not the majority) of our patches modify Firefox's UI in some way. For example, we have an entire preferences page on Tor Browser desktop dedicated to configuring how the browser connects to the Tor Network. On Android, we similarly have various additions to the menus, configuration options, and custom UI.
Whenever Mozilla modifies their design systems and Firefox's user interface, we necessarily have to adapt our own custom additions to match. Otherwise, our Tor Browser-specific UI elements would look completely out of place and potentially confuse users (as well as simply looking unprofessional). Therefore, each of these upstream changes requires collaboration with the Tor Project's UX team to update our features' designs and of course development time to implement.
In addition to the time-cost associated with the extra engineering and UX collaboration, very often our old patches simply do not apply cleanly due to the amount of code which has changed. For example, the about:preferences changes on Firefox Desktop are essentially a complete re-write which means we also have to completely re-write our own settings changes without regressing in functionality.
On the plus side, one benefit of our new processes is that we have been able to spread out this work over the entire release cycle. In the past way of doing things, we would have discovered all UX elements which needed to be fixed, updated our designs, and re-implemented in the course of a few months during the old ESR transition season. Under this new way of working, we have been able to incrementally fix things throughout the development cycle.
The benefits of working this way does not just apply to UX of course. It is much easier to find regressions across the entire stack when rebasing between one major Firefox version at a time instead of across 12 or 13. It is also much easier for developers to fix individual regressions one at a time compared to diagnosing, disentangling, and fixing multiple bugs concurrently (divide et impera!).
⚙️ Pending Google Target API Level Requirements
Every year, Google requires new Android app releases to target an updated minimum API level. This means, we would not be able to upload new versions of Tor Browser Stable past a certain date (usually August 1st with an extension to November 1st typically possible) without first updating the app to support the new minimum target API level. Fortunately, we inherit most of the required changes from Mozilla when rebasing to the next major ESR.
However, this requirement does impose a hard deadline for the absolute latest we can responsibly stabilize Tor Browser Alpha and promote it to Stable. We've been fortunate in the past few years to make the deadline with a few days to spare (October 28th for Tor Browser 15, October 22nd for Tor Browser 14, etc). Given how far ahead of the curve we are this year, we are hoping to release about a month earlier in September (fingers crossed!).
🤖 Android APKs too big
The Google Play Store has a strict size limit of about 100 megabytes for Android applications. New functionality added to Firefox Android over the past year means a larger application which results in new headaches for Tor Browser developers. This release cycle was no exception to this rule and we have had to get creative with our size reductions.
In the past, we have been able reduce our package size though various methods including:
- and . We modified the Firefox build system to compress this archive with
xzand we modified Firefox itself to decompress this archive at runtime. This work did require a few iterations to get right. In the end, we got back about 3 megabytes with these changes and got us once again under Google's imposed size budget.
📉 Even Less Telemetry
Over the years, we have worked to incrementally remove dependencies from Tor Browser Android as part of the aforementioned size reduction work. We of course inherit most of these dependencies from Firefox Android and unfortunately some of them can be labeled as 'trackers'. While we do disable telemetry by default at runtime, the code which implements it remains in the codebase.
We're happy to report that as of Tor Browser 16.0a8, are down to only 1 'tracker' library in the Tor Browser Android codebase:
Mozilla Telemetry. Again, this telemetry is disabled at runtime, but this is one more unused dependency which we can . If you discover any other instances lurking about, please
Send us your feedback
Now is a great time to .
Full changelog
The : Show custom security level on android
- : Remove the lock on pdfjs.disable.
- : Security level is using an unsafe getBoolPref
- : Remove translate action from urlbar
- : Convert connection status settings to new design and config approach
- : Use the new "Acorn" icons on desktop
- : Missing CSS border tokens in 153
- : Create a script that adapts the Tor Browser manual HTMLs to work in Tor Browser
- : Use SecurityLevel integration on android
- : Remove moz asset in Downloads screen
- : No value passed for parameter 'jsEnabled'
- : Clean up TorHomePage padding
- All Platforms
- : Fix windows-rs URL in projects/firefox/config
SOCIAL SHARE CARD GENERATOR