PageSourceSearch

https://reactnative.dev/assets/js/5cb3f5cd.9cef446e.js

js reactnative.dev collected 2026-09-24 07:15:34 UTC 8,706 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkreact_native_website=self.webpackChunkreact_native_website||[]).push([["11113"],{40210(e,n,t){t.r(n),t.d(n,{assets:()=>l,contentTitle:()=>o,default:()=>h,frontMatter:()=>r,metadata:()=>s,toc:()=>c});var s=t(49062),i=t(62540),a=t(43023);let r={title:"Announcing React Native 0.65",authors:["lunaleaps"],tags:["announcement","release"]},o,l={authorsImageUrls:[void 0]},c=[{value:"What's new in Hermes 0.8?",id:"whats-new-in-hermes-08",level:2},{value:"Accessibility Fixes and Additions",id:"accessibility-fixes-and-additions",level:2},{value:"Notable Dependency Version Updates and Gotchas",id:"notable-dependency-version-updates-and-gotchas",level:2},{value:"Thank You!",id:"thank-you",level:2}];function d(e){let n={a:"a",code:"code",h2:"h2",li:"li",p:"p",strong:"strong",ul:"ul",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(n.p,{children:"Today we\u2019re releasing React Native version 0.65 with a new version of Hermes, improvements to accessibility, package upgrades, and more."}),"\n",(0,i.jsx)(n.h2,{id:"whats-new-in-hermes-08",children:"What's new in Hermes 0.8?"}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"https://hermesengine.dev",children:"Hermes"}),", Facebook\u2019s open source JavaScript VM optimized for React Native, has been upgraded to version 0.8.1. Some of the stand-out features in this release are:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["A new concurrent garbage collector titled \u201CHades\u201D which delivers up to 30 times shorter pause times on 64 bit devices. At Facebook, we saw this improve some CPU-intensive workloads by 20%-50%. You can ",(0,i.jsx)(n.a,{href:"https://hermesengine.dev/docs/hades/",children:"learn more about Hades here"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsxs)(n.a,{href:"https://hermesengine.dev/docs/intl",children:["ECMAScript Internationalization API (ECMA-402, or ",(0,i.jsx)(n.code,{children:"Intl"}),")"]})," is now built into Hermes on Android and enabled by default, with only 57-62K per API size overhead (compared to ",(0,i.jsx)(n.a,{href:"https://github.com/react-native-community/jsc-android-buildscripts",children:"JSC's 6MiB"}),"). With this change, Hermes users no longer require locale polyfills. A big thank you to ",(0,i.jsx)(n.a,{href:"https://github.com/mganandraj",children:"@mganandraj"})," and other partners at Microsoft for driving the implementation to make this happen!"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"/blog/2021/03/12/version-0.64",children:"Hermes on iOS"})," now ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/hermes/pull/546",children:"supports Apple M1 Macs and Mac Catalyst"}),"!"]}),"\n",(0,i.jsxs)(n.li,{children:["Memory improvements including SMI (Small Integers) and pointer compression that ",(0,i.jsx)(n.a,{href:"https://twitter.com/tmikov/status/1385629737121243140",children:"shrank JS heap by 30%"}),"."]}),"\n",(0,i.jsxs)(n.li,{children:["Changes to ",(0,i.jsx)(n.code,{children:"Function.prototype.toString"})," that ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/hermes/issues/471#issuecomment-820123463",children:"fixed a performance drop due to improper feature detection"})," and ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/hermes/issues/114",children:"supports the source code injecting use case"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["You can find the full ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/hermes/releases",children:"Hermes changelog here"}),"."]}),"\n",(0,i.jsxs)(n.p,{children:[(0,i.jsx)(n.a,{href:"/docs/hermes#enabling-hermes",children:"Follow steps here"})," to opt-in your app to Hermes if you haven\u2019t already to leverage these new features and gains!"]}),"\n",(0,i.jsx)(n.h2,{id:"accessibility-fixes-and-additions",children:"Accessibility Fixes and Additions"}),"\n",(0,i.jsxs)(n.p,{children:["Last year ",(0,i.jsx)(n.a,{href:"https://reactnative.dev/blog/2021/05/20/GAAD-One-Year-Later",children:"Facebook took the GAAD pledge"})," to improve accessibility within React Native. 0.65 shares the results of this pledge and other accessibility wins! Some notable changes include:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Allow specification of high contrast light and dark values for iOS. See ",(0,i.jsx)(n.a,{href:"/docs/dynamiccolorios",children:"documentation"})," for more details."]}),"\n",(0,i.jsxs)(n.li,{children:["Added ",(0,i.jsx)(n.a,{href:"/docs/accessibilityinfo#getrecommendedtimeoutmillis-android",children:(0,i.jsx)(n.code,{children:"getRecommendedTimeoutMillis"})})," API on Android. This exposes a user\u2019s preferred default timeout value as set in Android\u2019s accessibility options and is for users who may need extra time to review or reach controls, etc."]}),"\n",(0,i.jsxs)(n.li,{children:["General fixes to ensure TalkBack/VoiceOver properly announce UI states such as ",(0,i.jsx)(n.code,{children:"disabled"})," and ",(0,i.jsx)(n.code,{children:"unselected"})," on components."]}),"\n"]}),"\n",(0,i.jsxs)(n.p,{children:["You can follow along or contribute to our ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/react-native/projects/15",children:"outstanding accessibility issues"})," here!"]}),"\n",(0,i.jsx)(n.h2,{id:"notable-dependency-version-updates-and-gotchas",children:"Notable Dependency Version Updates and Gotchas"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.code,{children:"react-native-codegen"})," version ",(0,i.jsx)(n.code,{children:"0.0.7"})," is now needed as a ",(0,i.jsx)(n.code,{children:"devDependency"})," in the ",(0,i.jsx)(n.code,{children:"package.json"}),"."]}),"\n",(0,i.jsx)(n.li,{children:"JCenter has been sunsetted and read-only now. We have removed JCenter as a maven repository and updated dependencies to use MavenCentral and Jitpack."}),"\n",(0,i.jsxs)(n.li,{children:["Upgraded OkHttp from v3 to v4.9.1. See ",(0,i.jsx)(n.a,{href:"https://square.github.io/okhttp/upgrading_to_okhttp_4/",children:"Upgrading to OkHttp 4"})," for more details on changes."]}),"\n",(0,i.jsxs)(n.li,{children:["Upgraded to Flipper 0.93 to supp
1ort Xcode 12.5. See ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/flipper/blob/master/desktop/static/CHANGELOG.md",children:"Flipper changelog here"}),"."]}),"\n",(0,i.jsx)(n.li,{children:"Android Gradle Plugin 7 support"}),"\n",(0,i.jsxs)(n.li,{children:["Apple Silicon requires a linker workaround. See ",(0,i.jsx)(n.a,{href:"https://github.com/react-native-community/releases/issues/238#issuecomment-890367992",children:"@mikehardy\u2019s note"})," about this."]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"thank-you",children:"Thank You!"}),"\n",(0,i.jsxs)(n.p,{children:["This release includes over ",(0,i.jsx)(n.strong,{children:"1100 commits"})," from ",(0,i.jsx)(n.strong,{children:"61 contributors"}),". Thank you to everyone who has contributed and supported this release! You can find the ",(0,i.jsx)(n.a,{href:"https://github.com/facebook/react-native/blob/main/CHANGELOG.md#v0650",children:"full changelog here"}),"."]})]})}function h(e={}){let{wrapper:n}={...(0,a.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},43023(e,n,t){t.d(n,{R:()=>r,x:()=>o});var s=t(63696);let i={},a=s.createContext(i);function r(e){let n=s.useContext(a);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(a.Provider,{value:n},e.children)}},49062(e){e.exports=JSON.parse('{"permalink":"/blog/2021/08/17/version-065","source":"@site/blog/2021-08-17-version-065.md","title":"Announcing React Native 0.65","description":"Today we\u2019re releasing React Native version 0.65 with a new version of Hermes, improvements to accessibility, package upgrades, and more.","date":"2021-08-17T00:00:00.000Z","tags":[{"inline":true,"label":"announcement","permalink":"/blog/tags/announcement"},{"inline":true,"label":"release","permalink":"/blog/tags/release"}],"readingTime":2.85,"hasTruncateMarker":false,"authors":[{"name":"Luna Wei","title":"Software Engineer @ Meta","socials":{"x":"https://x.com/lunaleaps","github":"https://github.com/lunaleaps"},"imageURL":"https://github.com/lunaleaps.png","key":"lunaleaps","page":null}],"frontMatter":{"title":"Announcing React Native 0.65","authors":["lunaleaps"],"tags":["announcement","release"]},"unlisted":false,"prevItem":{"title":"React Native in H2 2021","permalink":"/blog/2021/08/19/h2-2021"},"nextItem":{"title":"The GAAD Pledge - One Year Later","permalink":"/blog/2021/05/20/GAAD-One-Year-Later"}}')}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.