Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

react-native-tvos

react-native-tvos78.7kMIT0.79.5-0TypeScript support: included

A framework for building native apps using React

react, react-native, android, ios, tvos, apple tv, android tv, mobile, cross-platform, app-framework, mobile-development

readme

react-native-tvos

Apple TV and Android TV support for React Native are maintained here and in the corresponding react-native-tvos NPM package, and not in the core repo. This is a full fork of the main repository, with only the changes needed to support Apple TV and Android TV.

Releases of react-native-tvos will be based on a public release of react-native; e.g. the 0.76.0-0 release of this package will be derived from the 0.76.0 release of react-native. All releases of this repo will follow the 0.xx.x-y format, where x digits are from a specific RN core release, and y represents the additional versioning from this repo.

Releases will be published on npmjs.org and you may find the latest release version here: https://www.npmjs.com/package/react-native-tvos?activeTab=versions or use the tag @latest

You will find the relevant tvOS support and maintenance within the branches marked tvos-v0.xx.x;

To build your project for Apple TV, you should change your package.json imports to import react-native as follows, so that this package is used instead of the core react-native package.

"react-native": "npm:react-native-tvos@latest",

You cannot use this package and the core react-native package simultaneously in a project.

This README covers only TV-specific features. For more general documentation and for changes between versions, you should also see these resources:

Hermes JS support

  • As of the 0.71 release, Hermes is fully working on both Apple TV and Android TV, and is enabled by default.

React Native new architecture (Fabric) support

React Native TV 0.76 enables the New Architecture by default. You can read more about it in this blog post from the RN core team: The New Architecture Is Here

If, for any reason, the New Architecture is not behaving properly in your application, there is always the option to opt-out from it until you are ready to turn it on again.

To opt-out from the New Architecture:

  • Expo apps: RN 0.76 will be supported in SDK 52. See the SDK 52 beta release notes for more information on new arch support in Expo.

  • Apple TV: You can reinstall the dependencies by running the command:

RCT_NEW_ARCH_ENABLED=0 bundle exec pod install
  • Android TV: On Android, modify the android/gradle.properties file and turn off the newArchEnabled flag, then do a clean rebuild:
-newArchEnabled=true
+newArchEnabled=false

Typescript

Typescript types for TV-specific components and APIs have been added to types/public.

General support for TV

TV device support has been implemented with the intention of making existing React Native applications "just work" on TV, with few or no changes needed in the JavaScript code for the applications.

The RNTester app supports Apple TV and Android TV. In this repo, RNTester/Podfile and RNTester/RNTesterPods.xcodeproj have been modified to work for tvOS.

Minimum operating system versions:

  • Apple TV:
    • tvOS 13.4 (for the 0.74 and 0.75 releases)
    • tvOS 15.1 (for the 0.76 release)
  • Android TV:
    • API level 23 (for the 0.74 and 0.75 releases)
    • API level 24 (for the 0.76 release)

Build changes

  • Native layer for Apple TV: Changes in the React Native podspecs (in 0.73 and later) require that your application Podfile only have one target. This repo supports either an iOS target or a tvOS target.
  • Maven artifacts for Android TV: In 0.71 and later releases, the React Native Android prebuilt archives are published to Maven instead of being included in the NPM. We are following the same model, except that the Maven artifacts will be in group io.github.react-native-tvos instead of com.facebook.react. The @react-native/gradle-plugin module has been upgraded so that the Android dependencies will be detected correctly during build.

TV project creation in React Native 0.75 and later

Warning: Make sure you do not globally install react-native or react-native-tvos. If you have done this the wrong way, you may get error messages like ld: library not found for -lPods-TestApp-tvOS.

We strongly recommend Yarn as the package manager.

Using the Expo SDK with TV apps

As of React Native version 0.75.x, the core team recommends Expo for new projects.

See the Building Expo apps for TV guide from Expo for details on how to set up a new Expo project, including supported Expo modules and limitations.

Using Expo's continuous native generation (CNG) model, projects created this way can be used to build either mobile or TV apps, taking advantage of the full support for both mobile and TV platforms in this repo.

Project creation using the React Native Community CLI

As of React Native 0.75.x, the template that used to reside in the react-native core package has been moved to a new community repo and will be maintained there. To support developers that wish to continue using the community CLI, we have created a new TV template repository and will maintain a TV port of this template.

Note: The new TV template will only build apps for Apple TV and Android TV. Multiple platform targets are no longer supported in React Native app Podfiles.

To create a new project for RNTV 0.76:

# 
# Init an app called 'TVTest', note that you must not be in a node module (directory with node_modules sub-directory) for this to work
$ npx @react-native-community/cli@latest init TVTest --template @react-native-tvos/template-tv

               ######                ######               
             ###     ####        ####     ###             
            ##          ###    ###          ##            
            ##             ####             ##            
            ##             ####             ##            
            ##           ##    ##           ##            
            ##         ###      ###         ##            
             ##  ########################  ##             
          ######    ###            ###    ######          
      ###     ##    ##              ##    ##     ###      
   ###         ## ###      ####      ### ##         ###   
  ##           ####      ########      ####           ##  
 ##             ###     ##########     ###             ## 
  ##           ####      ########      ####           ##  
   ###         ## ###      ####      ### ##         ###   
      ###     ##    ##              ##    ##     ###      
          ######    ###            ###    ######          
             ##  ########################  ##             
            ##         ###      ###         ##            
            ##           ##    ##           ##            
            ##             ####             ##            
            ##             ####             ##            
            ##          ###    ###          ##            
             ###     ####        ####     ###             
               ######                ######               


              Welcome to React Native 0.76!                
                 Learn once, write anywhere               

✔ Downloading template
✔ Copying template
✔ Processing template
✔ Installing dependencies
✔ Do you want to install CocoaPods now? Only needed if you run your project in Xcode directly … yes
✔ Installing Ruby Gems
✔ Installing CocoaPods dependencies  (this may take a few minutes)
.
.
.
$ cd TVTest
# Now build and start the app in the tvOS Simulator - this will only work on a macOS machine.
npx react-native run-ios --simulator "Apple TV"
# This command builds and starts the app in an Android TV emulator (needs to be created in advance).
npx react-native run:android --device tv_api_31

How to support TV specific file extensions

The template contains an example Metro configuration that allows Metro to resolve application source files with TV-specific code, indicated by specific file extensions (e.g. *.ios.tv.tsx, *.android.tv.tsx, *.tv.tsx). The config will work the same way with the other standard source file extensions (.js, etc.), as documented in Metro docs

When this is enabled, Metro will resolve files in the following order of preference (and similarly for the other supported file extensions):

  • file.ios.tv.tsx or file.android.tv.tsx
  • file.tv.tsx
  • file.ios.tsx or file.android.tsx
  • file.tsx

This config is not enabled by default, since it will impact bundling performance, but is available for developers who need this capability.

Code changes

  • JavaScript layer: Support for TV has been added to the Platform React Native API.
var Platform = require('Platform');
var running_on_tv = Platform.isTV;

// If you want to be more specific and only detect devices running tvOS
// (but no Android TV devices) you can use:
var running_on_apple_tv = Platform.isTVOS;
  • Common codebase for iOS and tvOS: Since tvOS and iOS share most Objective-C and JavaScript code in common, most documentation for iOS applies equally to tvOS. Apple TV specific changes in native code are all wrapped by the TARGET_OS_TV define. These include changes to suppress APIs that are not supported on tvOS (e.g. web views, sliders, switches, status bar, etc.), and changes to support user input from the TV remote or keyboard.

  • Common codebase for Android phone and Android TV: Apps built for Android using this repo will run on both Android phone and Android TV. Most of the changes for TV are specific to handling focus-based navigation on a TV using the D-Pad on the remote control.

  • Pressable and Touchable controls: In RNTV 0.76.1-1 and later, TV controls are supported with fully native events. Code has been added to detect focus changes and use existing methods to style the components properly and initiate the proper actions when the view is selected using the TV remote, so Pressable, TouchableHighlight and TouchableOpacity will "just work" on both Apple TV and Android TV. In particular:

    • onFocus() will be executed when the touchable view goes into focus
    • onBlur() will be executed when the touchable view goes out of focus
    • onPress() will be executed when the touchable view is actually selected by pressing the "select" button on the TV remote (center button on Apple TV remote, or center button on Android TV DPad).
    • onPressIn() will be executed when the TV remote "select" button is pressed down (center button on Apple TV remote, or center button on Android TV DPad)
    • onPressOut() will be executed when the TV remote "select" button is released
    • onLongPress() will be executed if the "select" button is held down for a length of time (this event is generated in the Pressability module, the same as for touchscreen long press events).

    TouchableNativeFeedback and TouchableWithoutFeedback respond to press events, but do not respond to focus and blur events, and are not recommended for TV.

Because focus and blur events are now fully native core events, they will respond correctly to capturing and bubbling event handlers in View components. A demo of this has been added to the TVEventHandlerExample in RNTester.

  • Tailwind styles for Pressable and Touchable controls: The above events allow RNTV to support the focus: and active: pseudo classes for Tailwind styles.

  • TV remote/keyboard input: Application code that needs to implement custom handling of TV remote events can create an instance of TVEventHandler and listen for these events. For a more convenient API, we provide useTVEventHandler.


import { TVEventHandler, useTVEventHandler } from 'react-native';

// Functional component

const TVEventHandlerView: () => React.Node = () => {
  const [lastEventType, setLastEventType] = React.useState('');

  const myTVEventHandler = evt => {
    setLastEventType(evt.eventType);
  };

  useTVEventHandler(myTVEventHandler);

  return (
    <View>
      <TouchableOpacity onPress={() => {}}>
        <Text>
          This example enables an instance of TVEventHandler to show the last
          event detected from the Apple TV Siri remote or from a keyboard.
        </Text>
      </TouchableOpacity>
      <Text style={{color: 'blue'}}>{lastEventType}</Text>
    </View>
  );

};

// Class based component

class Game2048 extends React.Component {
  _tvEventHandlerSubscription: EventSubscription || undefined;

  _enableTVEventHandler() {
    this._tvEventHandlerSubscription = TVEventHandler.addListener(function(evt) {
      if (evt && evt.eventType === 'right') {
        cmp.setState({board: cmp.state.board.move(2)});
      } else if(evt && evt.eventType === 'up') {
        cmp.setState({board: cmp.state.board.move(1)});
      } else if(evt && evt.eventType === 'left') {
        cmp.setState({board: cmp.state.board.move(0)});
      } else if(evt && evt.eventType === 'down') {
        cmp.setState({board: cmp.state.board.move(3)});
      } else if(evt && evt.eventType === 'playPause') {
        cmp.restartGame();
      }
    });
  }

  _disableTVEventHandler() {
    if (this._tvEventHandlerSubscription) {
      this._tvEventHandlerSubscription.remove();
      delete this._tvEventHandlerSubscription;
    }
  }

  componentDidMount() {
    this._enableTVEventHandler();
  }

  componentWillUnmount() {
    this._disableTVEventHandler();
  }
  • LogBox: The LogBox error/warning display (which replaced YellowBox in 0.63) is working as expected on TV platforms, after a few adjustments to make the controls accessible to the focus engine.

  • Dev Menu support:

    • The developer menu provided by React Native itself works on TV. On the Apple TV simulator, cmd-D will bring up the developer menu, just like on iOS. To bring it up on a real Apple TV device, make a long press on the play/pause button on the remote. (Please do not shake the Apple TV device, that will not work :) ). Android TV dev menu behavior is the same as on Android phone.
    • The Expo dev menu (provided by the Expo dev client package) is not supported on TV.
  • TV remote animations on Apple TV: RCTTVView native code implements Apple-recommended parallax animations to help guide the eye as the user navigates through views. The animations can be disabled or adjusted with new optional view properties.

  • Back navigation with the TV remote menu button: The BackHandler component, originally written to support the Android back button, now also supports back navigation on the Apple TV using the menu button or '<' button on the Apple TV remote, and the back button as usual on Android TV remote.

  • TVEventControl for AppleTV: (Formerly "TVMenuControl") This module provides methods to enable and disable features on the Apple TV Siri remote:

    • enableTVMenuKey/disableTVMenuKey: Method to enable and disable the menu key gesture recognizer, in order to fix an issue with Apple's guidelines for menu key navigation (see https://github.com/facebook/react-native/issues/18930). The RNTester app uses these methods to implement correct menu key behavior for back navigation.
    • enableTVPanGesture/disableTVPanGesture: Methods to enable and disable detection of finger touches that pan across the touch surface of the Siri remote. See TVEventHandlerExample in the RNTester app for a demo.
    • enableGestureHandlersCancelTouches/disableGestureHandlersCancelTouches: Methods to turn on and turn off cancellation of touches by the gesture handlers in RCTTVRemoteHandler (see #366). Cancellation of touches is turned on (enabled) by default in 0.69 and earlier releases.
  • Accessibility: We have an additional accessibilityFocus accessibility action on Android that you can use for detecting focus changes on every accessible element (like a regular Text) when TalkBack is enabled.

  • TVFocusGuideView: This component provides support for Apple's UIFocusGuide API and is implemented in the same way for Android TV, to help ensure that focusable controls can be navigated to, even if they are not directly in line with other controls. An example is provided in RNTester that shows two different ways of using this component.

    | Prop | Value | Description | |---|---|---| | destinations | any[]? | Array of Components to register as destinations of the FocusGuideView | | autoFocus | boolean? | If true, TVFocusGuide will automatically manage focus for you. It will redirect the focus to the first focusable child on the first visit. It also remembers the last focused child and redirects the focus to it on the subsequent visits. destinations prop takes precedence over this prop when used together. | | focusable | boolean? | When set to false, this view and all its subviews will be NOT focusable. | | trapFocus* (Up, Down, Left, Right) | Prevents focus escaping from the container for the given directions. |

    More information on the focus handling improvements above can be found in this article.

    • Next Focus Direction: the props nextFocus* on View should work as expected on iOS too (previously android only). One caveat is that if there is no focusable in the nextFocusable* direction next to the starting view, iOS doesn't check if we want to override the destination.

    • TVTextScrollView: On Apple TV, a ScrollView will not scroll unless there are focusable items inside it or above/below it. This component wraps ScrollView and uses tvOS-specific native code to allow scrolling using swipe gestures from the remote control.

    • VirtualizedList: We extend VirtualizedList to make virtualization work well with focus management in mind. All of the improvements that we made are automatically available to all the VirtualizedList based components such as FlatList.

      • Defaults: VirtualizeList contents are automatically wrapped with a TVFocusGuideView with trapFocus* properties enabled depending on the orientation of the list. This default makes sure that focus doesn't leave the list accidentally due to a virtualization issue etc. until reaching the beginning or the end of the list.
      • New Props:

    | Prop | Value | Description | |---|---|---| | additionalRenderRegions | {first: number; last: number;}[]? | Array of RenderRegions that allows you to define regions in the list that are not subject to virtualization, ensuring they are always rendered. This is particularly useful for preventing blank areas in critical parts of the list. These regions are rendered lazily after the initial render and are specified as an array of objects, each with first and last indices marking the beginning and end of the non-virtualized region based on index. See the feature proposal for more context. |

changelog

Changelog

v0.81.0-rc.5

Fixed

Android specific

  • Runtime: Fixed ReactHostImpl.nativeModules always returning an empty list (2f46a49 by @lukmccall)

v0.81.0-rc.4 - Burned

v0.81.0-rc.3

Changed

Fixed

Android specific

v0.81.0-rc.2

Changed

  • API: NewAppScreen no longer internally handles device safe area, use optional safeAreaInsets prop (aligned in 0.81 template) (732bd12dc2 by @huntie)
  • Babel: Added support to react-native/babel-preset for a hermesParserOptions option, that expects an object that enables overriding hermes-parser options. (0508eddfe6 by @yungsters)

Fixed

iOS specific

  • Podspec: Fixed issue with RNDeps release/debug switch failing (4ee2b60a1e by @chrfalch)
  • Podspec: Fixed missing script for resolving prebuilt xcframework when switching between release/debug (2e55241a90 by @chrfalch)

v0.81.0-rc.1

Added

iOS specific

  • CocoaPods Add the ENTERPRISE_REPOSITORY env variable to cocoapods infra (23f3bf9239 by @cipolleschi)
  • Prebuild: Add release/debug switch script for React-Core-prebuilt (42d1a7934c by @chrfalch)
  • Prebuild: Added support for using USE_FRAMEWORKS with prebuilt React Native Core (40e45f5366 by @chrfalch)

Changed

Android specific

Fixed

  • Yoga: Fixed nodes with display: contents set being cloned with the wrong owner (d4b36b0300 by @j-piasecki)

iOS specific

  • Podspec: Fixed premature return in header file generation from podspec globs (f2b064c2d4 by @chrfalch)

v0.81.0-rc.0

Breaking

  • APIs: All react-native/Libraries/BugReporting APIs have been removed (9d4d8dcb02 by @huntie)
  • APIs: Add public JS API breaking change detection under yarn diff-api-snapshot script. (6b40f35032 by @coado)
  • APIs: Community CLI users: user-defined resolver.resolveRequest and serializer.getModulesRunBeforeMainModule Metro config now takes precedence over CLI defaults (fe2bcbf4ba by @robhogan)
  • Error Handling: Improve messaging and add error stack trace for uncaught throws. (5ba0e1f97a by @vzaidman)
  • Flow: The react-native package no longer ships with the flow directory (38acb4c074 by @huntie)
  • Node: Minimum Node version is now bumped to Node.js 22.14.0 (df39eadc03 by @huntie)
  • View: View no longer sets any default accessibility props, which should not result in visible changes in behaviour but may affect snapshot tests. (039a333df5 by @javache)
  • View: Upgrade View component to React 19. (eedd60b9e6 by @EvanBacon)

Android specific

  • APIs: Cleanup and internalize FpsDebugFrameCallback (cf6569bc18 by @cortinico)
  • CMake: Correctly propagate RN_SERIALIZABLE_STATE to 3rd party CMake targets. Users with custom CMake and C++ code should update to use target_compile_reactnative_options inside their CMakeLists.txt files.(c059ae1b77 by @cortinico)
  • FabricUIManager: Remove FabricUIManager.measure overload which accepts attachment positions (2ba86caf18 by @NickGerleman)
  • Kotlin: Migrate ViewManagerInterfaces to kotlin. Some types in code generated ViewManagerInterfaces might differ. e.g. this will start enforcing nullability in parameters of viewManagerInterface methods (e.g. String commands parameters are not nullable, view params are not nullable in any method, etc) (76ff1aa5c6 by @mdvacca)
  • Kotlin: Migrate com.facebook.react.ReactDelegate to Kotlin. Some users implementing this class in Kotlin could have breakages. (50ea5b4380 by @mateoguzmana)
  • Kotlin: Convert to Kotlin and internalize MountingManager (f33fdca876 by @cortinico)
  • textAlignVertical: Move textAlignVertical to paragraph attributes instead of text attributes (55fd8b26f8 by @joevilches)
  • TextLayoutManager: Make Java Side TextLayoutManager Internal (e82a677c79 by @NickGerleman)

iOS specific

Added

  • APIs: Expose unstable_TextAncestorContext API (962a7dda44 by @huntie)
  • APIs: Expose additional *AnimationConfig types on the Animated namespace (11a1ad7a98 by @huntie)
  • APIs: InterpolationConfig is now exposed on the Animated namespace (b01a5f91fe by @huntie)
  • APIs: Expose ScrollViewImperativeMethods and ScrollViewScrollToOptions types to public API (f184b591cf by Antonio Pires)
  • APIs: Add --validate flag to build-types script for JS API snapshot validation. (f529fd6ba5 by @coado)
  • Bridging: Added support for bridging Class methods return types (e403b510d0 by @hoxyq)
  • Error Handling: Improve error messages when enum members are missing (12ced22f70 by Yannick Loriot)
  • Fantom: Add Fantom.getFabricUpdateProps for reading fabric update props scheduled via UIManager::updateShadowTree (cc442eb8c8 by @zeyap)
  • Flow: Add support for Flow opaque types in codegen for native modules (a15fc102e6 by @rubennorte)
  • HMR: Process HMR registerBundle calls from the same origin only (a9007ea586 by @jbroma)
  • IntersectionObserver: IntersectionObserver support for root with fixes for viewport offsets (c5b6716311 by @lunaleaps)
  • ReactNativeFeatureFlags: Allow Custom ReactNativeFeatureFlags for Shell 2.0 (bbc1e121c7 by Maddie Lord)
  • ScrollView: Added more Pending Decleration for ScrollView (a6908ad1a5 by @riteshshukla04)
  • ShadowNode: Added cloneMultiple to ShadowNode class. (1161fb4fcd by @bartlomiejbloniarz)
  • Typescript: Add pressRetentionOffset prop to be recognised by typescript in Text.d.ts (d94f4d8c9d by @iamAbhi-916)
  • URLSearchParams: Added size property to URLSearchParams implementation (9b1a8ffac4 by @louix)

Android specific

  • BaseViewManager: Adds support for onFocus / onBlur event dispatching logic to all native views that implement BaseViewManager (e960a28af7 by @Abbondanzo)
  • Edge To Edge: Add Android edge-to-edge opt-in support (09ef774ff6 by @zoontek)
  • RNGP: RNGP- Add support for exclusiveEnterpriseRepository to specify an internal Maven mirror. (6cb8dc37c7 by @cortinico)
  • RNTester: Added explicit build tool version to RNTester build.gradle to avoid automatic installation of Android SDK Build Tools. (35dba09724 by @mojavad)
  • ScrollView: Allow fadingEdgeLength to be set independently on the start and end of the ScrollView (a21a4b87c3 by Mark Verlingieri)
  • View: Support for onFocus and onBlur function calls in View components (af0a76cf5f by @Abbondanzo)

iOS specific

Changed

  • Animated: Animated now always flattens props.style, which fixes an error that results from props.style objects in which AnimatedNode instances are shadowed (i.e. flattened to not exist in the resulting props.style object). (da520848c9 by @yungsters)
  • Animated: Creates a feature flag that changes Animated to no longer produce invalid props.style if every AnimatedNode instance is shadowed via style flattening. (5c8c5388fc by @yungsters)
  • Animated: Enabled a feature flag that optimizes Animated to reduce memory usage. (2a13d20085 by @yungsters)
  • Error handling: Errors will no longer have the "js engine" suffix. (a293925280 by @yungsters)
  • Fibers: Reduces memory usage, by improving memory management of parent alternate fibers. (Previously, a parent fiber might retain memory associated with shadow nodes from a previous commit.) (0411c43b3a by @yungsters)
  • infoLog: Removed infoLog from react-native package (8a0cfec815 by @coado)
  • IntersectionObserver: Fixed IntersectionObserver#observe to avoid retaining memory for unmounted child nodes of observed views. (d945c5863a by @yungsters)
  • Jest: Improved default mocking for Jest unit tests. (1fd9508ecc by @yungsters)
  • LegacyArchitecture: Raise loglevel for assertion of LegacyArchitecture classes (38a4b62211 by @mdvacca)
  • LegacyArchitecture: Raise logLevel of LegacyArchitecture classes when minimizing of legacy architecture is enabled (0d1cde7f36 by @mdvacca)
  • Metro: Bump Metro to ^0.82.5 (083644647e by @robhogan)
  • React DevTools: Bumped React DevTools to 6.1.5 (c302902b1d by @hoxyq)
  • RuntimeExecutor: RuntimeExecutor: Remove noexcept from sync ui thread utils (7ef278af50 by @RSNara)
  • Typescript: Bump types/react to 19.1 (3ae9328571 by @gabrieldonadel)

Android specific

iOS specific

Deprecated

  • hasTVPreferredFocus: Deprecate hasTVPreferredFocus (cfb6c968dd by @Abbondanzo)
  • SafeAreaView: Deprecate SafeAreaView due to its iOS-only support and incompatibility with Android 15 edge-to-edge behavior; recommend using react-native-safe-area-context instead. (73133a31d5 by @kikoso)
  • ShadowNode: ShadowNode::Shared is now deprecated. Use std::shared_ptr<const ShadowNode> instead. (0e175ce5b6 by @sammy-SC)
  • ShadowNode: Deprecate type aliases ShadowNode::Unshared and ShadowNode::Weak in favour of std::shared_ptr<ShadowNode> and std::weak_ptr<ShadowNode> (12fb101e30 by @sammy-SC)

iOS specific

  • RCTFollyConvert: RCTFollyConvert.h is deprecated please use /ReactCommon/react/utils/platform/ios/react/utils/FollyConvert.h instead (685a60e6b4 by @sammy-SC)

Removed

  • Yoga: Remove YogaLayoutableShadowNode::cleanLayout() and Fix ParagraphShadowNode Font Size Invalidation Logic (7979c7ce06 by @NickGerleman)

Android specific

  • APIs: Internalize NetworkingModule's UriHandler, RequestBodyHandler, and ResponseHandler APIs (987e3f8c00 by @huntie)
  • DeveloperSettings: Remove deprecated isStartSamplingProfilerOnInit from DeveloperSettings (ccb9edc717 by @cortinico)
  • JSC: Remove 1st party JSC support (8174d02811 by @cortinico)
  • JSEngineResolutionAlgorithm: Remove and cleanup JSEngineResolutionAlgorithm (0954c1db45 by @cortinico)

iOS specific

Fixed

  • APIs: Renamed argument names in the onContentSizeChange callback's type definition (0386b9bd51 by @pchalupa)
  • BindingsInstallerHolder: Fixed deprecation message for BindingsInstallerHolder (4a8fda83e3 by @tomekzaw)
  • C++: Add default: case to avoid warnings/errors for targets that compile with -Wswitch-enum and -Wswitch-default enabled (22b8b53c77 by @NSProgrammer)
  • C++: Add default: case to avoid warnings/errors for targets that compile with -Wswitch-enum and -Wswitch-default enabled (9079b53c6f by @NSProgrammer)
  • C++: Fix clang tidy for react-native (3e49d17f58 by @RSNara)
  • Color APIs: Fix the serialization of the alpha channel in the rgba() color string format. (1cc12ce7fd by @piaskowyk)
  • Color APIs: Fix incorrect flattening / non-rendering of views with backgroundColor set to rgba(255, 255, 255, 127/256) (b1e8729f4d by @rubennorte)
  • Fantom: Support viewport offsets for Fantom root and fix getBoundingClientRect to respect viewport offsets (b5c62f52d1 by @lunaleaps)
  • IntersectionObserver: Fix potential leak inside IntersectionObserver (a55f430daa by @RSNara)
  • LogBox: Remove LogBox patch, de-duplicating errors (e0797d0e03 by @rickhanlonii)
  • ScrollView: Expose ScrollView.getNativeScrollRef on the type definition to allow accessing the underlying HostInstance. (4b91b63094 by @zbauman3)
  • Typescript: Add ImageSource type to TypeScript (42ca46b95c by @okwasniewski)
  • Typescript: Devtools TS Types (8f189fce03 by @krystofwoldrich)
  • Yoga: Fix possible invalid measurements with width or height is zero pixels (5cc4d0a086 by @NickGerleman)

Android specific

iOS specific

  • Gradient: Gradient interpolation for transparent colors (097d482446 by @intergalacticspacehighway)
  • Prebuild: Fixed wrong path in prebuild hermes check (be11f2ee77 by @chrfalch)
  • Prebuild: Fixed resolving build type when downloading hermes artifacts (9371e20192 by @chrfalch)
  • Package.swift: Add missing React-RCTSettings to Package.swift (e40c1d265a by @chrfalch)
  • Package.swift: Fixed defines in Package.swift (e2f6ce4ddf by @chrfalch)
  • RCTImage: Allow for consuming RCTImage in Swift codebase by enabling "Defines Module" option (1d80586730 by @kkafar)
  • RCTImageComponentView: Fix RCTImageComponentView image loading after source props change with no layout invalidation (cd5d74518b by Nick Lefever)
  • RCTScreenSize: Make RCTScreenSize take horizontal orientation into account (50ce8c77a7 by @okwasniewski)
  • TextInput: Fixed blank space at the bottom of multiline TextInput on iOS (2da4a6059a by @tomekzaw)
  • Turbo Modules: Turbo Modules- Fixes dictionary stripped out when value is null (4a4fd1cb8b by @zhongwuzw)

v0.80.2

Added

Android specific

iOS specific

  • Cocoapods: Add the ENTERPRISE_REPOSITORY env var to let user consume artifacts from their personal maven mirror (183be8e12c by @cipolleschi)

Fixed

Android specific

  • InteropLayer: Fix ConcurrentModificationException in InteropUIBlockListener (d8b5a5570e by @jkoutavas)

v0.80.1

Added

Fixed

Android specific

v0.80.0

Breaking

  • APIs: Subpath imports to the internal react-native/virtualized-lists package are not allowed. (be8393c41b by @iwoplaza)
  • APIs: The react-native package now defines package.json "exports". (319ba0afd2 by @huntie)
  • C++: Dispatch folly::dynamic events with r-value instead of l-value (12e5df844b by @rozele)
  • C++: Introduce beforeload callback arg into ReactInstance::loadScript (061174c150 by @RSNara)
  • deps: Updated eslint-config-react-native to depend on eslint-plugin-react-hooks v5.2.0 from v4.6.0. This includes a breaking change in which ESLint will no longer recognize component names that start with 1 or more underscores followed by a capital letter. (https://github.com/facebook/react/pull/25162) (4de592756b by @yungsters)
  • NewAppScreen: The NewAppScreen component is redesigned and moved to the react-native/new-app-screen package (3cf0102007 by @huntie)

Android specific

  • APIs: Deleting ChoreographerCompat, Use Choreographer.FrameCallback instead (f8b2956437 by @mdvacca)
  • APIs: Deleting deprecated StandardCharsets (40b38d0a44 by @mdvacca)
  • APIs:: Make DeviceInfoModule internal (f02607badb by @mateoguzmana)
  • APIs:: Make ModuleDataCleaner internal (6fa1864d52 by @mateoguzmana)
  • DevX: Removed loadSplitBundleFromServer from DevSupportManager interface (86cd31eb6b by @javache)
  • Kotlin: Convert ColorPropConverter to Kotlin (57768bfbcd by @fabriziocucci)
  • Kotlin: Convert DevSupportManagerBase to Kotlin. If you're subclassing this class, you will have to adjust some of the parameters as types have changed during the migration. (9da485b54c by @cortinico)
  • Kotlin: Convert NetworkModule to Kotlin, mark methods as final (8726e26348 by @Abbondanzo)
  • Kotlin: Convert ReactEditText to Kotlin. If you're subclassing this type you'll need to adjust your signatures. (cac27d15be by @cortinico)
  • Kotlin: Convert ReactInstanceDevHelper to Kotlin. Some users implementing this class in Kotlin could have breakages. As this is a devtools/frameworks API we're not marking this as breaking. (09492075e8 by @cortinico)
  • Kotlin: Convert ReactTextInputManager to Kotlin (ab47834eb1 by @cortinico)

iOS specific

Added

Android specific

  • Accessibility: Expose Android's screenReaderFocusable prop (4ce093154d by @jorge-cab)
  • Animated: Create UIManagerNativeAnimatedDelegate to potentially drive per frame NativeAnimated update (8d6098a645 by @zeyap)
  • APIs: Collections DSL functions for Kotlin(buildReadableMap, buildReadableArray) (78dbbaafdd by @l2hyunwoo)
  • C++: Allow invoking synchronouslyUpdateViewOnUIThread from c++ via UIManager (4912958812 by @zeyap)
  • infra: Generate keep.xml to prevent resource shrinking (864833fca9 by @jakex7)
  • NewArch: Add a legacyWarningsEnabled property to enable Legacy Warnings on NewArch (7ca2811750 by @cortinico)
  • NewArch: Warn Legacy Arch users if they use a Component with a ShadowNode with YogaMeasureFunction.measure() function. That Component will stop working on NewArch. (9345c88a61 by @cortinico)
  • StyleSheet: Adds android changes for radial gradient (a2409941c2 by @intergalacticspacehighway)
  • TextInput: Add new prop for filtering drag and drop targeting to text inputs (d10dd7130c by @Abbondanzo)

iOS specific

Changed

  • Animated: Animated components' ref will now only reattach when receiving new props if the new props contain different AnimatedValue or AnimatedEvent instances. (Previously, Animated components' ref would always reattach when receiving new props.) (eeab47e61a by @yungsters)
  • Animated: When an Animated component is unmounted, any completion callbacks will now be called in a microtask instead of during the commit phase. (da1bf8d1d1 by @yungsters)
  • APIs: InteractionManager is deprecated and will be removed in a future release. Its behavior has been changed to be the same as setImmediate, and callers should migrate away from it. (a8a4ab10d0 by @yungsters)
  • Codegen: Changed react-native-codegen to support types under CodegenTypes namespace (5349b7c7b5 by @j-piasecki)
  • deps: Bump minimum Metro from 0.81.0 to ^0.81.3 || ^0.82.0 (6606a1da84 by @robhogan)
  • deps: Bump React to 19.1 (0e11e6a28b by @cipolleschi)
  • deps: Replace hsr_core dependency for react profiling with hz_tracing dependency (0f55ef7754 by @metaadrianstone)
  • deps: Update debugger-frontend from bc635fa...343405b (647af1c4ca by @huntie)
  • deps: Update Metro to ^0.82.0 (0ad192003e by @robhogan)
  • Flow: Changed Flow for the React Native monorepo, so that React no longer has to be in scope when using JSX. (1bb7446993 by @yungsters)
  • Hermes: Configured Hermes Parser for Metro to target React 19, resulting in Component Syntax no longer producing forwardRef calls. (f2518d4374 by @yungsters)
  • Hermes: Configured Hermes Parser for ReactNative to target React 19, resulting in Component Syntax no longer producing forwardRef calls. (68cad5d2d3 by @yungsters)
  • JS: eslint-config-react-native now respects rules disabled by eslint-config-prettier. (6346689c3d by @yungsters)
  • JS: Replaced let with const where applicable for better code standards and micro-optimization. (38fefb2771 by @sanjaiyan-dev)
  • TypeScript: Re-expose src/* subpaths when not using the Strict TypeScript API (1a46b203b8 by @huntie)
  • TypeScript: Replace deprecated React.ElementRef usages to React.ComponentRef (12147e3bee by @mateoguzmana)

Android specific

iOS specific

  • CocoaPods: Enable DEFINES_MODULE in React-jsc.podspec (473e42bbc3 by @krozniata)
  • Image: Update RCTImageLoader.mm to cast loadHandler to RCTImageLoaderLoggable before calling shouldEnablePerfLogging (2562440385 by Aaron Coplan)
  • ScrollView: Overwrite betterHitTest in RCTScrollViewComponentView instead of changing layout metrics of the container view (850760ab61 by @j-piasecki)
  • Text: Replace a workaround for measuring multiline text with maximumNumberOfLines on iOS with a proper solution (77cdaa8733 by @j-piasecki)

Deprecated

  • Events: Deprecate *EventData types on Image, Switch, TextInput components. These can be substituted for *Event, e.g. NativeSyntheticEvent<ImageLoadEventData> becomes ImageLoadEvent. (701859b397 by @huntie)

Android specific

  • APIs: Correctly deprecate ReactContextBaseJavaModule.getCurrentActivity() method (1408c69fd8 by @cortinico)
  • APIs: Deprecate UIManagerType.DEFAULT, replaced by UIManagerType.LEGACY (a8668319ad by @mdvacca)

iOS specific

  • Image: Deprecate loadImageForURL in favor of new signature which uses completionHandlerWithMetadata (43c9a609de by Aaron Coplan)
  • NewArch: Deprecate the RCT_NEW_ARCH_ENABLED and the RCTSetNewArchEnabled (6dd721b258 by @cipolleschi)

Removed

Android specific

iOS specific

Fixed

  • Alert: Add missing type variation {login: string, password: string} to AlertType type definition to properly support login-password prompt callbacks (c6a075bcc7 by @assynu)
  • C++: Add explicit folly/dynamic.h include where it is actually used (0b1d0e84ee by @mzlee)
  • Codegen: Do not generate Apple specific files for Android (e83ece0d17 by @cipolleschi)
  • Codegen: Fixed codegen breaking when a subset of modulesConformingToProtocol fields was specified or when the value was string (e4ef685dd7 by @j-piasecki)
  • CompatCheck: Allow union changes when the new element is in the middle of the union (69ccbc3943 by @elicwhite)
  • DevSupport: Made DevServerHelper and its method open so that they can be overridden. (2a0c1e6a9e by @chrfalch)
  • Kotlin: Made function removeView open in Kotlin class (9d11dcd3b0 by @chrfalch)
  • NewAppScreen: Fix Networking URL in New app screen (89e6c72fd4 by @riteshshukla04)
  • PullToRefresh: Fixed crash in RCTPullToRefreshViewComponentView#updateProps (fab7fa88e3 by @javache)
  • Runtime: Align timer IDs and timer function argument error handling with web standards. (480a4642e5 by @kitten)
  • StyleSheet: Outline now takes into account outline-offset to calculate its border-radius, same as web. (b47bfcef5f by @jorge-cab)
  • StyleSheet: Wrong borderBottomEndRadius on RTL (68d6ada448 by @riteshshukla04)
  • Switch: Fixed switches correctly reverting to controlled state (aa8c072870 by @javache)
  • Text: Fix New Arch handling of inline views when text truncated (99f962627f by @NickGerleman)
  • Text: Fixed text not updating correctly after changing font scale in settings (c008604e0a by @j-piasecki)
  • TurboModules: Throw ParsingException when ReactModule doesn't conform to TurboModule invariants (c5132f485f by @GijsWeterings)
  • TypeScript: Fix TS docs for contentInsetAdjustmentBehavior (24ba7dfe6f by @steinalex)
  • TypeScript: Fix generated types in react-native/virtualized-lists being used without opt-in (c9f2055097 by @j-piasecki)
  • TypeScript: Fixed the generated type definitions for Animated.FlatList and Animated.SectionList to correctly infer item types. (9be5ac1010 by @j-piasecki)
  • TypeScript: Reference global.d.ts using path so they can be resolved by TSC (6399caef63 by @krystofwoldrich)
  • VirtualizeSectionList: Fix VirtualizeSectionList generic arguments (44b0f5560b) by @coado
  • VirtualizedList: Skip cloning Fragments in ListEmptyComponent to avoid onLayout warning (2b0189b964 by @mateoguzmana)

Android specific

iOS specific

  • Accessibility: RCTDeviceInfo: fix crash due to failure to get AccessibilityManager (ac23323da1 by Adam Ernst)
  • Animated: Fix Recycling of Animated Images (1a9adfba16 by @NickGerleman)
  • API: Remove deprecated ATOMIC_VAR_INIT macro in RCTProfile.m (21bf7cf6cf by @rmaz)
  • C++: Avoid build failure on Catalyst (x86_64) (0f534293af by @cipolleschi)
  • CocoaPods: Corrected the path from "$(PODS_ROOT)/fas_float/include" to "$(PODS_ROOT)/fast_float/include" in the HEADER_SEARCH_PATHS configuration. (01881017d3 by @DorianMazur)
  • CocoaPods: Put back the folly_compiler_flag function to make libraries install pods (3b17cdb643 by @cipolleschi)
  • Codegen: Fix codegen crawling all library code with componentProvider defined in config (65aa819811 by @kkafar)
  • Codegen: Fix codegen extracting .class from complex component classes (f2b19608cc by @gabrieldonadel)
  • Codegen: Generate ReactCodegen.podspec only for apps. (18a7c8d57c by @cipolleschi)
  • Codegen: Skip codegen for selectively disabled libraries in react-native.config.js (7681036537 by @aattola)
  • Codegen: Skip codegen for selectively disabled libraries in react-native.config.js (be8595b18a by @ismarbesic)
  • Image: Fix animated images missing from offscreen render (d1a090b0af by @NickGerleman)
  • Image: Fixed accessible prop no-opts on Image components (e3f7c8f456 by @jorge-cab)
  • infra: Avoid race condition crash in RCTDataRequestHandler invalidate (44810f7498 by @zhongwuzw)
  • infra: Check .pnpm folder when looking for third-party components. (91d034533e by @kirill3333)
  • infra: Fix bug: unstable_hasComponent(*) = true for unregistered components for n > 1th call. (f4d99d6a23 by @RSNara)
  • infra: Fix bug: unstable_hasComponent(*) = true for unregistered components for n > 1th call. (fa9d082747 by @RSNara)
  • infra: Ignore build/ and DerivedData/ directories when reading .plist files. (c783128f6e by @tjzel)
  • infra: Properly check for debug schemes when building hermes from source (bef5cc1007 by @WoLewicki)
  • InteropLayer: Fixed adding child views to a native view using the interop layer (d53a60dd23 by @chrfalch)
  • LogBox: Fix disappearing redbox on initial load of an invalid bundle. (4cc9db1cd5 by @aleqsio)
  • ScrollView: Fixed touch events not being dispatched to ScrollView's children when they overflow the content container (6ecd9a43f1 by @j-piasecki)
  • StyleSheet: Box shadows on iOS are faster (52173ab701 by @joevilches)
  • Swift: Make fmt and SocketRocket Swift friendly (3f41fe2948 by @cipolleschi)
  • Switch: Fix "on" and "off" announcements on Switch (db6e000023 by @joevilches)
  • Text: ParagraphState is correctly deallocated when recycling Text (a5a71f115f by @javache)
  • Text: Allow links that encorporate entire <Text> to be keyboard accessible (83fae860df by @joevilches)
  • Text: Correctly announce "link" on nested text if its the entire text element (bffb414291 by @joevilches)
  • Text: Selection range not respected when changing text or selection when selection is forced (d32ea66e6a by Olivier Bouillet)
  • TextInput: Fix TextInput onContentSizeChange event being dispatched only once on iOS on the new architecture (5fd5188172 by @j-piasecki)

v0.79.5

See CHANGELOG-0.7x

v0.79.4

See CHANGELOG-0.7x

v0.79.3

See CHANGELOG-0.7x

v0.79.2

See CHANGELOG-0.7x

v0.79.1

See CHANGELOG-0.7x

v0.79.0

See CHANGELOG-0.7x

v0.78.3

See CHANGELOG-0.7x

v0.78.2

See CHANGELOG-0.7x

v0.78.1

See CHANGELOG-0.7x

v0.78.0

See CHANGELOG-0.7x

v0.77.3

See CHANGELOG-0.7x

v0.77.2

See CHANGELOG-0.7x

v0.77.1

See CHANGELOG-0.7x

v0.77.0

See CHANGELOG-0.7x

v0.76.9

See CHANGELOG-0.7x

v0.76.8

See CHANGELOG-0.7x

v0.76.7

See CHANGELOG-0.7x

v0.76.6

See CHANGELOG-0.7x

v0.76.5

See CHANGELOG-0.7x

v0.76.4

See CHANGELOG-0.7x

v0.76.3

See CHANGELOG-0.7x

v0.76.2

See CHANGELOG-0.7x

v0.76.1

See CHANGELOG-0.7x

v0.76.0

See CHANGELOG-0.7x

v0.75.5

See CHANGELOG-0.7x

v0.75.4

See CHANGELOG-0.7x

v0.75.3

See CHANGELOG-0.7x

v0.75.2

See CHANGELOG-0.7x

v0.75.1

See CHANGELOG-0.7x

v0.75.0

See CHANGELOG-0.7x

v0.74.7

See CHANGELOG-0.7x

v0.74.6

See CHANGELOG-0.7x

v0.74.5

See CHANGELOG-0.7x

v0.74.4

See CHANGELOG-0.7x

v0.74.3

See CHANGELOG-0.7x

v0.74.2

See CHANGELOG-0.7x

v0.74.1

See CHANGELOG-0.7x

v0.74.0

See CHANGELOG-0.7x

v0.73.11

See CHANGELOG-0.7x

v0.73.10

See CHANGELOG-0.7x

v0.73.9

See CHANGELOG-0.7x

v0.73.8

See CHANGELOG-0.7x

v0.73.7

See CHANGELOG-0.7x

v0.73.6

See CHANGELOG-0.7x

v0.73.5

See CHANGELOG-0.7x

v0.73.4

See CHANGELOG-0.7x

v0.73.3

See CHANGELOG-0.7x

v0.73.2

See CHANGELOG-0.7x

v0.73.1

See CHANGELOG-0.7x

v0.73.0

See CHANGELOG-0.7x

v0.72.17

See CHANGELOG-0.7x

v0.72.16

See CHANGELOG-0.7x

v0.72.15

See CHANGELOG-0.7x

v0.72.14

See CHANGELOG-0.7x

v0.72.13

See CHANGELOG-0.7x

v0.72.12

See CHANGELOG-0.7x

v0.72.11

See CHANGELOG-0.7x

v0.72.10

See CHANGELOG-0.7x

v0.72.9

See CHANGELOG-0.7x

v0.72.8

See CHANGELOG-0.7x

v0.72.7

See CHANGELOG-0.7x

v0.72.6

See CHANGELOG-0.7x

v0.72.5

See CHANGELOG-0.7x

v0.72.4

See CHANGELOG-0.7x

v0.72.3

See CHANGELOG-0.7x

v0.72.2

See CHANGELOG-0.7x

v0.72.1

See CHANGELOG-0.7x

v0.72.0

See CHANGELOG-0.7x

v0.71.19

See CHANGELOG-0.7x

v0.71.18

See CHANGELOG-0.7x

v0.71.17

See CHANGELOG-0.7x

v0.71.16

See CHANGELOG-0.7x

v0.71.15

See CHANGELOG-0.7x

v0.71.14

See CHANGELOG-0.7x

v0.71.13

See CHANGELOG-0.7x

v0.71.12

See CHANGELOG-0.7x

v0.71.11

See CHANGELOG-0.7x

v0.71.10

See CHANGELOG-0.7x

v0.71.9

See CHANGELOG-0.7x

v0.71.8

See CHANGELOG-0.7x

v0.71.7

See CHANGELOG-0.7x

v0.71.6

See CHANGELOG-0.7x

v0.71.5

See CHANGELOG-0.7x

v0.71.4

See CHANGELOG-0.7x

v0.71.3

See CHANGELOG-0.7x

v0.71.2

See CHANGELOG-0.7x

v0.71.1

See CHANGELOG-0.7x

v0.71.0

See CHANGELOG-0.7x

v0.70.15

See CHANGELOG-0.7x

v0.70.14

See CHANGELOG-0.7x

v0.70.13

See CHANGELOG-0.7x

v0.70.12

See CHANGELOG-0.7x

v0.70.11

See CHANGELOG-0.7x

v0.70.10

See CHANGELOG-0.7x

v0.70.9

See CHANGELOG-0.7x

v0.70.8

See CHANGELOG-0.7x

v0.70.7

See CHANGELOG-0.7x

v0.70.6

See CHANGELOG-0.7x

v0.70.5

See CHANGELOG-0.7x

v0.70.4

See CHANGELOG-0.7x

v0.70.3

See CHANGELOG-0.7x

v0.70.2

See CHANGELOG-0.7x

v0.70.1

See CHANGELOG-0.7x

v0.70.0

See CHANGELOG-0.7x

v0.69.12

See CHANGELOG-0.6x

v0.69.11

See CHANGELOG-0.6x

v0.69.10

See CHANGELOG-0.6x

v0.69.9

See CHANGELOG-0.6x

v0.69.8

See CHANGELOG-0.6x

v0.69.7

See CHANGELOG-0.6x

v0.69.6

See CHANGELOG-0.6x

v0.69.5

See CHANGELOG-0.6x

v0.69.4

See CHANGELOG-0.6x

v0.69.3

See CHANGELOG-0.6x

v0.69.2

See CHANGELOG-0.6x

v0.69.1

See CHANGELOG-0.6x

v0.69.0

See CHANGELOG-0.6x

v0.68.7

See CHANGELOG-0.6x

v0.68.6

See CHANGELOG-0.6x

v0.68.5

See CHANGELOG-0.6x

v0.68.4

See CHANGELOG-0.6x

v0.68.3

See CHANGELOG-0.6x

v0.68.2

See CHANGELOG-0.6x

v0.68.1

See CHANGELOG-0.6x

v0.68.0

See CHANGELOG-0.6x

v0.67.5

See CHANGELOG-0.6x

v0.67.4

See CHANGELOG-0.6x

v0.67.3

See CHANGELOG-0.6x

v0.67.2

See CHANGELOG-0.6x

v0.67.1

See CHANGELOG-0.6x

v0.67.0

See CHANGELOG-0.6x

v0.66.5

See CHANGELOG-0.6x

v0.66.4

See CHANGELOG-0.6x

v0.66.3

See CHANGELOG-0.6x

v0.66.2

See CHANGELOG-0.6x

v0.66.1

See CHANGELOG-0.6x

v0.66.0

See CHANGELOG-0.6x

v0.65.3

See CHANGELOG-0.6x

v0.65.2

See CHANGELOG-0.6x

v0.65.1

See CHANGELOG-0.6x

v0.65.0

See CHANGELOG-0.6x

v0.64.4

See CHANGELOG-0.6x

v0.64.3

See CHANGELOG-0.6x

v0.64.2

See CHANGELOG-0.6x

v0.64.1

See CHANGELOG-0.6x

v0.64.0

See CHANGELOG-0.6x

v0.63.5

See CHANGELOG-0.6x

v0.63.4

See CHANGELOG-0.6x

v0.63.3

See CHANGELOG-0.6x

v0.63.2

See CHANGELOG-0.6x

v0.63.1

See CHANGELOG-0.6x

v0.63.0

See CHANGELOG-0.6x

v0.62.3

See CHANGELOG-0.6x

v0.62.2

See CHANGELOG-0.6x

v0.62.1

See CHANGELOG-0.6x

v0.62.0

See CHANGELOG-0.6x

v0.61.5

See CHANGELOG-0.6x

v0.61.4

See CHANGELOG-0.6x

v0.61.3

See CHANGELOG-0.6x

v0.61.2

See CHANGELOG-0.6x

v0.61.1

See CHANGELOG-0.6x

v0.61.0

See CHANGELOG-0.6x

v0.60.6

See CHANGELOG-0.6x

v0.60.5

See CHANGELOG-0.6x

v0.60.4

See CHANGELOG-0.6x

v0.60.3

See CHANGELOG-0.6x

v0.60.2

See CHANGELOG-0.6x

v0.60.1

See CHANGELOG-0.6x

v0.60.0

See CHANGELOG-0.6x

v0.59.10

See CHANGELOG-0.5x

v0.59.9

See CHANGELOG-0.5x

v0.59.8

See CHANGELOG-0.5x

v0.59.5

See CHANGELOG-0.5x

v0.59.4

See CHANGELOG-0.5x

v0.59.3

See CHANGELOG-0.5x

v0.59.2

See CHANGELOG-0.5x

v0.59.1

See CHANGELOG-0.5x

v0.59.0

See CHANGELOG-0.5x

v0.58.6

See CHANGELOG-0.5x

v0.58.5

See CHANGELOG-0.5x

v0.58.4

See CHANGELOG-0.5x

v0.58.3

See CHANGELOG-0.5x

v0.58.2

See CHANGELOG-0.5x

v0.58.1

See CHANGELOG-0.5x

v0.58.0

See CHANGELOG-0.5x

v0.57.8

See CHANGELOG-0.5x

v0.57.7

See CHANGELOG-0.5x

v0.57.6

See CHANGELOG-0.5x

v0.57.5

See CHANGELOG-0.5x

v0.57.4

See CHANGELOG-0.5x

v0.57.3

See CHANGELOG-0.5x

v0.57.2

See CHANGELOG-0.5x

v0.57.1

See CHANGELOG-0.5x

v0.57.0

See CHANGELOG-0.5x

v0.56.0

See CHANGELOG-0.5x

v0.55.0

See CHANGELOG-0.5x

v0.54.0

See CHANGELOG-0.5x

v0.53.0

See CHANGELOG-0.5x

v0.52.0

See CHANGELOG-0.5x