Major shoutouts to @bitmold @tladesignz @syphyr @meenbeese @uniqx the tor project team, and all our community translators!
- update to tor 0.4.8.16 with major openssl updates
- important fixes for power user mode and recent Android updates
- new "camo icon" feature for hiding Orbot on your phone
- updates to Snowflake, Obfs4, WebTunnel and all the pluggable transport things
... and much, much more!
c3b7174 (HEAD -> master, tag: 17.5.0-RC-1-tor-0.4.8.16) update to 1750300100
02fa977 (origin/master, origin/HEAD) Merge pull request #1329 from weblate/weblate-guardianproject-orbot
e8577ba Translated using Weblate (Chinese (Simplified Han script))
1d9d090 Translated using Weblate (Ukrainian)
25871f6 Translated using Weblate (Bulgarian)
f26ee8e Merge pull request #1314 from guardianproject/app-lock
ee33ed9 Touch up strings, display error if no device PIN is set
7f2954b logic for locking out app with camo mode works
7dcc357 Merge pull request #1308 from guardianproject/power_user_permission
aa1b3f9 Merge pull request #1312 from guardianproject/camo
d2e5173 Merge pull request #1306 from syphyr/moat_front
073770c Closes #1320
070045a ConfigConnectionBottomSheet used API 24+ call on API 21 pertaining to locales, causing crashes on androids 21-23
8021464 Merge pull request #1317 from cohosh/settings-fixup
79f0639 Dialog and permission logic needed for power user mode regarding #1263
b3b60be Merge pull request #1321 from weblate/weblate-guardianproject-orbot
4c299f9 Translated using Weblate (Catalan)
bfcb596 Translated using Weblate (Turkish)
cb63d82 Translated using Weblate (Japanese)
1a463fc Translated using Weblate (Arabic)
b8264c5 Merge pull request #1318 from weblate/weblate-guardianproject-orbot
64bed24 Translated using Weblate (Chinese (Simplified Han script))
b65849d Translated using Weblate (Ukrainian)
c764d33 Translated using Weblate (Bulgarian)
b8a05b7 Translated using Weblate (Bulgarian)
dace43f Fix potential crash in setPreferenceForSmartConnect()
cd946c9 RTL Layout optimizations
31e49e2 Merge pull request #1316 from weblate/weblate-guardianproject-orbot
5944208 Update translation files
149c30d Translated using Weblate (Portuguese (Portugal))
b7cf157 OrbotLib built on IPtProxy 4.2.0 with lyrebird 0.6.1
9c91663 rename method for adding to torrc with snowflake amp to also reflect how it's used for sqs
1ee933a Merge pull request #1315 from syphyr/snowflake_sqs
1f30282 Use different address for Amp and Sqs bridges
dc27510 Add support for snowflake SQS
3c7769b moved ProxiedHurlStack.kt to circumvention pkg, where it belongs
6671e05 fix randomly broken back button in OnionServices and ClientAuth activities
a865d87 fix back button bug with camo mode in settings menu
492255c fix typo with FitGrit camo app path in manifest
f8f293b Merge branch 'master' into camo
82314cf put new camo strings on master for translators
f1390c6 pressing back from camo button takes you back to settings as it should
5f273ce removed unused camo strings
751f013 UI is polished
2175bfd Camo switching is working with OrbotService, just need to polish UI
5401f53 rudimentary camo implementation is working
6618e61 refactor out settings from appcore to app and app-tv. in order to do camo feature #1264 access to the main app's R class is needed from appcore's settings code. - having settings directly in app project is a much cleaner implementation rather than passnig resources into the appcore project - makes it easier down the line to use non-deprecated preference code in main app - tv app still builds, it also has its own preference code.
6359455 tiny fix for icon regression in #1302
bd09eb5 minor clean of OrbotService for readabiltiy + maintenance (no long methods that are entirely behind an if statement, less one line methods used in one spot making you jump around entire class when debugging)
09fd082 Move tv exclusive appcore code to the tv project (classes that were oncee shared between orbot and orbot tv but now no longer used by the main app. Add some small doc strings to app core classes.
f02d0bd Merge pull request #1309 from weblate/weblate-guardianproject-orbot
0f413d7 Translated using Weblate (Catalan)
48ed89f (origin/main, origin/dev, main, dev) Resolve app bar inset issues on api > 35, #1287
b223644 rename layout_apps.xml -> activity_app_manager.xml
dccac36 simplify activity_settings.xml
70d0d8a invoke doLayoutOff() in ConnectFragment after sending stop tor Intents because cancel button didn't update UI
35c5d10 Merge pull request #1300 from meenbeese/connect-frag
f4d1fa0 closes #1302, add appcompat reference to orbotservice
db9495f Fix #1302 notifications labels are correct for all states
df68895 Merge pull request #1303 from weblate/weblate-guardianproject-orbot
94b6fb4 Translated using Weblate (Japanese)
e753e81 Translated using Weblate (Japanese)
cc8beba Translated using Weblate (Japanese)
1f333b4 Translated using Weblate (Icelandic)
2aa80ca Translated using Weblate (Persian)
8036a34 Translated using Weblate (German)
097b5ea Translated using Weblate (Bulgarian)
30f1f4d Translated using Weblate (Arabic)
d63df20 Translated using Weblate (Arabic)
dcb09ae Implement ConnectFragment UI updates via StateFlow
a9bd8fd Do not use moat-url from meek-azure config
8b1c92a don't update the fronts for now unti lwe can be sure the logic is correct
2d0de58 update front scripts to use correct Moat bridge for Cirvumention API
37f802b Merge branch 'master' of github.com:guardianproject/orbot
9324e03 update tor-android to 0.4.8.16.1 which includes OpenSSL 3.5
9e6fb8d Merge pull request #1298 from meenbeese/enableEdgeToEdge
d5dde6d Merge pull request #1301 from weblate/weblate-guardianproject-orbot
8842f16 Translated using Weblate (Chinese (Simplified Han script))
f74cf01 Translated using Weblate (Persian)
2021b57 Translated using Weblate (Icelandic)
1aae4c5 Fix layout issues and enableEdgeToEdge fixes
c828e88 Merge pull request #1299 from weblate/weblate-guardianproject-orbot
a0a1d5e Translated using Weblate (Ukrainian)
c66956d Translated using Weblate (Albanian)
0fd4345 Translated using Weblate (Hebrew)
c6b8db7 Translated using Weblate (Chinese (Simplified Han script))
c38c466 Translated using Weblate (Albanian)
1049af9 Translated using Weblate (Persian)
deb0412 Translated using Weblate (Chinese (Traditional Han script))
49bfb1c UI to open a camo app icon picker
64c49e4 Merge remote-tracking branch 'refs/remotes/origin/master'
012a066 preference for camo mode, generic icon and text are displayed in place of orbot when enabled
684d779 Merge pull request #1297 from weblate/weblate-guardianproject-orbot
ac00eae Translated using Weblate (Turkmen)
092a8d1 Merge pull request #1296 from weblate/weblate-guardianproject-orbot
6de9fd5 Translated using Weblate (Spanish (Cuba))
3959b8c Update translation files
ea84b3f Merge branch 'dev_weblate'
baa9e28 setup activity-alias tags in manifest for alt app labels
8c4ba79 @SuppressLint(Range) on onionservice db calls to disable red IDE errors on cursor.get methods
a685298 add AppIconNameChanger dependency, and initial xml resources
a245a8c App list looks great on large and small font/display sizes #1172
3f609e9 more fragment looks great on large text/large display settinsg #1172
7ebe626 remove top margin on main activity
0f99d60 settings app no longer has large topbar cropping off content like in #1259 screenshots
bf404a6 more item text is off center when text size is huge #1172
854e4df Main screen and app picker had humongous top padding, causing app to look like screenshots i posted in #1259
c89d972 update TorifiedApp.kt
7d78f85 Rewrite TorifiedApp in Kotlin and add serialization
2a66328 geoip+geoip6 from tor, do_release_housekeeping.sh
7298375 Make sure snowflake-brokers is current
e807a23 Cleanup testing libraries and bump JUnit
093295b ran update_snowflake_bridges, latest fronts
adede81 update to 0.4.8.13 (openssl 3.0.x)
b75e3df Update release script for snowflake and meek configs
09b8db2 print snowflake brokres after downloading them in script
5b8787b ran scripts/fix-ellipsis.sh in orbotservice
ca56bb4 more misc cleanup
cc576eb removed old html
d881196 use same column names for v3 client auth in app and orbotservice module
3bef3e0 trivial to convert Database.java files to kotlin
5bff69e use same column names for onionservice in app and orbotservice module
c066b36 dont bury kindness mode notification sending under debug config
42c172f OrbotService under 1200 lines
e27c9d0 more kotlin seperation of anti censorship config out of OrbotService.java
c5b5473 moved logic to get snowflake brokers into snowflakeclient
88e28e4 remvoed final proxy service method into circumvention kotlin packge
93c3090 extracted db logic pertaining to client auth and onion services from OrbotService
20f7f92 OrbotService debloat, move formatBandwidthCount() to the one file its actually used
29af8dc extracted iptproxy logic for starting/stopping snowflake proxy from OrbotService, converted to kotlin
30dccbe extracted code to start/stop snowflake clients from OrbotService, converted to kotlin
a0fb109 extracted vb SQL classes out of OrbotService, converted them to Kotlin in own package
ff8c02c cleaned up OrbotService as much as possible without doing a deep dive
b5d5106 trivial to convert PowerConnectionReceiver.java -> Kotlin
841ebb2 trivial to convert orbotservice Utils.java -> kotlin
ace79d5 trivial to convert RequestPackerHandler.java -> kotlin
e2539ea trivial to convert StartTorRecevier.java -> Kotlin
3ce46d7 trivial to convert DNSResolver.java -> kotlin
0732d09 trivial to convert CustomTorResourceInstaller.java to kotlin
120b9a2 trivial to convert PrefsWeeklyWorker.java -> kotlin
b95c914 cleanup root detection, unused import in OrbotActivity
1d1699c android gradle plugin 8.9.0 -> 8.9.2
a191891 Unify more icons with material style
067b000 redact client auth onion service url #810
161fae6 Fixes #975
a4325c8 removed obsolete stuff from LICENSE
1927334 same param val refactor in OnBootReceiver
f92c0b1 fixed another deprecated fragment method warning, misc formatting
03d4d07 Small changes to ConnectFragment, made new method private, replaced deprecated function
8c9dc05 Improve navigation handling with rotation
6cb87d8 added Android VPN Settings as 8th tile, rearranged and updated some string res
2151c1b Redesign MoreFragment with a responsive grid layout
6805e85 Its 2025, gitignore the .kotlin config dir
17e4cd9 removed now unused relay strings + translations from main app
30d3097 removed relay settings caused an exception string in orbotservcice string res
f20a8c0 remove relay code from preferences.xml and OrbotService's torrc logic
4a34671 commented out gradle include for built tor-android binary
0fe57d1 removed onLowMemory() string translation, just log it like other memory warnings
0db2aec removed lingering translated string resources from OrbotService that have since been removed from app
79c452d formatted very long and deprecated preferences.xml
881d0a2 Add setting to keep isolated circuits alive
ce2a8fd removed unused func
5863bc6 bump android gradle plugin 8.6.1 -> 8.9.0
dc4288a superficial tv linting
6f3845a more linting, typo correction from IDE
1eb47b7 inspected code, applied lints to unused resources, incorrect kotlin, probable bugs, always-the-same params and so on
872e5ee minor dep updates
9245914 update geoup files
8df9ae1 update version code 1742200100
6e501f8 ensure Prefs has the ApplicationContext set in all cases - addresses crash seen in some backup systems that don't init the Application
39500a4 more small layout tweeks
df53096 remove accidental redundant startForeground() call
9845e21 small UX fix under this branch for app bar overlay #1273
e8b939c switch to systemExempted from specialUse since we are a VPN app
fb51cbe implementing FOREGROUND_SERVICE_TYPE_SYSTEM_EXEMPTED to stop service kill for #1263
9eba9f8 update to agp 8.6.0 for build compat
9328c6a Update Kotlin and other dependencies
acbf109 Modify DNS Port strings
dcdb6f1 Fix constants and setting ports
19463a9 fix port setting issue (due to MoreFragment or View not being init'd in time)
d58a39d Add left/right sliding animations to the navbar
f4d72a8 Refresh the navbar with new Material icons
428adfd Implement syntax check for custom bridges
dc143cf Replace HTML with native text formatting
945b4a6 Simplify the impl of sendIntentToService functions
4721d10 Delete fastlane/metadata/android/fa/images/phoneScreenshots/device-2018-01-05-123814.png
162f3ff Delete fastlane/metadata/android/fa/images/phoneScreenshots/device-2018-01-05-123828.png
f7235e2 Delete fastlane/metadata/android/fa/images/phoneScreenshots/device-2018-01-05-123836.png
e3313f8 Delete fastlane/metadata/android/fa/images/phoneScreenshots/device-2018-01-05-123908.png
4601cf0 Delete fastlane/metadata/android/fa/images/phoneScreenshots/device-2018-01-05-124039.png
5414ea0 Delete fastlane/metadata/android/fa/images/phoneScreenshots/device-2018-01-05-124045.png
b105519 Delete fastlane/metadata/android/fa/images/phoneScreenshots/device-2018-01-05-124052.png
43fd750 Delete fastlane/metadata/android/fa/images/phoneScreenshots/device-2018-01-05-124059.png
874706e Add new screenshots for persian
fa26750 Add preference to enable device rotation
ec5c912 Center the Orbot activity vertically
0d11076 Refactor and rewrite the OrbotConstants
be69afe Refactor CustomBridgesActivity to a fragment
3c8d08d Rewrite CustomBridgesActivity file in Kotlin
7aca5fa Fix support for Snowflake Amp
2699727 Improve the connect fragment UI on tablets
117bb1b update to 1741200400
2dcc131 fix kotlin syntax
3448e02 (origin/spoof) setup activity-alias tags in manifest for alt app labels
23e86fa @SuppressLint(Range) on onionservice db calls to disable red IDE errors on cursor.get methods
d7ccf72 add AppIconNameChanger dependency, and initial xml resources
35961b1 App list looks great on large and small font/display sizes #1172
58d59a2 more fragment looks great on large text/large display settinsg #1172
5866898 remove top margin on main activity
bd865cc settings app no longer has large topbar cropping off content like in #1259 screenshots
e1cb677 more item text is off center when text size is huge #1172
9546ddf Main screen and app picker had humongous top padding, causing app to look like screenshots i posted in #1259
91d3d39 update TorifiedApp.kt
d41f8b4 Merge pull request #1290 from meenbeese/torified-rewrite
4f7dc38 geoip+geoip6 from tor, do_release_housekeeping.sh
7211082 Merge pull request #1292 from syphyr/snowflake_brokers
f40f355 Merge pull request #1293 from meenbeese/junit
54a8549 ran update_snowflake_bridges, latest fronts
904f0fa Make sure snowflake-brokers is current
02048d7 Cleanup testing libraries and bump JUnit
1d95aeb update to 0.4.8.13 (openssl 3.0.x)
689839a Merge branch 'master' of github.com:guardianproject/orbot
0f536b4 Merge pull request #1291 from syphyr/release_script
6cd539c Update release script for snowflake and meek configs
97c93c0 Rewrite TorifiedApp in Kotlin and add serialization
2f81447 Translated using Weblate (Hebrew)
256b95c Translated using Weblate (Hebrew)
7a1f02d print snowflake brokres after downloading them in script
68d4069 ran scripts/fix-ellipsis.sh in orbotservice
74b7a70 more misc cleanup
a164ba7 removed old html
cb9d3c2 use same column names for v3 client auth in app and orbotservice module
2531b78 trivial to convert Database.java files to kotlin
96f595e use same column names for onionservice in app and orbotservice module
bb82146 dont bury kindness mode notification sending under debug config
145d69e OrbotService under 1200 lines
da13311 more kotlin seperation of anti censorship config out of OrbotService.java
f75ed21 moved logic to get snowflake brokers into snowflakeclient
b23441e remvoed final proxy service method into circumvention kotlin packge
abfc93a extracted db logic pertaining to client auth and onion services from OrbotService
e3ab99d OrbotService debloat, move formatBandwidthCount() to the one file its actually used
ccfd69a extracted iptproxy logic for starting/stopping snowflake proxy from OrbotService, converted to kotlin
3bfba10 extracted code to start/stop snowflake clients from OrbotService, converted to kotlin
6a14c9d extracted vb SQL classes out of OrbotService, converted them to Kotlin in own package
ce2d9e8 cleaned up OrbotService as much as possible without doing a deep dive
7eb1029 trivial to convert PowerConnectionReceiver.java -> Kotlin
ade8a1f trivial to convert orbotservice Utils.java -> kotlin
fb8fc29 trivial to convert RequestPackerHandler.java -> kotlin
8ed1cc8 trivial to convert StartTorRecevier.java -> Kotlin
7e00338 trivial to convert DNSResolver.java -> kotlin
e039f91 trivial to convert CustomTorResourceInstaller.java to kotlin
f11ef4b trivial to convert PrefsWeeklyWorker.java -> kotlin
b7bff91 cleanup root detection, unused import in OrbotActivity
c30e308 android gradle plugin 8.9.0 -> 8.9.2
1a1398b Merge pull request #1289 from meenbeese/icons
82a780f Unify more icons with material style
27ec075 redact client auth onion service url #810
7bea394 Fixes #975
835d0de removed obsolete stuff from LICENSE
4f6eaee same param val refactor in OnBootReceiver
02f6d6f fixed another deprecated fragment method warning, misc formatting
26ee429 Small changes to ConnectFragment, made new method private, replaced deprecated function
e51c784 Merge remote-tracking branch 'meenbeese/navigation'
984492c added Android VPN Settings as 8th tile, rearranged and updated some string res
269799a Redesign MoreFragment with a responsive grid layout
d214f0c Its 2025, gitignore the .kotlin config dir
2a21bbc Merge branch 'drop_relay_support'
0a8effd commented out gradle include for built tor-android binary
96f222c (origin/drop_relay_support) removed now unused relay strings + translations from main app
096f1af removed relay settings caused an exception string in orbotservcice string res
72a5b13 remove relay code from preferences.xml and OrbotService's torrc logic
bb5a812 removed onLowMemory() string translation, just log it like other memory warnings
cc82c0e removed lingering translated string resources from OrbotService that have since been removed from app
d581bef formatted very long and deprecated preferences.xml
f122af0 Merge pull request #1284 from syphyr/keep_alive
80ba1f5 removed unused func
183e7c9 bump android gradle plugin 8.6.1 -> 8.9.0
ac3cc7f superficial tv linting
fa996eb more linting, typo correction from IDE
5434703 inspected code, applied lints to unused resources, incorrect kotlin, probable bugs, always-the-same params and so on
8e8c4a0 minor dep updates
e2356f6 update geoup files
beb0e98 Add setting to keep isolated circuits alive
6a09cfa Improve navigation handling with rotation