Repository navigation
v4.0.0 — Zero Bundled Government JARs, Android 14 (SDK 34) & Security Hardening
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 FingerprintSHA-256: d302d4d050fb986e4088dd3e684c90662d00da748dde8da3d4966baea02da023).
🛡️ What's New in v4.0.0
- Zero Bundled Government JARs (First-Launch Official Portal Bootstrap)
asycuda-iraq.tar.xzhas been reduced from14.1 MBto88 KBand contains 0 third-party or government JARs — only the open-source00_boot.jarcompatibility shim (SHA-256: 0c1ba0b0e72c597fe078fc27793faca54fd7296cbaeab2db761a302375ce0d80) compiled fromjava-bridge/AsycudaBoot.javaand 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.jnlpand its 26 JNLP component descriptors), and downloads all 131 signed UNCTADclient/*.jarlibraries directly into the isolated Android app sandbox (files/asycuda-env/asycuda/client/).
- Android 14 (
targetSdkVersion 34) & Play Protect Compliance- Upgraded
compileSdkandtargetSdkVersionfrom28to34(Android 14). - Added explicit
android:foregroundServiceType="specialUse"declaration forAsycudaKeepAliveServicewithServiceCompat.startForegroundcompatibility. - Registered
iq.asycudaand its private production signing certificate in the Google Android Developer Console.
- Upgraded
- Hardware-Backed Android Keystore
AES-256-GCMConsent Receipt- Replaced cleartext
SharedPreferencesstorage for the user's legal consent receipt (Name | Company | Receipt ID | Timestamp) with hardware-backed Android KeystoreAES/GCM/NoPadding(256-bitkey,128-bitauthentication tag).
- Replaced cleartext
- Strict JVM Host Isolation for Telemetry & Self-Update
00_boot.jarno longer inherits anyiq.asycuda.*system properties. Sentry DSN and user metadata stay strictly inside the Android Dalvik/ART host process; the child UNCTAD OpenJDK JVM talks exclusively toasy.mof.gov.iq.
- UNCTAD Swing Client Bug Fixes & Hardening
- Fixed GitHub Issue #13 (
R_Load_SadItmAdm/R_Load_HisWriteOffNPE): AddedBenignNpeFilteringPrintStreamanddismissBenignErrorInfoDialoginAsycudaBoot.javato suppress benign caughtNullPointerExceptionerror popups when customs brokers click the Selectivity Administration tab without officer binder shortcuts. - Fixed GitHub Issue #12 (
VisualFacetJTableSDS.updateComponentNPE on Language Switch): WrappedVisualPagemulti-linguistic listeners inGuardedMultiLinguisticListsoDocProcSupport.guiHasBeenInit1is 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_Workspaceand opens the native Android system file picker (ACTION_OPEN_DOCUMENT) with automatic.xmlextension 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-legibilityAsycudaArabicfont rendering.
- Fixed GitHub Issue #13 (
🔐 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