From 81b1f9ba726388bb779cfe2b10c97b30b15646c6 Mon Sep 17 00:00:00 2001 From: scroll Date: Wed, 29 Jul 2026 14:03:43 +0500 Subject: [PATCH] docs: align compatibility tables with what CI actually verifies The Expo SDK 54 row claimed coverage the example app never had - it is bare React Native, so Expo is not exercised in CI at all. Replace intent with the jobs that actually run, document the Expo prebuild path explicitly, advertise the zero-dependency tree, and flag that iOS via npm needs 0.3.1+ (0.2.4 and 0.3.0 shipped without the podspec). --- README.md | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index c04e96a..9faffb5 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,11 @@ A smooth **cross-platform native** iOS-style drum/wheel picker for React Native ## Preview -iOS preview coming soon — see the `ios-build` CI job for validation status. +Recordings of the picker in real screens — basic wheel, time picker, height/weight onboarding, +date columns, debounced updates and large lists — are inlined throughout [Examples](#examples). + +An iOS recording is still pending; iOS behaviour is verified in CI by `ios-build` and by +`pod lib lint` with XCTest in `ios-unit-tests`. ## Features @@ -25,6 +29,7 @@ iOS preview coming soon — see the `ios-build` CI job for validation status. - TypeScript API - Flexible `DateDrumPicker` wrapper (day / month / year columns) - Fabric View / New Architecture +- **Zero runtime dependencies** — nothing is added to your dependency tree ## Installation @@ -49,11 +54,15 @@ npx react-native run-android | Platform | Status | | -------- | ------------------------------------------------------------------------- | | Android | Supported | -| iOS | Supported | +| iOS | Supported — **requires 0.3.1 or newer** when installed from npm | | Web | Read-only preview stub (`DrumPicker.tsx`); ref API works, no native wheel | Requires **React Native 0.76+** with the **New Architecture** enabled. +> **iOS on 0.2.4 and 0.3.0:** those releases shipped without `DrumPicker.podspec`, so CocoaPods +> could not autolink the native code and iOS rendered `Unimplemented component: `. +> Upgrade to **0.3.1+**; no code changes are needed on your side. + ## Compatibility | Environment | Status | @@ -64,21 +73,24 @@ Requires **React Native 0.76+** with the **New Architecture** enabled. | iOS | Supported | | iOS Old Architecture (Paper) | Not supported — Fabric required | | Expo Go | **Not supported** (native library) | -| Expo SDK 54 + dev build / prebuild | Tested | +| Expo dev build / prebuild | Works; not covered by CI (see below) | | `react-native-screens` navigation | Tested (use **0.1.4+** for detach safety) | -### Tested with +### What CI actually verifies + +Every PR runs against the example app, so this table reflects real builds rather than intent: -| Tool | Version | -| ---------------- | ---------------------------- | -| Expo SDK | 54 | -| React Native | 0.81.5, 0.85.0 (example app) | -| New Architecture | enabled | -| Android | emulator / device | +| Tool | Version | Jobs | +| ---------------- | ----------------- | ----------------------------------------------------------- | +| React Native | 0.85.0 | `android-build`, `ios-build` | +| New Architecture | enabled | all native jobs | +| Android | emulator, API 34 | `android-instrumented` | +| iOS | Xcode 26 | `ios-unit-tests` (`pod lib lint` + XCTest) | +| Published tarball| — | `package-contents` (what `npm pack` would actually ship) | -**Intended range:** `react-native >= 0.76` with New Architecture. The package is **actively tested on RN 0.81.x / 0.85.x**. Older 0.76–0.80 may work but are not CI-guaranteed. +**Intended range:** `react-native >= 0.76` with New Architecture. Older 0.76–0.84 may work but are not CI-guaranteed. -This package is an **Android Fabric View** library. Use a **development build** or `expo run:android` after `expo prebuild` — not Expo Go. +**Expo:** the example app is bare React Native, so Expo is not exercised in CI. The library needs no config plugin — a **development build** or `expo run:ios` / `expo run:android` after `expo prebuild` picks it up through autolinking. Expo Go will never work, because it cannot load custom native code. ### React Native 0.81+ event dispatch