Commit Graph

66 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
4004b468e8 fix: ensure signing is properly handling when rebuilding phoenix consumers
Signed-off-by: celenity <celenity@celenity.dev>
2026-07-07 02:54:46 +00:00
celenity
d5af0e1fde feat: Add support for IronFox constants
These are constant values (defined at `ironfox.configure`) which can be used anywhere... specifically:

- In Gecko (via the `IFConstants.sys.mjs` module)
- In `ironfox.cfg` (via the equivalent prefs set at `ironfox.js` and `phoenix-overrides.cfg`)
- In any Kotlin/Java project (via the `org.ironfoxoss.core.IFConstants` components)

So this allows us to define these values in one place, and be able to use them anywhere. It also ensures the values always match across all projects.

Signed-off-by: celenity <celenity@celenity.dev>
2026-07-05 04:11:07 +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
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
d1f1981059 fix: clean-up since it now works as expected :)
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-12 23:26:40 +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
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
d21b8720eb fix: specify target architecture for sign.sh, instead of getting it from IRONFOX_TARGET_ARCH via build.sh
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-06 05:51:24 +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
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
ee43164c71 fix: re-enable signing + disable extra temp logging
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-03 06:25:20 +00:00
celenity
3abe844f2c fix: temporarily get additional logs
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-03 02:37:32 +00:00
celenity
8f9b3d8040 fix: scripts (for now)
Signed-off-by: celenity <celenity@celenity.dev>
2026-04-02 21:31:13 +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
7436d1abea IronFox v147.0.3
ironfox-oss/IronFox!123
____

## Changes

- Updated to Firefox [`147.0.3`](https://firefox.com/firefox/android/147.0.3/releasenotes/).
- Backported a fix for [an upstream bug](https://bugzilla.mozilla.org/show_bug.cgi?id=2013976) to ensure that canvas data is properly randomized.
- Fixed [an issue](https://gitlab.com/ironfox-oss/IronFox/-/issues/231) that prevented `tel` links from opening the dialer app.
- Various improvements to the build process.
- Other minor tweaks, fixes, and refinements.

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-02-05 22:28:55 +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
4913304503 IronFox v145.0.2
ironfox-oss/IronFox!105
____

## Changes

- Removed DNS0 from the list of default DNS over HTTPS providers, due to [its unfortunate discontinuation](https://www.dns0.eu/).
- Removed [the Mozilla Ads Client library](https://github.com/mozilla/application-services/tree/main/components/ads-client) from [Application Services](https://github.com/mozilla/application-services).
- Removed the Mullvad Leta search engine, due to [its unfortunate discontinuation](https://mullvad.net/blog/2025/11/6/shutting-down-our-search-proxy-leta) *(Thanks to @techaddict: https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/101! 💜)*.
- Updated to Firefox [`145.0.2`](https://firefox.com/firefox/android/145.0.2/releasenotes/).
- Updated to Phoenix [`2025.11.27.1`](https://codeberg.org/celenity/Phoenix/releases/tag/2025.11.27.1).
- [Other minor tweaks, fixes, and refinements](https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/105/diffs).

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: techaddict <20232669-techaddict@users.noreply.gitlab.com>
Co-authored-by: user <user@localhost.localdomain>
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-28 15:11:03 +00:00
celenity
995e83b0c8 IronFox v145.0
ironfox-oss/IronFox!100
____

## Changes

- Added a toggle in settings to control the [media autoplay blocking policy](https://wiki.mozilla.org/Media/block-autoplay#What_strategy_does_Firefox_use_for_blocking_autoplay?) when JIT is otherwise disabled globally *(set to `Transient` by default)*, located at `Settings` -> `IronFox` -> `IronFox settings` -> **`Media autoplay`**.
- Fixed [an issue](https://gitlab.com/ironfox-oss/IronFox/-/issues/199) that prevented certain preferences from persisting across restarts.
- Updated the default version of Rust to [`1.91.0`](https://releases.rs/docs/1.91.0/).
- Updated to Firefox [`145.0`](https://firefox.com/firefox/android/145.0/releasenotes/).
- Updated to Phoenix [`2025.11.07.1`](https://codeberg.org/celenity/Phoenix/releases/tag/2025.11.07.1).
- [Other minor tweaks and adjustments](https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/100/diffs).

MR-author: celenity <celenity@celenity.dev>
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-11-11 18:17:55 +00:00
celenity
51fe5549c2 IronFox v143.0.3
ironfox-oss/IronFox!85
____

## Changes

- Enabled [display of built-in add-ons at the `Extensions` fragment](2f382311f9) *(As a result, users can now easily see/control built-in extensions, and disable them if desired)*.
- Ensured that [Android's `Credential Manager` API is always prioritized over Google Play Services/microG on supported devices](9c6bd05707).
- [Exposed `about:translations` at `about:about`](94b73a9ffc).
- [Implemented enterprise policies](304c4e088c) to control various features/functionality in Gecko.
- Rebased onto Firefox [`143.0.3`](https://firefox.com/firefox/android/143.0.3/releasenotes/).
- Removed [the `Mozilla Ad Routing Service` *(`MARS`)* library](b88a4db302).
- Removed [privileged add-on signing status from external Mozilla add-ons](76a6e95f32).
- Updated the default Rust version to [`1.90.0`](https://doc.rust-lang.org/stable/releases.html#version-190-2025-09-18).
- [Updated the setting to enable/disable installation of add-ons](4dc340b4aa) to leverage policies - making it more effective/comprehensive, and improved UX by displaying a pop-up when a user attempts to install an add-on while the setting is disabled.
- [Other minor tweaks and adjustments](https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/85/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-01 13:16:45 +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
9f5005b27c feat: Add echo commands to build.sh to make it clear which commands specifically are being run and when - should allow for easier debugging/testing - and in general, nice to have
Signed-off-by: celenity <celenity@celenity.dev>
2025-08-11 22:08:36 -04:00
celenity
ecfaf48f2a fix: Do not build/configure exoplayer
Due to us disabling HLS, we don't include this library at all, and don't have any need for it

Signed-off-by: celenity <celenity@celenity.dev>
2025-07-27 22:10:01 -04:00
celenity
98aeda6556 Bump microG version + default Rust version (and minor tweaks to build script)
Signed-off-by: celenity <celenity@celenity.dev>
2025-07-22 23:06:11 -04:00
celenity
48305aa821 WIP: v141.0
Signed-off-by: celenity <celenity@celenity.dev>
2025-07-22 08:21:43 -04:00
celenity
a5b1b70a9f fix: Update dependencies, + update build.sh & prebuild.sh to match latest changes from Fennec: 7d1b61fc91
Signed-off-by: celenity <celenity@celenity.dev>
2025-06-25 00:07:12 -04:00
Akash Yadav
4b228630e0 fix: downgrade application-services to v139
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-05-28 15:18:32 +05:30
Akash Yadav
ef52e7a3f5 fix: do not join mach commands
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-04-28 14:44:37 +05:30
Akash Yadav
2b36d3be01 fix: suppress warning in build.sh
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-04-22 01:36:36 +05:30
Akash Yadav
cd70c4c6db fix: set -u and -o pipefail in build.sh
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-04-22 01:36:36 +05:30
Akash Yadav
0bd28434c5 fix: variable substitution
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-04-01 19:04:53 +05:30
Akash Yadav
ae9e0c2b5d fix: multilocale build error
Signed-off-by: Akash Yadav <itsaky01@gmail.com>
2025-04-01 19:00:32 +05:30
Akash Yadav
2bb353e58f fix(ci): use CARGO_HOME instead of hardcoded path in build scripts 2025-03-25 12:23:56 +05:30
Akash Yadav
88edabb7f3 Revert "fix(scripts): invalid variable substitution"
This reverts commit 6d6ab32a88.
2025-01-22 17:44:25 +05:30
Akash Yadav
7e8bd67445 fix(scripts): invalid variable substitution 2025-01-20 16:43:43 +05:30
Akash Yadav
651fa6ff54 fix(scripts): use named variable instead of positional 2025-01-17 17:45:11 +05:30
Akash Yadav
9f5b208027 fix(scripts): fail if build_type is none of apk,bundle 2025-01-17 16:04:34 +05:30
Akash Yadav
74deaeb186 fix(ci): allow building AAB with build.sh 2025-01-17 15:56:28 +05:30
Akash Yadav
3489b27883 fix(ci): unset CI environment variable when building application-services 2025-01-17 10:53:58 +05:30
Akash Yadav
7a07c8a52a fix: rename 'paths_*.sh' to 'env_*.sh'
env_*.sh names are better suited since the scripts are used to set up environment variables
2025-01-09 00:14:37 +05:30