Skip to content

Releases: VikrantSingh01/AdaptiveCards-Mobile

v0.0.2 — Design Parity Release

16 Mar 18:45

Choose a tag to compare

Adaptive Cards Mobile SDK v0.0.2

Design Parity Release

Major rendering parity release with 282 commits since v0.0.1, focused on achieving pixel-level consistency between iOS and Android platforms. Driven by automated AI-powered design review loops that identified and fixed 200+ visual discrepancies.

Assets

Asset Description
AdaptiveCards-iOS-0.0.2.tar.gz iOS SDK (SPM sources)
AdaptiveCards-Android-0.0.2.tar.gz Android SDK (AAR libraries)
ACVisualizer-0.0.2.ipa iOS Sample App (simulator build)
ACVisualizer-0.0.2.apk Android Sample App

New Features

  • CodeBlock syntax highlighting (iOS + Android): Code blocks now render with language-aware syntax highlighting
  • ColumnSet horizontal overflow scrolling (iOS + Android): overflow property enables horizontal scroll for wide column layouts
  • Phase 6 & 7 web/desktop spec parity: Aligned mobile rendering with web/desktop Adaptive Cards spec across multiple element types
  • Design review automation: AI-powered design-review-loop with OCR pre-scan, learning loop, parallel fix agents, and smoke test regression gates

Bug Fixes — iOS (123 fixes)

Layout & Sizing

  • Fixed FlowLayout multi-column grid calculation when only maxItemWidth is specified
  • Fixed auto-sized images rendering at natural dimensions instead of stretching to full width
  • Fixed fitMode: contain images with dedicated branch in ImageView
  • Fixed nested ScrollView in ListView causing list item truncation
  • Fixed ColumnSet auto-column width capping to remaining space
  • Fixed container maxHeight clipping for overflow modes
  • Fixed multi-column layout calculated from maxItemWidth constraint

Visual Parity with Android

  • Aligned AreaGrid column sizing with Android weight-based distribution
  • Aligned DataGrid header styling — plain text, left-aligned
  • Aligned container style emphasis/attention background colors
  • Aligned spinner progress indicator to left (matching Android)
  • Defaulted table vertical cell alignment to top
  • Reduced table cell vertical padding to match Android compact layout
  • Added heading size hierarchy to markdown H1/H2/H3

Component Fixes

  • Fixed CompoundButton inner HStack spacing to prevent left-edge clipping
  • Fixed CompoundButton title text layout priority
  • Fixed SVG black rectangle rendering in WKWebView
  • Fixed isExplicitAutoSize for explicit pixel dimensions
  • Used filled SF Symbol icons for badges
  • Allowed ExtraLarge text wrapping
  • Applied frame(maxWidth: .infinity) only on center/right-aligned text
  • Fixed code signing for device builds

Bug Fixes — Android (69 fixes)

Layout & Sizing

  • Replaced Row with ProportionalColumnLayout for correct ColumnSet width distribution
  • Fixed auto-width column measurement using direct intrinsic width
  • Handled unbounded constraints in ProportionalColumnLayout and FlowRow
  • Fixed auto-height images filling container width in non-auto columns
  • Fixed image fitMode: fill using fillMaxWidth instead of tiny thumbnail
  • Added min width for auto-sized images in auto columns

Visual Parity with iOS

  • Added spacing before card-level actions to match iOS
  • Added carousel peek of adjacent pages matching iOS behavior
  • Added emphasis background for table header rows matching iOS
  • Aligned accordion to flat row style with divider lines
  • Aligned spinner style with transparent track
  • Aligned icon sizes and added filled/regular style support

Template Engine

  • Used pure-Kotlin JSON serialization in TemplateEngine stringValue
  • Allowed template expansion with empty data for inline $data items
  • Stripped $data directive from expandDictionary output
  • Added graceful error handling in template engine expansion
  • Used UTC timezone consistently in date functions to prevent off-by-one day

Deep Linking & Navigation

  • Fixed deep link routing for versioned and element-samples cards
  • Used Base64 encoding for deep-link card paths with dots
  • Added fallback asset loading when gallery cache misses deep-linked cards
  • Encoded dots in deep-link routes to fix Container.Nested.Flow navigation

Other

  • Added User-Agent header to Coil image requests to fix HTTP 403
  • Supported themedIconUrls for dark theme action icons
  • Removed Material3 Card tint from carousel page background
  • Fixed compound button solid backgrounds and semantic icon mapping

Bug Fixes — Cross-Platform (25 fixes)

  • Resolved 14+ design parity issues from automated review passes
  • Multiple rounds of P1/P2/P3 design issue resolution across rendering pipeline

Tooling & Automation

  • design-review-loop.sh: Automated visual parity testing + AI-driven fix pipeline with parallel worktree agents
  • deploy-catalog.sh: One-command GitHub Pages deployment for design catalogs
  • Design catalog: Dark theme, custom category ordering, live catalog link, OCR pre-scan validation
  • Smoke test regression gates: Mandatory card verification after every worktree merge

Installation

iOS (Swift Package Manager)

dependencies: [
    .package(url: "https://github.com/VikrantSingh01/AdaptiveCards-Mobile.git", from: "0.0.2")
]

Android (Gradle)

dependencies {
    implementation("com.microsoft.adaptivecards:ac-core:0.0.2")
    implementation("com.microsoft.adaptivecards:ac-rendering:0.0.2")
}

Documentation

v0.0.1 — Dogfood Release

13 Mar 21:33

Choose a tag to compare

Adaptive Cards Mobile SDK v0.0.1

Dogfood Release

First dogfood release for internal testing. Includes both iOS and Android SDKs with complete feature parity, plus sample apps.

Assets

Asset Description
AdaptiveCards-iOS-0.0.1.tar.gz iOS SDK (SPM sources)
AdaptiveCards-Android-0.0.1.tar.gz Android SDK (AAR libraries)
ACVisualizer-0.0.1.ipa iOS Sample App (simulator build)
ACVisualizer-0.0.1.apk Android Sample App — install via adb install ACVisualizer-0.0.1.apk

Highlights

  • SDK Public API: AdaptiveCards.parse(), CardConfiguration, CardCache, CardHandle, PerformanceGuardrails
  • UIKit/View bridges: AdaptiveCardUIView (iOS), AdaptiveCardAndroidView (Android)
  • Template engine: 60+ functions on iOS, 50+ on Android with full ${...} expression support
  • Schema v1.6: Complete element/action coverage with cross-platform parity
  • Sample apps: Deep link routing, gallery filters, card editor, Teams simulator
  • Security: URL scheme allowlist prevents XSS/phishing from untrusted card JSON
  • Accessibility: WCAG 2.1 AA compliant with VoiceOver and TalkBack

Installation

iOS (Swift Package Manager)

dependencies: [
    .package(url: "https://github.com/VikrantSingh01/AdaptiveCards-Mobile.git", from: "0.0.1")
]

Android (Gradle)

dependencies {
    implementation("com.microsoft.adaptivecards:ac-core:0.0.1")
    implementation("com.microsoft.adaptivecards:ac-rendering:0.0.1")
}

Sample App (Android)

adb install ACVisualizer-0.0.1.apk

Documentation