# Changelog

All notable changes of the noibu-react-native SDK release series are documented in this file using
the [Keep a CHANGELOG](https://keepachangelog.com/) principles.

## 1.0.0-rc.1

First release of the re-platformed SDK: a thin JS shim over the native Noibu mobile SDKs
(Android KMP `session-replay-android`, iOS `NoibuSessionReplay`). All capture — session replay,
touches, keyboard, network, and crashes — now runs natively; the JS layer wires configuration,
navigation, error boundaries, and hybrid webview capture. See `PARITY.md` for the full v0.x → v2
mapping and breaking changes.

### Added
- **Native session replay** with DXA selectors, matching the native Android/iOS SDKs (rrweb replay
  built natively, not scraped from JS).
- **`NoibuWebView`** — drop-in `react-native-webview` replacement for hybrid webview capture
  (replay, clicks, JS errors, HTTP of the page). Per-webview opt-in; `react-native-webview >= 13`
  optional peer dependency.
- **react-navigation integration** — `useNoibuNavigation` / `registerNavigationContainer` report
  page boundaries; `autoTrackNavigation` config as a no-wiring fallback.
- New-architecture (TurboModule) and legacy bridge support on both platforms.

### Changed
- **Capture is native.** The v0.x JS monitors (`ClickMonitor`, `KeyboardInputMonitor`,
  `SessionRecorder`, `PageMonitor`, …) are replaced by the native pipeline; `RequestMonitor` is now
  the native network interceptor (JS fetch/XHR fallback behind `captureJsNetwork`).
- Peer dependencies trimmed (dropped async-storage, url-polyfill, uuid, react-native-navigation,
  whatwg-fetch, noibu-metroplex-ts-bindings).
- Android `minSdk` is now 26.

### Breaking
- `requestHelpCode` is retained for compatibility but resolves `null`.
- Native module renamed `NoibuSessionRecorder` → `NoibuReactNative`.
- Config redaction/HTTP-allowlist fields from v0.x are accepted but ignored (redaction is native).

### Known gaps
- `privacyMode` is not yet exposed in `NoibuConfig` (native defaults to mask-sensitive).
- iOS webview tag resolution uses the Paper view registry; Fabric-hosted webviews are a follow-up.
- Hosts on RN < 0.76 don't capture backgrounds/radii/borders of RN-drawn views (typed drawable
  resolver targets the new-arch drawable classes; older hosts degrade gracefully).
