Skip to content

v0.0.28

Latest

Choose a tag to compare

@avishayil avishayil released this 28 May 07:42
7c132db

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog,
and this project adheres to Semantic Versioning.

0.0.28 - 2026-05-28

🚀 Major Updates

React Native 0.85.3 Support

  • Upgraded from React Native 0.71.1 to 0.85.3
  • Upgraded from React 18.2.0 to 19.2.3
  • Full compatibility with React Native 0.60+ (autolinking) through 0.85.3
  • Supports both legacy and modern React Native versions

✨ Features

Android Improvements

  • Updated Android Gradle Plugin from 7.3.1 to 8.12.0
  • Updated compile SDK version to 36 (Android 14+)
  • Updated target SDK version to 36
  • Updated Process Phoenix dependency from 2.1.2 to 2.2.0
    • Fixes AndroidTV/LEANBACK_LAUNCHER issues
    • Better process restart reliability
  • Added proper namespace configuration (com.reactnativerestart)
  • Improved Java compatibility with Java 17 (previously unspecified)
  • Migrated example app from Java to Kotlin for better maintainability

iOS Improvements

  • Updated iOS deployment target and pod specifications
  • Modernized example app structure with Swift
  • Added PrivacyInfo.xcprivacy for App Store compliance
  • Updated Xcode project configuration for latest toolchain

Build & Development

  • Migrated from Yarn to npm for better lockfile consistency
  • Added .npmrc configuration to ensure public npm registry usage
  • Prevented accidental use of private registries
  • Added legacy-peer-deps=true to handle React Native version transitions
  • Regenerated package-lock.json with public registry references (removed 1683+ private registry URLs)
  • Updated GitHub Actions workflows to use npm instead of yarn
  • Fixed case sensitivity issues in CI/CD (Example directory paths)

Example App Updates

  • Renamed iOS workspace from Example to HelloWorld for clarity
  • Updated all example app dependencies to React Native 0.85.3
  • Converted Android example code from Java to Kotlin
  • Converted iOS example code from Objective-C to Swift
  • Added comprehensive example app README
  • Updated Metro bundler configuration for RN 0.85.3
  • Improved Jest test configuration
  • Added version bump scripts for template management

CI/CD Improvements

  • Fixed GitHub Actions workflows to use correct paths (./Example)
  • Fixed iOS build to use correct workspace (HelloWorld.xcworkspace)
  • Fixed iOS scheme name (HelloWorld)
  • Added explicit npm registry configuration in all workflows
  • Improved caching strategy for faster CI builds
  • Added dependency installation fallbacks for cache misses
  • Updated Node.js version to 22 in CI environments
  • Fixed Java setup to use Java 17 (Temurin distribution)

🐛 Bug Fixes

  • Fixed compileSdkVersion is not specified error (Issue #247)
  • Fixed Java 18 compatibility issues with Gradle (Issue #237)
  • Fixed peer dependency conflicts with legacy-peer-deps flag
  • Fixed Android build warnings about package attributes
  • Fixed case-sensitive filesystem issues on Linux CI runners
  • Fixed missing package-lock.json in Example directory for CI builds

📝 Documentation

  • Updated README with React Native 0.85.3 compatibility
  • Added example app README with setup instructions
  • Improved version compatibility documentation
  • Added troubleshooting guide references

🔧 Technical Changes

Dependencies Updated

Root Package:

  • @react-native/babel-preset: Updated to 0.85.3
  • @react-native/eslint-config: Updated to 0.85.3
  • @react-native/jest-preset: Updated to 0.85.3
  • @react-native/metro-config: Updated to 0.85.3
  • react: 18.2.0 → 19.2.3
  • react-native: 0.71.1 → 0.85.3
  • jest: Updated to 30.0.0
  • typescript: Updated to 5.5.4
  • eslint: Updated to 8.57.0
  • husky: Updated to 9.0.0

Android:

  • com.android.tools.build:gradle: 7.3.1 → 8.12.0
  • com.jakewharton:process-phoenix: 2.1.2 → 2.2.0
  • Gradle wrapper: Updated to support Gradle 9.3.1
  • Android Gradle Plugin: Updated to 8.12.0

iOS:

  • Updated CocoaPods dependencies for RN 0.85.3
  • Updated pod specifications in react-native-restart.podspec

Removed Dependencies

  • Removed all yarn.lock files (migrated to npm)
  • Removed React Native Flipper integration (deprecated)
  • Cleaned up legacy Android debug utilities

🔒 Security

  • Added .npmrc to prevent accidental credential leakage
  • Ensured all packages from public npm registry
  • Updated to latest React Native with security patches
  • Added iOS PrivacyInfo.xcprivacy manifest

⚠️ Breaking Changes

For Library Users

None - This is a backward-compatible upgrade. The library API remains unchanged.

For Contributors

  • Development now uses npm instead of yarn
    • Run npm install instead of yarn install
    • Use npm run instead of yarn for scripts
  • Minimum Node.js version: Node 18+ recommended (CI uses Node 22)
  • Android: Minimum Gradle version 8.0+ required
  • iOS: Xcode 15+ recommended for building example app

📦 Migration Guide

Upgrading from 0.0.27

For end users (no changes required):

npm install react-native-restart@0.0.28
# or
yarn add react-native-restart@0.0.28

# iOS only: Update pods
cd ios && pod install && cd ..

For contributors:

# Clone repository
git clone https://github.com/avishayil/react-native-restart.git
cd react-native-restart

# Install dependencies (now using npm)
npm install

# Install example app dependencies
cd Example
npm install
cd ios && pod install && cd ../..

# Run example
npm run example

🙏 Known Issues

This release addresses several issues but some remain open:

Resolved in 0.0.28:

  • ✅ Issue #247: compileSdkVersion not specified
  • ✅ Issue #237: Java 18 compatibility
  • ✅ Issue #285: React Native 0.81.0 compatibility
  • ✅ Issue #278: Android build warnings

Still Under Investigation:

  • ⚠️ Issue #239: iOS crashes in release mode with JSC + react-native-reanimated (38 comments)
  • ⚠️ Issue #279: iOS release mode crashes
  • ℹ️ Issue #238: White screen during restart (platform limitation)
  • 📋 Issue #212: New Architecture (TurboModules/Fabric) support - planned for future release

Workarounds for iOS crashes:

  • Use Hermes engine instead of JSC (recommended)
  • Add 100-200ms delay before calling restart
  • Ensure animations complete before restarting

See ISSUE_TRIAGE_REPORT.md for detailed status of all issues.

🔗 Links

👥 Contributors

Special thanks to all contributors who reported issues and helped improve this release!


0.0.27 - 2023-XX-XX

Previous release with React Native 0.71.1 support.

See git history for details: https://github.com/avishayil/react-native-restart/releases/tag/v0.0.27


Historical Releases

For older releases, see: https://github.com/avishayil/react-native-restart/releases