Releases: VikrantSingh01/AdaptiveCards-Mobile
Releases · VikrantSingh01/AdaptiveCards-Mobile
v0.0.2 — Design Parity Release
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):
overflowproperty 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
maxItemWidthis specified - Fixed auto-sized images rendering at natural dimensions instead of stretching to full width
- Fixed
fitMode: containimages 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
maxHeightclipping for overflow modes - Fixed multi-column layout calculated from
maxItemWidthconstraint
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
isExplicitAutoSizefor 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
ProportionalColumnLayoutfor 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: fillusingfillMaxWidthinstead 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
$dataitems - Stripped
$datadirective fromexpandDictionaryoutput - 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
themedIconUrlsfor 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
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