All notable changes to this project will be documented in this file.
This is a major, breaking upgrade: any project already built on top of the 1.0.0 template should expect to redo native-side customizations (New Architecture-era module APIs, the ESLint config format, and Android's enforced edge-to-edge display all changed underneath it) rather than a drop-in dependency bump.
- Upgraded React Native from 0.76.5 to 0.86.0
- Upgraded React from 18.3.1 to 19.2.7
- Upgraded react-native-reanimated from 3.16.6 to 4.5.1 (adds react-native-worklets peer dependency)
- Upgraded react-native-gesture-handler from 2.21.2 to 3.0.2
- Upgraded react-native-mmkv from 3.2.0 to 4.3.2 (adds react-native-nitro-modules peer dependency)
- Upgraded react-native-screens from 4.4.0 to 4.25.2
- Upgraded react-native-safe-area-context from 5.1.0 to 5.8.0
- Upgraded remaining third-party dependencies and dev tooling to latest compatible versions
- Raised minimum Node.js requirement to match react-native 0.86.0's engine range
- Migrated ESLint to v9 flat config (
eslint.config.jsreplaces.eslintrc.js) - Raised Android
targetSdkVersion34 -> 36,compileSdkVersion35 -> 36 andbuildToolsVersion35.0.0 -> 36.0.0. Targeting SDK 35+ makes Android enforce edge-to-edge display: the app window now draws behind the status bar and the gesture-navigation bar, andandroid:windowOptOutEdgeToEdgeEnforcementis only honoured up to SDK 35. Insets are handled in JS instead — the app root is wrapped in react-native-safe-area-context'sSafeAreaProvider+SafeAreaView(see below), which replaces React Native's deprecated coreSafeAreaView(a no-op plainViewon Android). - Replaced React Native core's deprecated
SafeAreaViewinsrc/Providers/AppProvider.tsxwith react-native-safe-area-context'sSafeAreaView, wrapped in aSafeAreaProvider - Pinned
@types/reactviaresolutionsso a single copy resolves across the tree
UPGRADE_NOTES.md: tracked reference documenting every exact-pinned dependency introduced by this upgrade, why it's pinned rather than ranged, and what would need to be true to relax each pin
- Initial project setup
- Dark/Light theme support
- Bottom tab navigation
- Theme toggler component
- React Navigation integration
- Custom fonts support
- Environment variables setup
- TypeScript configuration
- N/A
- N/A
- N/A
- N/A