build(release): bump version to 7.2.0#380
Draft
flsobral wants to merge 337 commits into
Draft
Conversation
(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)
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Keeping the template below, I'll edit later.
Description:
Describe your changes in details.
Related Issue:
Please link the issue here.
Motivation and Context:
Why is this change required? What problem does it solve?
Benefited Devices:
How Has This Been Tested?
Tested Devices:
Screenshots or videos:
If appropriate.