From cf184074464b57a1c9df4f2a4e52da2870d44cdc Mon Sep 17 00:00:00 2001 From: D3C0Y Date: Sun, 2 Aug 2026 21:03:53 +0000 Subject: [PATCH 1/3] docs: add 1.12.2 release record (artifacts pending CI) PR #21 is on main; GitHub Actions is blocked by the account spending limit, so AAB/IPA checksums will be filled after a green CI run. Co-authored-by: D3C0Y --- docs/RELEASE_1.12.2.md | 44 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 docs/RELEASE_1.12.2.md diff --git a/docs/RELEASE_1.12.2.md b/docs/RELEASE_1.12.2.md new file mode 100644 index 0000000..4794882 --- /dev/null +++ b/docs/RELEASE_1.12.2.md @@ -0,0 +1,44 @@ +# MAUverce 1.12.2 release record + +Built: 2026-08-02 + +Classification: engineering release published as GitHub Release `v1.12.2`. +Not production-approved until remaining `docs/RELEASE_CHECKLIST.md` gates pass +on the exact promoted signed artifacts. + +## Targets + +| Client | Path | Version | Build | +| --- | --- | --- | --- | +| Android (MAUI) | `mauverse_mobile` | `1.12.2` | `versionCode` 31 | +| iPhone (SwiftUI) | `MauverseIOS` | `1.12.2` | `CURRENT_PROJECT_VERSION` 31 | + +- Package: `com.pmi4freal.mauverse3` +- Release commit: `aa04ea534c3ab729b4031af4bf0dd7b4881a2137` (`main`) +- Tag / GitHub Release: https://github.com/decoder-dev/mauverse/releases/tag/v1.12.2 +- Pull request: https://github.com/decoder-dev/mauverse/pull/21 (merged) +- CI on release commit: _pending — GitHub Actions blocked by account spending limit / payment_ + +## Published artifacts (unsigned) + +| Artifact | SHA-256 | +| --- | --- | +| `mauverse-android-arm64-unsigned.aab` | _pending CI_ | +| `mauverse-native-ios-arm64-unsigned.ipa` | _pending CI_ | + +## Product changes + +- News titles: decode HTML entities (` `, ` `, numeric entities) so amounts render as `100 000` instead of literal ` `. +- API RSS parser: same thin-space cleanup after `html.unescape`. +- Phones: Murmansk local 6-digit PBX numbers dial as `+7 8152 …`; trailing `(3045)` / `доб. 3045` become `;ext=` extensions instead of being concatenated into a bogus long number. +- Android department contacts: tap-to-call uses the same formatter. + +## Verification + +- [ ] All four CI jobs green on `aa04ea5` (`backend`, `api-image`, + `android-release`, `Native SwiftUI iPhone Release (unsigned)`). +- [ ] GitHub Release `v1.12.2` published with unsigned AAB/IPA and checksums. +- [ ] Protected production Android keystore signing (not `CN=Android Debug`). +- [ ] Apple distribution signing of the native IPA on an approved Mac. +- [ ] Device smoke test from `docs/RELEASE_CHECKLIST.md`. +- [ ] Production API TLS, readiness, Moodle/mail monitoring, and rollback owner. From 8e497b9e5d971e7c3eab1a53c21954e12a9a9bc8 Mon Sep 17 00:00:00 2001 From: D3C0Y Date: Sun, 2 Aug 2026 21:07:30 +0000 Subject: [PATCH 2/3] ci: trigger 1.12.2 release artifact build Co-authored-by: D3C0Y From b4876ba994a474a69b28da390d4bda9bffbf110b Mon Sep 17 00:00:00 2001 From: D3C0Y Date: Sun, 2 Aug 2026 21:13:24 +0000 Subject: [PATCH 3/3] fix Android CA1822 on department CallAsync for Release build Suppress the analyzer the same way as university contacts so warnaserror Release CI can produce the 1.12.2 AAB. Co-authored-by: D3C0Y --- mauverse_mobile/ViewModel/Dialogs/DetailTelephoneViewModel.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mauverse_mobile/ViewModel/Dialogs/DetailTelephoneViewModel.cs b/mauverse_mobile/ViewModel/Dialogs/DetailTelephoneViewModel.cs index 8cf1630..5b672e0 100644 --- a/mauverse_mobile/ViewModel/Dialogs/DetailTelephoneViewModel.cs +++ b/mauverse_mobile/ViewModel/Dialogs/DetailTelephoneViewModel.cs @@ -48,6 +48,10 @@ async Task GetPhone(DeptInfoDTO dept) } [RelayCommand] + [System.Diagnostics.CodeAnalysis.SuppressMessage( + "Performance", + "CA1822:Mark members as static", + Justification = "RelayCommand generation requires the instance command contract used by XAML.")] async Task CallAsync(string? rawPhone) { if (string.IsNullOrWhiteSpace(rawPhone))