Skip to content

v4.0.0 — Zero Bundled Government JARs, Android 14 (SDK 34) & Security Hardening

Choose a tag to compare

@MohammedALShimmary MohammedALShimmary released this 21 Oct 05:03
· 5 commits to main since this release

Warning

Superseded Release: This release (v4.0.0) has been superseded by v4.0.5. Please download ASYCUDA_Iraq_v4.0.5.apk or update via the in-app Update Center.


🇮🇶 ASYCUDA Iraq Android — v4.0.0 (VersionCode 41)

Official Release (v4.0.0) — Major Security, Architecture & Android 14 Compliance Upgrade.
Verified Package (iq.asycuda) in Google Android Developer Console (Public Certificate Verification Fingerprint SHA-256: d302d4d050fb986e4088dd3e684c90662d00da748dde8da3d4966baea02da023).


🛡️ What's New in v4.0.0

  1. Zero Bundled Government JARs (First-Launch Official Portal Bootstrap)
    • asycuda-iraq.tar.xz has been reduced from 14.1 MB to 88 KB and contains 0 third-party or government JARs — only the open-source 00_boot.jar compatibility shim (SHA-256: 0c1ba0b0e72c597fe078fc27793faca54fd7296cbaeab2db761a302375ce0d80) compiled from java-bridge/AsycudaBoot.java and open-source Arabic/Kurdish fonts.
    • On first launch (or whenever the Iraqi General Authority of Customs publishes an update), AsycudaStandaloneManager.syncOfficialPortalJars() connects directly to the official government portal (https://asy.mof.gov.iq), parses the JNLP descriptors (aw/AWIQWorld.jnlp and its 26 JNLP component descriptors), and downloads all 131 signed UNCTAD client/*.jar libraries directly into the isolated Android app sandbox (files/asycuda-env/asycuda/client/).
  2. Android 14 (targetSdkVersion 34) & Play Protect Compliance
    • Upgraded compileSdk and targetSdkVersion from 28 to 34 (Android 14).
    • Added explicit android:foregroundServiceType="specialUse" declaration for AsycudaKeepAliveService with ServiceCompat.startForeground compatibility.
    • Registered iq.asycuda and its private production signing certificate in the Google Android Developer Console.
  3. Hardware-Backed Android Keystore AES-256-GCM Consent Receipt
    • Replaced cleartext SharedPreferences storage for the user's legal consent receipt (Name | Company | Receipt ID | Timestamp) with hardware-backed Android Keystore AES/GCM/NoPadding (256-bit key, 128-bit authentication tag).
  4. Strict JVM Host Isolation for Telemetry & Self-Update
    • 00_boot.jar no longer inherits any iq.asycuda.* system properties. Sentry DSN and user metadata stay strictly inside the Android Dalvik/ART host process; the child UNCTAD OpenJDK JVM talks exclusively to asy.mof.gov.iq.
  5. UNCTAD Swing Client Bug Fixes & Hardening
    • Fixed GitHub Issue #13 (R_Load_SadItmAdm / R_Load_HisWriteOff NPE): Added BenignNpeFilteringPrintStream and dismissBenignErrorInfoDialog in AsycudaBoot.java to suppress benign caught NullPointerException error popups when customs brokers click the Selectivity Administration tab without officer binder shortcuts.
    • Fixed GitHub Issue #12 (VisualFacetJTableSDS.updateComponent NPE on Language Switch): Wrapped VisualPage multi-linguistic listeners in GuardedMultiLinguisticList so DocProcSupport.guiHasBeenInit1 is cleared while facets rebuild during a runtime Arabic/Kurdish/English language change.
    • Fixed GitHub Issue #11 (Native Android File Picker Synchronization): Automatically mirrors user documents into ~/ASYCUDA_Workspace and opens the native Android system file picker (ACTION_OPEN_DOCUMENT) with automatic .xml extension enforcement on save/export.
    • Fixed GitHub Issue #8 (Login Dialog & Arabic RTL Enhancements): Centered responsive login window (480x360), password visibility toggle (👁), Caps-Lock warning indicator, and custom high-legibility AsycudaArabic font rendering.

🔐 Release Asset SHA-256 Checksums

File Size SHA-256 Digest
ASYCUDA_Iraq_v4.0.0.apk 44.4 MB d36932653f446916d168bada469111f99c94da19f844184b1de9b377e2734861
asycuda-iraq.tar.xz 88 KB a0ea2336d3917e1583e923bbb4dd64ae2a37504ed873027e968abdd5d58defd1
runtime-arm64.tar.xz 38.2 MB f3dc78325792ea764e82d108b54dfc6fe4d6d9fd752bafc83bb780403286b9c1
00_boot.jar (inside asycuda-iraq.tar.xz) 43 KB 0c1ba0b0e72c597fe078fc27793faca54fd7296cbaeab2db761a302375ce0d80

Verify after downloading:

sha256sum ASYCUDA_Iraq_v4.0.0.apk
# Expected: d36932653f446916d168bada469111f99c94da19f844184b1de9b377e2734861