tor-browser-build issueshttps://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues2021-03-01T16:04:03Zhttps://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40146Do the signing of nightly mar files on tbb-nightlies-master.torproject.org2021-03-01T16:04:03ZboklmDo the signing of nightly mar files on tbb-nightlies-master.torproject.orgI think to do the nightly mar files signing on `tbb-nightlies-master.torproject.org` we need to do the following list of tasks:
- open a ticket to ask tpa to install some dependencies on tbb-nightlies-master.torproject.org. The list of d...I think to do the nightly mar files signing on `tbb-nightlies-master.torproject.org` we need to do the following list of tasks:
- open a ticket to ask tpa to install some dependencies on tbb-nightlies-master.torproject.org. The list of dependencies needed can be found in `tor-browser-build/tools/ansible/roles/tbb-nightly-signing/tasks/main.yml`. In addition we also need tor and torsocks to be installed (to download the mar files from the .onion of the build server).
- [x] tpo/tpa/team#40083
- in `tor-browser-build/tools/signing/nightly/config.yml`, we need to update `rsync_dest` to make it point to a local directory, and `post_rsync_cmd` to run `static-update-component nightlies.tbb.torproject.org`.
- [x] #40148
Then on `tbb-nightlies-master.torproject.org` as the `tbb-nightlies` user (with `sudo -u tbb-nightlies -s`):
- clone `tor-browser-build.git` somewhere in the `tbb-nightlies` home directory
- generate a new mar signing key, using the script `tor-browser-build/tools/signing/nightly/create-nightly-mar-signing-key`. We should then add this new key as a secondary key to `tor-browser.git`, then wait a few days (or weeks) before doing the next steps so that most users have the new key when we do the switch. Alternatively I can upload the current key if we want to keep using it and rotate to a new key later.
- [x] tor-browser#33803
- [x] #40138
- manually run `torsocks tor-browser-build/tools/signing/nightly/sign-nightly` to test the signing. For this test we should change `rsync_dest` in `tor-browser-build/tools/signing/nightly/config.yml` to a temporary directory to avoid conflict with the old signing VM (until it is ready to replace it).
- [x] #40182
- [x] #40185
- when it is ready, add `torsocks tor-browser-build/tools/signing/nightly/sign-nightly` to a cron job, to run it every 30 minutes
- [x] #40192
- remove the file `/etc/ssh/userkeys/tbb-nightlies` to remove access from the old signing VM
After a few days we should also remove the old mar signing key from `tor-browser.git`.
- [x] tor-browser#40274
- [x] #40203
- [x] #40229
- [x] #40231
- [ ] #40243
cc @gk, @sysrqbTor Browser: 10.5Georg KoppenGeorg Koppen2020-12-07https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40280Update tor's default branch name2022-03-29T23:46:56ZMatthew FinkelUpdate tor's default branch nameIn the not-too-distant-future, tor will move from `master` to `main`, we should land a patch at (roughly) the same time.
Ref: tpo/core/team#2In the not-too-distant-future, tor will move from `master` to `main`, we should land a patch at (roughly) the same time.
Ref: tpo/core/team#22021-05-31https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40447Prepare stable release 11.0.72022-03-10T17:58:59ZrichardPrepare stable release 11.0.7richardrichard2022-02-28https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40448Prepare alpha release 11.5a62022-03-23T21:47:46ZrichardPrepare alpha release 11.5a6richardrichard2022-03-07https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40445Prepare components for switch to mozilla98-based Fenix2022-03-29T23:46:42ZaguestuserPrepare components for switch to mozilla98-based Fenix# tasks
* [ ] #NN: Make the list of components updates for switch to mozilla98-based Fenix
* [ ] tor-browser#NN: Rebase tor-browser patches to 98.0
* [ ] android-components#NN: Rebase android-components patches for Fenix 98
* [ ] fenix#...# tasks
* [ ] #NN: Make the list of components updates for switch to mozilla98-based Fenix
* [ ] tor-browser#NN: Rebase tor-browser patches to 98.0
* [ ] android-components#NN: Rebase android-components patches for Fenix 98
* [ ] fenix#NN: Rebase Fenix patches to Fenix 98
* [ ] tor-browser-spec#NN (FF98 network audit)
* [ ] Review developer notes for Firefox 98
* [ ] Review GeckoView Changelog for gv98
* [ ] Review closed mozilla98 bugs
Note: previously we have put most of these tasks in a card in the tor-browser repo. We might do that here too! For now, I'm leaving the list in this card, b/c I find `tor-browser-build` a more intuitive space for "meta" cards tracking lots of sub-cards. Open to feedback about why/how to do it differently!aguestuseraguestuser2022-03-07https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40455Prepare alpha release 11.5a7 (Android)2022-03-09T22:37:27ZrichardPrepare alpha release 11.5a7 (Android)## Tasks
### **geckoview**
- [x] merge chemspill fixes in tor-browser#40829
- [x] Sign/Tag `geckoview-96.0-11.5-1-build2`
### tor-browser-build
- [x] Update `rbm.conf`
- [x] `var/torbrowser_version` : update to next version
-...## Tasks
### **geckoview**
- [x] merge chemspill fixes in tor-browser#40829
- [x] Sign/Tag `geckoview-96.0-11.5-1-build2`
### tor-browser-build
- [x] Update `rbm.conf`
- [x] `var/torbrowser_version` : update to next version
- [x] `var/torbrowser_build`: update to $(BUILD_N)
- [x] Update `projects/geckoview/config`
- [x] `git_hash`: update the $(BUILD_N) section to match tor-browser tag
- [x] Update allowed_addons.json by running (from `tor-browser-build` root)`./tools/fetch_allowed_addons.py > projects/tor-browser/allowed_addons.json`
- [x] Check for NoScript updates here: https://addons.mozilla.org/en-US/firefox/addon/noscript
- None since 11.5a6 Desktop
- [x] Check for openssl updates here: https://github.com/openssl/openssl/tags
- None since 11.5a6 Desktop
- [x] Check for tor updates here: http://eweiibe6tdjsdprb4px6rqrzzcsi22m4koia44kc5pcjr7nec2rlxyad.onion/tpo/core/tor/-/tags
- None since 11.5a6 Desktop
- [x] Check for go updates here: https://golang.org/dl
- None since 11.5a6 Desktop
- [x] Update `ChangeLog.txt`
- [x] Sign/Tag `tbb-11.5a7-build1`:
- PENDING: merge of tor-browser-build!421
### distro
- [x] upload to dist.torproject.org (via jump-host ssh session to statisticiforme.tpo)
- [x] add to downloads page
- [x] announce in blog postaguestuseraguestuser2022-03-09https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40454Prepare stable release 11.0.8 (Android)2022-03-14T14:54:56ZrichardPrepare stable release 11.0.8 (Android)### fenix
- [x] Backport any required patches (forked from last alpha)
- [x] Sign/Tag commit: `tor-browser-96.3.0-11.0-1-build1`
- [x] Push tag to origin
### android-components
- [x] Backport any required patches
- [x] Sign/Tag commit: ...### fenix
- [x] Backport any required patches (forked from last alpha)
- [x] Sign/Tag commit: `tor-browser-96.3.0-11.0-1-build1`
- [x] Push tag to origin
### android-components
- [x] Backport any required patches
- [x] Sign/Tag commit: `android-components-96.0.15-11.0-1-build1`
- [x] Push tag to origin
### geckoview
- [x] Backport any required patches
- [x] Sign/Tag commit: `geckoview-96.0-11.0-1-build1`
- [x] Push tag to origin
### tor-browser-build
- [x] Backport any required patches
- [x] Update `rbm.conf`
- [x] `var/torbrowser_version` : update to next version
- [x] `var/torbrowser_build` : update to `$(TOR_BROWSER_BUILD_N)`
- [x] ***(Android Only)*** Update allowed_addons.json by running (from `tor-browser-build` root)`./tools/fetch_allowed_addons.py > projects/tor-browser/allowed_addons.json
- [x] Check for NoScript updates here : https://addons.mozilla.org/en-US/firefox/addon/noscript
- NONE
- [x] Check for openssl updates here : https://github.com/openssl/openssl/tags
- NONE
- [x] Check for tor updates here : http://eweiibe6tdjsdprb4px6rqrzzcsi22m4koia44kc5pcjr7nec2rlxyad.onion/tpo/core/tor/-/tags ; Tor Browser Alpha uses `-alpha` tagged tor, while stable uses the stable series
- [x] If new tor version is available, update `projects/tor/config.version` -> 0.4.7.4-alpha
- [x] Check for go updates here : https://golang.org/dl (Tor Browser Alpha uses the latest Stable go version, while Tor Browser Stable uses the latest of the previous Stable major series version (eg: if Tor Browser Alpha is on the go1.17 series, Tor Browser Stable is on the go1.16 series)
- [x] If new go version is available, update `projects/go/config`
- [x] `version` -> 1.16.15
- [x] `input_files/sha256sum` for `go` -> 90a08c689279e35f3865ba510998c33a63255c36089b3ec206c912fc0568c3d3
- [x] Update `ChangeLog.txt`
- [x] Open MR with above changes
- [x] Sign/Tag commit : `make signtag-(alpha|release)`
- [x] Push tag to origin
### blog
- [x] Duplicate previous Stable or Alpha release blog post as appropriate to new directory under `content/blog/new-release-tor-browser-$(TOR_BROWSER_VERSION)` and update with info on release :
- [x] Update Tor Browser version numbers
- [x] Note any ESR rebase
- [x] Link to any Firefox security updates
- [x] Note any updates to :
- [x] tor
- [x] openssl
- [x] go
- [x] noscript
- [x] Convert ChangeLog.txt to markdown format used here by : `tor-browser-build/tools/changelog-format-blog-post`
- [x] Push to origin as new branch, open 'Draft :' MR
- [ ] Remove draft from MR once signed-packages are uploaded
### website
- [x] `databags/versions.ini` : Update the downloads versions
- `torbrowser-stable/version` : sort of a catch-all for latest stable version
- `torbrowser-stable/win32` : tor version in the expert bundle
- `torbrowser-*-stable/version` : platform-specific stable versions
- `torbrowser-*-alpha/version` : platform-specific alpha versions
- `tor-stable`,`tor-alpha` : set by tor devs, do not touch
- [x] Push to origin as new branch, open 'Draft :' MR
- [ ] Remove draft from MR once signed-packages are uploaded
### unsigned build uploads
- [x] Upload unsigned builds to people.torproject.org
- [ ] Email tor-qa@lists.torproject.org with links to unsigned builds
### signing
_TODO_
### signed build uploads
_TODO_aguestuseraguestuser2022-03-10https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40460Upgrade to OpenSSL 1.1.1n2022-04-04T16:31:02ZrichardUpgrade to OpenSSL 1.1.1nNew openssl about to drop and I hear it's going to spit fire:
https://mta.openssl.org/pipermail/openssl-announce/2022-March/000216.htmlNew openssl about to drop and I hear it's going to spit fire:
https://mta.openssl.org/pipermail/openssl-announce/2022-March/000216.htmlboklmboklm2022-03-15https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40453Prepare stable release 11.0.9 (Desktop)2022-03-23T21:12:11ZrichardPrepare stable release 11.0.9 (Desktop)<details>
<summary>Explanation of variables</summary>
- `$(TOR_LAUNCHER_VERSION)` : version of `tor-launcher`, used in tags
- example : `0.2.33`
- `$(ESR_VERSION)` : the Mozilla defined ESR version, used in various places for buil...<details>
<summary>Explanation of variables</summary>
- `$(TOR_LAUNCHER_VERSION)` : version of `tor-launcher`, used in tags
- example : `0.2.33`
- `$(ESR_VERSION)` : the Mozilla defined ESR version, used in various places for building tor-browser tags, labels, etc
- example : `91.6.0`
- `$(ESR_TAG)` : the Mozilla defined hg (Mercurial) tag associated with `$(ESR_VERSION)`
- exmaple : `FIREFOX_91_7_0esr_BUILD2`
- `$(TOR_BROWSER_MAJOR)` : the Tor Browser major version
- example : `11`
- `$(TOR_BROWSER_MINOR)` : the Tor Browser minor version
- example : either `0` or `5`; Alpha's is always (Stable + 5) % 10
- `$(FIREFOX_BUILD_N)` : the firefox build revision within a given `tor-browser` branch; this is separate from the `$(TOR_BROWSER_BUILD_N) ` value
- example : `build1`
- `$(TOR_BROWSER_BUILD_N)` : the tor-browser build revision for a given Tor Browser release; used in tagging git commits
- example : `build2`
- *NOTE* : `$(FIREFOX_BUILD_N)` and `$(TOR_BROWSER_BUILD_N)` typically are the same, but it is possible for them to diverge. For example :
- if we have multiple Tor Browser releases on a given ESR branch the two will become out of sync as the `$(FIREFOX_BUILD_N)` value will increase, while the `$(TOR_BROWSER_BUILD_N)` value may stay at `build1` (but the `$(TOR_BROWSER_VERSION)` will increase)
- if we have build failures unrelated to `tor-browser`, the `$(TOR_BROWSER_BUILD_N)` value will increase while the `$(FIREFOX_BUILD_N)` will stay the same.
- `$(TOR_BROWSER_VERSION)` : the published Tor Browser version
- example : `11.5a6`, `11.0.7`
</details>
### **torbutton** *(Optional)*
- [ ] Update translations :
- [ ] `./import-translations.sh`
- [ ] Commit with message `Translation updates`
- [ ] *(Optional)* Backport to maintenance branch if present
- [ ] fixup! `tor-browser`'s `Bug 10760 : Integrate TorButton to TorBrowser core` issue to point to updated `torbutton` commit
### **tor-launcher** *(Optional)*
- [ ] Update `install.rdf` file with new version
- [ ] Sign/Tag commit :
- Tag : `$(TOR_LAUNCHER_VERSION)`
- Message `Tagging $(TOR_LAUNCHER_VERSION)`
- [ ] Push `master` and tag to origin
### **geckoview**
_TODO_
### tba-translation
_TODO_
### tor-browser
- [ ] ***(Optional)*** Rebase to `$(ESR_VERSION)`
- [ ] Find the Firefox hg tag here : https://hg.mozilla.org/releases/mozilla-esr91/tags
- [ ] `$(ESR_TAG)` : `INSERT_TAG_HERE`
- [ ] Identify the hg patch associated with above hg tag, and find the equivalent `gecko-dev` git commit (search by commit message)
- [ ] `gecko-dev` commit : `INSERT_COMMIT_HASH_HERE`
- [ ] Create new `tor-browser` branch with the discovered `gecko-dev` commit as `HEAD` named `tor-browser-$(ESR_VERSION)esr-$(TOR_BROWSER_MAJOR).$(TOR-BROWSER_MINOR)-1`
- [ ] Sign/Tag commit :
- Tag : `$(ESR_TAG)`
- Message : `Mercurial $(ESR_TAG) tag`
- [ ] Push new branch and tag to origin
- [ ] Rebase `tor-browser` patches
- [ ] Open MR for the rebase
- [ ] ***(Optional)*** Backport any required patches
- [ ] Sign/Tag commit :
- Tag : `tor-browser-$(ESR_VERSION)esr-$(TOR_BROWSER_MAJOR).$(TOR_BROWSER_MINOR)-1-$(FIREFOX_BUILD_N)`
- Message : `Tagging $(FIREFOX_BUILD_N) for $(ESR_VERSION)esr-based (alpha|stable)`
- [ ] Push tag to origin
### tor-browser-build
Tor Browser Alpha (and Nightly) are on the `master` branch, while Stable lives in the various `$(TOR_BROWSER_MAJOR).$(TOR_BROWSER_MINOR)-maint` (and possibly more specific) branches
- [x] Update `rbm.conf`
- [x] `var/torbrowser_version` : update to next version
- [x] `var/torbrowser_build` : update to $(TOR_BROWSER_BUILD_N)
- [x] `var/torbrowser_incremental_from` : update to previous version
- [x] **IMPORTANT** Really actually make sure this is the previous Desktop/Android version or else the `make incrementals-*` step will fail
- [x] Update `projects/firefox/config`
- [x] `git_hash` : update the $(FIREFOX_BUILD_N) section to match `tor-browser` tag
- [ ] *(Optional)*`var/firefox_platform_version` : update to latest $(ESR_VERSION) if rebased
- [x] Check for NoScript updates here : https://addons.mozilla.org/en-US/firefox/addon/noscript
- [ ] *(Optional)* If version available, update `noscript` section of `input_files` in `projects/tor-browser/config`
- [ ] `URL`
- [ ] `sha256sum`
- [x] Check for openssl updates here : https://github.com/openssl/openssl/tags
- [x] ***(Optional)*** If new 1.X.Y series tag available, update `projects/openssl/config`
- [x] `version` : update to next 1.X.Y release tag
- [x] `input_files/sha256sum` : update to sha256 sum of source tarball
- [x] Check for tor updates here : https://gitlab.torproject.org/tpo/core/tor/-/tags ; Tor Browser Alpha uses `-alpha` tagged tor, while stable uses the stable series
- [ ] ***(Optional)*** If new tor version is available, update `projects/tor/config`
- [ ] `version` : update to next release tag
- [x] Check for go updates here : https://golang.org/dl (Tor Browser Alpha uses the latest Stable go version, while Tor Browser Stable uses the latest of the previous Stable major series version (eg: if Tor Browser Alpha is on the go1.17 series, Tor Browser Stable is on the go1.16 series)
- [x] ***(Optional)*** If new go version is available, update `projects/go/config`
- [x] `version` : update go version
- [x] `input_files/sha256sum` for `go` : update sha256sum of archive (sha256 sums are displayed on the go download page)
- [ ] ***(Android Only)*** Update allowed_addons.json by running (from `tor-browser-build` root)`./tools/fetch_allowed_addons.py > projects/tor-browser/allowed_addons.json
- [x] Update `ChangeLog.txt`
- [x] Open MR with above changes
- [x] Sign/Tag commit : `make signtag-(alpha|release)`
- [x] Push tag to origin
### blog
- [x] Duplicate previous Stable or Alpha release blog post as appropriate to new directory under `content/blog/new-release-tor-browser-$(TOR_BROWSER_VERSION)` and update with info on release :
- [x] Update Tor Browser version numbers
- [ ] Note any ESR rebase
- [ ] Link to any Firefox security updates
- [x] Note any updates to :
- [ ] tor
- [x] openssl
- [x] go
- [ ] noscript
- [x] Convert ChangeLog.txt to markdown format used here by : `tor-browser-build/tools/changelog-format-blog-post`
- [x] Push to origin as new branch, open 'Draft :' MR
- [ ] Remove draft from MR once signed-packages are uploaded
### website
- [x] `databags/versions.ini` : Update the downloads versions
- `torbrowser-stable/version` : sort of a catch-all for latest stable version
- `torbrowser-stable/win32` : tor version in the expert bundle
- `torbrowser-*-stable/version` : platform-specific stable versions
- `torbrowser-*-alpha/version` : platform-specific alpha versions
- `tor-stable`,`tor-alpha` : set by tor devs, do not touch
- [x] Push to origin as new branch, open 'Draft :' MR
- [ ] Remove draft from MR once signed-packages are uploaded
### unsigned build uploads
- [x] Upload unsigned builds to people.torproject.org
- [x] Email tor-qa@lists.torproject.org with links to unsigned builds
### signing
_TODO_
### signed build uploads
_TODO_richardrichard2022-03-15https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40452Prepare alpha release 11.5a8 (Desktop)2022-03-23T21:36:23ZrichardPrepare alpha release 11.5a8 (Desktop)<details>
<summary>Explanation of variables</summary>
- `$(TOR_LAUNCHER_VERSION)` : version of `tor-launcher`, used in tags
- example : `0.2.33`
- `$(ESR_VERSION)` : the Mozilla defined ESR version, used in various places for buil...<details>
<summary>Explanation of variables</summary>
- `$(TOR_LAUNCHER_VERSION)` : version of `tor-launcher`, used in tags
- example : `0.2.33`
- `$(ESR_VERSION)` : the Mozilla defined ESR version, used in various places for building tor-browser tags, labels, etc
- example : `91.6.0`
- `$(ESR_TAG)` : the Mozilla defined hg (Mercurial) tag associated with `$(ESR_VERSION)`
- exmaple : `FIREFOX_91_7_0esr_BUILD2`
- `$(TOR_BROWSER_MAJOR)` : the Tor Browser major version
- example : `11`
- `$(TOR_BROWSER_MINOR)` : the Tor Browser minor version
- example : either `0` or `5`; Alpha's is always (Stable + 5) % 10
- `$(FIREFOX_BUILD_N)` : the firefox build revision within a given `tor-browser` branch; this is separate from the `$(TOR_BROWSER_BUILD_N) ` value
- example : `build1`
- `$(TOR_BROWSER_BUILD_N)` : the tor-browser build revision for a given Tor Browser release; used in tagging git commits
- example : `build2`
- *NOTE* : `$(FIREFOX_BUILD_N)` and `$(TOR_BROWSER_BUILD_N)` typically are the same, but it is possible for them to diverge. For example :
- if we have multiple Tor Browser releases on a given ESR branch the two will become out of sync as the `$(FIREFOX_BUILD_N)` value will increase, while the `$(TOR_BROWSER_BUILD_N)` value may stay at `build1` (but the `$(TOR_BROWSER_VERSION)` will increase)
- if we have build failures unrelated to `tor-browser`, the `$(TOR_BROWSER_BUILD_N)` value will increase while the `$(FIREFOX_BUILD_N)` will stay the same.
- `$(TOR_BROWSER_VERSION)` : the published Tor Browser version
- example : `11.5a6`, `11.0.7`
</details>
### **torbutton** ***(Desktop Only, Optional)***
- [ ] Update translations :
- [ ] `./import-translations.sh`
- [ ] Commit with message `Translation updates`
- [ ] *(Optional)* Backport to maintenance branch if present
- [ ] fixup! `tor-browser`'s `Bug 10760 : Integrate TorButton to TorBrowser core` issue to point to updated `torbutton` commit
### **tor-launcher** ***(Desktop Only, Optional)***
- [ ] Update `install.rdf` file with new version
- [ ] Sign/Tag commit :
- Tag : `$(TOR_LAUNCHER_VERSION)`
- Message `Tagging $(TOR_LAUNCHER_VERSION)`
- [ ] Push `master` and tag to origin
### **geckoview** ***(Android Only)***
_TODO_
### tba-translation ***(Android Only, Optional)***
_TODO_
### tor-browser
- [ ] ***(Optional)*** Rebase to `$(ESR_VERSION)`
- [ ] Find the Firefox hg tag here : https://hg.mozilla.org/releases/mozilla-esr91/tags
- [ ] `$(ESR_TAG)` : `INSERT_TAG_HERE`
- [ ] Identify the hg patch associated with above hg tag, and find the equivalent `gecko-dev` git commit (search by commit message)
- [ ] `gecko-dev` commit : `INSERT_COMMIT_HASH_HERE`
- [ ] Create new `tor-browser` branch with the discovered `gecko-dev` commit as `HEAD` named `tor-browser-$(ESR_VERSION)esr-$(TOR_BROWSER_MAJOR).$(TOR-BROWSER_MINOR)-1`
- [ ] Sign/Tag commit :
- Tag : `$(ESR_TAG)`
- Message : `Mercurial $(ESR_TAG) tag`
- [ ] Push new branch and tag to origin
- [ ] Rebase `tor-browser` patches
- [ ] Open MR for the rebase
- [ ] ***(Optional)*** Backport any required patches
- [ ] Sign/Tag commit :
- Tag : `tor-browser-$(ESR_VERSION)esr-$(TOR_BROWSER_MAJOR).$(TOR_BROWSER_MINOR)-1-$(FIREFOX_BUILD_N)`
- Message : `Tagging $(FIREFOX_BUILD_N) for $(ESR_VERSION)esr-based (alpha|stable)`
- [ ] Push tag to origin
### tor-browser-build
Tor Browser Alpha (and Nightly) are on the `master` branch, while Stable lives in the various `$(TOR_BROWSER_MAJOR).$(TOR_BROWSER_MINOR)-maint` (and possibly more specific) branches
- [x] Update `rbm.conf`
- [x] `var/torbrowser_version` : update to next version
- [ ] `var/torbrowser_build` : update to `$(TOR_BROWSER_BUILD_N)`
- [x] `var/torbrowser_incremental_from` : update to previous version
- [x] **IMPORTANT** Really actually make sure this is the previous Desktop/Android version or else the `make incrementals-*` step will fail
- [x] Update `projects/firefox/config`
- [x] `git_hash` : update the $(FIREFOX_BUILD_N) section to match `tor-browser` tag
- [ ] ***(Optional)*** `var/firefox_platform_version` : update to latest $(ESR_VERSION) if rebased
- [x] Check for NoScript updates here : https://addons.mozilla.org/en-US/firefox/addon/noscript
- [ ] ***(Optional)*** If version available, update `noscript` section of `input_files` in `projects/tor-browser/config`
- [ ] `URL`
- [ ] `sha256sum`
- [x] Check for openssl updates here : https://github.com/openssl/openssl/tags
- [x] ***(Optional)*** If new 1.X.Y series tag available, update `projects/openssl/config`
- [x] `version` : update to next 1.X.Y release tag
- [x] `input_files/sha256sum` : update to sha256 sum of source tarball
- [x] Check for tor updates here : https://gitlab.torproject.org/tpo/core/tor/-/tags ; Tor Browser Alpha uses `-alpha` tagged tor, while stable uses the stable series
- [ ] ***(Optional)*** If new tor version is available, update `projects/tor/config`
- [ ] `version` : update to next release tag
- [x] Check for go updates here : https://golang.org/dl (Tor Browser Alpha uses the latest Stable go version, while Tor Browser Stable uses the latest of the previous Stable major series version (eg: if Tor Browser Alpha is on the go1.17 series, Tor Browser Stable is on the go1.16 series)
- [x] ***(Optional)*** If new go version is available, update `projects/go/config`
- [x] `version` : update go version
- [x] `input_files/sha256sum` for `go` : update sha256sum of archive (sha256 sums are displayed on the go download page)
- [ ] ***(Android Only)*** Update allowed_addons.json by running (from `tor-browser-build` root)`./tools/fetch_allowed_addons.py > projects/tor-browser/allowed_addons.json
- [x] Update `ChangeLog.txt`
- [x] Open MR with above changes
- [ ] Sign/Tag commit : `make signtag-(alpha|release)`
- [ ] Push tag to origin
### blog
- [ ] Duplicate previous Stable or Alpha release blog post as appropriate to new directory under `content/blog/new-release-tor-browser-$(TOR_BROWSER_VERSION)` and update with info on release :
- [ ] Update Tor Browser version numbers
- [ ] Note any ESR rebase
- [ ] Link to any Firefox security updates
- [ ] Note any updates to :
- [ ] tor
- [ ] openssl
- [ ] go
- [ ] noscript
- [ ] Convert ChangeLog.txt to markdown format used here by : `tor-browser-build/tools/changelog-format-blog-post`
- [ ] Push to origin as new branch, open 'Draft :' MR
- [ ] Remove draft from MR once signed-packages are uploaded
### website
- [ ] `databags/versions.ini` : Update the downloads versions
- `torbrowser-stable/version` : sort of a catch-all for latest stable version
- `torbrowser-stable/win32` : tor version in the expert bundle
- `torbrowser-*-stable/version` : platform-specific stable versions
- `torbrowser-*-alpha/version` : platform-specific alpha versions
- `tor-stable`,`tor-alpha` : set by tor devs, do not touch
- [ ] Push to origin as new branch, open 'Draft :' MR
- [ ] Remove draft from MR once signed-packages are uploaded
### unsigned build uploads
- [ ] Upload unsigned builds to people.torproject.org
- [ ] Email tor-qa@lists.torproject.org with links to unsigned builds
### signing
_TODO_
### signed build uploads
_TODO_richardrichard2022-03-16https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40442Prep 11.5a7 release2022-03-29T23:46:44ZaguestuserPrep 11.5a7 releaseaguestuseraguestuser2022-03-16https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40443Prep 11.0.8 release (android)2022-03-29T23:46:43ZaguestuserPrep 11.0.8 release (android)bumps stable to fenix v96bumps stable to fenix v96aguestuseraguestuser2022-03-23https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40456Prepare stable release 11.0.10 (Desktop)2022-04-20T19:26:42ZrichardPrepare stable release 11.0.10 (Desktop)<details>
<summary>Explanation of variables</summary>
- `$(TOR_LAUNCHER_VERSION)` : version of `tor-launcher`, used in tags
- example : `0.2.33`
- `$(ESR_VERSION)` : the Mozilla defined ESR version, used in various places for buil...<details>
<summary>Explanation of variables</summary>
- `$(TOR_LAUNCHER_VERSION)` : version of `tor-launcher`, used in tags
- example : `0.2.33`
- `$(ESR_VERSION)` : the Mozilla defined ESR version, used in various places for building tor-browser tags, labels, etc
- example : `91.6.0`
- `$(ESR_TAG)` : the Mozilla defined hg (Mercurial) tag associated with `$(ESR_VERSION)`
- exmaple : `FIREFOX_91_7_0esr_BUILD2`
- `$(TOR_BROWSER_MAJOR)` : the Tor Browser major version
- example : `11`
- `$(TOR_BROWSER_MINOR)` : the Tor Browser minor version
- example : either `0` or `5`; Alpha's is always (Stable + 5) % 10
- `$(FIREFOX_BUILD_N)` : the firefox build revision within a given `tor-browser` branch; this is separate from the `$(TOR_BROWSER_BUILD_N) ` value
- example : `build1`
- `$(TOR_BROWSER_BUILD_N)` : the tor-browser build revision for a given Tor Browser release; used in tagging git commits
- example : `build2`
- *NOTE* : `$(FIREFOX_BUILD_N)` and `$(TOR_BROWSER_BUILD_N)` typically are the same, but it is possible for them to diverge. For example :
- if we have multiple Tor Browser releases on a given ESR branch the two will become out of sync as the `$(FIREFOX_BUILD_N)` value will increase, while the `$(TOR_BROWSER_BUILD_N)` value may stay at `build1` (but the `$(TOR_BROWSER_VERSION)` will increase)
- if we have build failures unrelated to `tor-browser`, the `$(TOR_BROWSER_BUILD_N)` value will increase while the `$(FIREFOX_BUILD_N)` will stay the same.
- `$(TOR_BROWSER_VERSION)` : the published Tor Browser version
- example : `11.5a6`, `11.0.7`
</details>
### **torbutton** ***(Desktop Only, Optional)***
- [ ] Update translations :
- [ ] `./import-translations.sh`
- [ ] Commit with message `Translation updates`
- [ ] *(Optional)* Backport to maintenance branch if present
- [x] fixup! `tor-browser`'s `Bug 10760 : Integrate TorButton to TorBrowser core` issue to point to updated `torbutton` commit
**NOTE**: I have added a `maint-11.0.10` branch to handle the tor-browser#10860 without the HTTPS-only mode enabled in alpha
### **tor-launcher** ***(Desktop Only, Optional)***
- [ ] Update `install.rdf` file with new version
- [ ] Sign/Tag commit :
- Tag : `$(TOR_LAUNCHER_VERSION)`
- Message `Tagging $(TOR_LAUNCHER_VERSION)`
- [ ] Push `master` and tag to origin
### **geckoview** ***(Android Only)***
_TODO_
### tba-translation ***(Android Only, Optional)***
_TODO_
### tor-browser
- [x] ***(Optional)*** Rebase to `$(ESR_VERSION)`
- [x] Find the Firefox hg tag here : https://hg.mozilla.org/releases/mozilla-esr91/tags
- [x] `$(ESR_TAG)` : `FIREFOX_91_8_0esr_BUILD1`
- [x] Identify the hg patch associated with above hg tag, and find the equivalent `gecko-dev` git commit (search by commit message)
- [x] `gecko-dev` commit : `a981804052f46924027b7d91896844ca5df9aafc`
- [x] Create new `tor-browser` branch with the discovered `gecko-dev` commit as `HEAD` named `tor-browser-$(ESR_VERSION)esr-$(TOR_BROWSER_MAJOR).$(TOR-BROWSER_MINOR)-1`
- [x] Sign/Tag commit :
- Tag : `$(ESR_TAG)`
- Message : `Mercurial $(ESR_TAG) tag`
- [x] Push new branch and tag to origin
- [x] Rebase `tor-browser` patches
- [x] Open MR for the rebase
- [x] ***(Optional)*** Backport any required patches
- [ ] Sign/Tag commit :
- Tag : `tor-browser-$(ESR_VERSION)esr-$(TOR_BROWSER_MAJOR).$(TOR_BROWSER_MINOR)-1-$(FIREFOX_BUILD_N)`
- Message : `Tagging $(FIREFOX_BUILD_N) for $(ESR_VERSION)esr-based (alpha|stable)`
- [ ] Push tag to origin
### tor-browser-build
Tor Browser Alpha (and Nightly) are on the `master` branch, while Stable lives in the various `$(TOR_BROWSER_MAJOR).$(TOR_BROWSER_MINOR)-maint` (and possibly more specific) branches
- [x] Update `rbm.conf`
- [x] `var/torbrowser_version` : update to next version
- [x] `var/torbrowser_build` : update to `$(TOR_BROWSER_BUILD_N)`
- [x] `var/torbrowser_incremental_from` : update to previous version
- [x] **IMPORTANT** Really actually make sure this is the previous Desktop/Android version or else the `make incrementals-*` step will fail
- [x] Update `projects/firefox/config`
- [x] `git_hash` : update the $(FIREFOX_BUILD_N) section to match `tor-browser` tag
- [x] ***(Optional)*** `var/firefox_platform_version` : update to latest $(ESR_VERSION) if rebased
- [x] Check for NoScript updates here : https://addons.mozilla.org/en-US/firefox/addon/noscript
- [x] ***(Optional)*** If version available, update `noscript` section of `input_files` in `projects/tor-browser/config`
- [x] `URL`
- [x] `sha256sum`
- [x] Check for openssl updates here : https://github.com/openssl/openssl/tags
- [ ] ***(Optional)*** If new 1.X.Y series tag available, update `projects/openssl/config`
- [ ] `version` : update to next 1.X.Y release tag
- [ ] `input_files/sha256sum` : update to sha256 sum of source tarball
- [x] Check for tor updates here : https://gitlab.torproject.org/tpo/core/tor/-/tags ; Tor Browser Alpha uses `-alpha` tagged tor, while stable uses the stable series
- [ ] ***(Optional)*** If new tor version is available, update `projects/tor/config`
- [ ] `version` : update to next release tag
- [x] Check for go updates here : https://golang.org/dl (Tor Browser Alpha uses the latest Stable go version, while Tor Browser Stable uses the latest of the previous Stable major series version (eg: if Tor Browser Alpha is on the go1.17 series, Tor Browser Stable is on the go1.16 series)
- [ ] ***(Optional)*** If new go version is available, update `projects/go/config`
- [ ] `version` : update go version
- [ ] `input_files/sha256sum` for `go` : update sha256sum of archive (sha256 sums are displayed on the go download page)
- [ ] ***(Android Only)*** Update allowed_addons.json by running (from `tor-browser-build` root)`./tools/fetch_allowed_addons.py > projects/tor-browser/allowed_addons.json
- [x] Update `ChangeLog.txt`
- [x] Open MR with above changes
- [x] Sign/Tag commit : `make signtag-(alpha|release)`
- [x] Push tag to origin
### blog
- [x] Duplicate previous Stable or Alpha release blog post as appropriate to new directory under `content/blog/new-release-tor-browser-$(TOR_BROWSER_VERSION)` and update with info on release :
- [x] Update Tor Browser version numbers
- [x] Note any ESR rebase
- [x] Link to any Firefox security updates
- [x] Note any updates to :
- [ ] tor
- [ ] openssl
- [ ] go
- [x] noscript
- [x] Convert ChangeLog.txt to markdown format used here by : `tor-browser-build/tools/changelog-format-blog-post`
- [x] Push to origin as new branch, open 'Draft :' MR
- [ ] Remove draft from MR once signed-packages are uploaded
### website
- [x] `databags/versions.ini` : Update the downloads versions
- `torbrowser-stable/version` : sort of a catch-all for latest stable version
- `torbrowser-stable/win32` : tor version in the expert bundle
- `torbrowser-*-stable/version` : platform-specific stable versions
- `torbrowser-*-alpha/version` : platform-specific alpha versions
- `tor-stable`,`tor-alpha` : set by tor devs, do not touch
- [x] Push to origin as new branch, open 'Draft :' MR
- [ ] Remove draft from MR once signed-packages are uploaded
### unsigned build uploads
- [x] Upload unsigned builds to people.torproject.org
- [x] Email tor-qa@lists.torproject.org with links to unsigned builds
### signing
_TODO_
### signed build uploads
_TODO_richardrichard2022-03-28https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40446Prepare components for switch to mozilla99-based Fenix2022-08-02T13:00:23ZaguestuserPrepare components for switch to mozilla99-based Fenix# tasks
## toolchain updates
* [x] generate toolchain update lists
* [x] update application services toolchain (NO CHANGES)
* [x] update geckoview toolchain & dependencies
* [x] update android-components toolchain & dependencies
* [x] ...# tasks
## toolchain updates
* [x] generate toolchain update lists
* [x] update application services toolchain (NO CHANGES)
* [x] update geckoview toolchain & dependencies
* [x] update android-components toolchain & dependencies
* [x] update fenix toolchain & dependencies
## rebases
* [x] tor-browser#40857: Rebase geckoview patches to 99.0
* [x] android-components#40076: Rebase android-components patches to 99.0 (see android-components!81)
* [x] fenix#40213: Rebase Fenix patches to Fenix 99 (see fenix!144)
# aguestuser's working branches:
- tor-browser-build (toolchain updates): http://eweiibe6tdjsdprb4px6rqrzzcsi22m4koia44kc5pcjr7nec2rlxyad.onion/aguestuser/tor-browser-build/-/commits/mozilla99
- geckoview: http://eweiibe6tdjsdprb4px6rqrzzcsi22m4koia44kc5pcjr7nec2rlxyad.onion/pierov/tor-browser/-/tree/bug_40857
- android-components: http://eweiibe6tdjsdprb4px6rqrzzcsi22m4koia44kc5pcjr7nec2rlxyad.onion/aguestuser/android-components/-/tree/40076_rebase-android-components-to-99.0
- fenix: http://eweiibe6tdjsdprb4px6rqrzzcsi22m4koia44kc5pcjr7nec2rlxyad.onion/aguestuser/fenix/-/tree/40213_rebase-fenix-to-99.0
# post-merge
* [ ] tor-browser-spec#NN (FF99 network audit)
* [ ] Review developer notes for Firefox 99
* [ ] Review GeckoView Changelog for gv99
* [ ] Review closed mozilla99 bugsPier Angelo VendramePier Angelo Vendrame2022-04-04https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40461Prepare stable release 11.0.12 (Android)2022-05-17T12:45:52ZrichardPrepare stable release 11.0.12 (Android)<details>
<summary>Explanation of variables</summary>
- `$(TOR_LAUNCHER_VERSION)` : version of `tor-launcher`, used in tags
- example : `0.2.33`
- `$(ESR_VERSION)` : the Mozilla defined ESR version, used in various places for buil...<details>
<summary>Explanation of variables</summary>
- `$(TOR_LAUNCHER_VERSION)` : version of `tor-launcher`, used in tags
- example : `0.2.33`
- `$(ESR_VERSION)` : the Mozilla defined ESR version, used in various places for building tor-browser tags, labels, etc
- example : `91.6.0`
- `$(ESR_TAG)` : the Mozilla defined hg (Mercurial) tag associated with `$(ESR_VERSION)`
- exmaple : `FIREFOX_91_7_0esr_BUILD2`
- `$(TOR_BROWSER_MAJOR)` : the Tor Browser major version
- example : `11`
- `$(TOR_BROWSER_MINOR)` : the Tor Browser minor version
- example : either `0` or `5`; Alpha's is always (Stable + 5) % 10
- `$(FIREFOX_BUILD_N)` : the firefox build revision within a given `tor-browser` branch; this is separate from the `$(TOR_BROWSER_BUILD_N) ` value
- example : `build1`
- `$(TOR_BROWSER_BUILD_N)` : the tor-browser build revision for a given Tor Browser release; used in tagging git commits
- example : `build2`
- *NOTE* : `$(FIREFOX_BUILD_N)` and `$(TOR_BROWSER_BUILD_N)` typically are the same, but it is possible for them to diverge. For example :
- if we have multiple Tor Browser releases on a given ESR branch the two will become out of sync as the `$(FIREFOX_BUILD_N)` value will increase, while the `$(TOR_BROWSER_BUILD_N)` value may stay at `build1` (but the `$(TOR_BROWSER_VERSION)` will increase)
- if we have build failures unrelated to `tor-browser`, the `$(TOR_BROWSER_BUILD_N)` value will increase while the `$(FIREFOX_BUILD_N)` will stay the same.
- `$(TOR_BROWSER_VERSION)` : the published Tor Browser version
- example : `11.5a6`, `11.0.7`
</details>
### fenix
- [x] Sign/Tag commit: `tor-browser-96.3.0-11.0-1-build2`
- [x] Push tag to GitLab
### android-components
- [x] Sign/Tag commit: `android-components-96.0.15-11.0-1` (not updated from 11.0.8)
- [x] Push tag to GitLab
### geckoview
- [x] Sign/Tag commit: `geckoview-96.0.3-11.0-1-build2`
- [x] Push tag to Gitolite
### tor-browser-build
- [x] Update `rbm.conf`
- [x] `var/torbrowser_version` : update to next version
- [x] `var/torbrowser_build` : update to `$(TOR_BROWSER_BUILD_N)`
- [x] ***(Android Only)*** Update allowed_addons.json by running (from `tor-browser-build` root)`./tools/fetch_allowed_addons.py > projects/tor-browser/allowed_addons.json
- [x] Check for NoScript updates here : https://addons.mozilla.org/en-US/firefox/addon/noscript - no updates, stay on 11.4.5
- [x] Check for openssl updates here : https://github.com/openssl/openssl/tags
- [x] update to 1.1.1o
- [x] Check for tor updates here: https://gitlab.torproject.org/tpo/core/tor/-/tags
- [x] Stay on 0.4.6.10, as requested in #40479
- [x] Check for go updates here : https://golang.org/dl - already at 1.17.9
- [x] Update `ChangeLog.txt`
- [x] Open MR with above changes
- [x] Sign/Tag commit : `make signtag-(alpha|release)`
- [x] Push tag to origin
### blog
- [x] Duplicate previous Stable or Alpha release blog post as appropriate to new directory under `content/blog/new-release-tor-browser-$(TOR_BROWSER_VERSION)` and update with info on release :
- [x] Update Tor Browser version numbers
- [x] Note any ESR rebase
- [x] Link to any Firefox security updates
- [x] Note any updates to :
- [x] tor
- [x] openssl
- [x] go
- [x] noscript
- [x] Convert ChangeLog.txt to markdown format used here by : `tor-browser-build/tools/changelog-format-blog-post`
- [x] Push to origin as new branch, open 'Draft :' MR
- [x] Remove draft from MR once signed-packages are uploaded
### website
- [x] `databags/versions.ini` : Update the downloads versions
- `torbrowser-stable/version` : sort of a catch-all for latest stable version
- `torbrowser-stable/win32` : tor version in the expert bundle
- `torbrowser-*-stable/version` : platform-specific stable versions
- `torbrowser-*-alpha/version` : platform-specific alpha versions
- `tor-stable`,`tor-alpha` : set by tor devs, do not touch
- Git commit commands:
- For all platforms: `git commit databags/versions.ini -m "Add new Tor Browser version ${VERSION}"`
- For only desktop platforms: `git commit databags/versions.ini -m "Add new Tor Browser version ${VERSION} (desktop)"`
- For only Android platform: `git commit databags/versions.ini -m "Add new Tor Browser version ${VERSION} (Android)"`
- [x] Push to origin as new branch, open 'Draft :' MR
- [x] Remove draft from MR once signed-packages are uploaded
### unsigned build uploads
- [x] Upload unsigned builds to people.torproject.org
- [x] Email tor-qa@lists.torproject.org with links to unsigned builds
### signing (Android)
- [x] Sign apks using alpha or release signing key
- [x] Upload packages to signing machine
- [x] Create OpenPGP detached signatures
### signed build uploads
- [x] Upload all build artifacts to web server
- [x] Upload signed apks, shasums, and detached signature files to web server
- [x] Synchronize all packages to web server mirrorsPier Angelo VendramePier Angelo Vendrame2022-04-07https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40458Prepare alpha release 11.5a9 (Desktop)2022-05-02T20:42:13ZrichardPrepare alpha release 11.5a9 (Desktop)<details>
<summary>Explanation of variables</summary>
- `$(TOR_LAUNCHER_VERSION)` : version of `tor-launcher`, used in tags
- example : `0.2.33`
- `$(ESR_VERSION)` : the Mozilla defined ESR version, used in various places for buil...<details>
<summary>Explanation of variables</summary>
- `$(TOR_LAUNCHER_VERSION)` : version of `tor-launcher`, used in tags
- example : `0.2.33`
- `$(ESR_VERSION)` : the Mozilla defined ESR version, used in various places for building tor-browser tags, labels, etc
- example : `91.6.0`
- `$(ESR_TAG)` : the Mozilla defined hg (Mercurial) tag associated with `$(ESR_VERSION)`
- exmaple : `FIREFOX_91_7_0esr_BUILD2`
- `$(TOR_BROWSER_MAJOR)` : the Tor Browser major version
- example : `11`
- `$(TOR_BROWSER_MINOR)` : the Tor Browser minor version
- example : either `0` or `5`; Alpha's is always (Stable + 5) % 10
- `$(FIREFOX_BUILD_N)` : the firefox build revision within a given `tor-browser` branch; this is separate from the `$(TOR_BROWSER_BUILD_N) ` value
- example : `build1`
- `$(TOR_BROWSER_BUILD_N)` : the tor-browser build revision for a given Tor Browser release; used in tagging git commits
- example : `build2`
- *NOTE* : `$(FIREFOX_BUILD_N)` and `$(TOR_BROWSER_BUILD_N)` typically are the same, but it is possible for them to diverge. For example :
- if we have multiple Tor Browser releases on a given ESR branch the two will become out of sync as the `$(FIREFOX_BUILD_N)` value will increase, while the `$(TOR_BROWSER_BUILD_N)` value may stay at `build1` (but the `$(TOR_BROWSER_VERSION)` will increase)
- if we have build failures unrelated to `tor-browser`, the `$(TOR_BROWSER_BUILD_N)` value will increase while the `$(FIREFOX_BUILD_N)` will stay the same.
- `$(TOR_BROWSER_VERSION)` : the published Tor Browser version
- example : `11.5a6`, `11.0.7`
</details>
### **torbutton** ***(Desktop Only, Optional)***
- [ ] Update translations :
- [ ] `./import-translations.sh`
- [ ] Commit with message `Translation updates`
- [ ] *(Optional)* Backport to maintenance branch if present
- [ ] fixup! `tor-browser`'s `Bug 10760 : Integrate TorButton to TorBrowser core` issue to point to updated `torbutton` commit
### **tor-launcher** ***(Desktop Only, Optional)***
- [ ] Update `install.rdf` file with new version
- [x] Sign/Tag commit :
- Tag : `0.2.34`
- Message `Tagging $(TOR_LAUNCHER_VERSION)`
- [x] Push `master` and tag to origin
### **geckoview** ***(Android Only)***
_TODO_
### tba-translation ***(Android Only, Optional)***
_TODO_
### tor-browser
- [x] ***(Optional)*** Rebase to `$(ESR_VERSION)`
- [x] Find the Firefox hg tag here : https://hg.mozilla.org/releases/mozilla-esr91/tags
- [x] `$(ESR_TAG)` : `FIREFOX_91_8_0esr_BUILD1`
- [x] Identify the hg patch associated with above hg tag, and find the equivalent `gecko-dev` git commit (search by commit message)
- [x] `gecko-dev` commit : `a981804052f46924027b7d91896844ca5df9aafc`
- [x] Create new `tor-browser` branch with the discovered `gecko-dev` commit as `HEAD` named `tor-browser-$(ESR_VERSION)esr-$(TOR_BROWSER_MAJOR).$(TOR-BROWSER_MINOR)-1`
- [x] Sign/Tag commit :
- Tag : `$(ESR_TAG)`
- Message : `Mercurial $(ESR_TAG) tag`
- [x] Push new branch and tag to origin
- [x] Rebase `tor-browser` patches
- [x] Open MR for the rebase
- [ ] ***(Optional)*** Backport any required patches
- [x] Sign/Tag commit :
- Tag : `tor-browser-$(ESR_VERSION)esr-$(TOR_BROWSER_MAJOR).$(TOR_BROWSER_MINOR)-1-$(FIREFOX_BUILD_N)`
- Message : `Tagging $(FIREFOX_BUILD_N) for $(ESR_VERSION)esr-based (alpha|stable)`
- [x] Push tag to origin
### tor-browser-build
Tor Browser Alpha (and Nightly) are on the `master` branch, while Stable lives in the various `$(TOR_BROWSER_MAJOR).$(TOR_BROWSER_MINOR)-maint` (and possibly more specific) branches
- [x] Update `rbm.conf`
- [x] `var/torbrowser_version` : update to next version
- [x] `var/torbrowser_build` : update to `$(TOR_BROWSER_BUILD_N)`
- [x] `var/torbrowser_incremental_from` : update to previous version
- [x] **IMPORTANT** Really actually make sure this is the previous Desktop/Android version or else the `make incrementals-*` step will fail
- [x] Update `projects/firefox/config`
- [x] `git_hash` : update the $(FIREFOX_BUILD_N) section to match `tor-browser` tag
- [x] ***(Optional)*** `var/firefox_platform_version` : update to latest $(ESR_VERSION) if rebased
- [x] Check for NoScript updates here : https://addons.mozilla.org/en-US/firefox/addon/noscript
- [x] ***(Optional)*** If version available, update `noscript` section of `input_files` in `projects/tor-browser/config`
- [x] `URL`
- [x] `sha256sum`
- [x] Check for openssl updates here : https://github.com/openssl/openssl/tags
- [ ] ***(Optional)*** If new 1.X.Y series tag available, update `projects/openssl/config`
- [ ] `version` : update to next 1.X.Y release tag
- [ ] `input_files/sha256sum` : update to sha256 sum of source tarball
- [x] Check for tor updates here : https://gitlab.torproject.org/tpo/core/tor/-/tags ; Tor Browser Alpha uses `-alpha` tagged tor, while stable uses the stable series
- [x] ***(Optional)*** If new tor version is available, update `projects/tor/config`
- [x] `version` : update to next release tag
- [x] Check for go updates here : https://golang.org/dl (Tor Browser Alpha uses the latest Stable go version, while Tor Browser Stable uses the latest of the previous Stable major series version (eg: if Tor Browser Alpha is on the go1.17 series, Tor Browser Stable is on the go1.16 series)
- [ ] ***(Optional)*** If new go version is available, update `projects/go/config`
- [ ] `version` : update go version
- [ ] `input_files/sha256sum` for `go` : update sha256sum of archive (sha256 sums are displayed on the go download page)
- [ ] ***(Android Only)*** Update allowed_addons.json by running (from `tor-browser-build` root)`./tools/fetch_allowed_addons.py > projects/tor-browser/allowed_addons.json
- [x] Update `ChangeLog.txt`
- [x] Open MR with above changes
- [x] Sign/Tag commit : `make signtag-(alpha|release)`
- [x] Push tag to origin
### blog
- [x] Duplicate previous Stable or Alpha release blog post as appropriate to new directory under `content/blog/new-release-tor-browser-$(TOR_BROWSER_VERSION)` and update with info on release :
- [ ] Update Tor Browser version numbers
- [ ] Note any ESR rebase
- [ ] Link to any Firefox security updates
- [ ] Note any updates to :
- [ ] tor
- [ ] openssl
- [ ] go
- [ ] noscript
- [ ] Convert ChangeLog.txt to markdown format used here by : `tor-browser-build/tools/changelog-format-blog-post`
- [x] Push to origin as new branch, open 'Draft :' MR
- [x] Remove draft from MR once signed-packages are uploaded
### website
- [x] `databags/versions.ini` : Update the downloads versions
- `torbrowser-stable/version` : sort of a catch-all for latest stable version
- `torbrowser-stable/win32` : tor version in the expert bundle
- `torbrowser-*-stable/version` : platform-specific stable versions
- `torbrowser-*-alpha/version` : platform-specific alpha versions
- `tor-stable`,`tor-alpha` : set by tor devs, do not touch
- [x] Push to origin as new branch, open 'Draft :' MR
- [x] Remove draft from MR once signed-packages are uploaded
### unsigned build uploads
- [x] Upload unsigned builds to people.torproject.org
- [ ] Email tor-qa@lists.torproject.org with links to unsigned builds
### signing
_TODO_
### signed build uploads
_TODO_richardrichard2022-04-11https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40444Prep 11.5a9 release (android)2022-03-29T23:46:43ZaguestuserPrep 11.5a9 release (android)bumps fenix to v99bumps fenix to v99aguestuseraguestuser2022-04-13https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40466Prepare stable release 11.0.11 (Desktop)2022-05-04T05:25:36ZrichardPrepare stable release 11.0.11 (Desktop)<details>
<summary>Explanation of variables</summary>
- `$(TOR_LAUNCHER_VERSION)` : version of `tor-launcher`, used in tags
- example : `0.2.33`
- `$(ESR_VERSION)` : the Mozilla defined ESR version, used in various places for buil...<details>
<summary>Explanation of variables</summary>
- `$(TOR_LAUNCHER_VERSION)` : version of `tor-launcher`, used in tags
- example : `0.2.33`
- `$(ESR_VERSION)` : the Mozilla defined ESR version, used in various places for building tor-browser tags, labels, etc
- example : `91.6.0`
- `$(ESR_TAG)` : the Mozilla defined hg (Mercurial) tag associated with `$(ESR_VERSION)`
- exmaple : `FIREFOX_91_7_0esr_BUILD2`
- `$(TOR_BROWSER_MAJOR)` : the Tor Browser major version
- example : `11`
- `$(TOR_BROWSER_MINOR)` : the Tor Browser minor version
- example : either `0` or `5`; Alpha's is always (Stable + 5) % 10
- `$(FIREFOX_BUILD_N)` : the firefox build revision within a given `tor-browser` branch; this is separate from the `$(TOR_BROWSER_BUILD_N) ` value
- example : `build1`
- `$(TOR_BROWSER_BUILD_N)` : the tor-browser build revision for a given Tor Browser release; used in tagging git commits
- example : `build2`
- *NOTE* : `$(FIREFOX_BUILD_N)` and `$(TOR_BROWSER_BUILD_N)` typically are the same, but it is possible for them to diverge. For example :
- if we have multiple Tor Browser releases on a given ESR branch the two will become out of sync as the `$(FIREFOX_BUILD_N)` value will increase, while the `$(TOR_BROWSER_BUILD_N)` value may stay at `build1` (but the `$(TOR_BROWSER_VERSION)` will increase)
- if we have build failures unrelated to `tor-browser`, the `$(TOR_BROWSER_BUILD_N)` value will increase while the `$(FIREFOX_BUILD_N)` will stay the same.
- `$(TOR_BROWSER_VERSION)` : the published Tor Browser version
- example : `11.5a6`, `11.0.7`
</details>
### **torbutton** ***(Desktop Only, Optional)***
- [ ] Update translations :
- [ ] `./import-translations.sh`
- [ ] Commit with message `Translation updates`
- [ ] *(Optional)* Backport to maintenance branch if present
- [ ] fixup! `tor-browser`'s `Bug 10760 : Integrate TorButton to TorBrowser core` issue to point to updated `torbutton` commit
### **tor-launcher** ***(Desktop Only, Optional)***
- [ ] Update `install.rdf` file with new version
- [ ] Sign/Tag commit :
- Tag : `$(TOR_LAUNCHER_VERSION)`
- Message `Tagging $(TOR_LAUNCHER_VERSION)`
- [ ] Push `master` and tag to origin
### **geckoview** ***(Android Only)***
_TODO_
### tba-translation ***(Android Only, Optional)***
_TODO_
### tor-browser
- [ ] ***(Optional)*** Rebase to `$(ESR_VERSION)`
- [x] Find the Firefox hg tag here : https://hg.mozilla.org/releases/mozilla-esr91/tags
- [x] `$(ESR_TAG)` : `FIREFOX_91_9_0esr_BUILD1`
- [x] Identify the hg patch associated with above hg tag, and find the equivalent `gecko-dev` git commit (search by commit message)
- [x] `gecko-dev` commit : `c801d6d34aec931da57d4f50490f6f52b3395ef0`
- [x] Create new `tor-browser` branch with the discovered `gecko-dev` commit as `HEAD` named `tor-browser-$(ESR_VERSION)esr-$(TOR_BROWSER_MAJOR).$(TOR-BROWSER_MINOR)-1`
- [x] Sign/Tag commit :
- Tag : `$(ESR_TAG)`
- Message : `Mercurial $(ESR_TAG) tag`
- [x] Push new branch and tag to origin
- [x] Rebase `tor-browser` patches
- [x] Open MR for the rebase
- [x] ***(Optional)*** Backport any required patches
- [x] Sign/Tag commit :
- Tag : `tor-browser-$(ESR_VERSION)esr-$(TOR_BROWSER_MAJOR).$(TOR_BROWSER_MINOR)-1-$(FIREFOX_BUILD_N)`
- Message : `Tagging $(FIREFOX_BUILD_N) for $(ESR_VERSION)esr-based (alpha|stable)`
- [x] Push tag to origin
### tor-browser-build
Tor Browser Alpha (and Nightly) are on the `master` branch, while Stable lives in the various `$(TOR_BROWSER_MAJOR).$(TOR_BROWSER_MINOR)-maint` (and possibly more specific) branches
- [x] Update `rbm.conf`
- [x] `var/torbrowser_version` : update to next version
- [x] `var/torbrowser_build` : update to `$(TOR_BROWSER_BUILD_N)`
- [x] `var/torbrowser_incremental_from` : update to previous version
- [x] **IMPORTANT** Really actually make sure this is the previous Desktop/Android version or else the `make incrementals-*` step will fail
- [x] Update `projects/firefox/config`
- [x] `git_hash` : update the $(FIREFOX_BUILD_N) section to match `tor-browser` tag
- [x] ***(Optional)*** `var/firefox_platform_version` : update to latest $(ESR_VERSION) if rebased
- [x] Check for NoScript updates here : https://addons.mozilla.org/en-US/firefox/addon/noscript
- [x] ***(Optional)*** If version available, update `noscript` section of `input_files` in `projects/tor-browser/config`
- [x] `URL`
- [x] `sha256sum`
- [x] Check for openssl updates here : https://github.com/openssl/openssl/tags
- [ ] ***(Optional)*** If new 1.X.Y series tag available, update `projects/openssl/config`
- [ ] `version` : update to next 1.X.Y release tag
- [ ] `input_files/sha256sum` : update to sha256 sum of source tarball
- [x] Check for tor updates here : https://gitlab.torproject.org/tpo/core/tor/-/tags ; Tor Browser Alpha uses `-alpha` tagged tor, while stable uses the stable series
- [ ] ***(Optional)*** If new tor version is available, update `projects/tor/config`
- [ ] `version` : update to next release tag
- [x] Check for go updates here : https://golang.org/dl (Tor Browser Alpha uses the latest Stable go version, while Tor Browser Stable uses the latest of the previous Stable major series version (eg: if Tor Browser Alpha is on the go1.17 series, Tor Browser Stable is on the go1.16 series)
- [x] ***(Optional)*** If new go version is available, update `projects/go/config`
- [x] `version` : update go version
- [x] `input_files/sha256sum` for `go` : update sha256sum of archive (sha256 sums are displayed on the go download page)
- [ ] ***(Android Only)*** Update allowed_addons.json by running (from `tor-browser-build` root)`./tools/fetch_allowed_addons.py > projects/tor-browser/allowed_addons.json
- [x] Update `ChangeLog.txt`
- [x] Open MR with above changes
- [x] Sign/Tag commit : `make signtag-(alpha|release)`
- [x] Push tag to origin
### blog
- [x] Duplicate previous Stable or Alpha release blog post as appropriate to new directory under `content/blog/new-release-tor-browser-$(TOR_BROWSER_VERSION)` and update with info on release :
- [x] Update Tor Browser version numbers
- [x] Note any ESR rebase
- [ ] Link to any Firefox security updates
- [x] Note any updates to :
- [ ] tor
- [ ] openssl
- [ ] go
- [x] noscript
- [x] Convert ChangeLog.txt to markdown format used here by : `tor-browser-build/tools/changelog-format-blog-post`
- [x] Push to origin as new branch, open 'Draft :' MR
- [x] Remove draft from MR once signed-packages are uploaded
### website
- [x] `databags/versions.ini` : Update the downloads versions
- `torbrowser-stable/version` : sort of a catch-all for latest stable version
- `torbrowser-stable/win32` : tor version in the expert bundle
- `torbrowser-*-stable/version` : platform-specific stable versions
- `torbrowser-*-alpha/version` : platform-specific alpha versions
- `tor-stable`,`tor-alpha` : set by tor devs, do not touch
- [x] Push to origin as new branch, open 'Draft :' MR
- [x] Remove draft from MR once signed-packages are uploaded
### unsigned build uploads
- [x] Upload unsigned builds to people.torproject.org
- [x] Email tor-qa@lists.torproject.org with links to unsigned builds
### signing
_TODO_
### signed build uploads
_TODO_richardrichard2022-04-25https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40449Prepare alpha release 11.5a11 (Desktop)2022-05-20T15:46:16ZrichardPrepare alpha release 11.5a11 (Desktop)<details>
<summary>Explanation of variables</summary>
- `$(TOR_LAUNCHER_VERSION)` : version of `tor-launcher`, used in tags
- example : `0.2.33`
- `$(ESR_VERSION)` : the Mozilla defined ESR version, used in various places for buil...<details>
<summary>Explanation of variables</summary>
- `$(TOR_LAUNCHER_VERSION)` : version of `tor-launcher`, used in tags
- example : `0.2.33`
- `$(ESR_VERSION)` : the Mozilla defined ESR version, used in various places for building tor-browser tags, labels, etc
- example : `91.6.0`
- `$(ESR_TAG)` : the Mozilla defined hg (Mercurial) tag associated with `$(ESR_VERSION)`
- exmaple : `FIREFOX_91_7_0esr_BUILD2`
- `$(TOR_BROWSER_MAJOR)` : the Tor Browser major version
- example : `11`
- `$(TOR_BROWSER_MINOR)` : the Tor Browser minor version
- example : either `0` or `5`; Alpha's is always (Stable + 5) % 10
- `$(FIREFOX_BUILD_N)` : the firefox build revision within a given `tor-browser` branch; this is separate from the `$(TOR_BROWSER_BUILD_N) ` value
- example : `build1`
- `$(TOR_BROWSER_BUILD_N)` : the tor-browser build revision for a given Tor Browser release; used in tagging git commits
- example : `build2`
- *NOTE* : `$(FIREFOX_BUILD_N)` and `$(TOR_BROWSER_BUILD_N)` typically are the same, but it is possible for them to diverge. For example :
- if we have multiple Tor Browser releases on a given ESR branch the two will become out of sync as the `$(FIREFOX_BUILD_N)` value will increase, while the `$(TOR_BROWSER_BUILD_N)` value may stay at `build1` (but the `$(TOR_BROWSER_VERSION)` will increase)
- if we have build failures unrelated to `tor-browser`, the `$(TOR_BROWSER_BUILD_N)` value will increase while the `$(FIREFOX_BUILD_N)` will stay the same.
- `$(TOR_BROWSER_VERSION)` : the published Tor Browser version
- example : `11.5a6`, `11.0.7`
</details>
### **torbutton** ***(Desktop Only, Optional)***
- [x] Update translations :
- [x] `./import-translations.sh`
- [x] Commit with message `Translation updates`
- [ ] *(Optional)* Backport to maintenance branch if present
- [x] fixup! `tor-browser`'s `Bug 10760 : Integrate TorButton to TorBrowser core` issue to point to updated `torbutton` commit
### **tor-launcher** ***(Desktop Only, Optional)***
- [x] Update `install.rdf` file with new version
- [x] Sign/Tag commit :
- Tag : `$(TOR_LAUNCHER_VERSION)`
- Message `Tagging $(TOR_LAUNCHER_VERSION)`
- [x] Push `master` and tag to origin
### **geckoview** ***(Android Only)***
_TODO_
### tba-translation ***(Android Only, Optional)***
_TODO_
### tor-browser
- [x] ***(Optional)*** Rebase to `$(ESR_VERSION)`
- [x] Find the Firefox hg tag here : https://hg.mozilla.org/releases/mozilla-esr91/tags
- [x] `$(ESR_TAG)` : `FIREFOX_91_9_0esr_BUILD1`
- [x] Identify the hg patch associated with above hg tag, and find the equivalent `gecko-dev` git commit (search by commit message)
- [x] `gecko-dev` commit : `c801d6d34aec931da57d4f50490f6f52b3395ef0`
- [x] Create new `tor-browser` branch with the discovered `gecko-dev` commit as `HEAD` named `tor-browser-$(ESR_VERSION)esr-$(TOR_BROWSER_MAJOR).$(TOR-BROWSER_MINOR)-1`
- [x] Sign/Tag commit :
- Tag : `$(ESR_TAG)`
- Message : `Mercurial $(ESR_TAG) tag`
- [x] Push new branch and tag to origin
- [x] Rebase `tor-browser` patches
- [x] Open MR for the rebase
- [x] ***(Optional)*** Backport any required patches
- [x] Sign/Tag commit :
- Tag : `tor-browser-$(ESR_VERSION)esr-$(TOR_BROWSER_MAJOR).$(TOR_BROWSER_MINOR)-1-$(FIREFOX_BUILD_N)`
- Message : `Tagging $(FIREFOX_BUILD_N) for $(ESR_VERSION)esr-based (alpha|stable)`
- [x] Push tag to origin
### tor-browser-build
Tor Browser Alpha (and Nightly) are on the `master` branch, while Stable lives in the various `$(TOR_BROWSER_MAJOR).$(TOR_BROWSER_MINOR)-maint` (and possibly more specific) branches
- [x] Update `rbm.conf`
- [x] `var/torbrowser_version` : update to next version
- [x] `var/torbrowser_build` : update to `$(TOR_BROWSER_BUILD_N)`
- [x] `var/torbrowser_incremental_from` : update to previous version
- [x] **IMPORTANT** Really actually make sure this is the previous Desktop/Android version or else the `make incrementals-*` step will fail
- [x] Update `projects/firefox/config`
- [x] `git_hash` : update the $(FIREFOX_BUILD_N) section to match `tor-browser` tag
- [x] ***(Optional)*** `var/firefox_platform_version` : update to latest $(ESR_VERSION) if rebased
- [x] Check for NoScript updates here : https://addons.mozilla.org/en-US/firefox/addon/noscript
- [ ] ***(Optional)*** If version available, update `noscript` section of `input_files` in `projects/tor-browser/config`
- [ ] `URL`
- [ ] `sha256sum`
- [x] Check for openssl updates here : https://github.com/openssl/openssl/tags
- [x] ***(Optional)*** If new 1.X.Y series tag available, update `projects/openssl/config`
- [x] `version` : update to next 1.X.Y release tag
- [x] `input_files/sha256sum` : update to sha256 sum of source tarball
- [x] Check for tor updates here : https://gitlab.torproject.org/tpo/core/tor/-/tags ; Tor Browser Alpha uses `-alpha` tagged tor, while stable uses the stable series
- [ ] ***(Optional)*** If new tor version is available, update `projects/tor/config`
- [ ] `version` : update to next release tag
- [x] Check for go updates here : https://golang.org/dl (Tor Browser Alpha uses the latest Stable go version, while Tor Browser Stable uses the latest of the previous Stable major series version (eg: if Tor Browser Alpha is on the go1.17 series, Tor Browser Stable is on the go1.16 series)
- [ ] ***(Optional)*** If new go version is available, update `projects/go/config`
- [ ] `version` : update go version
- [ ] `input_files/sha256sum` for `go` : update sha256sum of archive (sha256 sums are displayed on the go download page)
- [ ] ***(Android Only)*** Update allowed_addons.json by running (from `tor-browser-build` root)`./tools/fetch_allowed_addons.py > projects/tor-browser/allowed_addons.json
- [x] Update `ChangeLog.txt`
- [x] Open MR with above changes
- [x] Sign/Tag commit : `make signtag-(alpha|release)`
- [x] Push tag to origin
### blog
- [x] Duplicate previous Stable or Alpha release blog post as appropriate to new directory under `content/blog/new-release-tor-browser-$(TOR_BROWSER_VERSION)` and update with info on release :
- [x] Update Tor Browser version numbers
- [x] Note any ESR rebase
- [x] Link to any Firefox security updates
- [x] Note any updates to :
- [x] tor
- [x] openssl
- [ ] go
- [x] noscript
- [x] Convert ChangeLog.txt to markdown format used here by : `tor-browser-build/tools/changelog-format-blog-post`
- [x] Push to origin as new branch, open 'Draft :' MR
- [x] Remove draft from MR once signed-packages are uploaded
### website
- [x] `databags/versions.ini` : Update the downloads versions
- `torbrowser-stable/version` : sort of a catch-all for latest stable version
- `torbrowser-stable/win32` : tor version in the expert bundle
- `torbrowser-*-stable/version` : platform-specific stable versions
- `torbrowser-*-alpha/version` : platform-specific alpha versions
- `tor-stable`,`tor-alpha` : set by tor devs, do not touch
- [x] Push to origin as new branch, open 'Draft :' MR
- [x] Remove draft from MR once signed-packages are uploaded
### unsigned build uploads
- [x] Upload unsigned builds to people.torproject.org
- [x] Email tor-qa@lists.torproject.org with links to unsigned builds
### signing
_TODO_
### signed build uploads
_TODO_richardrichard2022-05-03https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40488Prepare stable release 11.0.13 (Desktop+Android)2022-06-08T16:32:04ZrichardPrepare stable release 11.0.13 (Desktop+Android)<details>
<summary>Explanation of variables</summary>
- `$(TOR_LAUNCHER_VERSION)` : version of `tor-launcher`, used in tags
- example : `0.2.33`
- `$(ESR_VERSION)` : the Mozilla defined ESR version, used in various places for buil...<details>
<summary>Explanation of variables</summary>
- `$(TOR_LAUNCHER_VERSION)` : version of `tor-launcher`, used in tags
- example : `0.2.33`
- `$(ESR_VERSION)` : the Mozilla defined ESR version, used in various places for building tor-browser tags, labels, etc
- example : `91.6.0`
- `$(ESR_TAG)` : the Mozilla defined hg (Mercurial) tag associated with `$(ESR_VERSION)`
- exmaple : `FIREFOX_91_7_0esr_BUILD2`
- `$(ESR_TAG_PREV)` : the Mozilla defined hg (Mercurial) tag associated with the previous ESR version when rebasing (ie, the ESR version we are rebasing from)
- `$(RR_VERSION)` : the Mozilla defined 'Rapid Relese' version, used in various places for building geckoview tags, labels, etc
- example : `96.0.3`
- `$(RR_TAG)` : the Mozilla defined hg (Mercurial) tag associated with `$(ESR_VERSION)`
- exmaple : `FIREFOX_96_0_3_RELEASE`
- `$(RR_TAG_PREV)` : the Mozilla defined hg (Mercurial) tag associated with the previous ESR version when rebasing (ie, the ESR version we are rebasing from)
- `$(TOR_BROWSER_MAJOR)` : the Tor Browser major version
- example : `11`
- `$(TOR_BROWSER_MINOR)` : the Tor Browser minor version
- example : either `0` or `5`; Alpha's is always `(Stable + 5) % 10`
- `$(FIREFOX_BUILD_N)` : the firefox build revision within a given `tor-browser` branch; this is separate from the `$(TOR_BROWSER_BUILD_N) ` value
- example : `build1`
- `$(TOR_BROWSER_BUILD_N)` : the tor-browser build revision for a given Tor Browser release; used in tagging git commits
- example : `build2`
- **NOTE** : `$(FIREFOX_BUILD_N)` and `$(TOR_BROWSER_BUILD_N)` typically are the same, but it is possible for them to diverge. For example :
- if we have multiple Tor Browser releases on a given ESR branch the two will become out of sync as the `$(FIREFOX_BUILD_N)` value will increase, while the `$(TOR_BROWSER_BUILD_N)` value may stay at `build1` (but the `$(TOR_BROWSER_VERSION)` will increase)
- if we have build failures unrelated to `tor-browser`, the `$(TOR_BROWSER_BUILD_N)` value will increase while the `$(FIREFOX_BUILD_N)` will stay the same.
- `$(TOR_BROWSER_VERSION)` : the published Tor Browser version
- example : `11.5a6`, `11.0.7`
- `$(TOR_BROWSER_BRANCH)` : the full name of tor-browser branch
- typically of the form: `tor-browser-$(ESR_VERSION)esr-$(TOR_BROWSER_MAJOR).$(TOR-BROWSER_MINOR)-1`
- `$(TOR_BROWSER_BRANCH_PREV)` : the full name of the previous tor-browser branch (when rebasing)
- `$(GECKOVIEW_BRANCH)` : the full name of geckoview branch
- typically of the form: `tor-browser-$(RR_VERSION)-$(TOR_BROWSER_MAJOR).$(TOR-BROWSER_MINOR)-1`
- `$(GECKOVIEW_BRANCH_PREV)` : the full name of the previous geckoview branch (when rebasing)
</details>
<details>
<summary>Desktop</summary>
### **torbutton** ***(Optional)***: https://git.torproject.org/torbutton.git
- [ ] ***(Optional)*** Update translations :
- **NOTE** : mandatory if we have added new string dependencies
- [ ] `./import-translations.sh`
- [ ] Commit with message `Translation updates
- **NOTE** : only add files which are already being tracked
- [ ] *(Optional)* Backport to maintenance branch if present
- [ ] fixup! `tor-browser`'s `Bug 10760 : Integrate TorButton to TorBrowser core` issue to point to updated `torbutton` commit
### **tor-launcher** ***(Optional)***: https://git.torproject.org/tor-launcher.git
- [ ] ***(Optional)*** Update translations:
- **NOTE** : mandatory if we have added new string dependencies
- [ ] ./localization/import-translations.sh
- [ ] Update `install.rdf` file with new version
- [ ] Sign/Tag commit :
- Tag : `$(TOR_LAUNCHER_VERSION)`
- Message `Tagging $(TOR_LAUNCHER_VERSION)`
- [ ] Push `master` and tag to origin
### tor-browser: https://git.torproject.org/tor-browser.git
- [ ] ***(Optional)*** Rebase to `$(ESR_VERSION)`
- [ ] Find the Firefox hg tag here : https://hg.mozilla.org/releases/mozilla-esr91/tags
- [ ] `$(ESR_TAG)` : `INSERT_TAG_HERE`
- [ ] Identify the hg patch associated with above hg tag, and find the equivalent `gecko-dev` git commit (search by commit message)
- [ ] `gecko-dev` commit : `INSERT_COMMIT_HASH_HERE`
- [ ] Create new `tor-browser` branch with the discovered `gecko-dev` commit as `HEAD` named `tor-browser-$(ESR_VERSION)esr-$(TOR_BROWSER_MAJOR).$(TOR-BROWSER_MINOR)-1`
- [ ] Sign/Tag commit :
- Tag : `$(ESR_TAG)`
- Message : `Hg tag $(ESR_TAG)`
- [ ] Push new branch and tag to origin
- [ ] Rebase `tor-browser` patches
- [ ] Perform rangediff to ensure nothing weird happened resolving conflicts
- `git range-diff $(ESR_TAG_PREV)..$(TOR_BROWSER_BRANCH_PREV) $(ESR_TAG)..$(TOR_BROWSER_BRANCH)`
- [ ] Open MR for the rebase
- [ ] _TODO: tag base firefox no-tor browser_
- [x] ***(Optional)*** Backport any required patches to Stable
- [x] cherry-pick patches on top of rebased branch (issues to backport should have `Backport` label and be linked to the associated `Release Prep` issue
- [ ] Close associated `Backport` issues
- [x] Open MR for the backport commits
- [x] Sign/Tag commit :
- Tag : `tor-browser-$(ESR_VERSION)esr-$(TOR_BROWSER_MAJOR).$(TOR_BROWSER_MINOR)-1-$(FIREFOX_BUILD_N)`
- Message : `Tagging $(FIREFOX_BUILD_N) for $(ESR_VERSION)esr-based (alpha|stable)`
- [x] Push tag to origin
</details>
<details>
<summary>Android</summary>
### **geckoview**: https://git.torproject.org/tor-browser.git
- [ ] ***(Optional)*** Rebase to `$(RR_VERSION)`
- [ ] Find the Firefox hg tag here : https://hg.mozilla.org/releases/mozilla-release/tags
- [ ] `$(RR_TAG)` : `INSERT_TAG_HERE`
- [ ] Identify the hg patch associated with above hg tag, and find the equivalent `gecko-dev` git commit (search by commit message)
- [ ] `gecko-dev` commit : `INSERT_COMMIT_HASH_HERE`
- [ ] Create new `geckoview` branch with the discovered `gecko-dev` commit as `HEAD` named `geckoview-$(RR_VERSION)-$(TOR_BROWSER_MAJOR).$(TOR-BROWSER_MINOR)-1`
- [ ] Sign/Tag commit :
- Tag : `$(RR_TAG)`
- Message : `Hg tag $(RR_TAG)`
- [ ] Push new branch and tag to origin
- [ ] Rebase `geckoview` patches
- [ ] Perform rangediff to ensure nothing weird happened resolving conflicts
- `git range-diff $(RR_TAG_PREV)..$(GECKOVIEW_BRANCH_PREV) $(RR_TAG)..$(GECKOVIEW_BRANCH)`
- [ ] Open MR for the rebase
- [ ] Merge + Push
- [x] ***(Optional)*** Backport any required patches to Stable
- [x] cherry-pick patches on top of rebased branch (issues to backport should have `Backport` label and be linked to the associated `Release Prep` issue
- [ ] Close associated `Backport` issues
- [x] Open MR for the backport commits
- [x] Merge + Push
- [x] Sign/Tag commit :
- Tag : `geckoview-$(RR_VERSION)-$(TOR_BROWSER_MAJOR).$(TOR_BROWSER_MINOR)-1-$(FIREFOX_BUILD_N)`
- Message : `Tagging $(FIREFOX_BUILD_N) for $(RR_VERSION)-based (alpha|stable)`
- [x] Push tag to origin
### **tba-translation** ***(Optional)***: https://git.torproject.org/translation.git
_TODO_
### **android-components** ***(Optional)***: https://gitlab.torproject.org/tpo/applications/android-components.git
_TODO_
### **tor-android-service** ***(Optional)***: https://git.torproject.org/tor-android-service.git
_TODO_
### **fenix** ***(Optional)***: https://gitlab.torproject.org/tpo/applications/fenix.git
_TODO_
</details>
<details>
<summary>Build/Signing/Publishing</summary>
### tor-browser-build: https://git.torproject.org/builders/tor-browser-build.git
Tor Browser Alpha (and Nightly) are on the `master` branch, while Stable lives in the various `$(TOR_BROWSER_MAJOR).$(TOR_BROWSER_MINOR)-maint` (and possibly more specific) branches
- [x] Update `rbm.conf`
- [x] `var/torbrowser_version` : update to next version
- [x] `var/torbrowser_build` : update to `$(TOR_BROWSER_BUILD_N)`
- [x] `var/torbrowser_incremental_from` : update to previous version
- [x] **IMPORTANT**: Really actually make sure this is the previous Desktop/Android version or else the `make incrementals-*` step will fail
- [x] Update `projects/firefox/config`
- [x] `git_hash` : update the $(FIREFOX_BUILD_N) section to match `tor-browser` tag
- [ ] ***(Optional)*** `var/firefox_platform_version` : update to latest $(ESR_VERSION) if rebased
- [x] Check for NoScript updates here : https://addons.mozilla.org/en-US/firefox/addon/noscript
- [ ] ***(Optional)*** If version available, update `noscript` section of `input_files` in `projects/tor-browser/config`
- [ ] `URL`
- [ ] `sha256sum`
- [x] Check for openssl updates here : https://github.com/openssl/openssl/tags
- [ ] ***(Optional)*** If new 1.X.Y series tag available, update `projects/openssl/config`
- [ ] `version` : update to next 1.X.Y release tag
- [ ] `input_files/sha256sum` : update to sha256 sum of source tarball
- [x] Check for tor updates here : https://gitlab.torproject.org/tpo/core/tor/-/tags ; Tor Browser Alpha uses `-alpha` tagged tor, while stable uses the stable series
- [ ] ***(Optional)*** If new tor version is available, update `projects/tor/config`
- [ ] `version` : update to next release tag
- [x] Check for go updates here : https://golang.org/dl (Tor Browser Alpha uses the latest Stable go version, while Tor Browser Stable uses the latest of the previous Stable major series version (eg: if Tor Browser Alpha is on the go1.17 series, Tor Browser Stable is on the go1.16 series)
- [ ] ***(Optional)*** If new go version is available, update `projects/go/config`
- [x] `version` : update go version
- [x] `input_files/sha256sum` for `go` : update sha256sum of archive (sha256 sums are displayed on the go download page)
- [ ] ***(Android Only)*** Update allowed_addons.json by running (from `tor-browser-build` root)`./tools/fetch_allowed_addons.py > projects/tor-browser/allowed_addons.json
- [ ] Update `ChangeLog.txt`
- [ ] Open MR with above changes
- [ ] Begin build on `tb-build-03`
- [ ] Sign/Tag commit : `make signtag-(alpha|release)`
- [ ] Push tag to origin
### notify tor-qa
- [ ] Email tor-qa@lists.torproject.org
- [ ] Provide links to unsigned builds on `tb-build-03`
- [ ] Call out any new funcionality which needs testing
- [ ] Link to any known issues
### blog: https://gitlab.torproject.org/tpo/web/blog.git
- [x] Duplicate previous Stable or Alpha release blog post as appropriate to new directory under `content/blog/new-release-tor-browser-$(TOR_BROWSER_VERSION)` and update with info on release :
- [x] Update Tor Browser version numbers
- [ ] Note any ESR rebase
- [ ] Note any Rapid Release rebase
- [x] Link to any Firefox security updates
- [ ] Note any updates to :
- [ ] tor
- [ ] openssl
- [ ] go
- [ ] noscript
- [x] Convert ChangeLog.txt to markdown format used here by : `tor-browser-build/tools/changelog-format-blog-post`
- [x] Push to origin as new branch, open 'Draft :' MR
- [x] Remove draft from MR once signed-packages are uploaded
### website: https://gitlab.torproject.org/tpo/web/tpo.git
- [x] `databags/versions.ini` : Update the downloads versions
- `torbrowser-stable/version` : sort of a catch-all for latest stable version
- `torbrowser-stable/win32` : tor version in the expert bundle
- `torbrowser-*-stable/version` : platform-specific stable versions
- `torbrowser-*-alpha/version` : platform-specific alpha versions
- `tor-stable`,`tor-alpha` : set by tor devs, do not touch
- [x] Push to origin as new branch, open 'Draft :' MR
- [x] Remove draft from MR once signed-packages are uploaded
### signing
_TODO: boklm's fancy new signing+uploading scripts_
</details>2022-05-20