Changelog¶
0.1.0 — Initial release¶
Intercept
- OkHttp interceptor (
mockcat-intercept-okhttp) with static and redirect mock resolution - Ktor
HttpSendplugin (mockcat-intercept-ktor) with synthetic call support - iOS URLSession bridge (
mockcat-intercept-urlsession) via Kotlin/Native - Room-backed mock store (
mockcat-intercept-persistence) with atomic import/replace MockcatImportReceiverauto-declared in library manifest — no app-side registration needed- Header and query parameter constraint matching with priority (more constraints = higher specificity)
- Artificial response delay support (
delayMs) - Redirect mock type (
mockType: REDIRECT) with loop prevention viaX-Mockcat-Redirectedheader
Logging
- OkHttp logging interceptor (
mockcat-logger-okhttp) with configurable body capture limit (default 256 KB) - Ktor logging plugin (
mockcat-logger-ktor) with full body capture - iOS URLSession logging (
mockcat-logger-urlsession) - Room-backed HTTP log store (
mockcat-logger-persistence) with persistent call history HttpLogReaderRegistry— process-wide reader reference, decoupled from feature modules- In-memory log store (
InMemoryHttpLogStore) as a lightweight alternative (ring buffer, 200 entries)
UI
- Compose mock rules editor (
mockcat-intercept-ui) with CRUD, enable/disable toggles, import/export - Compose HTTP log list + detail viewer (
mockcat-logger-ui) with status badges, timing, cURL export - Android
MockcatActivityandHttpLogListActivity(bothsingleTaskwith dedicatedtaskAffinity) - iOS
UIViewControllerfor HTTP log viewer viacreateHttpLogListViewController()
Gradle plugin
mockcat-gradle-pluginwithmockcatImporttask- Auto-detects
applicationIdfrom AGP and ADB path from$ANDROID_HOME - Single-device auto-selection; clear error messages for multi-device and no-device cases
$ANDROID_SERIALenvironment variable support
Production safety
mockcat-noop-android— identical public API, all methods no-ops, empty manifest- Supports
debugImplementation/releaseImplementationsplit and product flavor configurations - No Room database initialized in no-op builds
Platform targets
- Android: OkHttp 4.x + Ktor 3.x
- iOS:
iosArm64,iosSimulatorArm64 - Kotlin 2.x, KSP 2.x, Room 2.8.x, Compose Multiplatform 1.x