Skip to content

build(release): bump version to 7.2.0#380

Draft
flsobral wants to merge 337 commits into
masterfrom
topic/WIP-720
Draft

build(release): bump version to 7.2.0#380
flsobral wants to merge 337 commits into
masterfrom
topic/WIP-720

Conversation

@flsobral
Copy link
Copy Markdown
Member

@flsobral flsobral commented Feb 24, 2026

Keeping the template below, I'll edit later.

Description:

Describe your changes in details.

Related Issue:

  • If you suggest a new feature or change, discuss it first in an issue;
  • If fixing a bug, there should be an issue open describing it with the steps to reproduce.

Please link the issue here.

Motivation and Context:

Why is this change required? What problem does it solve?

If it fixes an open issue (different from the previously mentioned), please link to the issue here.

Benefited Devices:

  • Device: [e.g. Raspberry Pi 3 model b+]
  • OS: [e.g. Linux Raspbian 10]

How Has This Been Tested?

  • Please describe in detail how you tested your changes;
  • Include details of your testing environment, and the tests you ran to;
  • See how your change affects other areas of the code, etc.

Don't forget to tell us witch TotalCross version you are using.

Tested Devices:

  • Device: [e.g. Raspberry Pi 3 model b+]
  • OS: [e.g. Linux Raspbian 10]

Screenshots or videos:

If appropriate.

@flsobral flsobral self-assigned this Feb 24, 2026
@flsobral flsobral changed the title Release 7.2.0 build(release): bump version to 7.2.0 Feb 24, 2026
flsobral added 28 commits April 2, 2026 18:40
(cherry picked from commit f09b35d85acc87f67b47d40a0602e06ae5765f19)
This change was performed by the Android Studio upgrade assistant.

(cherry picked from commit ae1496104f6112c2c336f601945ab7c7b3af4f3f)
(cherry picked from commit c1012c9df9395fddb5b79d0c86a3beb17518ff49)
(cherry picked from commit d56794b003ae048a877d53de2fd90616db27ffe6)
Replace the unavailable GpsStatus.Listener with
GnssStatusCompat.Callback.

(cherry picked from commit 29c1a13dece827fe247ffac23b87688cfe9a544c)
This can be used on any platform, but it was added mainly for Android.

(cherry picked from commit f03df3c94c564d448b99950d5a67f88eaf35ebd5)
png_get_IHDR expects int parameters, unlike other png functions that
handle color_type as png_byte.

(cherry picked from commit f8b1d1a61d99db4a52c61d7e1103666a07015cc7)
(cherry picked from commit 9d3c10b8ade91fde204cc840a6b621c33bb0e82b)
This is faster, produces better results, and reduces the chance of
memory fragmentation.

(cherry picked from commit 2c61e8e0a02e5c162b5b18ebcdaac28354332ea6)
Also make the native file functions visible.

(cherry picked from commit 299c545fbe273f12235c88d7c539bd86c97ea2e9)
(cherry picked from commit 53c3aa960c8ba19fa05ca53fbe9175cb2c92da7e)
(cherry picked from commit 2c6a9768a330a378d7f4941c0b3b433517ee03af)
The safe area is the region of the screen where the user can interact
with the application.

(cherry picked from commit 74f81b546736ed453e46d265fdd94c0a34fe9196)
(cherry picked from commit 7450a2a3fcb3db9e18ca2db0cf8db7cfc7b5651a)
Also update iPhone dimensions for the simulator and add iPhone SE
dimensions.

(cherry picked from commit e61e27ff9cf648cbbb38a1f99ae0b7a39c86a70d)
(cherry picked from commit dc3f2c7585b77bb6ceda70d3ac056dd4a55d522e)
Changing the frame bounds breaks margins and is incorrect.

It could also run outside the main thread, which caused many long-lived
ios issues.

(cherry picked from commit fded85ff771333e93dcb36580c7d3c2aeb4625b5)
(cherry picked from commit 04cf17c412db1dc6a1ff1f5d31a1c329c9a53bfe)
(cherry picked from commit 9e61ab77b82fd1181d5e9033844b6e58e086b470)
Clear classes already included in the current tcz from the deploy
structures to avoid looping and regenerating the same tcz contents.

(cherry picked from commit ff94bf625ff8e9216953c94273687e5dacd7b646)
Use READ_MEDIA_IMAGES and READ_MEDIA_VIDEOS instead of the older
external storage permissions.

(cherry picked from commit 484bde839d527865f6699165ab20a78c14511a79)
(cherry picked from commit 0fce9d2d086b3b7b2ffc70b4f1b49727b4341b2d)
(cherry picked from commit 9ba7849d60003405bc1cba240bc81c8ebb68fc13)
(cherry picked from commit 5343258ea25f8aa5674e96bf4ddb2ac736bd868e)
(cherry picked from commit 5c58ea3abe6ce58ee34598dbfe3bf22253b2c66f)
(cherry picked from commit 622ede6a8524dbf12fc13ca9737975e1f9bf120e)
The Play Store now requires this library to be 20.0.0 or newer, but
upgrading beyond 15.0.1 currently causes unresolved Firebase conflicts.

(cherry picked from commit c82426d735c4c3662bb68c097165538f3557e0f1)
Update Firebase dependencies from 11.0.4 (2017) to 15.0.2 (2018).

This is the last release where Google Play services versioning remained
consistent across all libraries, which avoids conflicts with the other
gms dependencies.

(cherry picked from commit 8c5f17879bf18936206257deeb082598cbcb2232)
(cherry picked from commit 09c1e9bc490856f4f4f62710102ff0271c144ad7)
Update the maps dependency from 11.0.4 (2017) to 18.2.0 (2023).

(cherry picked from commit 8da68842385b42b0e648c38faab827858ee9bbd0)
flsobral added 20 commits May 2, 2026 01:22
Replace the legacy Android container with the GitHub-hosted ubuntu-24.04
runner, which already includes Android API 35 and NDK 28.2.13676358.

Use setup-android only for minimal SDK environment setup and stop
reinstalling native tools that are already available on the hosted
runner.
Remove the temporary libpng-to-zlib bridge and related ZLIB cache hints,
keeping the build logic closer to the upstream package defaults.

At the same time, restore direct property assignment to zlibstatic in the
zlib-ng wrapper now that the alias-handling workaround is no longer part
of this staged change.
…erties

Handle zlibstatic as either a real target or an alias in the embedded
zlib-ng wrapper so PIC and related target properties can still be
applied without triggering CMake alias target errors.
Run the linux-arm32v7 job on the ubuntu-22.04-arm GitHub-hosted runner
and skip qemu setup for that target to reduce emulation overhead during
merge builds.
The linux-arm32v7 job now runs on a native ARM runner, but libpng's ARM
NEON intrinsics fail to compile because the container toolchain is not
configured with the required target-specific options.

Disable the libpng NEON optimization path for that job to keep the build
portable and stable in CI.
Keep the linux-arm32v7 job on the native ubuntu-22.04-arm runner, but
restore qemu-user-static setup so the arm32 container environment keeps
the expected binfmt emulation path in CI.
Return the linux-arm32v7 merge job to the ubuntu-22.04 x64 runner with
qemu-user-static after the direct ARM runner experiment did not provide
a working arm32 container path.
Introduce a dedicated CMake toolchain file for linux arm32v7 and add a
separate merge workflow job that cross-compiles tcvm with the GNU
arm-linux-gnueabihf toolchain on the standard Ubuntu runner.

Keep the existing container-based arm32v7 job in place so the new path
can be evaluated without replacing the current build flow.
The cross-build job only needs the host-side GNU arm-linux-gnueabihf
toolchain packages, so enabling armhf in dpkg is unnecessary and breaks
apt on the GitHub Ubuntu runner due to missing armhf indices on the
default security mirror.
The GNU arm-linux-gnueabihf compiler rejects -mfloat-abi=hard unless the
target FPU is declared explicitly. Add -mfpu=neon to the experimental
linux-arm32v7 cross-compilation toolchain flags.
Add retry and exponential backoff to Skia artifact downloads so
intermittent HTTP 502/503/504 and related network failures do not abort
CI builds on the first attempt.
Cache the shared Skia local tree for Linux builds and both the Skia
local tree and Android jniLibs for Android builds so repeated workflow
runs avoid re-downloading Skia artifacts when the manifest has not
changed.
Raise the minimum CMake version in the TCVM third-party subprojects to
match the top-level build and keep the whole CMake tree aligned on the
same supported baseline.
Add a post-generation script that patches TCVM.xcodeproj to link the
embedded mbedTLS, libpng, SQLite3, and zlib static libraries in the
tcvm target Frameworks phase.

Invoke the patch from build-ios.sh so the previous manual Xcode project
dependency fix is no longer required after running CMake and CocoaPods.
Extract TBITS, TSIZE, and TSHIFT into a dedicated low-level header and
include it through xtypes.h so core memory and container macros no
longer depend on tcvm.h for basic architecture sizing.

This also lets gfx.h drop its tcvm.h include, reducing header coupling
and helping break the include cycle exposed by the iOS Skia build.
Add a macOS GitHub Actions job that generates the TCVM Xcode project,
runs CocoaPods, applies the automated static library dependency patch,
and builds the TotalCross iOS app for the simulator without code
signing.

Use a native macOS arm runner for the new iOS validation path.
Override the legacy x86_64 simulator architecture setting from the
Podfile during the GitHub Actions iOS job so CocoaPods dependencies are
generated for arm64 on Apple Silicon runners.

Also force the simulator build to use arm64 and only the active
architecture to match the pod outputs and avoid missing Firebase module
map artifacts in CI.
Remove libPods-tcvm.a from the generated tcvm Frameworks phase while
preserving the required embedded static library links for mbedTLS,
libpng, SQLite3, and zlib.

This avoids feeding a pod archive into the static libtool step for tcvm,
which was breaking the GitHub Actions iOS simulator build.
Rework the TCVM project patcher to rebuild the entire Frameworks phase
block deterministically instead of applying fragile in-place text
substitutions.

This avoids corrupting the generated project.pbxproj while still adding
the required static library links and removing the invalid libPods-tcvm
entry from the tcvm static library target.
Switch the GitHub Actions iOS job from an iOS Simulator build to a
generic iphoneos build without code signing.

This avoids simulator-only architecture conflicts with the legacy
FirebaseInstanceID pod, which currently provides an iOS device binary
that cannot be linked into the Apple Silicon simulator build.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant