Commit Graph

75 Commits

Author SHA1 Message Date
Akash Yadav
f940a5a54e fix: format and lint with shfmt + shellcheck
Signed-off-by: Akash Yadav <contact@itsaky.com>
2026-07-31 00:39:10 +00:00
celenity
025d607da5 fix: decrease default verbosity (+ add IRONFOX_VERBOSE env var to control it)
Signed-off-by: celenity <celenity@celenity.dev>
2026-07-23 23:16:25 +00:00
celenity
31cfc61fa2 feat: Set env vars for additional utilities + do not use the system PATH (in favor of our own custom PATH)
This should improve security (by ensuring we always specify the full paths to executables, and preventing use of unintended/undesired system executables), control (by allowing users to specify where these executables should be located), and consistency/reproducability

Signed-off-by: celenity <celenity@celenity.dev>
2026-07-17 02:46:08 +00:00
celenity
03190893e1 fix: Upload artifacts to S3 storage (instead of GitLab directly) - lets us bypass the size limits and reduces our reliance/dependency on GitLab
Signed-off-by: celenity <celenity@celenity.dev>
2026-06-30 22:44:08 +00:00
celenity
415496c49d fix: set indentation to 2 spaces for all files
This makes indentation consistent across all our files, and also improves readability in general

Signed-off-by: celenity <celenity@celenity.dev>
2026-06-29 05:24:33 +00:00
celenity
df2b03b864 fix: artifact names
Signed-off-by: celenity <celenity@celenity.dev>
2026-06-23 21:31:28 +00:00
celenity
4bde1d952c feat: Improve granularity of the build scripts
Notably, this means that:

- It's now possible to build components individually
    - This should especially be useful for ex. CI, so we can avoid timeouts and improve build speed by building certain components simultaneously

- It's now possible to rebuild only a specific project and its consumers (instead of always having to build everything...)
    - ex. If I make a change to Gecko, I can just use `rebuild-gecko`, which only builds Gecko and its consumers (GeckoView, AC, and Fenix), instead of trying to build everything unconditionally

The default build behavior (ex. if no argument is specified) still remains the same

This also adds checks to ensure that the build script fails fast if important variables are not properly set/configured

Also includes some minor tweaks, such as a renaming of a couple of the CI jobs for clarity, and the addition of an `IRONFOX_TEMP` variable to indicate the temporary build directory

Signed-off-by: celenity <celenity@celenity.dev>
2026-06-17 22:09:00 +00:00
celenity
5742e99d38 WIP: 152.0
(Also includes some clean-up and tweaks/refinements to the build system)

Signed-off-by: celenity <celenity@celenity.dev>
2026-06-16 04:24:09 +00:00
celenity
23aa0326db fix: use double (instead of single) brackets for scripts/mozconfigs
Signed-off-by: celenity <celenity@celenity.dev>
2026-06-04 05:35:42 +00:00
celenity
cded70d7e0 feat: Use separate ci-prep.sh for setting up the Android keystore, Google Safe Browsing API key, and S3 storage in CI
This eliminates redundancies and improves portability/control

Signed-off-by: celenity <celenity@celenity.dev>
2026-04-24 00:55:49 -04:00
celenity
5e9355d317 fix: ensure GitLab CI properly recognizes when build script fails
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-12 23:20:09 +00:00
celenity
b958317f5a fix: ensure GitLab CI properly recognizes when build script fails
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-12 22:59:33 +00:00
celenity
dd18d14fc8 fix: ensure GitLab CI properly recognizes when build script fails
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-12 22:48:51 +00:00
celenity
02dd3fd9d6 fix: ensure we always compress archives
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-12 22:45:47 +00:00
celenity
d66c9967f4 fix: ensure we always fail properly
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-12 22:43:13 +00:00
celenity
c10198d468 fix: ensure we fail properly (+ test sooner)
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-12 22:09:37 +00:00
celenity
35efd07520 fix: typo
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-12 21:52:51 +00:00
celenity
a333e1b6da fix: ensure we set IRONFOX_CI early
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-12 21:49:03 +00:00
celenity
cbd359a6a1 fix: ensure that artifacts are always compressed/uploaded - ensures we get logs for failed jobs...
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-12 21:32:48 +00:00
celenity
43f4ee2206 feat: allow configuration of variables for Fenix and GeckoView outputs, + clean-up and improve handling of the export/output process
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-12 10:40:08 +00:00
celenity
cf38d7347e feat: specify different env vars for the location of GeckoView AAR archives to use when building the GeckoView bundle (instead of just hardcoding the outputs directory)
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-06 06:30:11 +00:00
celenity
923042e2de fix: revert "fix: temporarily revert certain env + CI script changes for now"
This reverts commit 3dd7cf2d5f, as these changes were not related to the issue

Signed-off-by: celenity <celenity@celenity.dev>
2026-04-05 20:12:43 +00:00
celenity
a09d43b02a fix - ci: ensure the AAR outputs directory exists
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-05 04:02:43 +00:00
celenity
f1799a31f8 fix - ci: ensure GeckoView AAR directories exist
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-05 02:17:15 +00:00
celenity
27cc063715 fix - ci: extract our GeckoView AAR artifacts
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-04 21:08:13 +00:00
Akash Yadav
1130261ae3 ci: add debug output for debugging CI failures
Signed-off-by: Akash Yadav <contact@itsaky.com>
2026-04-04 22:42:33 +05:30
Akash Yadav
6a8aa7f040 fix: enable artifact compression for CI
Signed-off-by: Akash Yadav <contact@itsaky.com>
2026-04-04 17:05:18 +05:30
celenity
3d598ff7bc fix
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-03 23:49:33 +00:00
celenity
a31d31d977 fix: test to determine wtf is breaking bundle signing (/bundletool)...
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-03 23:36:14 +00:00
celenity
5de6982e9b fix: temporarily revert certain env + CI script changes for now
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-02 18:15:05 +00:00
celenity
68acead79e feat: set env variables as readonly where possible, and improve/fix-up env var handling in general
Signed-off-by: celenity <celenity@celenity.dev>
2026-03-31 23:30:53 +00:00
celenity
1d091878ed IronFox v148.0
ironfox-oss/IronFox!127
# IronFox 148.0
____

## Changes

- Updated to Firefox [`148.0`](https://firefox.com/firefox/android/148.0/releasenotes/).
- Updated to Phoenix [`2026.02.23.1`](https://codeberg.org/celenity/Phoenix/releases/tag/2026.02.23.1).
- Minor tweaks, fixes, and enhancements.

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Weblate <hosted@weblate.org>
Approved-by: Akash Yadav <itsaky01@gmail.com>
Merged-by: celenity <celenity@celenity.dev>
2026-02-26 18:04:16 +00:00
celenity
478782f687 IronFox v147.0.4
ironfox-oss/IronFox!125
# IronFox 147.0.4
____

## Changes

- Updated to Firefox [`147.0.4`](https://firefox.com/firefox/android/147.0.4/releasenotes/).
- Updated to Phoenix [`2026.02.16.1`](https://codeberg.org/celenity/Phoenix/releases/tag/2026.02.16.1).
- Updated to microG [`v0.3.13.250932`](https://github.com/microg/GmsCore/releases/tag/v0.3.13.250932).
- Updated to Rust [`1.93.1`](https://releases.rs/docs/1.93.1/).
- Disabled the [Date Decoder *(RDD)* process](https://firefox-source-docs.mozilla.org/dom/ipc/process_model.html#data-decoder-rdd-process) by default, due to potential [memory safety issues](https://codeberg.org/ironfox-oss/IronFox/issues/94).
    - This means that when isolated content process support is enabled, media playback will not work properly for many websites.
    - As a result, we've unfortunately disabled isolated content process support by default for now - but it can still be enabled from secret settings if desired, at the cost of breakage for media playback on certain websites. We hope to enable it again by default in the near future.
- [Enabled canvas randomization for solid colors](e8e5976010).
    - Adapted from [LibreWolf](343645241e) - thanks to [any1here](https://codeberg.org/any1here)! <3
- [Removed the OpenAI backend](ecc15b7d11).
- Various improvements to the overall build process.
- Other minor tweaks, fixes, and enhancements.

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Weblate <hosted@weblate.org>
Co-authored-by: Akash Yadav <contact@itsaky.com>
Approved-by: Akash Yadav <itsaky01@gmail.com>
Merged-by: celenity <celenity@celenity.dev>
2026-02-17 07:45:17 +00:00
celenity
636a1ca017 IronFox v147.0.2
ironfox-oss/IronFox!121
____

## Changes

- Updated to Firefox [`147.0.2`](https://firefox.com/firefox/android/147.0.2/releasenotes/).
- Updated to Rust [`1.93.0`](https://releases.rs/docs/1.93.0/).
- Other minor tweaks, fixes, and enhancements.

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Weblate <hosted@weblate.org>
Approved-by: Akash Yadav <itsaky01@gmail.com>
Merged-by: celenity <celenity@celenity.dev>
2026-01-27 21:18:49 +00:00
celenity
be520f64b3 IronFox v147.0.0.1
ironfox-oss/IronFox!117
____

## Changes

- [Fixed a bug that caused the Android search widget to appear transparent](https://gitlab.com/ironfox-oss/IronFox/-/issues/225).
- [Fixed a bug that prevented the user's real locale from being reflected in certain cases when locale spoofing was disabled](f495970cda).
- [Fixed a crash that occurred upon navigating to certain settings from private browsing](7ac50880c6).
- [Fixed an issue that prevented Gecko preferences from being properly applied for Bundle builds](https://gitlab.com/ironfox-oss/IronFox/-/issues/227).
- [Updated certificate pinning entries](86733dcd35).
- Other minor tweaks and fixes.

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Weblate <hosted@weblate.org>
Approved-by: celenity <celenity@celenity.dev>
Merged-by: celenity <celenity@celenity.dev>
2026-01-16 04:01:45 +00:00
celenity
4c342f1f48 IronFox v147.0
ironfox-oss/IronFox!115
____

## Changes

- [Added an OLED theme](7008b9c865).
- Enable content process isolation by default.
    - **NOTE**: This may cause issues with live streaming on certain websites *(such as `rumble.com`)*. If desired, at the cost of security, you can disable content process isolation by navigating to `Settings` -> `About` -> `About IronFox`, tapping the IronFox logo 7 times, navigating back to `Secret settings`, disabling the setting to enable content process isolation, and restarting your browser.
- Created and integrated a new separate [`UnifiedPush-AC`](https://gitlab.com/ironfox-oss/unifiedpush-ac) component to support UnifiedPush functionality.
- Implemented support for Gecko localizations *(ex. for `about:` pages)*.
- [Prevented exposing the browser name and vendor to extensions](8fa2ceaa9c) to improve privacy and resolve compatibility issues with certain extensions.
- Updated to Firefox [`147.0`](https://firefox.com/firefox/android/147.0/releasenotes/).
- Other tweaks, enhancements, and refinements.

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Weblate <hosted@weblate.org>
Co-authored-by: Akash Yadav <itsaky01@gmail.com>
Co-authored-by: techaddict <20232669-techaddict@users.noreply.gitlab.com>
Co-authored-by: user <user@localhost.localdomain>
Approved-by: Akash Yadav <itsaky01@gmail.com>
Merged-by: celenity <celenity@celenity.dev>
2026-01-13 21:21:00 +00:00
celenity
5f80ede13b IronFox v146.0.1
ironfox-oss/IronFox!112
____

## Changes

- [Enabled memory tagging](e24a24e63c) *(via [Android's Arm Memory Tagging Extension](https://developer.android.com/ndk/guides/arm-mte))* to improve security for supported devices *(such as the Pixel 8 and newer)*.
- [Fixed an issue with Obtainium app installation](6026d6524f).
- Updated Bundletool to [`1.18.3`](https://github.com/google/bundletool/releases/tag/1.18.3).
- Updated to Firefox [`146.0.1`](https://firefox.com/firefox/android/146.0.1/releasenotes/).
- Updated microG to [`v0.3.11.250932`](https://github.com/microg/GmsCore/releases/tag/v0.3.11.250932).
- Updated Rust to [`1.92.0`](https://releases.rs/docs/1.92.0/).
- [Various tweaks, fixes, and refinements - especially to the build process](https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/112/diffs).

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Weblate <hosted@weblate.org>
Co-authored-by: Akash Yadav <itsaky01@gmail.com>
Co-authored-by: techaddict <20232669-techaddict@users.noreply.gitlab.com>
Co-authored-by: user <user@localhost.localdomain>
Approved-by: Akash Yadav <itsaky01@gmail.com>
Merged-by: celenity <celenity@celenity.dev>
2025-12-19 16:16:28 +00:00
celenity
cf1927c54b IronFox v145.0.1
ironfox-oss/IronFox!104
____

## Changes

- Updated the default version of Rust to [`1.91.1`](https://releases.rs/docs/1.91.1/).
- Updated to Firefox [`145.0.1`](https://firefox.com/firefox/android/145.0.1/releasenotes/).

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Weblate <hosted@weblate.org>
Co-authored-by: Akash Yadav <itsaky01@gmail.com>
Approved-by: celenity <celenity@celenity.dev>
Merged-by: celenity <celenity@celenity.dev>
2025-11-19 19:13:03 +00:00
celenity
4b02ef03d9 IronFox v144.0.1
ironfox-oss/IronFox!94
____

## Important

We are currently unable to provide updates to IronFox on **Accrescent**, [due to ongoing client and server issues that Accrescent is facing](https://infosec.exchange/@accrescent/115408303090609483). This impacts **all** apps on Accrescent, and is not just limited to IronFox.

**For the time being, we would highly recommend Accrescent users use our `Nightly` CI builds**. As we now use a separate package ID for these builds, it is possible to install Nightly builds *alongside* your existing, standard install of IronFox. This ensures that you can continue to receive the latest security updates and fixes from us, without losing any existing data. **Once updates resume on Accrescent, you can *(and **should**)* simply switch back to your existing standard install.**

Please see [here](https://gitlab.com/ironfox-oss/IronFox/-/blob/dev/docs/FAQ.md#how-can-i-download-nightly-builds) for details on how to install our `Nightly` builds.

## Changes

- [Enabled the display of certain advanced options](bb47aee7e6) at [`about:support`](about:support).
- [Implemented support to block/filter unwanted Remote Settings collections on the Application Services level](33373ec291), similar to [the current Remote Settings Blocker patch](e6c69ef28d/patches/gecko-rs-blocker.patch) *(derived from LibreWolf)* for Gecko. This is necessary due to this Remote Settings instance being separate from Gecko's instance.
- Replaced the `Enable WebGL` settings toggle with a **`Disable WebGL`** toggle that disables WebGL instead, to improve clarity and help avoid confusion.
- Updated to Firefox [`144.0.1`](https://firefox.com/firefox/android/144.0.1/releasenotes/).
- [Other minor tweaks and adjustments](https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/94/diffs).

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Weblate <hosted@weblate.org>
Co-authored-by: Akash Yadav <itsaky01@gmail.com>
Approved-by: Akash Yadav <itsaky01@gmail.com>
Merged-by: celenity <celenity@celenity.dev>
2025-10-22 19:20:53 +00:00
celenity
1dcb479bbe IronFox v143.0.2
ironfox-oss/IronFox!82
____

## Changes

- Rebased onto Firefox [`143.0.2`](https://firefox.com/firefox/android/143.0.2/releasenotes/).
- [Added a toggle to enable or disable collections](235eb6e018), **enabled** by default, located at `Settings` -> `IronFox` -> `IronFox settings` -> `Miscellaneous` -> `Enable collections`.
- [Added a toggle to enable or disable `Firefox Translations`](0b96f35fb0), **enabled** by default, located at `Settings` -> `IronFox` -> `IronFox settings` -> `Miscellaneous` -> `Enable Firefox Translations` *(Related Gecko preferences: `browser.translations.enable`, `browser.translations.simulateUnsupportedEngine`)*.
- [Disabled speculative connections](3456e56222).
- [Enabled alternate app icon selection](ee2c38ab26).
- [Other minor tweaks and adjustments](https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/82/diffs).

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Akash Yadav <itsaky01@gmail.com>
Co-authored-by: Weblate <hosted@weblate.org>
Co-authored-by: LucasMZ <git@lucasmz.dev>
Approved-by: celenity <celenity@celenity.dev>
Merged-by: celenity <celenity@celenity.dev>
2025-09-25 06:33:58 +00:00
celenity
594372f418 IronFox v143.0
ironfox-oss/IronFox!80
____

## Changes

- [Fixed an issue that caused the browser to always attempt to install uBlock Origin, even if deselected on the onboarding](https://gitlab.com/ironfox-oss/IronFox/-/issues/180).
- [Fixed and added back the `Debug Drawer` secret setting](c6e1c4cd68).
- [Glean](https://github.com/mozilla/glean) is now built with [Tor Browser's no-op UniFFI binding generator](766e179979).
- Prevented the browser from initializing the [Nimbus *(Experimentation)* library](https://experimenter.info/getting-started/engineers/getting-started-for-android-engineers/).
- Rebased onto Application Services [`v143.0`](https://github.com/mozilla/application-services/releases/tag/v143.0).
- Rebased onto Firefox [`143.0`](https://firefox.com/firefox/android/143.0/releasenotes/).
- Rebased onto Glean [`v64.5.5`](https://github.com/mozilla/glean/releases/tag/v64.5.5).
- Removed additional unwanted/unnecessary components used for data collection and marketing.
- Removed [Glean](https://github.com/mozilla/glean) from Mozilla's [Android Components](https://searchfox.org/firefox-main/source/mobile/android/android-components/README.md).
- Removed [Glean](https://github.com/mozilla/glean) from [Application Services](https://github.com/mozilla/application-services).
- Removed the `Enable disk cache for secure webpages` UI setting toggle. Note that the `Enable disk cache` toggle is a master-switch, it disables disk cache for *both* insecure *and* secure websites, and it remains off by default.
- Removed the `Hard-fail OCSP revocation checks` UI setting toggle, as we no longer enable or use OCSP by default, in favor of CRLite *([See details](e599bd459e))*.
- Removed [Nimbus](https://experimenter.info/getting-started/engineers/getting-started-for-android-engineers/) from the [`engine-gecko` Android component](https://searchfox.org/firefox-main/source/mobile/android/android-components/components/browser/engine-gecko/README.md).
- [Stubbed `PlayStoreReviewPromptController`, and removed the now-unnecessary microG `Tasks` library](52791d3500).
- Updated the default Rust version [for **Gecko** and **Glean**](ec6ee31f83) to [`1.89.0`](https://doc.rust-lang.org/stable/releases.html#version-1890-2025-08-07).
- Updated Phoenix to [`2025.09.07.1`](https://codeberg.org/celenity/Phoenix/releases/tag/2025.09.07.1).
- [Other tweaks, refinements, and minor enhancements](https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/80/diffs).

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Weblate <hosted@weblate.org>
Co-authored-by: LucasMZ <git@lucasmz.dev>
Co-authored-by: Akash Yadav <itsaky01@gmail.com>
Approved-by: Akash Yadav <itsaky01@gmail.com>
Merged-by: celenity <celenity@celenity.dev>
2025-09-17 13:46:08 +00:00
celenity
baa773377e IronFox v142.0.1
ironfox-oss/IronFox!73
____

## Changes

- [Fixed an issue that prevented `Collections` from displaying on the browser homepage for some users](https://gitlab.com/ironfox-oss/IronFox/-/issues/162).
- [Fixed an issue that prevented the `Request English versions of webpages` toggle from reflecting its proper value when set from the onboarding](https://gitlab.com/ironfox-oss/IronFox/-/issues/160).
- [Reduced dependencies on the `Glean` *(telemetry)* library](5bf21d12d1).
- Rebased onto Firefox [`142.0.1`](https://www.mozilla.org/firefox/android/142.0.1/releasenotes/).
- [Stubbed additional `metrics` components](a37897edc6/patches/fenix-overlay/app/src/main/java/org/mozilla/fenix/components/metrics).
- [Updated Rust for `Application Services`](917decfb45) to [`1.89.0`](https://doc.rust-lang.org/stable/releases.html#version-1890-2025-08-07).
- [Other minor tweaks and adjustments](https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/73/diffs).

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Akash Yadav <itsaky01@gmail.com>
Approved-by: Akash Yadav <itsaky01@gmail.com>
Merged-by: Akash Yadav <itsaky01@gmail.com>
2025-08-30 15:52:12 +05:30
celenity
c483a9c943 feat: Create separate repo for management of external/out of band resources, like uBlock Origin assets, to allow for easier management and maintenance
Signed-off-by: celenity <celenity@celenity.dev>
2025-08-19 15:30:50 -04:00
Akash Yadav
9517965783 fix: allow overriding version name for IronFox
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-06-14 02:44:01 +05:30
Akash Yadav
ae8a4348cb fix: do not use relative paths for APK and AAB artifacts
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-05-29 13:22:30 +05:30
celenity
3b647874a1 fix
Signed-off-by: celenity <celenity@celenity.dev>
2025-05-28 18:05:26 -04:00
Akash Yadav
2bcfcd700f fix: remove unnecessary date processing for IF_BUILD_DATE
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-05-18 11:34:42 +05:30
celenity
436c87ffca fix: ci-build.sh
Signed-off-by: celenity <celenity@celenity.dev>
2025-05-17 21:26:33 -04:00
Akash Yadav
b8478a4290 fix: override fenix build date using IF_BUILD_DATE
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-05-18 02:20:41 +05:30
Akash Yadav
34eac7641e fix: set MOZ_BUILD_DATE to pipeline creation time
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-05-18 02:19:21 +05:30