一、重大变更(Breaking)

  1. 环境要求
    • Node.js 最低版本提升到 22.14.0
    • Xcode 最低版本提升到 16.1

  2. Metro 配置规则变化
    • 社区 CLI 用户的自定义 resolver.resolveRequest 与 serializer.getModulesRunBeforeMainModule 现在会覆盖 CLI 默认值

  3. 包结构
    • react-native 不再自带 flow 目录
    • 所有 BugReporting API 被移除

  4. View 组件
    • 不再设置默认 accessibility 属性(对快照测试可能有影响)
    • 内部升级到 React 19

  5. Android 专用
    • FabricUIManager.measure 重载被删除
    • Kotlin 迁移:ViewManagerInterfaces、ReactDelegate、MountingManager 等改为 Kotlin,可能出现空安全/签名变化
    • textAlignVertical 从 text 属性迁移到 paragraph 属性

  6. iOS 专用
    • RCTDisplayLink API 迁移,不再依赖 RCTModuleData
    • SynchronouslyUpdateViewOnUIThread 参数类型从 NSDictionary → folly::dynamic,需要引入新的 FollyConvert 头文件

二、新增功能(Added)
  1. 公共 API
    • Animated 命名空间新增 InterpolationConfig 等多个 AnimationConfig 类型
    • 暴露 ScrollViewImperativeMethods、ScrollViewScrollToOptions 类型
    • 暴露 unstable_TextAncestorContext

  2. 开发体验
    • yarn diff-api-snapshot 脚本:检测 JS API breaking change
    • build-types 脚本新增 --validate 参数
    • Fantom.getFabricUpdateProps:可读取 Fabric 更新属性

  3. Android 专用
    • 所有 BaseViewManager 自动支持 onFocus/onBlur 事件
    • 可选「edge-to-edge」全面屏适配
    • ScrollView 的 fadingEdgeLength 可分别设置起始/结束

  4. iOS 专用
    • Modal 支持下滑关闭手势
    • 新增 React-Core-prebuilt.podspec,支持 CocoaPods 预编译 RNCore
    • 可配置 ENTERPRISE_REPOSITORY 镜像源
    • borderWidth 支持分别设置不同边

三、行为变更(Changed)
  1. Animated
    • props.style 总是被扁平化;新增内存优化 Feature Flag(默认开启)
    • ref 仅在 AnimatedValue/AnimatedEvent 发生变化时重新挂载

  2. 构建与依赖
    • Metro 升级到 ^0.83.1
    • React DevTools 升级到 6.1.5
    • types/react 升级到 19.1
    • Android targetSdk 升至 36、AGP 升至 8.11.0、Gradle 升至 8.14.3、Kotlin 升至 2.1.20

  3. 其他
    • 错误信息不再带 “js engine” 后缀
    • 移除 infoLog
    • 调整 LegacyArchitecture 日志级别

四、已废弃(Deprecated)

通用
• SafeAreaView(推荐 react-native-safe-area-context)
• hasTVPreferredFocus
• ShadowNode::Shared / Unshared / Weak 别名
iOS 专用
• RCTFollyConvert.h 路径迁移到新头文件

五、已移除(Removed)

通用
• YogaLayoutableShadowNode::cleanLayout()
Android
• JSC 第一方支持全部移除
• NetworkingModule 内部 UriHandler/RequestBodyHandler/ResponseHandler 不再公开
iOS
• JSC 相关文件与配置全部移除

六、问题修复(Fixed)

通用
• Color:rgba() α通道序列化错误、半透明背景色不渲染问题
• IntersectionObserver 内存泄漏及 viewport offset 计算问题
• ScrollView 类型补齐 getNativeScrollRef
Android
• Modal 首帧不再出现在左上角
• TextInput 清除时焦点乱跳
• 修复文本测量、边界、椭圆、行高、clip 等十余处细节
iOS
• 修复 Modal 滑动关闭、渐变透明色插值、TextInput 底部空白、键盘导航等问题
• 修复 RCTImage 组件加载、RCTScreenSize 横屏取值、Podspec 路径、预编译脚本错误等

总结

v0.81 是一次“大版本工具链升级”:Node 22 + Xcode 16 + React 19 成为硬性要求;大量核心模块迁移到 Kotlin,Android/iOS 均引入预编译能力;同时废弃 SafeAreaView、彻底砍掉 JSC,为年底全面落地 New Architecture 铺路。

更新日志链接