CINXE.COM
react/CHANGELOG.md at main · facebook/react · GitHub
<!DOCTYPE html> <html lang="en" data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" data-a11y-animated-images="system" data-a11y-link-underlines="true" > <head> <meta charset="utf-8"> <link rel="dns-prefetch" href="https://github.githubassets.com"> <link rel="dns-prefetch" href="https://avatars.githubusercontent.com"> <link rel="dns-prefetch" href="https://github-cloud.s3.amazonaws.com"> <link rel="dns-prefetch" href="https://user-images.githubusercontent.com/"> <link rel="preconnect" href="https://github.githubassets.com" crossorigin> <link rel="preconnect" href="https://avatars.githubusercontent.com"> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/light-74231a1f3bbb.css" /><link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/dark-8a995f0bacd4.css" /><link data-color-theme="dark_dimmed" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_dimmed-f37fb7684b1f.css" /><link data-color-theme="dark_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_high_contrast-9ac301c3ebe5.css" /><link data-color-theme="dark_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_colorblind-cd826e8636dc.css" /><link data-color-theme="light_colorblind" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_colorblind-f91b0f603451.css" /><link data-color-theme="light_high_contrast" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_high_contrast-83beb16e0ecf.css" /><link data-color-theme="light_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/light_tritanopia-6e122dab64fc.css" /><link data-color-theme="dark_tritanopia" crossorigin="anonymous" media="all" rel="stylesheet" data-href="https://github.githubassets.com/assets/dark_tritanopia-18119e682df0.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-225433424a87.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-aaa714e5674d.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-7eaba1d4847c.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-ea73c9cb5377.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/repository-4fce88777fa8.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/code-0210be90f4d3.css" /> <script type="application/json" id="client-env">{"locale":"en","featureFlags":["a11y_quote_reply_fix","copilot_immersive_issue_preview","copilot_new_references_ui","copilot_chat_repo_custom_instructions_preview","copilot_no_floating_button","copilot_topics_as_references","copilot_read_shared_conversation","copilot_duplicate_thread","copilot_buffered_streaming","dotcom_chat_client_side_skills","experimentation_azure_variant_endpoint","failbot_handle_non_errors","fgpat_form_ui_updates","geojson_azure_maps","ghost_pilot_confidence_truncation_25","ghost_pilot_confidence_truncation_40","github_models_o3_mini_streaming","insert_before_patch","issues_react_remove_placeholders","issues_react_blur_item_picker_on_close","marketing_pages_search_explore_provider","primer_react_css_modules_ga","react_data_router_pull_requests","remove_child_patch","sample_network_conn_type","swp_enterprise_contact_form","site_proxima_australia_update","viewscreen_sandbox","issues_react_create_milestone","issues_react_cache_fix_workaround","lifecycle_label_name_updates","copilot_task_oriented_assistive_prompts","issue_types_prevent_private_type_creation","refresh_image_video_src","react_router_dispose_on_disconnect","codespaces_prebuild_region_target_update","turbo_app_id_restore","copilot_code_review_sign_up_closed"]}</script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-928159a5f506.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover_js-9da652f58479.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_arianotify-polyfill_ariaNotify-polyfill_js-node_modules_github_mi-3abb8f-46b9f4874d95.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_failbot_failbot_ts-75968cfb5298.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/environment-f04cb2a9fc8c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_primer_behaviors_dist_esm_index_mjs-0dbb79f97f8f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_selector-observer_dist_index_esm_js-f690fd9ae3d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_relative-time-element_dist_index_js-62d275b7ddd9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_text-expander-element_dist_index_js-78748950cb0c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_auto-complete-element_dist_index_js-node_modules_github_catalyst_-8e9f78-a90ac05d2469.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_filter-input-element_dist_index_js-node_modules_github_remote-inp-b5f1d7-a1760ffda83d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_markdown-toolbar-element_dist_index_js-ceef33f593fa.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_file-attachment-element_dist_index_js-node_modules_primer_view-co-c44a69-efa32db3a345.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-394f8eb34f19.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-8206a1f1fc89.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_braintree_browser-detection_dist_browser-detection_js-node_modules_githu-2906d7-2a07a295af40.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lit-html_lit-html_js-be8cb88f481b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_morphdom_dist_morphdom-e-7c534c-a4a1922eb55f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_turbo_dist_turbo_es2017-esm_js-a03ee12d659a.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-893f9f-b6294cf703b7.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_color-convert_index_js-e3180fe3bcb3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_quote-selection_dist_index_js-node_modules_github_session-resume_-947061-e7a6c4a19f98.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_updatable-content_updatable-content_ts-2a55124d5c52.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_task-list_ts-app_assets_modules_github_sso_ts-ui_packages-900dde-768abe60b1f8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_sticky-scroll-into-view_ts-3e000c5d31a9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_ajax-error_ts-app_assets_modules_github_behaviors_include-87a4ae-b8865f653f6b.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_behaviors_commenting_edit_ts-app_assets_modules_github_behaviors_ht-83c235-e429cff6ceb1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-c1f5beceda17.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_delegated-events_dist_index_js-node_modules_github_catalyst_lib_index_js-f6223d90c7ba.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-01e85cd1be94.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_github_catalyst_lib_inde-dbbea9-26cce2010167.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/code-menu-1c0aedc134b1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/primer-react-dee7fde768ad.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-core-a18127980111.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-f1bca44e0926.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/octicons-react-cf2f2ab8dab4.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_emotion_is-prop-valid_dist_emotion-is-prop-valid_esm_js-node_modules_emo-62da9f-2df2f32ec596.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_mini-throttle_dist_index_js-node_modules_stacktrace-parser_dist_s-e7dcdd-9a233856b02c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_oddbird_popover-polyfill_dist_popover-fn_js-55fea94174bf.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_dompurify_dist_purify_es_mjs-dd1d3ea6a436.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lodash-es__Stack_js-node_modules_lodash-es__Uint8Array_js-node_modules_l-4faaa6-4a736fde5c2f.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_lodash-es__baseIsEqual_js-8929eb9718d5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_react-intersection-observer_react-intersection-observer_modern_mjs-node_-b27033-ba82cef135e3.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_focus-visible_dist_focus-visible_js-node_modules_fzy_js_index_js-node_mo-f2fece-29a0ceccb1f1.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_aria-live_aria-live_ts-ui_packages_promise-with-resolvers-polyfill_promise-with-r-17c672-34345cb18aac.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_paths_index_ts-1b92c4b9d0a5.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ref-selector_RefSelector_tsx-7496afc3784d.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_commit-attribution_index_ts-ui_packages_commit-checks-status_index_ts-ui_packages-7094d4-15017f02e61c.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_diffs_diff-parts_ts-b05d9274ce63.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_app-uuid_app-uuid_ts-ui_packages_document-metadata_document-metadata_ts-ui_packag-4d8de9-c9f824da1b03.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_code-view-shared_hooks_use-canonical-object_ts-ui_packages_code-view-shared_hooks-5f1d09-1ee828c2d6e8.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/app_assets_modules_github_blob-anchor_ts-ui_packages_code-nav_code-nav_ts-ui_packages_filter--8253c1-91468a3354f9.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/react-code-view-7d3c75465807.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.2708311ccb5cb34358b1.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-code-view.a0633e3d36c876a6eaa1.module.css" /> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/notifications-subscriptions-menu-58a0c58bfee4.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.2708311ccb5cb34358b1.module.css" /> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/notifications-subscriptions-menu.1bcff9205c241e99cff2.module.css" /> <title>react/CHANGELOG.md at main · facebook/react · GitHub</title> <meta name="route-pattern" content="/:user_id/:repository/blob/*name(/*path)" data-turbo-transient> <meta name="route-controller" content="blob" data-turbo-transient> <meta name="route-action" content="show" data-turbo-transient> <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb"> <meta name="request-id" content="BEC2:39DFED:683CC0:7BB656:67E4FB66" data-pjax-transient="true"/><meta name="html-safe-nonce" content="0a138cf79c4925a7a22547687d84aed00954ae368f0a0f3e7a0c021c4e6b3445" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCRUMyOjM5REZFRDo2ODNDQzA6N0JCNjU2OjY3RTRGQjY2IiwidmlzaXRvcl9pZCI6IjMwNzU4OTcxNTM0ODIyNDg3MCIsInJlZ2lvbl9lZGdlIjoic291dGhlYXN0YXNpYSIsInJlZ2lvbl9yZW5kZXIiOiJzb3V0aGVhc3Rhc2lhIn0=" data-pjax-transient="true"/><meta name="visitor-hmac" content="76f37aa470e83820e1b6942b595c8f613c99ca1685b7f596e88b203787472922" data-pjax-transient="true"/> <meta name="hovercard-subject-tag" content="repository:10270250" data-turbo-transient> <meta name="github-keyboard-shortcuts" content="repository,source-code,file-tree,copilot" data-turbo-transient="true" /> <meta name="selected-link" value="repo_source" data-turbo-transient> <link rel="assets" href="https://github.githubassets.com/"> <meta name="google-site-verification" content="Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I"> <meta name="octolytics-url" content="https://collector.github.com/github/collect" /> <meta name="analytics-location" content="/<user-name>/<repo-name>/blob/show" data-turbo-transient="true" /> <meta name="user-login" content=""> <meta name="viewport" content="width=device-width"> <meta name="description" content="The library for web and native user interfaces. Contribute to facebook/react development by creating an account on GitHub."> <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub"> <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub"> <meta property="fb:app_id" content="1401488693436528"> <meta name="apple-itunes-app" content="app-id=1477376905, app-argument=https://github.com/facebook/react/blob/main/CHANGELOG.md" /> <meta name="twitter:image" content="https://opengraph.githubassets.com/a478b874311a32a80331b176b20db873b008a0d0be3781e869d5f76f7f6d9901/facebook/react" /><meta name="twitter:site" content="@github" /><meta name="twitter:card" content="summary_large_image" /><meta name="twitter:title" content="react/CHANGELOG.md at main · facebook/react" /><meta name="twitter:description" content="The library for web and native user interfaces. Contribute to facebook/react development by creating an account on GitHub." /> <meta property="og:image" content="https://opengraph.githubassets.com/a478b874311a32a80331b176b20db873b008a0d0be3781e869d5f76f7f6d9901/facebook/react" /><meta property="og:image:alt" content="The library for web and native user interfaces. Contribute to facebook/react development by creating an account on GitHub." /><meta property="og:image:width" content="1200" /><meta property="og:image:height" content="600" /><meta property="og:site_name" content="GitHub" /><meta property="og:type" content="object" /><meta property="og:title" content="react/CHANGELOG.md at main · facebook/react" /><meta property="og:url" content="https://github.com/facebook/react/blob/main/CHANGELOG.md" /><meta property="og:description" content="The library for web and native user interfaces. Contribute to facebook/react development by creating an account on GitHub." /> <meta name="hostname" content="github.com"> <meta name="expected-hostname" content="github.com"> <meta http-equiv="x-pjax-version" content="ca11923418edd975e61fdedf7a77921e13dcbf2f794ef361870092ccabe8c982" data-turbo-track="reload"> <meta http-equiv="x-pjax-csp-version" content="77190eb53eb47fc30bd2fcc17a7eefa2dfd8505869fee9299ba911be3a40a9eb" data-turbo-track="reload"> <meta http-equiv="x-pjax-css-version" content="911af613659f2a8ff08d51fd492330c9e8a6ed8f0c4eb3c6632db43599431d16" data-turbo-track="reload"> <meta http-equiv="x-pjax-js-version" content="9dfb838706fc9f0cc90ef593098cf7b6105c8c3bce7df6533795fc8b7acb8a5b" data-turbo-track="reload"> <meta name="turbo-cache-control" content="no-preview" data-turbo-transient=""> <meta name="turbo-cache-control" content="no-cache" data-turbo-transient> <meta data-hydrostats="publish"> <meta name="go-import" content="github.com/facebook/react git https://github.com/facebook/react.git"> <meta name="octolytics-dimension-user_id" content="69631" /><meta name="octolytics-dimension-user_login" content="facebook" /><meta name="octolytics-dimension-repository_id" content="10270250" /><meta name="octolytics-dimension-repository_nwo" content="facebook/react" /><meta name="octolytics-dimension-repository_public" content="true" /><meta name="octolytics-dimension-repository_is_fork" content="false" /><meta name="octolytics-dimension-repository_network_root_id" content="10270250" /><meta name="octolytics-dimension-repository_network_root_nwo" content="facebook/react" /> <meta name="turbo-body-classes" content="logged-out env-production page-responsive"> <meta name="browser-stats-url" content="https://api.github.com/_private/browser/stats"> <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> <meta name="release" content="43de19f1837b9c053b3ba5b8eb4a97ded2f01889"> <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> <link rel="alternate icon" class="js-site-favicon" type="image/png" href="https://github.githubassets.com/favicons/favicon.png"> <link rel="icon" class="js-site-favicon" type="image/svg+xml" href="https://github.githubassets.com/favicons/favicon.svg" data-base-href="https://github.githubassets.com/favicons/favicon"> <meta name="theme-color" content="#1e2327"> <meta name="color-scheme" content="light dark" /> <link rel="manifest" href="/manifest.json" crossOrigin="use-credentials"> </head> <body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div data-turbo-body class="logged-out env-production page-responsive" style="word-wrap: break-word;"> <div class="position-relative header-wrapper js-header-wrapper "> <a href="#start-of-content" data-skip-target-assigned="false" class="px-2 py-4 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus js-skip-to-content">Skip to content</a> <span data-view-component="true" class="progress-pjax-loader Progress position-fixed width-full"> <span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span> </span> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/ui_packages_ui-commands_ui-commands_ts-2ea4e93613c0.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/keyboard-shortcuts-dialog-33dfb803e078.js"></script> <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react.2708311ccb5cb34358b1.module.css" /> <react-partial partial-name="keyboard-shortcuts-dialog" data-ssr="false" data-attempted-ssr="false" > <script type="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script> <div data-target="react-partial.reactRoot"></div> </react-partial> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/vendors-node_modules_github_remote-form_dist_index_js-node_modules_delegated-events_dist_inde-94fd67-4898d1bf4b51.js"></script> <script crossorigin="anonymous" defer="defer" type="application/javascript" src="https://github.githubassets.com/assets/sessions-730dca81d0a2.js"></script> <header class="HeaderMktg header-logged-out js-details-container js-header Details f4 py-3" role="banner" data-is-top="true" data-color-mode=light data-light-theme=light data-dark-theme=dark> <h2 class="sr-only">Navigation Menu</h2> <button type="button" class="HeaderMktg-backdrop d-lg-none border-0 position-fixed top-0 left-0 width-full height-full js-details-target" aria-label="Toggle navigation"> <span class="d-none">Toggle navigation</span> </button> <div class="d-flex flex-column flex-lg-row flex-items-center px-3 px-md-4 px-lg-5 height-full position-relative z-1"> <div class="d-flex flex-justify-between flex-items-center width-full width-lg-auto"> <div class="flex-1"> <button aria-label="Toggle navigation" aria-expanded="false" type="button" data-view-component="true" class="js-details-target js-nav-padding-recalculate js-header-menu-toggle Button--link Button--medium Button d-lg-none color-fg-inherit p-1"> <span class="Button-content"> <span class="Button-label"><div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div> <div class="HeaderMenu-toggle-bar rounded my-1"></div></span> </span> </button> </div> <a class="mr-lg-3 color-fg-inherit flex-order-2 js-prevent-focus-on-mobile-nav" href="/" aria-label="Homepage" data-analytics-event="{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Logomark;ref_loc:Header"}"> <svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <div class="flex-1 flex-order-2 text-right"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Ffacebook%2Freact%2Fblob%2Fmain%2FCHANGELOG.md" class="HeaderMenu-link HeaderMenu-button d-inline-flex d-lg-none flex-order-1 f5 no-underline border color-border-default rounded-2 px-2 py-1 color-fg-inherit js-prevent-focus-on-mobile-nav" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/facebook/react/blob/main/CHANGELOG.md","user_id":null}}" data-hydro-click-hmac="b4e1dc55364ac120a10f382cc1ccb131c0ef823b772b57cf4d1e41e25196d6a2" data-analytics-event="{"category":"Marketing nav","action":"click to Sign in","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}" > Sign in </a> </div> </div> <div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0"> <div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0"> <nav class="HeaderMenu-nav" aria-label="Global"> <ul class="d-lg-flex list-style-none"> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Product <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"github_copilot","context":"product","tag":"link","label":"github_copilot_link_product_navbar"}" href="https://github.com/features/copilot"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">GitHub Copilot</div> Write better code with AI </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"security","context":"product","tag":"link","label":"security_link_product_navbar"}" href="https://github.com/features/security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Security</div> Find and fix vulnerabilities </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"actions","context":"product","tag":"link","label":"actions_link_product_navbar"}" href="https://github.com/features/actions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-workflow color-fg-subtle mr-3"> <path d="M1 3a2 2 0 0 1 2-2h6.5a2 2 0 0 1 2 2v6.5a2 2 0 0 1-2 2H7v4.063C7 16.355 7.644 17 8.438 17H12.5v-2.5a2 2 0 0 1 2-2H21a2 2 0 0 1 2 2V21a2 2 0 0 1-2 2h-6.5a2 2 0 0 1-2-2v-2.5H8.437A2.939 2.939 0 0 1 5.5 15.562V11.5H3a2 2 0 0 1-2-2Zm2-.5a.5.5 0 0 0-.5.5v6.5a.5.5 0 0 0 .5.5h6.5a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5ZM14.5 14a.5.5 0 0 0-.5.5V21a.5.5 0 0 0 .5.5H21a.5.5 0 0 0 .5-.5v-6.5a.5.5 0 0 0-.5-.5Z"></path> </svg> <div> <div class="color-fg-default h4">Actions</div> Automate any workflow </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"codespaces","context":"product","tag":"link","label":"codespaces_link_product_navbar"}" href="https://github.com/features/codespaces"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-codespaces color-fg-subtle mr-3"> <path d="M3.5 3.75C3.5 2.784 4.284 2 5.25 2h13.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 18.75 13H5.25a1.75 1.75 0 0 1-1.75-1.75Zm-2 12c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v4a1.75 1.75 0 0 1-1.75 1.75H3.25a1.75 1.75 0 0 1-1.75-1.75ZM5.25 3.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h13.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Zm-2 12a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h17.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25Z"></path><path d="M10 17.75a.75.75 0 0 1 .75-.75h6.5a.75.75 0 0 1 0 1.5h-6.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> <div> <div class="color-fg-default h4">Codespaces</div> Instant dev environments </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"issues","context":"product","tag":"link","label":"issues_link_product_navbar"}" href="https://github.com/features/issues"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-issue-opened color-fg-subtle mr-3"> <path d="M12 1c6.075 0 11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12 5.925 1 12 1ZM2.5 12a9.5 9.5 0 0 0 9.5 9.5 9.5 9.5 0 0 0 9.5-9.5A9.5 9.5 0 0 0 12 2.5 9.5 9.5 0 0 0 2.5 12Zm9.5 2a2 2 0 1 1-.001-3.999A2 2 0 0 1 12 14Z"></path> </svg> <div> <div class="color-fg-default h4">Issues</div> Plan and track work </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"code_review","context":"product","tag":"link","label":"code_review_link_product_navbar"}" href="https://github.com/features/code-review"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-review color-fg-subtle mr-3"> <path d="M10.3 6.74a.75.75 0 0 1-.04 1.06l-2.908 2.7 2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M1.5 4.25c0-.966.784-1.75 1.75-1.75h17.5c.966 0 1.75.784 1.75 1.75v12.5a1.75 1.75 0 0 1-1.75 1.75h-9.69l-3.573 3.573A1.458 1.458 0 0 1 5 21.043V18.5H3.25a1.75 1.75 0 0 1-1.75-1.75ZM3.25 4a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h2.5a.75.75 0 0 1 .75.75v3.19l3.72-3.72a.749.749 0 0 1 .53-.22h10a.25.25 0 0 0 .25-.25V4.25a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Review</div> Manage code changes </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"discussions","context":"product","tag":"link","label":"discussions_link_product_navbar"}" href="https://github.com/features/discussions"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Discussions</div> Collaborate outside of code </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"code_search","context":"product","tag":"link","label":"code_search_link_product_navbar"}" href="https://github.com/features/code-search"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-code-square color-fg-subtle mr-3"> <path d="M10.3 8.24a.75.75 0 0 1-.04 1.06L7.352 12l2.908 2.7a.75.75 0 1 1-1.02 1.1l-3.5-3.25a.75.75 0 0 1 0-1.1l3.5-3.25a.75.75 0 0 1 1.06.04Zm3.44 1.06a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.908-2.7-2.908-2.7Z"></path><path d="M2 3.75C2 2.784 2.784 2 3.75 2h16.5c.966 0 1.75.784 1.75 1.75v16.5A1.75 1.75 0 0 1 20.25 22H3.75A1.75 1.75 0 0 1 2 20.25Zm1.75-.25a.25.25 0 0 0-.25.25v16.5c0 .138.112.25.25.25h16.5a.25.25 0 0 0 .25-.25V3.75a.25.25 0 0 0-.25-.25Z"></path> </svg> <div> <div class="color-fg-default h4">Code Search</div> Find more, search less </div> </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="product-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="product-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"all_features","context":"product","tag":"link","label":"all_features_link_product_navbar"}" href="https://github.com/features"> All features </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"documentation","context":"product","tag":"link","label":"documentation_link_product_navbar"}" href="https://docs.github.com"> Documentation <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"github_skills","context":"product","tag":"link","label":"github_skills_link_product_navbar"}" href="https://skills.github.com"> GitHub Skills <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"blog","context":"product","tag":"link","label":"blog_link_product_navbar"}" href="https://github.blog"> Blog <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Solutions <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 pb-lg-3 mb-3 mb-lg-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-company-size-heading">By company size</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-company-size-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"enterprises","context":"solutions","tag":"link","label":"enterprises_link_solutions_navbar"}" href="https://github.com/enterprise"> Enterprises </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"small_and_medium_teams","context":"solutions","tag":"link","label":"small_and_medium_teams_link_solutions_navbar"}" href="https://github.com/team"> Small and medium teams </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"startups","context":"solutions","tag":"link","label":"startups_link_solutions_navbar"}" href="https://github.com/enterprise/startups"> Startups </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"nonprofits","context":"solutions","tag":"link","label":"nonprofits_link_solutions_navbar"}" href="/solutions/industry/nonprofits"> Nonprofits </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-use-case-heading">By use case</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-use-case-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devsecops","context":"solutions","tag":"link","label":"devsecops_link_solutions_navbar"}" href="/solutions/use-case/devsecops"> DevSecOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devops","context":"solutions","tag":"link","label":"devops_link_solutions_navbar"}" href="/solutions/use-case/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ci_cd","context":"solutions","tag":"link","label":"ci_cd_link_solutions_navbar"}" href="/solutions/use-case/ci-cd"> CI/CD </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all_use_cases","context":"solutions","tag":"link","label":"view_all_use_cases_link_solutions_navbar"}" href="/solutions/use-case"> View all use cases </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="solutions-by-industry-heading">By industry</span> <ul class="list-style-none f5" aria-labelledby="solutions-by-industry-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"healthcare","context":"solutions","tag":"link","label":"healthcare_link_solutions_navbar"}" href="/solutions/industry/healthcare"> Healthcare </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"financial_services","context":"solutions","tag":"link","label":"financial_services_link_solutions_navbar"}" href="/solutions/industry/financial-services"> Financial services </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"manufacturing","context":"solutions","tag":"link","label":"manufacturing_link_solutions_navbar"}" href="/solutions/industry/manufacturing"> Manufacturing </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"government","context":"solutions","tag":"link","label":"government_link_solutions_navbar"}" href="/solutions/industry/government"> Government </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all_industries","context":"solutions","tag":"link","label":"view_all_industries_link_solutions_navbar"}" href="/solutions/industry"> View all industries </a></li> </ul> </div> </div> <div class="HeaderMenu-trailing-link rounded-bottom-2 flex-shrink-0 mt-lg-4 px-lg-4 py-4 py-lg-3 f5 text-semibold"> <a href="/solutions"> View all solutions <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-right HeaderMenu-trailing-link-icon"> <path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path> </svg> </a> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Resources <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 d-lg-flex flex-wrap dropdown-menu-wide"> <div class="HeaderMenu-column px-lg-4 border-lg-right mb-4 mb-lg-0 pr-lg-7"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-topics-heading">Topics</span> <ul class="list-style-none f5" aria-labelledby="resources-topics-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ai","context":"resources","tag":"link","label":"ai_link_resources_navbar"}" href="/resources/articles/ai"> AI </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"devops","context":"resources","tag":"link","label":"devops_link_resources_navbar"}" href="/resources/articles/devops"> DevOps </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"security","context":"resources","tag":"link","label":"security_link_resources_navbar"}" href="/resources/articles/security"> Security </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"software_development","context":"resources","tag":"link","label":"software_development_link_resources_navbar"}" href="/resources/articles/software-development"> Software Development </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"view_all","context":"resources","tag":"link","label":"view_all_link_resources_navbar"}" href="/resources/articles"> View all </a></li> </ul> </div> </div> <div class="HeaderMenu-column px-lg-4"> <div class="border-bottom pb-3 pb-lg-0 border-lg-bottom-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="resources-explore-heading">Explore</span> <ul class="list-style-none f5" aria-labelledby="resources-explore-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"learning_pathways","context":"resources","tag":"link","label":"learning_pathways_link_resources_navbar"}" href="https://resources.github.com/learn/pathways"> Learning Pathways <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"events_amp_webinars","context":"resources","tag":"link","label":"events_amp_webinars_link_resources_navbar"}" href="https://resources.github.com"> Events & Webinars <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"ebooks_amp_whitepapers","context":"resources","tag":"link","label":"ebooks_amp_whitepapers_link_resources_navbar"}" href="https://github.com/resources/whitepapers"> Ebooks & Whitepapers </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"customer_stories","context":"resources","tag":"link","label":"customer_stories_link_resources_navbar"}" href="https://github.com/customer-stories"> Customer Stories </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary Link--external" target="_blank" data-analytics-event="{"location":"navbar","action":"partners","context":"resources","tag":"link","label":"partners_link_resources_navbar"}" href="https://partner.github.com"> Partners <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-link-external HeaderMenu-external-icon color-fg-subtle"> <path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path> </svg> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"executive_insights","context":"resources","tag":"link","label":"executive_insights_link_resources_navbar"}" href="https://github.com/solutions/executive-insights"> Executive Insights </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Open Source <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"github_sponsors","context":"open_source","tag":"link","label":"github_sponsors_link_open_source_navbar"}" href="/sponsors"> <div> <div class="color-fg-default h4">GitHub Sponsors</div> Fund open source developers </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"the_readme_project","context":"open_source","tag":"link","label":"the_readme_project_link_open_source_navbar"}" href="https://github.com/readme"> <div> <div class="color-fg-default h4">The ReadME Project</div> GitHub community articles </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="open-source-repositories-heading">Repositories</span> <ul class="list-style-none f5" aria-labelledby="open-source-repositories-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"topics","context":"open_source","tag":"link","label":"topics_link_open_source_navbar"}" href="https://github.com/topics"> Topics </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"trending","context":"open_source","tag":"link","label":"trending_link_open_source_navbar"}" href="https://github.com/trending"> Trending </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary" data-analytics-event="{"location":"navbar","action":"collections","context":"open_source","tag":"link","label":"collections_link_open_source_navbar"}" href="https://github.com/collections"> Collections </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <button type="button" class="HeaderMenu-link border-0 width-full width-lg-auto px-0 px-lg-2 py-lg-2 no-wrap d-flex flex-items-center flex-justify-between js-details-target" aria-expanded="false"> Enterprise <svg opacity="0.5" aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-chevron-down HeaderMenu-icon ml-1"> <path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path> </svg> </button> <div class="HeaderMenu-dropdown dropdown-menu rounded m-0 p-0 pt-2 pt-lg-4 position-relative position-lg-absolute left-0 left-lg-n3 pb-2 pb-lg-4 px-lg-4"> <div class="HeaderMenu-column"> <div class="border-bottom pb-3 pb-lg-0 pb-lg-3 mb-3 mb-lg-0 mb-lg-3"> <ul class="list-style-none f5" > <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"enterprise_platform","context":"enterprise","tag":"link","label":"enterprise_platform_link_enterprise_navbar"}" href="/enterprise"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-stack color-fg-subtle mr-3"> <path d="M11.063 1.456a1.749 1.749 0 0 1 1.874 0l8.383 5.316a1.751 1.751 0 0 1 0 2.956l-8.383 5.316a1.749 1.749 0 0 1-1.874 0L2.68 9.728a1.751 1.751 0 0 1 0-2.956Zm1.071 1.267a.25.25 0 0 0-.268 0L3.483 8.039a.25.25 0 0 0 0 .422l8.383 5.316a.25.25 0 0 0 .268 0l8.383-5.316a.25.25 0 0 0 0-.422Z"></path><path d="M1.867 12.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path><path d="M1.867 16.324a.75.75 0 0 1 1.035-.232l8.964 5.685a.25.25 0 0 0 .268 0l8.964-5.685a.75.75 0 0 1 .804 1.267l-8.965 5.685a1.749 1.749 0 0 1-1.874 0l-8.965-5.685a.75.75 0 0 1-.231-1.035Z"></path> </svg> <div> <div class="color-fg-default h4">Enterprise platform</div> AI-powered developer platform </div> </a></li> </ul> </div> <div class="border-bottom pb-3 pb-lg-0 border-bottom-0"> <span class="d-block h4 color-fg-default my-1" id="enterprise-available-add-ons-heading">Available add-ons</span> <ul class="list-style-none f5" aria-labelledby="enterprise-available-add-ons-heading"> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"advanced_security","context":"enterprise","tag":"link","label":"advanced_security_link_enterprise_navbar"}" href="https://github.com/enterprise/advanced-security"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-shield-check color-fg-subtle mr-3"> <path d="M16.53 9.78a.75.75 0 0 0-1.06-1.06L11 13.19l-1.97-1.97a.75.75 0 0 0-1.06 1.06l2.5 2.5a.75.75 0 0 0 1.06 0l5-5Z"></path><path d="m12.54.637 8.25 2.675A1.75 1.75 0 0 1 22 4.976V10c0 6.19-3.771 10.704-9.401 12.83a1.704 1.704 0 0 1-1.198 0C5.77 20.705 2 16.19 2 10V4.976c0-.758.489-1.43 1.21-1.664L11.46.637a1.748 1.748 0 0 1 1.08 0Zm-.617 1.426-8.25 2.676a.249.249 0 0 0-.173.237V10c0 5.46 3.28 9.483 8.43 11.426a.199.199 0 0 0 .14 0C17.22 19.483 20.5 15.461 20.5 10V4.976a.25.25 0 0 0-.173-.237l-8.25-2.676a.253.253 0 0 0-.154 0Z"></path> </svg> <div> <div class="color-fg-default h4">Advanced Security</div> Enterprise-grade security features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description pb-lg-3" data-analytics-event="{"location":"navbar","action":"copilot_for_business","context":"enterprise","tag":"link","label":"copilot_for_business_link_enterprise_navbar"}" href="/features/copilot/copilot-business"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-copilot color-fg-subtle mr-3"> <path d="M23.922 16.992c-.861 1.495-5.859 5.023-11.922 5.023-6.063 0-11.061-3.528-11.922-5.023A.641.641 0 0 1 0 16.736v-2.869a.841.841 0 0 1 .053-.22c.372-.935 1.347-2.292 2.605-2.656.167-.429.414-1.055.644-1.517a10.195 10.195 0 0 1-.052-1.086c0-1.331.282-2.499 1.132-3.368.397-.406.89-.717 1.474-.952 1.399-1.136 3.392-2.093 6.122-2.093 2.731 0 4.767.957 6.166 2.093.584.235 1.077.546 1.474.952.85.869 1.132 2.037 1.132 3.368 0 .368-.014.733-.052 1.086.23.462.477 1.088.644 1.517 1.258.364 2.233 1.721 2.605 2.656a.832.832 0 0 1 .053.22v2.869a.641.641 0 0 1-.078.256ZM12.172 11h-.344a4.323 4.323 0 0 1-.355.508C10.703 12.455 9.555 13 7.965 13c-1.725 0-2.989-.359-3.782-1.259a2.005 2.005 0 0 1-.085-.104L4 11.741v6.585c1.435.779 4.514 2.179 8 2.179 3.486 0 6.565-1.4 8-2.179v-6.585l-.098-.104s-.033.045-.085.104c-.793.9-2.057 1.259-3.782 1.259-1.59 0-2.738-.545-3.508-1.492a4.323 4.323 0 0 1-.355-.508h-.016.016Zm.641-2.935c.136 1.057.403 1.913.878 2.497.442.544 1.134.938 2.344.938 1.573 0 2.292-.337 2.657-.751.384-.435.558-1.15.558-2.361 0-1.14-.243-1.847-.705-2.319-.477-.488-1.319-.862-2.824-1.025-1.487-.161-2.192.138-2.533.529-.269.307-.437.808-.438 1.578v.021c0 .265.021.562.063.893Zm-1.626 0c.042-.331.063-.628.063-.894v-.02c-.001-.77-.169-1.271-.438-1.578-.341-.391-1.046-.69-2.533-.529-1.505.163-2.347.537-2.824 1.025-.462.472-.705 1.179-.705 2.319 0 1.211.175 1.926.558 2.361.365.414 1.084.751 2.657.751 1.21 0 1.902-.394 2.344-.938.475-.584.742-1.44.878-2.497Z"></path><path d="M14.5 14.25a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Zm-5 0a1 1 0 0 1 1 1v2a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1Z"></path> </svg> <div> <div class="color-fg-default h4">Copilot for business</div> Enterprise-grade AI features </div> </a></li> <li> <a class="HeaderMenu-dropdown-link d-block no-underline position-relative py-2 Link--secondary d-flex flex-items-center Link--has-description" data-analytics-event="{"location":"navbar","action":"premium_support","context":"enterprise","tag":"link","label":"premium_support_link_enterprise_navbar"}" href="/premium-support"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-comment-discussion color-fg-subtle mr-3"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 14.25 14H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 15.543V14H1.75A1.75 1.75 0 0 1 0 12.25v-9.5C0 1.784.784 1 1.75 1ZM1.5 2.75v9.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-9.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Z"></path><path d="M22.5 8.75a.25.25 0 0 0-.25-.25h-3.5a.75.75 0 0 1 0-1.5h3.5c.966 0 1.75.784 1.75 1.75v9.5A1.75 1.75 0 0 1 22.25 20H21v1.543a1.457 1.457 0 0 1-2.487 1.03L15.939 20H10.75A1.75 1.75 0 0 1 9 18.25v-1.465a.75.75 0 0 1 1.5 0v1.465c0 .138.112.25.25.25h5.5a.75.75 0 0 1 .53.22l2.72 2.72v-2.19a.75.75 0 0 1 .75-.75h2a.25.25 0 0 0 .25-.25v-9.5Z"></path> </svg> <div> <div class="color-fg-default h4">Premium Support</div> Enterprise-grade 24/7 support </div> </a></li> </ul> </div> </div> </div> </li> <li class="HeaderMenu-item position-relative flex-wrap flex-justify-between flex-items-center d-block d-lg-flex flex-lg-nowrap flex-lg-items-center js-details-container js-header-menu-item"> <a class="HeaderMenu-link no-underline px-0 px-lg-2 py-3 py-lg-2 d-block d-lg-inline-block" data-analytics-event="{"location":"navbar","action":"pricing","context":"global","tag":"link","label":"pricing_link_global_navbar"}" href="https://github.com/pricing">Pricing</a> </li> </ul> </nav> <div class="d-flex flex-column flex-lg-row width-full flex-justify-end flex-lg-items-center text-center mt-3 mt-lg-0 text-lg-left ml-lg-3"> <qbsearch-input class="search-input" data-scope="repo:facebook/react" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="QBWoKatVKpfo0EA97WrXWa6lt8x9y_uT5lDdx9-o969DjWExtckAadAQdrf0yo7J51Y0EX8c6dI3tlRzNjIZtA" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="facebook/react" data-current-org="facebook" data-current-owner="" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true"> <div class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center mr-4 rounded" data-action="click:qbsearch-input#searchInputContainerClicked" > <button type="button" class="header-search-button placeholder input-button form-control d-flex flex-1 flex-self-stretch flex-items-center no-wrap width-full py-0 pl-2 pr-0 text-left border-0 box-shadow-none" data-target="qbsearch-input.inputButton" aria-label="Search or jump to…" aria-haspopup="dialog" placeholder="Search or jump to..." data-hotkey=s,/ autocapitalize="off" data-analytics-event="{"location":"navbar","action":"searchbar","context":"global","tag":"input","label":"searchbar_input_global_navbar"}" data-action="click:qbsearch-input#handleExpand" > <div class="mr-2 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </div> <span class="flex-1" data-target="qbsearch-input.inputButtonText">Search or jump to...</span> <div class="d-flex" data-target="qbsearch-input.hotkeyIndicator"> <svg xmlns="http://www.w3.org/2000/svg" width="22" height="20" aria-hidden="true" class="mr-1"><path fill="none" stroke="#979A9C" opacity=".4" d="M3.5.5h12c1.7 0 3 1.3 3 3v13c0 1.7-1.3 3-3 3h-12c-1.7 0-3-1.3-3-3v-13c0-1.7 1.3-3 3-3z"></path><path fill="#979A9C" d="M11.8 6L8 15.1h-.9L10.8 6h1z"></path></svg> </div> </button> <input type="hidden" name="type" class="js-site-search-type-field"> <div class="Overlay--hidden " data-modal-dialog-overlay> <modal-dialog data-action="close:qbsearch-input#handleClose cancel:qbsearch-input#handleClose" data-target="qbsearch-input.searchSuggestionsDialog" role="dialog" id="search-suggestions-dialog" aria-modal="true" aria-labelledby="search-suggestions-dialog-header" data-view-component="true" class="Overlay Overlay--width-large Overlay--height-auto"> <h1 id="search-suggestions-dialog-header" class="sr-only">Search code, repositories, users, issues, pull requests...</h1> <div class="Overlay-body Overlay-body--paddingNone"> <div data-view-component="true"> <div class="search-suggestions position-fixed width-full color-shadow-large border color-fg-default color-bg-default overflow-hidden d-flex flex-column query-builder-container" style="border-radius: 12px;" data-target="qbsearch-input.queryBuilderContainer" hidden > <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="query-builder-test-form" action="" accept-charset="UTF-8" method="get"> <query-builder data-target="qbsearch-input.queryBuilder" id="query-builder-query-builder-test" data-filter-key=":" data-view-component="true" class="QueryBuilder search-query-builder"> <div class="FormControl FormControl--fullWidth"> <label id="query-builder-test-label" for="query-builder-test" class="FormControl-label sr-only"> Search </label> <div class="QueryBuilder-StyledInput width-fit " data-target="query-builder.styledInput" > <span id="query-builder-test-leadingvisual-wrap" class="FormControl-input-leadingVisualWrap QueryBuilder-leadingVisualWrap"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search FormControl-input-leadingVisual"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </span> <div data-target="query-builder.styledInputContainer" class="QueryBuilder-StyledInputContainer"> <div aria-hidden="true" class="QueryBuilder-StyledInputContent" data-target="query-builder.styledInputContent" ></div> <div class="QueryBuilder-InputWrapper"> <div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div> <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-7e038151-cb91-4820-adb9-78e3fcf67963" data-target="query-builder.input" data-action=" input:query-builder#inputChange blur:query-builder#inputBlur keydown:query-builder#inputKeydown focus:query-builder#inputFocus " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" /> </div> </div> <span class="sr-only" id="query-builder-test-clear">Clear</span> <button role="button" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action=" click:query-builder#clear focus:query-builder#clearButtonFocus blur:query-builder#clearButtonBlur " variant="small" hidden="hidden" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium mr-1 px-2 py-0 d-flex flex-items-center rounded-1 color-fg-muted"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x-circle-fill Button-visual"> <path d="M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z"></path> </svg> </button> </div> <template id="search-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-search"> <path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path> </svg> </template> <template id="code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="file-code-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-file-code"> <path d="M4 1.75C4 .784 4.784 0 5.75 0h5.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 14.25 15h-9a.75.75 0 0 1 0-1.5h9a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 10 4.25V1.5H5.75a.25.25 0 0 0-.25.25v2.5a.75.75 0 0 1-1.5 0Zm1.72 4.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l1.47-1.47-1.47-1.47a.75.75 0 0 1 0-1.06ZM3.28 7.78 1.81 9.25l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Zm8.22-6.218V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914-.013-.011Z"></path> </svg> </template> <template id="history-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-history"> <path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177ZM7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4Z"></path> </svg> </template> <template id="repo-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> </template> <template id="bookmark-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bookmark"> <path d="M3 2.75C3 1.784 3.784 1 4.75 1h6.5c.966 0 1.75.784 1.75 1.75v11.5a.75.75 0 0 1-1.227.579L8 11.722l-3.773 3.107A.751.751 0 0 1 3 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v9.91l3.023-2.489a.75.75 0 0 1 .954 0l3.023 2.49V2.75a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="plus-circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-plus-circle"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7.25-3.25v2.5h2.5a.75.75 0 0 1 0 1.5h-2.5v2.5a.75.75 0 0 1-1.5 0v-2.5h-2.5a.75.75 0 0 1 0-1.5h2.5v-2.5a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="circle-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-dot-fill"> <path d="M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z"></path> </svg> </template> <template id="trash-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-trash"> <path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path> </svg> </template> <template id="team-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-people"> <path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path> </svg> </template> <template id="project-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-project"> <path d="M1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0ZM1.5 1.75v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25ZM11.75 3a.75.75 0 0 1 .75.75v7.5a.75.75 0 0 1-1.5 0v-7.5a.75.75 0 0 1 .75-.75Zm-8.25.75a.75.75 0 0 1 1.5 0v5.5a.75.75 0 0 1-1.5 0ZM8 3a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 8 3Z"></path> </svg> </template> <template id="pencil-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-pencil"> <path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path> </svg> </template> <template id="copilot-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot"> <path d="M7.998 15.035c-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.201-.508-.254-1.084-.254-1.656 0-.87.128-1.769.693-2.484.579-.733 1.494-1.124 2.724-1.261 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095v1.872c0 .766-3.351 3.795-8.002 3.795Zm0-1.485c2.28 0 4.584-1.11 5.002-1.433V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-1.146 0-2.059-.327-2.71-.991A3.222 3.222 0 0 1 8 6.303a3.24 3.24 0 0 1-.544.743c-.65.664-1.563.991-2.71.991-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433ZM6.762 2.83c-.193-.206-.637-.413-1.682-.297-1.019.113-1.479.404-1.713.7-.247.312-.369.789-.369 1.554 0 .793.129 1.171.308 1.371.162.181.519.379 1.442.379.853 0 1.339-.235 1.638-.54.315-.322.527-.827.617-1.553.117-.935-.037-1.395-.241-1.614Zm4.155-.297c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Z"></path><path d="M6.25 9.037a.75.75 0 0 1 .75.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 .75-.75Zm4.25.75v1.501a.75.75 0 0 1-1.5 0V9.787a.75.75 0 0 1 1.5 0Z"></path> </svg> </template> <template id="copilot-error-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copilot-error"> <path d="M16 11.24c0 .112-.072.274-.21.467L13 9.688V7.862l-.023-.116c-.49.21-1.075.291-1.727.291-.198 0-.388-.009-.571-.029L6.833 5.226a4.01 4.01 0 0 0 .17-.782c.117-.935-.037-1.395-.241-1.614-.193-.206-.637-.413-1.682-.297-.683.076-1.115.231-1.395.415l-1.257-.91c.579-.564 1.413-.877 2.485-.996 1.206-.134 2.262.034 2.944.765.05.053.096.108.139.165.044-.057.094-.112.143-.165.682-.731 1.738-.899 2.944-.765 1.23.137 2.145.528 2.724 1.261.566.715.693 1.614.693 2.484 0 .572-.053 1.148-.254 1.656.066.228.098.429.126.612.012.076.024.148.037.218.924.385 1.522 1.471 1.591 2.095Zm-5.083-8.707c-1.044-.116-1.488.091-1.681.297-.204.219-.359.679-.242 1.614.091.726.303 1.231.618 1.553.299.305.784.54 1.638.54.922 0 1.28-.198 1.442-.379.179-.2.308-.578.308-1.371 0-.765-.123-1.242-.37-1.554-.233-.296-.693-.587-1.713-.7Zm2.511 11.074c-1.393.776-3.272 1.428-5.43 1.428-4.562 0-7.873-2.914-7.998-3.749V9.338c.085-.628.677-1.686 1.588-2.065.013-.07.024-.143.036-.218.029-.183.06-.384.126-.612-.18-.455-.241-.963-.252-1.475L.31 4.107A.747.747 0 0 1 0 3.509V3.49a.748.748 0 0 1 .625-.73c.156-.026.306.047.435.139l14.667 10.578a.592.592 0 0 1 .227.264.752.752 0 0 1 .046.249v.022a.75.75 0 0 1-1.19.596Zm-1.367-.991L5.635 7.964a5.128 5.128 0 0 1-.889.073c-.652 0-1.236-.081-1.727-.291l-.023.116v4.255c.419.323 2.722 1.433 5.002 1.433 1.539 0 3.089-.505 4.063-.934Z"></path> </svg> </template> <template id="workflow-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-workflow"> <path d="M0 1.75C0 .784.784 0 1.75 0h3.5C6.216 0 7 .784 7 1.75v3.5A1.75 1.75 0 0 1 5.25 7H4v4a1 1 0 0 0 1 1h4v-1.25C9 9.784 9.784 9 10.75 9h3.5c.966 0 1.75.784 1.75 1.75v3.5A1.75 1.75 0 0 1 14.25 16h-3.5A1.75 1.75 0 0 1 9 14.25v-.75H5A2.5 2.5 0 0 1 2.5 11V7h-.75A1.75 1.75 0 0 1 0 5.25Zm1.75-.25a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Zm9 9a.25.25 0 0 0-.25.25v3.5c0 .138.112.25.25.25h3.5a.25.25 0 0 0 .25-.25v-3.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="book-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </template> <template id="code-review-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-review"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </template> <template id="codespaces-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-codespaces"> <path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path> </svg> </template> <template id="comment-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment"> <path d="M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> </template> <template id="comment-discussion-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-comment-discussion"> <path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path> </svg> </template> <template id="organization-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-organization"> <path d="M1.75 16A1.75 1.75 0 0 1 0 14.25V1.75C0 .784.784 0 1.75 0h8.5C11.216 0 12 .784 12 1.75v12.5c0 .085-.006.168-.018.25h2.268a.25.25 0 0 0 .25-.25V8.285a.25.25 0 0 0-.111-.208l-1.055-.703a.749.749 0 1 1 .832-1.248l1.055.703c.487.325.779.871.779 1.456v5.965A1.75 1.75 0 0 1 14.25 16h-3.5a.766.766 0 0 1-.197-.026c-.099.017-.2.026-.303.026h-3a.75.75 0 0 1-.75-.75V14h-1v1.25a.75.75 0 0 1-.75.75Zm-.25-1.75c0 .138.112.25.25.25H4v-1.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 .75.75v1.25h2.25a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM3.75 6h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 3.75A.75.75 0 0 1 3.75 3h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 3.75Zm4 3A.75.75 0 0 1 7.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 7 6.75ZM7.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM3 9.75A.75.75 0 0 1 3.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 9.75ZM7.75 9h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="rocket-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-rocket"> <path d="M14.064 0h.186C15.216 0 16 .784 16 1.75v.186a8.752 8.752 0 0 1-2.564 6.186l-.458.459c-.314.314-.641.616-.979.904v3.207c0 .608-.315 1.172-.833 1.49l-2.774 1.707a.749.749 0 0 1-1.11-.418l-.954-3.102a1.214 1.214 0 0 1-.145-.125L3.754 9.816a1.218 1.218 0 0 1-.124-.145L.528 8.717a.749.749 0 0 1-.418-1.11l1.71-2.774A1.748 1.748 0 0 1 3.31 4h3.204c.288-.338.59-.665.904-.979l.459-.458A8.749 8.749 0 0 1 14.064 0ZM8.938 3.623h-.002l-.458.458c-.76.76-1.437 1.598-2.02 2.5l-1.5 2.317 2.143 2.143 2.317-1.5c.902-.583 1.74-1.26 2.499-2.02l.459-.458a7.25 7.25 0 0 0 2.123-5.127V1.75a.25.25 0 0 0-.25-.25h-.186a7.249 7.249 0 0 0-5.125 2.123ZM3.56 14.56c-.732.732-2.334 1.045-3.005 1.148a.234.234 0 0 1-.201-.064.234.234 0 0 1-.064-.201c.103-.671.416-2.273 1.15-3.003a1.502 1.502 0 1 1 2.12 2.12Zm6.94-3.935c-.088.06-.177.118-.266.175l-2.35 1.521.548 1.783 1.949-1.2a.25.25 0 0 0 .119-.213ZM3.678 8.116 5.2 5.766c.058-.09.117-.178.176-.266H3.309a.25.25 0 0 0-.213.119l-1.2 1.95ZM12 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </template> <template id="shield-check-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield-check"> <path d="m8.533.133 5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667l5.25-1.68a1.748 1.748 0 0 1 1.066 0Zm-.61 1.429.001.001-5.25 1.68a.251.251 0 0 0-.174.237V7c0 1.36.275 2.666 1.057 3.859.784 1.194 2.121 2.342 4.366 3.298a.196.196 0 0 0 .154 0c2.245-.957 3.582-2.103 4.366-3.297C13.225 9.666 13.5 8.358 13.5 7V3.48a.25.25 0 0 0-.174-.238l-5.25-1.68a.25.25 0 0 0-.153 0ZM11.28 6.28l-3.5 3.5a.75.75 0 0 1-1.06 0l-1.5-1.5a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l.97.97 2.97-2.97a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="heart-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-heart"> <path d="m8 14.25.345.666a.75.75 0 0 1-.69 0l-.008-.004-.018-.01a7.152 7.152 0 0 1-.31-.17 22.055 22.055 0 0 1-3.434-2.414C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.045 5.231-3.885 6.818a22.066 22.066 0 0 1-3.744 2.584l-.018.01-.006.003h-.002ZM4.25 2.5c-1.336 0-2.75 1.164-2.75 3 0 2.15 1.58 4.144 3.365 5.682A20.58 20.58 0 0 0 8 13.393a20.58 20.58 0 0 0 3.135-2.211C12.92 9.644 14.5 7.65 14.5 5.5c0-1.836-1.414-3-2.75-3-1.373 0-2.609.986-3.029 2.456a.749.749 0 0 1-1.442 0C6.859 3.486 5.623 2.5 4.25 2.5Z"></path> </svg> </template> <template id="server-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-server"> <path d="M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v4c0 .372-.116.717-.314 1 .198.283.314.628.314 1v4a1.75 1.75 0 0 1-1.75 1.75H1.75A1.75 1.75 0 0 1 0 12.75v-4c0-.358.109-.707.314-1a1.739 1.739 0 0 1-.314-1v-4C0 1.784.784 1 1.75 1ZM1.5 2.75v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm.25 5.75a.25.25 0 0 0-.25.25v4c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-4a.25.25 0 0 0-.25-.25ZM7 4.75A.75.75 0 0 1 7.75 4h4.5a.75.75 0 0 1 0 1.5h-4.5A.75.75 0 0 1 7 4.75ZM7.75 10h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM3 4.75A.75.75 0 0 1 3.75 4h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 3 4.75ZM3.75 10h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5Z"></path> </svg> </template> <template id="globe-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-globe"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path> </svg> </template> <template id="issue-opened-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </template> <template id="device-mobile-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-mobile"> <path d="M3.75 0h8.5C13.216 0 14 .784 14 1.75v12.5A1.75 1.75 0 0 1 12.25 16h-8.5A1.75 1.75 0 0 1 2 14.25V1.75C2 .784 2.784 0 3.75 0ZM3.5 1.75v12.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25ZM8 13a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path> </svg> </template> <template id="package-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-package"> <path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0ZM7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.248.248 0 0 0-.25 0ZM2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"></path> </svg> </template> <template id="credit-card-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-credit-card"> <path d="M10.75 9a.75.75 0 0 0 0 1.5h1.5a.75.75 0 0 0 0-1.5h-1.5Z"></path><path d="M0 3.75C0 2.784.784 2 1.75 2h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 14H1.75A1.75 1.75 0 0 1 0 12.25ZM14.5 6.5h-13v5.75c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25Zm0-2.75a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25V5h13Z"></path> </svg> </template> <template id="play-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </template> <template id="gift-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-gift"> <path d="M2 2.75A2.75 2.75 0 0 1 4.75 0c.983 0 1.873.42 2.57 1.232.268.318.497.668.68 1.042.183-.375.411-.725.68-1.044C9.376.42 10.266 0 11.25 0a2.75 2.75 0 0 1 2.45 4h.55c.966 0 1.75.784 1.75 1.75v2c0 .698-.409 1.301-1 1.582v4.918A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25V9.332C.409 9.05 0 8.448 0 7.75v-2C0 4.784.784 4 1.75 4h.55c-.192-.375-.3-.8-.3-1.25ZM7.25 9.5H2.5v4.75c0 .138.112.25.25.25h4.5Zm1.5 0v5h4.5a.25.25 0 0 0 .25-.25V9.5Zm0-4V8h5.5a.25.25 0 0 0 .25-.25v-2a.25.25 0 0 0-.25-.25Zm-7 0a.25.25 0 0 0-.25.25v2c0 .138.112.25.25.25h5.5V5.5h-5.5Zm3-4a1.25 1.25 0 0 0 0 2.5h2.309c-.233-.818-.542-1.401-.878-1.793-.43-.502-.915-.707-1.431-.707ZM8.941 4h2.309a1.25 1.25 0 0 0 0-2.5c-.516 0-1 .205-1.43.707-.337.392-.646.975-.879 1.793Z"></path> </svg> </template> <template id="code-square-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code-square"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V1.75a.25.25 0 0 0-.25-.25Zm7.47 3.97a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L10.69 8 9.22 6.53a.75.75 0 0 1 0-1.06ZM6.78 6.53 5.31 8l1.47 1.47a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-2-2a.75.75 0 0 1 0-1.06l2-2a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </template> <template id="device-desktop-icon"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-device-desktop"> <path d="M14.25 1c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 14.25 12h-3.727c.099 1.041.52 1.872 1.292 2.757A.752.752 0 0 1 11.25 16h-6.5a.75.75 0 0 1-.565-1.243c.772-.885 1.192-1.716 1.292-2.757H1.75A1.75 1.75 0 0 1 0 10.25v-7.5C0 1.784.784 1 1.75 1ZM1.75 2.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25ZM9.018 12H6.982a5.72 5.72 0 0 1-.765 2.5h3.566a5.72 5.72 0 0 1-.765-2.5Z"></path> </svg> </template> <div class="position-relative"> <ul role="listbox" class="ActionListWrap QueryBuilder-ListWrap" aria-label="Suggestions" data-action=" combobox-commit:query-builder#comboboxCommit mousedown:query-builder#resultsMousedown " data-target="query-builder.resultsList" data-persist-list=false id="query-builder-test-results" ></ul> </div> <div class="FormControl-inlineValidation" id="validation-7e038151-cb91-4820-adb9-78e3fcf67963" hidden="hidden"> <span class="FormControl-inlineValidation--visual"> <svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill"> <path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path> </svg> </span> <span></span> </div> </div> <div data-target="query-builder.screenReaderFeedback" aria-live="polite" aria-atomic="true" class="sr-only"></div> </query-builder></form> <div class="d-flex flex-row color-fg-muted px-3 text-small color-bg-default search-feedback-prompt"> <a target="_blank" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax" data-view-component="true" class="Link color-fg-accent text-normal ml-2">Search syntax tips</a> <div class="d-flex flex-1"></div> </div> </div> </div> </div> </modal-dialog></div> </div> <div data-action="click:qbsearch-input#retract" class="dark-backdrop position-fixed" hidden data-target="qbsearch-input.darkBackdrop"></div> <div class="color-fg-default"> <dialog-helper> <dialog data-target="qbsearch-input.feedbackDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="feedback-dialog" aria-modal="true" aria-labelledby="feedback-dialog-title" aria-describedby="feedback-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="feedback-dialog-title"> Provide feedback </h1> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="feedback-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="feedback-dialog-title"> <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="kl4OI2h94SnoE4f1gkOB/aEZ59QcBATslEp3gEh6xjReSI8gYjn7KwNK8gecLWnjEltMIxWwl78rg2mxTAFhiA==" /> <p>We read every piece of feedback, and take your input very seriously.</p> <textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea> <input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox"> <label for="include_email" style="font-weight: normal">Include my email address so I can be contacted</label> </form></div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd"> <button data-close-dialog-id="feedback-dialog" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="code-search-feedback-form" data-action="click:qbsearch-input#submitFeedback" type="submit" data-view-component="true" class="btn-primary btn"> Submit feedback </button> </div> </dialog></dialog-helper> <custom-scopes data-target="qbsearch-input.customScopesManager"> <dialog-helper> <dialog data-target="custom-scopes.customScopesModalDialog" data-action="close:qbsearch-input#handleDialogClose cancel:qbsearch-input#handleDialogClose" id="custom-scopes-dialog" aria-modal="true" aria-labelledby="custom-scopes-dialog-title" aria-describedby="custom-scopes-dialog-description" data-view-component="true" class="Overlay Overlay-whenNarrow Overlay--size-medium Overlay--motion-scaleFade Overlay--disableScroll"> <div data-view-component="true" class="Overlay-header Overlay-header--divided"> <div class="Overlay-headerContentWrap"> <div class="Overlay-titleWrap"> <h1 class="Overlay-title " id="custom-scopes-dialog-title"> Saved searches </h1> <h2 id="custom-scopes-dialog-description" class="Overlay-description">Use saved searches to filter your results more quickly</h2> </div> <div class="Overlay-actionWrap"> <button data-close-dialog-id="custom-scopes-dialog" aria-label="Close" type="button" data-view-component="true" class="close-button Overlay-closeButton"><svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg></button> </div> </div> </div> <scrollable-region data-labelled-by="custom-scopes-dialog-title"> <div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="6CkPBp2pVUu/tEFBOb3dGOCv2Rbrjkbb7zuUZprjI/XbMIcIucn6Kv01yMhXpbcJdUFSahkvB8wQn6BIL0zXcg==" /> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> <div class="form-group"> <label for="custom_scope_name">Name</label> <auto-check src="/search/custom_scopes/check_name" required only-validate-on-blur="false"> <input type="text" name="custom_scope_name" id="custom_scope_name" data-target="custom-scopes.customScopesNameField" class="form-control" autocomplete="off" placeholder="github-ruby" required maxlength="50"> <input type="hidden" data-csrf="true" value="X/WS4O1OX76wExL8e3zHQIRisf6pnGqTEdByr5psjKT7woh2nyFqxNp+zQOuWbIr7TsCdZTJa8PQLqPWlyzH/Q==" /> </auto-check> </div> <div class="form-group"> <label for="custom_scope_query">Query</label> <input type="text" name="custom_scope_query" id="custom_scope_query" data-target="custom-scopes.customScopesQueryField" class="form-control" autocomplete="off" placeholder="(repo:mona/a OR repo:mona/b) AND lang:python" required maxlength="500"> </div> <p class="text-small color-fg-muted"> To see all available qualifiers, see our <a class="Link--inTextBlock" href="https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax">documentation</a>. </p> </form> </div> <div data-target="custom-scopes.manageCustomScopesForm"> <div data-target="custom-scopes.list"></div> </div> </div> </scrollable-region> <div data-view-component="true" class="Overlay-footer Overlay-footer--alignEnd Overlay-footer--divided"> <button data-action="click:custom-scopes#customScopesCancel" type="button" data-view-component="true" class="btn"> Cancel </button> <button form="custom-scopes-dialog-form" data-action="click:custom-scopes#customScopesSubmit" data-target="custom-scopes.customScopesSubmitButton" type="submit" data-view-component="true" class="btn-primary btn"> Create saved search </button> </div> </dialog></dialog-helper> </custom-scopes> </div> </qbsearch-input> <div class="position-relative HeaderMenu-link-wrap d-lg-inline-block"> <a href="/login?return_to=https%3A%2F%2Fgithub.com%2Ffacebook%2Freact%2Fblob%2Fmain%2FCHANGELOG.md" class="HeaderMenu-link HeaderMenu-link--sign-in HeaderMenu-button flex-shrink-0 no-underline d-none d-lg-inline-flex border border-lg-0 rounded rounded-lg-0 px-2 py-1" style="margin-left: 12px;" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/facebook/react/blob/main/CHANGELOG.md","user_id":null}}" data-hydro-click-hmac="b4e1dc55364ac120a10f382cc1ccb131c0ef823b772b57cf4d1e41e25196d6a2" data-analytics-event="{"category":"Marketing nav","action":"click to go to homepage","label":"ref_page:Marketing;ref_cta:Sign in;ref_loc:Header"}" > Sign in </a> </div> <a href="/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fblob%2Fshow&source=header-repo&source_repo=facebook%2Freact" class="HeaderMenu-link HeaderMenu-link--sign-up HeaderMenu-button flex-shrink-0 d-flex d-lg-inline-flex no-underline border color-border-default rounded px-2 py-1" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"site header menu","repository_id":null,"auth_type":"SIGN_UP","originating_url":"https://github.com/facebook/react/blob/main/CHANGELOG.md","user_id":null}}" data-hydro-click-hmac="b4e1dc55364ac120a10f382cc1ccb131c0ef823b772b57cf4d1e41e25196d6a2" data-analytics-event="{"category":"Sign up","action":"click to sign up for account","label":"ref_page:/<user-name>/<repo-name>/blob/show;ref_cta:Sign up;ref_loc:header logged out"}" > Sign up </a> <button type="button" class="sr-only js-header-menu-focus-trap d-block d-lg-none">Reseting focus</button> </div> </div> </div> </div> </header> <div hidden="hidden" data-view-component="true" class="js-stale-session-flash stale-session-flash flash flash-warn flash-full"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span class="js-stale-session-flash-signed-in" hidden>You signed in with another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span> <button id="icon-button-e0c4006e-c639-4e4b-bf06-cc2631710471" aria-labelledby="tooltip-5e7f2908-27a6-40aa-b31c-26507dc32f25" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button><tool-tip id="tooltip-5e7f2908-27a6-40aa-b31c-26507dc32f25" for="icon-button-e0c4006e-c639-4e4b-bf06-cc2631710471" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> </div> </div> <div id="start-of-content" class="show-on-focus"></div> <div id="js-flash-container" class="flash-container" data-turbo-replace> <template class="js-flash-template"> <div class="flash flash-full {{ className }}"> <div > <button autofocus class="flash-close js-flash-close" type="button" aria-label="Dismiss this message"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div aria-atomic="true" role="alert" class="js-flash-alert"> <div>{{ message }}</div> </div> </div> </div> </template> </div> <div class="application-main " data-commit-hovercards-enabled data-discussion-hovercards-enabled data-issue-and-pr-hovercards-enabled data-project-hovercards-enabled > <div itemscope itemtype="http://schema.org/SoftwareSourceCode" class=""> <main id="js-repo-pjax-container" > <div id="repository-container-header" class="pt-3 hide-full-screen" style="background-color: var(--page-header-bgColor, var(--color-page-header-bg));" data-turbo-replace> <div class="d-flex flex-nowrap flex-justify-end mb-3 px-3 px-lg-5" style="gap: 1rem;"> <div class="flex-auto min-width-0 width-fit"> <div class=" d-flex flex-wrap flex-items-center wb-break-word f3 text-normal"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo color-fg-muted mr-2"> <path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"></path> </svg> <span class="author flex-self-stretch" itemprop="author"> <a class="url fn" rel="author" data-hovercard-type="organization" data-hovercard-url="/orgs/facebook/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="/facebook"> facebook </a> </span> <span class="mx-1 flex-self-stretch color-fg-muted">/</span> <strong itemprop="name" class="mr-2 flex-self-stretch"> <a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="/facebook/react">react</a> </strong> <span></span><span class="Label Label--secondary v-align-middle mr-1">Public</span> </div> </div> <div id="repository-details-container" class="flex-shrink-0" data-turbo-replace style="max-width: 70%;"> <ul class="pagehead-actions flex-shrink-0 d-none d-md-inline" style="padding: 2px 0;"> <li> <a href="/login?return_to=%2Ffacebook%2Freact" rel="nofollow" id="repository-details-watch-button" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"notification subscription menu watch","repository_id":null,"auth_type":"LOG_IN","originating_url":"https://github.com/facebook/react/blob/main/CHANGELOG.md","user_id":null}}" data-hydro-click-hmac="a34ef30a882f1ce30ccc5d6590eb6b9ca6f9c78ff95954afb0a301255794c18b" aria-label="You must be signed in to change notification settings" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-bell mr-2"> <path d="M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z"></path> </svg>Notifications </a> <tool-tip id="tooltip-6e1f105d-d179-41aa-9970-70ee325305ca" for="repository-details-watch-button" popover="manual" data-direction="s" data-type="description" data-view-component="true" class="sr-only position-absolute">You must be signed in to change notification settings</tool-tip> </li> <li> <a icon="repo-forked" id="fork-button" href="/login?return_to=%2Ffacebook%2Freact" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"repo details fork button","repository_id":10270250,"auth_type":"LOG_IN","originating_url":"https://github.com/facebook/react/blob/main/CHANGELOG.md","user_id":null}}" data-hydro-click-hmac="91fba2639b6d8e06e5e48dad8d58bfe3b616beb1b14b412626da87d54ca4b3b1" data-view-component="true" class="btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-repo-forked mr-2"> <path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"></path> </svg>Fork <span id="repo-network-counter" data-pjax-replace="true" data-turbo-replace="true" title="48,020" data-view-component="true" class="Counter">48k</span> </a> </li> <li> <div data-view-component="true" class="BtnGroup d-flex"> <a href="/login?return_to=%2Ffacebook%2Freact" rel="nofollow" data-hydro-click="{"event_type":"authentication.click","payload":{"location_in_page":"star button","repository_id":10270250,"auth_type":"LOG_IN","originating_url":"https://github.com/facebook/react/blob/main/CHANGELOG.md","user_id":null}}" data-hydro-click-hmac="7652817966a6cd0786c6f8e82ed94ee5a5e8b0d8a354a99a31148e8040ac314f" aria-label="You must be signed in to star a repository" data-view-component="true" class="tooltipped tooltipped-sw btn-sm btn"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-star v-align-text-bottom d-inline-block mr-2"> <path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"></path> </svg><span data-view-component="true" class="d-inline"> Star </span> <span id="repo-stars-counter-star" aria-label="233708 users starred this repository" data-singular-suffix="user starred this repository" data-plural-suffix="users starred this repository" data-turbo-replace="true" title="233,708" data-view-component="true" class="Counter js-social-count">234k</span> </a></div> </li> </ul> </div> </div> <div id="responsive-meta-container" data-turbo-replace> </div> <nav data-pjax="#js-repo-pjax-container" aria-label="Repository" data-view-component="true" class="js-repo-nav js-sidenav-container-pjax js-responsive-underlinenav overflow-hidden UnderlineNav px-3 px-md-4 px-lg-5"> <ul data-view-component="true" class="UnderlineNav-body list-style-none"> <li data-view-component="true" class="d-inline-flex"> <a id="code-tab" href="/facebook/react" data-tab-item="i0code-tab" data-selected-links="repo_source repo_downloads repo_commits repo_releases repo_tags repo_branches repo_packages repo_deployments repo_attestations /facebook/react" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g c" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Code","target":"UNDERLINE_NAV.TAB"}" aria-current="page" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item selected"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code UnderlineNav-octicon d-none d-sm-inline"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> <span data-content="Code">Code</span> <span id="code-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="issues-tab" href="/facebook/react/issues" data-tab-item="i1issues-tab" data-selected-links="repo_issues repo_labels repo_milestones /facebook/react/issues" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g i" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Issues","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> <span data-content="Issues">Issues</span> <span id="issues-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="776" data-view-component="true" class="Counter">776</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="pull-requests-tab" href="/facebook/react/pulls" data-tab-item="i2pull-requests-tab" data-selected-links="repo_pulls checks /facebook/react/pulls" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g p" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Pull requests","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> <span data-content="Pull requests">Pull requests</span> <span id="pull-requests-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="182" data-view-component="true" class="Counter">182</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="actions-tab" href="/facebook/react/actions" data-tab-item="i3actions-tab" data-selected-links="repo_actions /facebook/react/actions" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g a" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Actions","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play UnderlineNav-octicon d-none d-sm-inline"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> <span data-content="Actions">Actions</span> <span id="actions-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="projects-tab" href="/facebook/react/projects" data-tab-item="i4projects-tab" data-selected-links="repo_projects new_repo_project repo_project /facebook/react/projects" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g b" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Projects","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> <span data-content="Projects">Projects</span> <span id="projects-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="0" hidden="hidden" data-view-component="true" class="Counter">0</span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="wiki-tab" href="/facebook/react/wiki" data-tab-item="i5wiki-tab" data-selected-links="repo_wiki /facebook/react/wiki" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g w" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Wiki","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book UnderlineNav-octicon d-none d-sm-inline"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> <span data-content="Wiki">Wiki</span> <span id="wiki-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="security-tab" href="/facebook/react/security" data-tab-item="i6security-tab" data-selected-links="security overview alerts policy token_scanning code_scanning /facebook/react/security" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-hotkey="g s" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Security","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield UnderlineNav-octicon d-none d-sm-inline"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <span data-content="Security">Security</span> <include-fragment src="/facebook/react/security/overall-count" accept="text/fragment+html"></include-fragment> </a></li> <li data-view-component="true" class="d-inline-flex"> <a id="insights-tab" href="/facebook/react/pulse" data-tab-item="i7insights-tab" data-selected-links="repo_graphs repo_contributors dependency_graph dependabot_updates pulse people community /facebook/react/pulse" data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" data-analytics-event="{"category":"Underline navbar","action":"Click tab","label":"Insights","target":"UNDERLINE_NAV.TAB"}" data-view-component="true" class="UnderlineNav-item no-wrap js-responsive-underlinenav-item js-selected-navigation-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph UnderlineNav-octicon d-none d-sm-inline"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> <span data-content="Insights">Insights</span> <span id="insights-repo-tab-count" data-pjax-replace="" data-turbo-replace="" title="Not available" data-view-component="true" class="Counter"></span> </a></li> </ul> <div style="visibility:hidden;" data-view-component="true" class="UnderlineNav-actions js-responsive-underlinenav-overflow position-absolute pr-3 pr-md-4 pr-lg-5 right-0"> <action-menu data-select-variant="none" data-view-component="true"> <focus-group direction="vertical" mnemonics retain> <button id="action-menu-e0a8fc62-9ad1-4988-9b03-9b1c0c2e88dc-button" popovertarget="action-menu-e0a8fc62-9ad1-4988-9b03-9b1c0c2e88dc-overlay" aria-controls="action-menu-e0a8fc62-9ad1-4988-9b03-9b1c0c2e88dc-list" aria-haspopup="true" aria-labelledby="tooltip-c7c67bb4-30ca-45b3-8134-5959e0561ee8" type="button" data-view-component="true" class="Button Button--iconOnly Button--secondary Button--medium UnderlineNav-item"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-kebab-horizontal Button-visual"> <path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path> </svg> </button><tool-tip id="tooltip-c7c67bb4-30ca-45b3-8134-5959e0561ee8" for="action-menu-e0a8fc62-9ad1-4988-9b03-9b1c0c2e88dc-button" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Additional navigation options</tool-tip> <anchored-position data-target="action-menu.overlay" id="action-menu-e0a8fc62-9ad1-4988-9b03-9b1c0c2e88dc-overlay" anchor="action-menu-e0a8fc62-9ad1-4988-9b03-9b1c0c2e88dc-button" align="start" side="outside-bottom" anchor-offset="normal" popover="auto" data-view-component="true"> <div data-view-component="true" class="Overlay Overlay--size-auto"> <div data-view-component="true" class="Overlay-body Overlay-body--paddingNone"> <action-list> <div data-view-component="true"> <ul aria-labelledby="action-menu-e0a8fc62-9ad1-4988-9b03-9b1c0c2e88dc-button" id="action-menu-e0a8fc62-9ad1-4988-9b03-9b1c0c2e88dc-list" role="menu" data-view-component="true" class="ActionListWrap--inset ActionListWrap"> <li hidden="hidden" data-menu-item="i0code-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-2a0d2a37-014c-4fe9-b157-0d0c7014156e" href="/facebook/react" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-code"> <path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Code </span> </a> </li> <li hidden="hidden" data-menu-item="i1issues-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-3270c7a3-7b2c-43dd-bbf1-b3f305081caf" href="/facebook/react/issues" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-issue-opened"> <path d="M8 9.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Issues </span> </a> </li> <li hidden="hidden" data-menu-item="i2pull-requests-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-6220adf2-ced8-49d9-9608-c143fc9f518e" href="/facebook/react/pulls" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-git-pull-request"> <path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Pull requests </span> </a> </li> <li hidden="hidden" data-menu-item="i3actions-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-3e6792d3-4102-417f-b64b-89e13ac229fc" href="/facebook/react/actions" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-play"> <path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Actions </span> </a> </li> <li hidden="hidden" data-menu-item="i4projects-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-a237a91a-874b-4c43-8e11-c99efdd9455a" href="/facebook/react/projects" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-table"> <path d="M0 1.75C0 .784.784 0 1.75 0h12.5C15.216 0 16 .784 16 1.75v12.5A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25ZM6.5 6.5v8h7.75a.25.25 0 0 0 .25-.25V6.5Zm8-1.5V1.75a.25.25 0 0 0-.25-.25H6.5V5Zm-13 1.5v7.75c0 .138.112.25.25.25H5v-8ZM5 5V1.5H1.75a.25.25 0 0 0-.25.25V5Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Projects </span> </a> </li> <li hidden="hidden" data-menu-item="i5wiki-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-04205143-8cd1-4b04-8c69-25061d836f7c" href="/facebook/react/wiki" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-book"> <path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.743 3.743 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574ZM8.755 4.75l-.004 7.322a3.752 3.752 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Wiki </span> </a> </li> <li hidden="hidden" data-menu-item="i6security-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-17fc5573-9a2c-407c-a9b6-2d025a6ffc4f" href="/facebook/react/security" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-shield"> <path d="M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Security </span> </a> </li> <li hidden="hidden" data-menu-item="i7insights-tab" data-targets="action-list.items" role="none" data-view-component="true" class="ActionListItem"> <a tabindex="-1" id="item-501a394c-5b38-4a4b-9346-0cd336a49a27" href="/facebook/react/pulse" role="menuitem" data-view-component="true" class="ActionListContent ActionListContent--visual16"> <span class="ActionListItem-visual ActionListItem-visual--leading"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-graph"> <path d="M1.5 1.75V13.5h13.75a.75.75 0 0 1 0 1.5H.75a.75.75 0 0 1-.75-.75V1.75a.75.75 0 0 1 1.5 0Zm14.28 2.53-5.25 5.25a.75.75 0 0 1-1.06 0L7 7.06 4.28 9.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.25-3.25a.75.75 0 0 1 1.06 0L10 7.94l4.72-4.72a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z"></path> </svg> </span> <span data-view-component="true" class="ActionListItem-label"> Insights </span> </a> </li> </ul> </div></action-list> </div> </div></anchored-position> </focus-group> </action-menu></div> </nav> </div> <turbo-frame id="repo-content-turbo-frame" target="_top" data-turbo-action="advance" class=""> <div id="repo-content-pjax-container" class="repository-content " > <react-app app-name="react-code-view" initial-path="/facebook/react/blob/main/CHANGELOG.md" style="display: block; min-height: calc(100vh - 64px);" data-attempted-ssr="true" data-ssr="false" data-lazy="false" data-alternate="false" data-data-router-enabled="false" > <script type="application/json" data-target="react-app.embeddedData">{"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":".codesandbox","path":".codesandbox","contentType":"directory"},{"name":".github","path":".github","contentType":"directory"},{"name":"compiler","path":"compiler","contentType":"directory"},{"name":"fixtures","path":"fixtures","contentType":"directory"},{"name":"packages","path":"packages","contentType":"directory"},{"name":"scripts","path":"scripts","contentType":"directory"},{"name":".editorconfig","path":".editorconfig","contentType":"file"},{"name":".eslintignore","path":".eslintignore","contentType":"file"},{"name":".eslintrc.js","path":".eslintrc.js","contentType":"file"},{"name":".git-blame-ignore-revs","path":".git-blame-ignore-revs","contentType":"file"},{"name":".gitattributes","path":".gitattributes","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".mailmap","path":".mailmap","contentType":"file"},{"name":".nvmrc","path":".nvmrc","contentType":"file"},{"name":".prettierignore","path":".prettierignore","contentType":"file"},{"name":".prettierrc.js","path":".prettierrc.js","contentType":"file"},{"name":".watchmanconfig","path":".watchmanconfig","contentType":"file"},{"name":"CHANGELOG-canary.md","path":"CHANGELOG-canary.md","contentType":"file"},{"name":"CHANGELOG.md","path":"CHANGELOG.md","contentType":"file"},{"name":"CODE_OF_CONDUCT.md","path":"CODE_OF_CONDUCT.md","contentType":"file"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"MAINTAINERS","path":"MAINTAINERS","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"ReactVersions.js","path":"ReactVersions.js","contentType":"file"},{"name":"SECURITY.md","path":"SECURITY.md","contentType":"file"},{"name":"babel.config-react-compiler.js","path":"babel.config-react-compiler.js","contentType":"file"},{"name":"babel.config-ts.js","path":"babel.config-ts.js","contentType":"file"},{"name":"babel.config.js","path":"babel.config.js","contentType":"file"},{"name":"dangerfile.js","path":"dangerfile.js","contentType":"file"},{"name":"package.json","path":"package.json","contentType":"file"},{"name":"react.code-workspace","path":"react.code-workspace","contentType":"file"},{"name":"yarn.lock","path":"yarn.lock","contentType":"file"}],"totalCount":33}},"fileTreeProcessingTime":6.010999,"foldersToFetch":[],"repo":{"id":10270250,"defaultBranch":"main","name":"react","ownerLogin":"facebook","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2013-05-24T16:15:54.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/69631?v=4","public":true,"private":false,"isOrgOwned":true},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"main","listCacheKey":"v0:1743038599.0","canEdit":false,"refType":"branch","currentOid":"4280563b04898baad423dc7d0f8b0dfea3b1797a"},"path":"CHANGELOG.md","currentUser":null,"blob":{"rawLines":null,"stylingDirectives":null,"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/facebook/react/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"CHANGELOG.md","displayUrl":"https://github.com/facebook/react/blob/main/CHANGELOG.md?raw=true","headerInfo":{"blobSize":"246 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"973d088","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Ffacebook%2Freact%2Fblob%2Fmain%2FCHANGELOG.md","isCSV":false,"isRichtext":true,"toc":[{"level":2,"text":"19.0.0 (December 5, 2024)","anchor":"1900-december-5-2024","htmlText":"19.0.0 (December 5, 2024)"},{"level":3,"text":"New Features","anchor":"new-features","htmlText":"New Features"},{"level":4,"text":"React","anchor":"react","htmlText":"React"},{"level":4,"text":"React DOM Client","anchor":"react-dom-client","htmlText":"React DOM Client"},{"level":4,"text":"React DOM Server","anchor":"react-dom-server","htmlText":"React DOM Server"},{"level":4,"text":"React Server Components","anchor":"react-server-components","htmlText":"React Server Components"},{"level":3,"text":"Deprecations","anchor":"deprecations","htmlText":"Deprecations"},{"level":3,"text":"Breaking Changes","anchor":"breaking-changes","htmlText":"Breaking Changes"},{"level":3,"text":"React","anchor":"react-1","htmlText":"React"},{"level":4,"text":"React DOM","anchor":"react-dom","htmlText":"React DOM"},{"level":3,"text":"Notable Changes","anchor":"notable-changes","htmlText":"Notable Changes"},{"level":4,"text":"React","anchor":"react-2","htmlText":"React"},{"level":4,"text":"React DOM","anchor":"react-dom-1","htmlText":"React DOM"},{"level":3,"text":"TypeScript Changes","anchor":"typescript-changes","htmlText":"TypeScript Changes"},{"level":3,"text":"All Changes","anchor":"all-changes","htmlText":"All Changes"},{"level":4,"text":"React","anchor":"react-3","htmlText":"React"},{"level":4,"text":"React DOM","anchor":"react-dom-2","htmlText":"React DOM"},{"level":4,"text":"React DOM Server","anchor":"react-dom-server-1","htmlText":"React DOM Server"},{"level":4,"text":"ReactTestRenderer","anchor":"reacttestrenderer","htmlText":"ReactTestRenderer"},{"level":4,"text":"React Reconciler","anchor":"react-reconciler","htmlText":"React Reconciler"},{"level":4,"text":"React-Is","anchor":"react-is","htmlText":"React-Is"},{"level":4,"text":"useSyncExternalStore","anchor":"usesyncexternalstore","htmlText":"useSyncExternalStore"},{"level":2,"text":"18.3.1 (April 26, 2024)","anchor":"1831-april-26-2024","htmlText":"18.3.1 (April 26, 2024)"},{"level":2,"text":"18.3.0 (April 25, 2024)","anchor":"1830-april-25-2024","htmlText":"18.3.0 (April 25, 2024)"},{"level":3,"text":"React","anchor":"react-4","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-3","htmlText":"React DOM"},{"level":2,"text":"18.2.0 (June 14, 2022)","anchor":"1820-june-14-2022","htmlText":"18.2.0 (June 14, 2022)"},{"level":3,"text":"React DOM","anchor":"react-dom-4","htmlText":"React DOM"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-2","htmlText":"React DOM Server"},{"level":3,"text":"Server Components (Experimental)","anchor":"server-components-experimental","htmlText":"Server Components (Experimental)"},{"level":2,"text":"18.1.0 (April 26, 2022)","anchor":"1810-april-26-2022","htmlText":"18.1.0 (April 26, 2022)"},{"level":3,"text":"React DOM","anchor":"react-dom-5","htmlText":"React DOM"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-3","htmlText":"React DOM Server"},{"level":3,"text":"ESLint Plugin: React Hooks","anchor":"eslint-plugin-react-hooks","htmlText":"ESLint Plugin: React Hooks"},{"level":3,"text":"Use Subscription","anchor":"use-subscription","htmlText":"Use Subscription"},{"level":2,"text":"18.0.0 (March 29, 2022)","anchor":"1800-march-29-2022","htmlText":"18.0.0 (March 29, 2022)"},{"level":3,"text":"New Features","anchor":"new-features-1","htmlText":"New Features"},{"level":3,"text":"React","anchor":"react-5","htmlText":"React"},{"level":3,"text":"React DOM Client","anchor":"react-dom-client-1","htmlText":"React DOM Client"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-4","htmlText":"React DOM Server"},{"level":2,"text":"Deprecations","anchor":"deprecations-1","htmlText":"Deprecations"},{"level":2,"text":"Breaking Changes","anchor":"breaking-changes-1","htmlText":"Breaking Changes"},{"level":3,"text":"React","anchor":"react-6","htmlText":"React"},{"level":3,"text":"Scheduler (Experimental)","anchor":"scheduler-experimental","htmlText":"Scheduler (Experimental)"},{"level":2,"text":"Notable Changes","anchor":"notable-changes-1","htmlText":"Notable Changes"},{"level":3,"text":"React","anchor":"react-7","htmlText":"React"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-5","htmlText":"React DOM Server"},{"level":2,"text":"All Changes","anchor":"all-changes-1","htmlText":"All Changes"},{"level":2,"text":"React","anchor":"react-8","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-6","htmlText":"React DOM"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-6","htmlText":"React DOM Server"},{"level":3,"text":"React DOM Test Utils","anchor":"react-dom-test-utils","htmlText":"React DOM Test Utils"},{"level":3,"text":"React Refresh","anchor":"react-refresh","htmlText":"React Refresh"},{"level":3,"text":"Server Components (Experimental)","anchor":"server-components-experimental-1","htmlText":"Server Components (Experimental)"},{"level":3,"text":"Scheduler (Experimental)","anchor":"scheduler-experimental-1","htmlText":"Scheduler (Experimental)"},{"level":2,"text":"17.0.2 (March 22, 2021)","anchor":"1702-march-22-2021","htmlText":"17.0.2 (March 22, 2021)"},{"level":3,"text":"React DOM","anchor":"react-dom-7","htmlText":"React DOM"},{"level":2,"text":"17.0.1 (October 22, 2020)","anchor":"1701-october-22-2020","htmlText":"17.0.1 (October 22, 2020)"},{"level":3,"text":"React DOM","anchor":"react-dom-8","htmlText":"React DOM"},{"level":2,"text":"17.0.0 (October 20, 2020)","anchor":"1700-october-20-2020","htmlText":"17.0.0 (October 20, 2020)"},{"level":3,"text":"React","anchor":"react-9","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-9","htmlText":"React DOM"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-7","htmlText":"React DOM Server"},{"level":3,"text":"React Test Renderer","anchor":"react-test-renderer","htmlText":"React Test Renderer"},{"level":3,"text":"Concurrent Mode (Experimental)","anchor":"concurrent-mode-experimental","htmlText":"Concurrent Mode (Experimental)"},{"level":2,"text":"16.14.0 (October 14, 2020)","anchor":"16140-october-14-2020","htmlText":"16.14.0 (October 14, 2020)"},{"level":3,"text":"React","anchor":"react-10","htmlText":"React"},{"level":2,"text":"16.13.1 (March 19, 2020)","anchor":"16131-march-19-2020","htmlText":"16.13.1 (March 19, 2020)"},{"level":3,"text":"React DOM","anchor":"react-dom-10","htmlText":"React DOM"},{"level":2,"text":"16.13.0 (February 26, 2020)","anchor":"16130-february-26-2020","htmlText":"16.13.0 (February 26, 2020)"},{"level":3,"text":"React","anchor":"react-11","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-11","htmlText":"React DOM"},{"level":3,"text":"Concurrent Mode (Experimental)","anchor":"concurrent-mode-experimental-1","htmlText":"Concurrent Mode (Experimental)"},{"level":2,"text":"16.12.0 (November 14, 2019)","anchor":"16120-november-14-2019","htmlText":"16.12.0 (November 14, 2019)"},{"level":3,"text":"React DOM","anchor":"react-dom-12","htmlText":"React DOM"},{"level":3,"text":"React Is","anchor":"react-is-1","htmlText":"React Is"},{"level":2,"text":"16.11.0 (October 22, 2019)","anchor":"16110-october-22-2019","htmlText":"16.11.0 (October 22, 2019)"},{"level":3,"text":"React DOM","anchor":"react-dom-13","htmlText":"React DOM"},{"level":2,"text":"16.10.2 (October 3, 2019)","anchor":"16102-october-3-2019","htmlText":"16.10.2 (October 3, 2019)"},{"level":3,"text":"React DOM","anchor":"react-dom-14","htmlText":"React DOM"},{"level":2,"text":"16.10.1 (September 28, 2019)","anchor":"16101-september-28-2019","htmlText":"16.10.1 (September 28, 2019)"},{"level":3,"text":"React DOM","anchor":"react-dom-15","htmlText":"React DOM"},{"level":2,"text":"16.10.0 (September 27, 2019)","anchor":"16100-september-27-2019","htmlText":"16.10.0 (September 27, 2019)"},{"level":3,"text":"React DOM","anchor":"react-dom-16","htmlText":"React DOM"},{"level":3,"text":"Scheduler (Experimental)","anchor":"scheduler-experimental-2","htmlText":"Scheduler (Experimental)"},{"level":3,"text":"useSubscription","anchor":"usesubscription","htmlText":"useSubscription"},{"level":2,"text":"16.9.0 (August 8, 2019)","anchor":"1690-august-8-2019","htmlText":"16.9.0 (August 8, 2019)"},{"level":3,"text":"React","anchor":"react-12","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-17","htmlText":"React DOM"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-8","htmlText":"React DOM Server"},{"level":3,"text":"React Test Utilities and Test Renderer","anchor":"react-test-utilities-and-test-renderer","htmlText":"React Test Utilities and Test Renderer"},{"level":3,"text":"ESLint Plugin: React Hooks","anchor":"eslint-plugin-react-hooks-1","htmlText":"ESLint Plugin: React Hooks"},{"level":2,"text":"16.8.6 (March 27, 2019)","anchor":"1686-march-27-2019","htmlText":"16.8.6 (March 27, 2019)"},{"level":3,"text":"React DOM","anchor":"react-dom-18","htmlText":"React DOM"},{"level":2,"text":"16.8.5 (March 22, 2019)","anchor":"1685-march-22-2019","htmlText":"16.8.5 (March 22, 2019)"},{"level":3,"text":"React DOM","anchor":"react-dom-19","htmlText":"React DOM"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-9","htmlText":"React DOM Server"},{"level":3,"text":"React Shallow Renderer","anchor":"react-shallow-renderer","htmlText":"React Shallow Renderer"},{"level":2,"text":"16.8.4 (March 5, 2019)","anchor":"1684-march-5-2019","htmlText":"16.8.4 (March 5, 2019)"},{"level":3,"text":"React DOM and other renderers","anchor":"react-dom-and-other-renderers","htmlText":"React DOM and other renderers"},{"level":2,"text":"16.8.3 (February 21, 2019)","anchor":"1683-february-21-2019","htmlText":"16.8.3 (February 21, 2019)"},{"level":3,"text":"React DOM","anchor":"react-dom-20","htmlText":"React DOM"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-10","htmlText":"React DOM Server"},{"level":3,"text":"ESLint Plugin for React Hooks","anchor":"eslint-plugin-for-react-hooks","htmlText":"ESLint Plugin for React Hooks"},{"level":2,"text":"16.8.2 (February 14, 2019)","anchor":"1682-february-14-2019","htmlText":"16.8.2 (February 14, 2019)"},{"level":3,"text":"React DOM","anchor":"react-dom-21","htmlText":"React DOM"},{"level":3,"text":"React Test Utils and React Test Renderer","anchor":"react-test-utils-and-react-test-renderer","htmlText":"React Test Utils and React Test Renderer"},{"level":2,"text":"16.8.1 (February 6, 2019)","anchor":"1681-february-6-2019","htmlText":"16.8.1 (February 6, 2019)"},{"level":3,"text":"React DOM and React Test Renderer","anchor":"react-dom-and-react-test-renderer","htmlText":"React DOM and React Test Renderer"},{"level":3,"text":"React Test Utils","anchor":"react-test-utils","htmlText":"React Test Utils"},{"level":2,"text":"16.8.0 (February 6, 2019)","anchor":"1680-february-6-2019","htmlText":"16.8.0 (February 6, 2019)"},{"level":3,"text":"React","anchor":"react-13","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-22","htmlText":"React DOM"},{"level":3,"text":"React Test Renderer and Test Utils","anchor":"react-test-renderer-and-test-utils","htmlText":"React Test Renderer and Test Utils"},{"level":3,"text":"ESLint Plugin: React Hooks","anchor":"eslint-plugin-react-hooks-2","htmlText":"ESLint Plugin: React Hooks"},{"level":2,"text":"16.7.0 (December 19, 2018)","anchor":"1670-december-19-2018","htmlText":"16.7.0 (December 19, 2018)"},{"level":3,"text":"React DOM","anchor":"react-dom-23","htmlText":"React DOM"},{"level":3,"text":"Scheduler (Experimental)","anchor":"scheduler-experimental-3","htmlText":"Scheduler (Experimental)"},{"level":2,"text":"16.6.3 (November 12, 2018)","anchor":"1663-november-12-2018","htmlText":"16.6.3 (November 12, 2018)"},{"level":3,"text":"React DOM","anchor":"react-dom-24","htmlText":"React DOM"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-11","htmlText":"React DOM Server"},{"level":2,"text":"16.6.2 (November 12, 2018)","anchor":"1662-november-12-2018","htmlText":"16.6.2 (November 12, 2018)"},{"level":2,"text":"16.6.1 (November 6, 2018)","anchor":"1661-november-6-2018","htmlText":"16.6.1 (November 6, 2018)"},{"level":3,"text":"React DOM","anchor":"react-dom-25","htmlText":"React DOM"},{"level":3,"text":"Scheduler (Experimental)","anchor":"scheduler-experimental-4","htmlText":"Scheduler (Experimental)"},{"level":2,"text":"16.6.0 (October 23, 2018)","anchor":"1660-october-23-2018","htmlText":"16.6.0 (October 23, 2018)"},{"level":3,"text":"React","anchor":"react-14","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-26","htmlText":"React DOM"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-12","htmlText":"React DOM Server"},{"level":3,"text":"Scheduler (Experimental)","anchor":"scheduler-experimental-5","htmlText":"Scheduler (Experimental)"},{"level":2,"text":"16.5.2 (September 18, 2018)","anchor":"1652-september-18-2018","htmlText":"16.5.2 (September 18, 2018)"},{"level":3,"text":"React DOM","anchor":"react-dom-27","htmlText":"React DOM"},{"level":3,"text":"Schedule (Experimental)","anchor":"schedule-experimental","htmlText":"Schedule (Experimental)"},{"level":2,"text":"16.5.1 (September 13, 2018)","anchor":"1651-september-13-2018","htmlText":"16.5.1 (September 13, 2018)"},{"level":3,"text":"React","anchor":"react-15","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-28","htmlText":"React DOM"},{"level":3,"text":"Schedule (Experimental)","anchor":"schedule-experimental-1","htmlText":"Schedule (Experimental)"},{"level":2,"text":"16.5.0 (September 5, 2018)","anchor":"1650-september-5-2018","htmlText":"16.5.0 (September 5, 2018)"},{"level":3,"text":"React","anchor":"react-16","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-29","htmlText":"React DOM"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-13","htmlText":"React DOM Server"},{"level":3,"text":"React Test Renderer and Test Utils","anchor":"react-test-renderer-and-test-utils-1","htmlText":"React Test Renderer and Test Utils"},{"level":3,"text":"React ART","anchor":"react-art","htmlText":"React ART"},{"level":3,"text":"Schedule (Experimental)","anchor":"schedule-experimental-2","htmlText":"Schedule (Experimental)"},{"level":2,"text":"16.4.2 (August 1, 2018)","anchor":"1642-august-1-2018","htmlText":"16.4.2 (August 1, 2018)"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-14","htmlText":"React DOM Server"},{"level":2,"text":"16.4.1 (June 13, 2018)","anchor":"1641-june-13-2018","htmlText":"16.4.1 (June 13, 2018)"},{"level":3,"text":"React","anchor":"react-17","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-30","htmlText":"React DOM"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-15","htmlText":"React DOM Server"},{"level":3,"text":"React Test Renderer","anchor":"react-test-renderer-1","htmlText":"React Test Renderer"},{"level":2,"text":"16.4.0 (May 23, 2018)","anchor":"1640-may-23-2018","htmlText":"16.4.0 (May 23, 2018)"},{"level":3,"text":"React","anchor":"react-18","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-31","htmlText":"React DOM"},{"level":3,"text":"React Test Renderer","anchor":"react-test-renderer-2","htmlText":"React Test Renderer"},{"level":3,"text":"React ART","anchor":"react-art-1","htmlText":"React ART"},{"level":3,"text":"React Call Return (Experimental)","anchor":"react-call-return-experimental","htmlText":"React Call Return (Experimental)"},{"level":3,"text":"React Reconciler (Experimental)","anchor":"react-reconciler-experimental","htmlText":"React Reconciler (Experimental)"},{"level":2,"text":"16.3.3 (August 1, 2018)","anchor":"1633-august-1-2018","htmlText":"16.3.3 (August 1, 2018)"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-16","htmlText":"React DOM Server"},{"level":2,"text":"16.3.2 (April 16, 2018)","anchor":"1632-april-16-2018","htmlText":"16.3.2 (April 16, 2018)"},{"level":3,"text":"React","anchor":"react-19","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-32","htmlText":"React DOM"},{"level":3,"text":"React Test Renderer","anchor":"react-test-renderer-3","htmlText":"React Test Renderer"},{"level":2,"text":"16.3.1 (April 3, 2018)","anchor":"1631-april-3-2018","htmlText":"16.3.1 (April 3, 2018)"},{"level":3,"text":"React","anchor":"react-20","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-33","htmlText":"React DOM"},{"level":3,"text":"Create Subscription","anchor":"create-subscription","htmlText":"Create Subscription"},{"level":2,"text":"16.3.0 (March 29, 2018)","anchor":"1630-march-29-2018","htmlText":"16.3.0 (March 29, 2018)"},{"level":3,"text":"React","anchor":"react-21","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-34","htmlText":"React DOM"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-17","htmlText":"React DOM Server"},{"level":3,"text":"React Test Renderer","anchor":"react-test-renderer-4","htmlText":"React Test Renderer"},{"level":3,"text":"React Is (New)","anchor":"react-is-new","htmlText":"React Is (New)"},{"level":3,"text":"React Lifecycles Compat (New)","anchor":"react-lifecycles-compat-new","htmlText":"React Lifecycles Compat (New)"},{"level":3,"text":"Create Subscription (New)","anchor":"create-subscription-new","htmlText":"Create Subscription (New)"},{"level":3,"text":"React Reconciler (Experimental)","anchor":"react-reconciler-experimental-1","htmlText":"React Reconciler (Experimental)"},{"level":3,"text":"React Call Return (Experimental)","anchor":"react-call-return-experimental-1","htmlText":"React Call Return (Experimental)"},{"level":2,"text":"16.2.1 (August 1, 2018)","anchor":"1621-august-1-2018","htmlText":"16.2.1 (August 1, 2018)"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-18","htmlText":"React DOM Server"},{"level":2,"text":"16.2.0 (November 28, 2017)","anchor":"1620-november-28-2017","htmlText":"16.2.0 (November 28, 2017)"},{"level":3,"text":"React","anchor":"react-22","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-35","htmlText":"React DOM"},{"level":3,"text":"React Test Renderer","anchor":"react-test-renderer-5","htmlText":"React Test Renderer"},{"level":3,"text":"React Reconciler","anchor":"react-reconciler-1","htmlText":"React Reconciler"},{"level":3,"text":"Internal Changes","anchor":"internal-changes","htmlText":"Internal Changes"},{"level":2,"text":"16.1.2 (August 1, 2018)","anchor":"1612-august-1-2018","htmlText":"16.1.2 (August 1, 2018)"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-19","htmlText":"React DOM Server"},{"level":2,"text":"16.1.1 (November 13, 2017)","anchor":"1611-november-13-2017","htmlText":"16.1.1 (November 13, 2017)"},{"level":3,"text":"React","anchor":"react-23","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-36","htmlText":"React DOM"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-20","htmlText":"React DOM Server"},{"level":3,"text":"React Reconciler","anchor":"react-reconciler-2","htmlText":"React Reconciler"},{"level":2,"text":"16.1.0 (November 9, 2017)","anchor":"1610-november-9-2017","htmlText":"16.1.0 (November 9, 2017)"},{"level":3,"text":"Discontinuing Bower Releases","anchor":"discontinuing-bower-releases","htmlText":"Discontinuing Bower Releases"},{"level":3,"text":"All Packages","anchor":"all-packages","htmlText":"All Packages"},{"level":3,"text":"React","anchor":"react-24","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-37","htmlText":"React DOM"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-21","htmlText":"React DOM Server"},{"level":3,"text":"React Test Renderer and Test Utils","anchor":"react-test-renderer-and-test-utils-2","htmlText":"React Test Renderer and Test Utils"},{"level":3,"text":"React ART","anchor":"react-art-2","htmlText":"React ART"},{"level":3,"text":"React Reconciler (Experimental)","anchor":"react-reconciler-experimental-2","htmlText":"React Reconciler (Experimental)"},{"level":3,"text":"React Call Return (Experimental)","anchor":"react-call-return-experimental-2","htmlText":"React Call Return (Experimental)"},{"level":2,"text":"16.0.1 (August 1, 2018)","anchor":"1601-august-1-2018","htmlText":"16.0.1 (August 1, 2018)"},{"level":3,"text":"React DOM Server","anchor":"react-dom-server-22","htmlText":"React DOM Server"},{"level":2,"text":"16.0.0 (September 26, 2017)","anchor":"1600-september-26-2017","htmlText":"16.0.0 (September 26, 2017)"},{"level":3,"text":"New JS Environment Requirements","anchor":"new-js-environment-requirements","htmlText":"New JS Environment Requirements"},{"level":3,"text":"New Features","anchor":"new-features-2","htmlText":"New Features"},{"level":3,"text":"Breaking Changes","anchor":"breaking-changes-2","htmlText":"Breaking Changes"},{"level":3,"text":"Removed Deprecations","anchor":"removed-deprecations","htmlText":"Removed Deprecations"},{"level":2,"text":"15.7.0 (October 14, 2020)","anchor":"1570-october-14-2020","htmlText":"15.7.0 (October 14, 2020)"},{"level":3,"text":"React","anchor":"react-25","htmlText":"React"},{"level":2,"text":"15.6.2 (September 25, 2017)","anchor":"1562-september-25-2017","htmlText":"15.6.2 (September 25, 2017)"},{"level":3,"text":"All Packages","anchor":"all-packages-1","htmlText":"All Packages"},{"level":3,"text":"React DOM","anchor":"react-dom-38","htmlText":"React DOM"},{"level":2,"text":"15.6.1 (June 14, 2017)","anchor":"1561-june-14-2017","htmlText":"15.6.1 (June 14, 2017)"},{"level":3,"text":"React DOM","anchor":"react-dom-39","htmlText":"React DOM"},{"level":2,"text":"15.6.0 (June 13, 2017)","anchor":"1560-june-13-2017","htmlText":"15.6.0 (June 13, 2017)"},{"level":3,"text":"React","anchor":"react-26","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-40","htmlText":"React DOM"},{"level":3,"text":"React Addons","anchor":"react-addons","htmlText":"React Addons"},{"level":2,"text":"15.5.4 (April 11, 2017)","anchor":"1554-april-11-2017","htmlText":"15.5.4 (April 11, 2017)"},{"level":3,"text":"React Addons","anchor":"react-addons-1","htmlText":"React Addons"},{"level":3,"text":"React Test Renderer","anchor":"react-test-renderer-6","htmlText":"React Test Renderer"},{"level":2,"text":"15.5.3 (April 7, 2017)","anchor":"1553-april-7-2017","htmlText":"15.5.3 (April 7, 2017)"},{"level":3,"text":"React Addons","anchor":"react-addons-2","htmlText":"React Addons"},{"level":2,"text":"15.5.2 (April 7, 2017)","anchor":"1552-april-7-2017","htmlText":"15.5.2 (April 7, 2017)"},{"level":3,"text":"React Addons","anchor":"react-addons-3","htmlText":"React Addons"},{"level":2,"text":"15.5.1 (April 7, 2017)","anchor":"1551-april-7-2017","htmlText":"15.5.1 (April 7, 2017)"},{"level":3,"text":"React","anchor":"react-27","htmlText":"React"},{"level":2,"text":"15.5.0 (April 7, 2017)","anchor":"1550-april-7-2017","htmlText":"15.5.0 (April 7, 2017)"},{"level":3,"text":"React","anchor":"react-28","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-41","htmlText":"React DOM"},{"level":3,"text":"React Test Renderer","anchor":"react-test-renderer-7","htmlText":"React Test Renderer"},{"level":3,"text":"React Addons","anchor":"react-addons-4","htmlText":"React Addons"},{"level":2,"text":"15.4.2 (January 6, 2017)","anchor":"1542-january-6-2017","htmlText":"15.4.2 (January 6, 2017)"},{"level":3,"text":"React","anchor":"react-29","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-42","htmlText":"React DOM"},{"level":3,"text":"React Addons","anchor":"react-addons-5","htmlText":"React Addons"},{"level":2,"text":"15.4.1 (November 22, 2016)","anchor":"1541-november-22-2016","htmlText":"15.4.1 (November 22, 2016)"},{"level":3,"text":"React","anchor":"react-30","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-43","htmlText":"React DOM"},{"level":2,"text":"15.4.0 (November 16, 2016)","anchor":"1540-november-16-2016","htmlText":"15.4.0 (November 16, 2016)"},{"level":3,"text":"React","anchor":"react-31","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-44","htmlText":"React DOM"},{"level":3,"text":"React Perf","anchor":"react-perf","htmlText":"React Perf"},{"level":3,"text":"React Test Utils","anchor":"react-test-utils-1","htmlText":"React Test Utils"},{"level":3,"text":"React Test Renderer","anchor":"react-test-renderer-8","htmlText":"React Test Renderer"},{"level":2,"text":"15.3.2 (September 19, 2016)","anchor":"1532-september-19-2016","htmlText":"15.3.2 (September 19, 2016)"},{"level":3,"text":"React","anchor":"react-32","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-45","htmlText":"React DOM"},{"level":3,"text":"React Test Renderer","anchor":"react-test-renderer-9","htmlText":"React Test Renderer"},{"level":3,"text":"React Perf Add-on","anchor":"react-perf-add-on","htmlText":"React Perf Add-on"},{"level":2,"text":"15.3.1 (August 19, 2016)","anchor":"1531-august-19-2016","htmlText":"15.3.1 (August 19, 2016)"},{"level":3,"text":"React","anchor":"react-33","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-46","htmlText":"React DOM"},{"level":3,"text":"React Test Renderer","anchor":"react-test-renderer-10","htmlText":"React Test Renderer"},{"level":3,"text":"React Native Renderer","anchor":"react-native-renderer","htmlText":"React Native Renderer"},{"level":2,"text":"15.3.0 (July 29, 2016)","anchor":"1530-july-29-2016","htmlText":"15.3.0 (July 29, 2016)"},{"level":3,"text":"React","anchor":"react-34","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-47","htmlText":"React DOM"},{"level":3,"text":"React Test Renderer","anchor":"react-test-renderer-11","htmlText":"React Test Renderer"},{"level":3,"text":"React Perf Add-on","anchor":"react-perf-add-on-1","htmlText":"React Perf Add-on"},{"level":3,"text":"React TestUtils Add-on","anchor":"react-testutils-add-on","htmlText":"React TestUtils Add-on"},{"level":2,"text":"15.2.1 (July 8, 2016)","anchor":"1521-july-8-2016","htmlText":"15.2.1 (July 8, 2016)"},{"level":3,"text":"React","anchor":"react-35","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-48","htmlText":"React DOM"},{"level":3,"text":"React Perf Add-on","anchor":"react-perf-add-on-2","htmlText":"React Perf Add-on"},{"level":3,"text":"React CSSTransitionGroup Add-on","anchor":"react-csstransitiongroup-add-on","htmlText":"React CSSTransitionGroup Add-on"},{"level":3,"text":"React Native Renderer","anchor":"react-native-renderer-1","htmlText":"React Native Renderer"},{"level":2,"text":"15.2.0 (July 1, 2016)","anchor":"1520-july-1-2016","htmlText":"15.2.0 (July 1, 2016)"},{"level":3,"text":"React","anchor":"react-36","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-49","htmlText":"React DOM"},{"level":3,"text":"React Perf Add-on","anchor":"react-perf-add-on-3","htmlText":"React Perf Add-on"},{"level":3,"text":"React CSSTransitionGroup Add-on","anchor":"react-csstransitiongroup-add-on-1","htmlText":"React CSSTransitionGroup Add-on"},{"level":3,"text":"React Native Renderer","anchor":"react-native-renderer-2","htmlText":"React Native Renderer"},{"level":2,"text":"15.1.0 (May 20, 2016)","anchor":"1510-may-20-2016","htmlText":"15.1.0 (May 20, 2016)"},{"level":3,"text":"React","anchor":"react-37","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-50","htmlText":"React DOM"},{"level":3,"text":"React Perf Add-on","anchor":"react-perf-add-on-4","htmlText":"React Perf Add-on"},{"level":3,"text":"React Native Renderer","anchor":"react-native-renderer-3","htmlText":"React Native Renderer"},{"level":2,"text":"15.0.2 (April 29, 2016)","anchor":"1502-april-29-2016","htmlText":"15.0.2 (April 29, 2016)"},{"level":3,"text":"React","anchor":"react-38","htmlText":"React"},{"level":3,"text":"ReactDOM","anchor":"reactdom","htmlText":"ReactDOM"},{"level":3,"text":"React TestUtils Add-on","anchor":"react-testutils-add-on-1","htmlText":"React TestUtils Add-on"},{"level":3,"text":"React Perf Add-on","anchor":"react-perf-add-on-5","htmlText":"React Perf Add-on"},{"level":3,"text":"React Native Renderer","anchor":"react-native-renderer-4","htmlText":"React Native Renderer"},{"level":2,"text":"15.0.1 (April 8, 2016)","anchor":"1501-april-8-2016","htmlText":"15.0.1 (April 8, 2016)"},{"level":3,"text":"React","anchor":"react-39","htmlText":"React"},{"level":3,"text":"ReactDOM","anchor":"reactdom-1","htmlText":"ReactDOM"},{"level":2,"text":"15.0.0 (April 7, 2016)","anchor":"1500-april-7-2016","htmlText":"15.0.0 (April 7, 2016)"},{"level":3,"text":"Major changes","anchor":"major-changes","htmlText":"Major changes"},{"level":3,"text":"Breaking changes","anchor":"breaking-changes-3","htmlText":"Breaking changes"},{"level":4,"text":"Removed deprecations","anchor":"removed-deprecations-1","htmlText":"Removed deprecations"},{"level":3,"text":"New deprecations, introduced with a warning","anchor":"new-deprecations-introduced-with-a-warning","htmlText":"New deprecations, introduced with a warning"},{"level":3,"text":"New helpful warnings","anchor":"new-helpful-warnings","htmlText":"New helpful warnings"},{"level":3,"text":"Notable bug fixes","anchor":"notable-bug-fixes","htmlText":"Notable bug fixes"},{"level":3,"text":"Other improvements","anchor":"other-improvements","htmlText":"Other improvements"},{"level":2,"text":"0.14.10 (October 14, 2020)","anchor":"01410-october-14-2020","htmlText":"0.14.10 (October 14, 2020)"},{"level":3,"text":"React","anchor":"react-40","htmlText":"React"},{"level":2,"text":"0.14.8 (March 29, 2016)","anchor":"0148-march-29-2016","htmlText":"0.14.8 (March 29, 2016)"},{"level":3,"text":"React","anchor":"react-41","htmlText":"React"},{"level":2,"text":"0.14.7 (January 28, 2016)","anchor":"0147-january-28-2016","htmlText":"0.14.7 (January 28, 2016)"},{"level":3,"text":"React","anchor":"react-42","htmlText":"React"},{"level":3,"text":"React TestUtils Add-on","anchor":"react-testutils-add-on-2","htmlText":"React TestUtils Add-on"},{"level":2,"text":"0.14.6 (January 6, 2016)","anchor":"0146-january-6-2016","htmlText":"0.14.6 (January 6, 2016)"},{"level":3,"text":"React","anchor":"react-43","htmlText":"React"},{"level":2,"text":"0.14.5 (December 29, 2015)","anchor":"0145-december-29-2015","htmlText":"0.14.5 (December 29, 2015)"},{"level":3,"text":"React","anchor":"react-44","htmlText":"React"},{"level":2,"text":"0.14.4 (December 29, 2015)","anchor":"0144-december-29-2015","htmlText":"0.14.4 (December 29, 2015)"},{"level":3,"text":"React","anchor":"react-45","htmlText":"React"},{"level":3,"text":"React DOM","anchor":"react-dom-51","htmlText":"React DOM"},{"level":3,"text":"React Perf Add-on","anchor":"react-perf-add-on-6","htmlText":"React Perf Add-on"},{"level":2,"text":"0.14.3 (November 18, 2015)","anchor":"0143-november-18-2015","htmlText":"0.14.3 (November 18, 2015)"},{"level":3,"text":"React DOM","anchor":"react-dom-52","htmlText":"React DOM"},{"level":3,"text":"React TestUtils Add-on","anchor":"react-testutils-add-on-3","htmlText":"React TestUtils Add-on"},{"level":3,"text":"React CSSTransitionGroup Add-on","anchor":"react-csstransitiongroup-add-on-2","htmlText":"React CSSTransitionGroup Add-on"},{"level":3,"text":"React on Bower","anchor":"react-on-bower","htmlText":"React on Bower"},{"level":2,"text":"0.14.2 (November 2, 2015)","anchor":"0142-november-2-2015","htmlText":"0.14.2 (November 2, 2015)"},{"level":3,"text":"React DOM","anchor":"react-dom-53","htmlText":"React DOM"},{"level":2,"text":"0.14.1 (October 28, 2015)","anchor":"0141-october-28-2015","htmlText":"0.14.1 (October 28, 2015)"},{"level":3,"text":"React DOM","anchor":"react-dom-54","htmlText":"React DOM"},{"level":3,"text":"React TestUtils Add-on","anchor":"react-testutils-add-on-4","htmlText":"React TestUtils Add-on"},{"level":3,"text":"React CSSTransitionGroup Add-on","anchor":"react-csstransitiongroup-add-on-3","htmlText":"React CSSTransitionGroup Add-on"},{"level":3,"text":"React on Bower","anchor":"react-on-bower-1","htmlText":"React on Bower"},{"level":2,"text":"0.14.0 (October 7, 2015)","anchor":"0140-october-7-2015","htmlText":"0.14.0 (October 7, 2015)"},{"level":3,"text":"Major changes","anchor":"major-changes-1","htmlText":"Major changes"},{"level":3,"text":"Breaking changes","anchor":"breaking-changes-4","htmlText":"Breaking changes"},{"level":3,"text":"Deprecations","anchor":"deprecations-2","htmlText":"Deprecations"},{"level":3,"text":"Notable enhancements","anchor":"notable-enhancements","htmlText":"Notable enhancements"},{"level":3,"text":"New helpful warnings","anchor":"new-helpful-warnings-1","htmlText":"New helpful warnings"},{"level":3,"text":"Notable bug fixes","anchor":"notable-bug-fixes-1","htmlText":"Notable bug fixes"},{"level":3,"text":"React Tools / Babel","anchor":"react-tools--babel","htmlText":"React Tools / Babel"},{"level":4,"text":"Breaking Changes","anchor":"breaking-changes-5","htmlText":"Breaking Changes"},{"level":4,"text":"New Features","anchor":"new-features-3","htmlText":"New Features"},{"level":2,"text":"0.13.3 (May 8, 2015)","anchor":"0133-may-8-2015","htmlText":"0.13.3 (May 8, 2015)"},{"level":3,"text":"React Core","anchor":"react-core","htmlText":"React Core"},{"level":4,"text":"New Features","anchor":"new-features-4","htmlText":"New Features"},{"level":4,"text":"Bug Fixes","anchor":"bug-fixes","htmlText":"Bug Fixes"},{"level":3,"text":"React with Add-ons","anchor":"react-with-add-ons","htmlText":"React with Add-ons"},{"level":3,"text":"Bug Fixes","anchor":"bug-fixes-1","htmlText":"Bug Fixes"},{"level":2,"text":"0.13.2 (April 18, 2015)","anchor":"0132-april-18-2015","htmlText":"0.13.2 (April 18, 2015)"},{"level":3,"text":"React Core","anchor":"react-core-1","htmlText":"React Core"},{"level":4,"text":"New Features","anchor":"new-features-5","htmlText":"New Features"},{"level":4,"text":"Bug Fixes","anchor":"bug-fixes-2","htmlText":"Bug Fixes"},{"level":3,"text":"React with Add-Ons","anchor":"react-with-add-ons-1","htmlText":"React with Add-Ons"},{"level":4,"text":"Bug Fixes","anchor":"bug-fixes-3","htmlText":"Bug Fixes"},{"level":3,"text":"React Tools","anchor":"react-tools","htmlText":"React Tools"},{"level":2,"text":"0.13.1 (March 16, 2015)","anchor":"0131-march-16-2015","htmlText":"0.13.1 (March 16, 2015)"},{"level":3,"text":"React Core","anchor":"react-core-2","htmlText":"React Core"},{"level":4,"text":"Bug Fixes","anchor":"bug-fixes-4","htmlText":"Bug Fixes"},{"level":3,"text":"React with Add-Ons","anchor":"react-with-add-ons-2","htmlText":"React with Add-Ons"},{"level":4,"text":"Bug Fixes","anchor":"bug-fixes-5","htmlText":"Bug Fixes"},{"level":3,"text":"React Tools","anchor":"react-tools-1","htmlText":"React Tools"},{"level":4,"text":"Bug Fixes","anchor":"bug-fixes-6","htmlText":"Bug Fixes"},{"level":2,"text":"0.13.0 (March 10, 2015)","anchor":"0130-march-10-2015","htmlText":"0.13.0 (March 10, 2015)"},{"level":3,"text":"React Core","anchor":"react-core-3","htmlText":"React Core"},{"level":4,"text":"Breaking Changes","anchor":"breaking-changes-6","htmlText":"Breaking Changes"},{"level":4,"text":"New Features","anchor":"new-features-6","htmlText":"New Features"},{"level":4,"text":"Deprecations","anchor":"deprecations-3","htmlText":"Deprecations"},{"level":3,"text":"React with Add-Ons","anchor":"react-with-add-ons-3","htmlText":"React with Add-Ons"},{"level":4,"text":"New Features","anchor":"new-features-7","htmlText":"New Features"},{"level":4,"text":"Deprecations","anchor":"deprecations-4","htmlText":"Deprecations"},{"level":3,"text":"React Tools","anchor":"react-tools-2","htmlText":"React Tools"},{"level":4,"text":"Breaking Changes","anchor":"breaking-changes-7","htmlText":"Breaking Changes"},{"level":4,"text":"New Features","anchor":"new-features-8","htmlText":"New Features"},{"level":3,"text":"JSXTransformer","anchor":"jsxtransformer","htmlText":"JSXTransformer"},{"level":4,"text":"Breaking Changes","anchor":"breaking-changes-8","htmlText":"Breaking Changes"},{"level":3,"text":"JSX","anchor":"jsx","htmlText":"JSX"},{"level":4,"text":"Breaking Changes","anchor":"breaking-changes-9","htmlText":"Breaking Changes"},{"level":2,"text":"0.12.2 (December 18, 2014)","anchor":"0122-december-18-2014","htmlText":"0.12.2 (December 18, 2014)"},{"level":3,"text":"React Core","anchor":"react-core-4","htmlText":"React Core"},{"level":3,"text":"React Tools","anchor":"react-tools-3","htmlText":"React Tools"},{"level":2,"text":"0.12.1 (November 18, 2014)","anchor":"0121-november-18-2014","htmlText":"0.12.1 (November 18, 2014)"},{"level":3,"text":"React Tools","anchor":"react-tools-4","htmlText":"React Tools"},{"level":2,"text":"0.12.0 (October 28, 2014)","anchor":"0120-october-28-2014","htmlText":"0.12.0 (October 28, 2014)"},{"level":3,"text":"React Core","anchor":"react-core-5","htmlText":"React Core"},{"level":4,"text":"Breaking Changes","anchor":"breaking-changes-10","htmlText":"Breaking Changes"},{"level":4,"text":"New Features","anchor":"new-features-9","htmlText":"New Features"},{"level":4,"text":"Deprecations","anchor":"deprecations-5","htmlText":"Deprecations"},{"level":4,"text":"Bug Fixes","anchor":"bug-fixes-7","htmlText":"Bug Fixes"},{"level":3,"text":"React With Addons","anchor":"react-with-addons","htmlText":"React With Addons"},{"level":4,"text":"New Features","anchor":"new-features-10","htmlText":"New Features"},{"level":4,"text":"Breaking Changes","anchor":"breaking-changes-11","htmlText":"Breaking Changes"},{"level":4,"text":"Bug Fixes","anchor":"bug-fixes-8","htmlText":"Bug Fixes"},{"level":3,"text":"JSX","anchor":"jsx-1","htmlText":"JSX"},{"level":4,"text":"Breaking Changes","anchor":"breaking-changes-12","htmlText":"Breaking Changes"},{"level":4,"text":"New Features","anchor":"new-features-11","htmlText":"New Features"},{"level":4,"text":"Bug Fixes","anchor":"bug-fixes-9","htmlText":"Bug Fixes"},{"level":2,"text":"0.11.2 (September 16, 2014)","anchor":"0112-september-16-2014","htmlText":"0.11.2 (September 16, 2014)"},{"level":3,"text":"React Core","anchor":"react-core-6","htmlText":"React Core"},{"level":4,"text":"New Features","anchor":"new-features-12","htmlText":"New Features"},{"level":3,"text":"JSX","anchor":"jsx-2","htmlText":"JSX"},{"level":3,"text":"React Tools","anchor":"react-tools-5","htmlText":"React Tools"},{"level":2,"text":"0.11.1 (July 24, 2014)","anchor":"0111-july-24-2014","htmlText":"0.11.1 (July 24, 2014)"},{"level":3,"text":"React Core","anchor":"react-core-7","htmlText":"React Core"},{"level":4,"text":"Bug Fixes","anchor":"bug-fixes-10","htmlText":"Bug Fixes"},{"level":3,"text":"JSX","anchor":"jsx-3","htmlText":"JSX"},{"level":2,"text":"0.11.0 (July 17, 2014)","anchor":"0110-july-17-2014","htmlText":"0.11.0 (July 17, 2014)"},{"level":3,"text":"React Core","anchor":"react-core-8","htmlText":"React Core"},{"level":4,"text":"Breaking Changes","anchor":"breaking-changes-13","htmlText":"Breaking Changes"},{"level":4,"text":"New Features","anchor":"new-features-13","htmlText":"New Features"},{"level":4,"text":"Bug Fixes","anchor":"bug-fixes-11","htmlText":"Bug Fixes"},{"level":3,"text":"React With Addons","anchor":"react-with-addons-1","htmlText":"React With Addons"},{"level":3,"text":"React NPM Module","anchor":"react-npm-module","htmlText":"React NPM Module"},{"level":3,"text":"JSX","anchor":"jsx-4","htmlText":"JSX"},{"level":3,"text":"React Tools Module","anchor":"react-tools-module","htmlText":"React Tools Module"},{"level":2,"text":"0.10.0 (March 21, 2014)","anchor":"0100-march-21-2014","htmlText":"0.10.0 (March 21, 2014)"},{"level":3,"text":"React Core","anchor":"react-core-9","htmlText":"React Core"},{"level":4,"text":"New Features","anchor":"new-features-14","htmlText":"New Features"},{"level":4,"text":"Bug Fixes","anchor":"bug-fixes-12","htmlText":"Bug Fixes"},{"level":3,"text":"Addons","anchor":"addons","htmlText":"Addons"},{"level":3,"text":"react-tools","anchor":"react-tools-6","htmlText":"react-tools"},{"level":2,"text":"0.9.0 (February 20, 2014)","anchor":"090-february-20-2014","htmlText":"0.9.0 (February 20, 2014)"},{"level":3,"text":"React Core","anchor":"react-core-10","htmlText":"React Core"},{"level":4,"text":"Breaking Changes","anchor":"breaking-changes-14","htmlText":"Breaking Changes"},{"level":4,"text":"New Features","anchor":"new-features-15","htmlText":"New Features"},{"level":4,"text":"Bug Fixes","anchor":"bug-fixes-13","htmlText":"Bug Fixes"},{"level":3,"text":"React with Addons","anchor":"react-with-addons-2","htmlText":"React with Addons"},{"level":3,"text":"JSX Compiler and react-tools Package","anchor":"jsx-compiler-and-react-tools-package","htmlText":"JSX Compiler and react-tools Package"},{"level":2,"text":"0.8.0 (December 19, 2013)","anchor":"080-december-19-2013","htmlText":"0.8.0 (December 19, 2013)"},{"level":3,"text":"React","anchor":"react-46","htmlText":"React"},{"level":3,"text":"React with Addons","anchor":"react-with-addons-3","htmlText":"React with Addons"},{"level":3,"text":"react-tools","anchor":"react-tools-7","htmlText":"react-tools"},{"level":3,"text":"JSXTransformer","anchor":"jsxtransformer-1","htmlText":"JSXTransformer"},{"level":2,"text":"0.5.2, 0.4.2 (December 18, 2013)","anchor":"052-042-december-18-2013","htmlText":"0.5.2, 0.4.2 (December 18, 2013)"},{"level":3,"text":"React","anchor":"react-47","htmlText":"React"},{"level":2,"text":"0.5.1 (October 29, 2013)","anchor":"051-october-29-2013","htmlText":"0.5.1 (October 29, 2013)"},{"level":3,"text":"React","anchor":"react-48","htmlText":"React"},{"level":3,"text":"React with Addons","anchor":"react-with-addons-4","htmlText":"React with Addons"},{"level":2,"text":"0.5.0 (October 16, 2013)","anchor":"050-october-16-2013","htmlText":"0.5.0 (October 16, 2013)"},{"level":3,"text":"React","anchor":"react-49","htmlText":"React"},{"level":3,"text":"React with Addons (New!)","anchor":"react-with-addons-new","htmlText":"React with Addons (New!)"},{"level":3,"text":"JSX","anchor":"jsx-5","htmlText":"JSX"},{"level":2,"text":"0.4.1 (July 26, 2013)","anchor":"041-july-26-2013","htmlText":"0.4.1 (July 26, 2013)"},{"level":3,"text":"React","anchor":"react-50","htmlText":"React"},{"level":3,"text":"JSXTransformer","anchor":"jsxtransformer-2","htmlText":"JSXTransformer"},{"level":2,"text":"0.4.0 (July 17, 2013)","anchor":"040-july-17-2013","htmlText":"0.4.0 (July 17, 2013)"},{"level":3,"text":"React","anchor":"react-51","htmlText":"React"},{"level":3,"text":"JSX","anchor":"jsx-6","htmlText":"JSX"},{"level":3,"text":"react-tools","anchor":"react-tools-8","htmlText":"react-tools"},{"level":2,"text":"0.3.3 (June 20, 2013)","anchor":"033-june-20-2013","htmlText":"0.3.3 (June 20, 2013)"},{"level":3,"text":"React","anchor":"react-52","htmlText":"React"},{"level":3,"text":"JSX","anchor":"jsx-7","htmlText":"JSX"},{"level":3,"text":"react-tools","anchor":"react-tools-9","htmlText":"react-tools"},{"level":2,"text":"0.3.2 (May 31, 2013)","anchor":"032-may-31-2013","htmlText":"0.3.2 (May 31, 2013)"},{"level":3,"text":"JSX","anchor":"jsx-8","htmlText":"JSX"},{"level":3,"text":"react-tools","anchor":"react-tools-10","htmlText":"react-tools"},{"level":2,"text":"0.3.1 (May 30, 2013)","anchor":"031-may-30-2013","htmlText":"0.3.1 (May 30, 2013)"},{"level":3,"text":"react-tools","anchor":"react-tools-11","htmlText":"react-tools"},{"level":2,"text":"0.3.0 (May 29, 2013)","anchor":"030-may-29-2013","htmlText":"0.3.0 (May 29, 2013)"}],"lineInfo":{"truncatedLoc":"2601","truncatedSloc":"1850"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Markdown","languageID":222,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/facebook/react/blob/main/CHANGELOG.md","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/facebook/react/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/facebook/react/raw/refs/heads/main/CHANGELOG.md","renderImageOrRaw":false,"richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e19.0.0 (December 5, 2024)\u003c/h2\u003e\u003ca id=\"user-content-1900-december-5-2024\" class=\"anchor\" aria-label=\"Permalink: 19.0.0 (December 5, 2024)\" href=\"#1900-december-5-2024\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eBelow is a list of all new features, APIs, deprecations, and breaking changes. Read \u003ca href=\"https://react.dev/blog/2024/04/25/react-19\" rel=\"nofollow\"\u003eReact 19 release post\u003c/a\u003e and \u003ca href=\"https://react.dev/blog/2024/04/25/react-19-upgrade-guide\" rel=\"nofollow\"\u003eReact 19 upgrade guide\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp dir=\"auto\"\u003eNote: To help make the upgrade to React 19 easier, we’ve published a react@18.3 release that is identical to 18.2 but adds warnings for deprecated APIs and other changes that are needed for React 19. We recommend upgrading to React 18.3.1 first to help identify any issues before upgrading to React 19.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew Features\u003c/h3\u003e\u003ca id=\"user-content-new-features\" class=\"anchor\" aria-label=\"Permalink: New Features\" href=\"#new-features\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h4\u003e\u003ca id=\"user-content-react\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eActions: \u003ccode\u003estartTransition\u003c/code\u003e can now accept async functions. Functions passed to \u003ccode\u003estartTransition\u003c/code\u003e are called “Actions”. A given Transition can include one or more Actions which update state in the background and update the UI with one commit. In addition to updating state, Actions can now perform side effects including async requests, and the Action will wait for the work to finish before finishing the Transition. This feature allows Transitions to include side effects like \u003ccode\u003efetch()\u003c/code\u003e in the pending state, and provides support for error handling, and optimistic updates.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003euseActionState\u003c/code\u003e: is a new hook to order Actions inside of a Transition with access to the state of the action, and the pending state. It accepts a reducer that can call Actions, and the initial state used for first render. It also accepts an optional string that is used if the action is passed to a form \u003ccode\u003eaction\u003c/code\u003e prop to support progressive enhancement in forms.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003euseOptimistic\u003c/code\u003e: is a new hook to update state while a Transition is in progress. It returns the state, and a set function that can be called inside a transition to “optimistically” update the state to expected final value immediately while the Transition completes in the background. When the transition finishes, the state is updated to the new value.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003euse\u003c/code\u003e: is a new API that allows reading resources in render. In React 19, \u003ccode\u003euse\u003c/code\u003e accepts a promise or Context. If provided a promise, \u003ccode\u003euse\u003c/code\u003e will suspend until a value is resolved. \u003ccode\u003euse\u003c/code\u003e can only be used in render but can be called conditionally.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eref\u003c/code\u003e as a prop: Refs can now be used as props, removing the need for \u003ccode\u003eforwardRef\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSuspense sibling pre-warming\u003c/strong\u003e: When a component suspends, React will immediately commit the fallback of the nearest Suspense boundary, without waiting for the entire sibling tree to render. After the fallback commits, React will schedule another render for the suspended siblings to “pre-warm” lazy requests.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Client\u003c/h4\u003e\u003ca id=\"user-content-react-dom-client\" class=\"anchor\" aria-label=\"Permalink: React DOM Client\" href=\"#react-dom-client\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003e\u0026lt;form\u0026gt; action\u003c/code\u003e prop: Form Actions allow you to manage forms automatically and integrate with \u003ccode\u003euseFormStatus\u003c/code\u003e. When a \u003ccode\u003e\u0026lt;form\u0026gt; action\u003c/code\u003e succeeds, React will automatically reset the form for uncontrolled components. The form can be reset manually with the new \u003ccode\u003erequestFormReset\u003c/code\u003e API.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e\u0026lt;button\u0026gt; and \u0026lt;input\u0026gt; formAction\u003c/code\u003e prop: Actions can be passed to the \u003ccode\u003eformAction\u003c/code\u003e prop to configure form submission behavior. This allows using different Actions depending on the input.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003euseFormStatus\u003c/code\u003e: is a new hook that provides the status of the parent \u003ccode\u003e\u0026lt;form\u0026gt; action\u003c/code\u003e, as if the form was a Context provider. The hook returns the values: \u003ccode\u003epending\u003c/code\u003e, \u003ccode\u003edata\u003c/code\u003e, \u003ccode\u003emethod\u003c/code\u003e, and \u003ccode\u003eaction\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eSupport for Document Metadata: We’ve added support for rendering document metadata tags in components natively. React will automatically hoist them into the \u003ccode\u003e\u0026lt;head\u0026gt;\u003c/code\u003e section of the document.\u003c/li\u003e\n\u003cli\u003eSupport for Stylesheets: React 19 will ensure stylesheets are inserted into the \u003ccode\u003e\u0026lt;head\u0026gt;\u003c/code\u003e on the client before revealing the content of a Suspense boundary that depends on that stylesheet.\u003c/li\u003e\n\u003cli\u003eSupport for async scripts: Async scripts can be rendered anywhere in the component tree and React will handle ordering and deduplication.\u003c/li\u003e\n\u003cli\u003eSupport for preloading resources: React 19 ships with \u003ccode\u003epreinit\u003c/code\u003e, \u003ccode\u003epreload\u003c/code\u003e, \u003ccode\u003eprefetchDNS\u003c/code\u003e, and \u003ccode\u003epreconnect\u003c/code\u003e APIs to optimize initial page loads by moving discovery of additional resources like fonts out of stylesheet loading. They can also be used to prefetch resources used by an anticipated navigation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h4\u003e\u003ca id=\"user-content-react-dom-server\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdded \u003ccode\u003eprerender\u003c/code\u003e and \u003ccode\u003eprerenderToNodeStream\u003c/code\u003e APIs for static site generation. They are designed to work with streaming environments like Node.js Streams and Web Streams. Unlike \u003ccode\u003erenderToString\u003c/code\u003e, they wait for data to load for HTML generation.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Server Components\u003c/h4\u003e\u003ca id=\"user-content-react-server-components\" class=\"anchor\" aria-label=\"Permalink: React Server Components\" href=\"#react-server-components\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRSC features such as directives, server components, and server functions are now stable. This means libraries that ship with Server Components can now target React 19 as a peer dependency with a react-server export condition for use in frameworks that support the Full-stack React Architecture. The underlying APIs used to implement a React Server Components bundler or framework do not follow semver and may break between minors in React 19.x. See \u003ca href=\"https://19.react.dev/reference/rsc/server-components\" rel=\"nofollow\"\u003edocs\u003c/a\u003e for how to support React Server Components.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDeprecations\u003c/h3\u003e\u003ca id=\"user-content-deprecations\" class=\"anchor\" aria-label=\"Permalink: Deprecations\" href=\"#deprecations\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDeprecated: \u003ccode\u003eelement.ref\u003c/code\u003e access: React 19 supports ref as a prop, so we’re deprecating \u003ccode\u003eelement.ref\u003c/code\u003e in favor of \u003ccode\u003eelement.props.ref\u003c/code\u003e. Accessing will result in a warning.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ereact-test-renderer\u003c/code\u003e: In React 19, react-test-renderer logs a deprecation warning and has switched to concurrent rendering for web usage. We recommend migrating your tests to \u003ca href=\"https://testing-library.com/docs/react-testing-library/intro/\" rel=\"nofollow\"\u003e@testing-library/react\u003c/a\u003e or \u003ca href=\"https://testing-library.com/docs/react-native-testing-library/intro\" rel=\"nofollow\"\u003e@testing-library/react-native\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBreaking Changes\u003c/h3\u003e\u003ca id=\"user-content-breaking-changes\" class=\"anchor\" aria-label=\"Permalink: Breaking Changes\" href=\"#breaking-changes\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eReact 19 brings in a number of breaking changes, including the removals of long-deprecated APIs. We recommend first upgrading to \u003ccode\u003e18.3.1\u003c/code\u003e, where we've added additional deprecation warnings. Check out the \u003ca href=\"https://19.react.dev/blog/2024/04/25/react-19-upgrade-guide\" rel=\"nofollow\"\u003eupgrade guide\u003c/a\u003e for more details and guidance on codemodding.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-1\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eNew JSX Transform is now required: We introduced \u003ca href=\"https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html\" rel=\"nofollow\"\u003ea new JSX transform\u003c/a\u003e in 2020 to improve bundle size and use JSX without importing React. In React 19, we’re adding additional improvements like using ref as a prop and JSX speed improvements that require the new transform.\u003c/li\u003e\n\u003cli\u003eErrors in render are not re-thrown: Errors that are not caught by an Error Boundary are now reported to window.reportError. Errors that are caught by an Error Boundary are reported to console.error. We’ve introduced \u003ccode\u003eonUncaughtError\u003c/code\u003e and \u003ccode\u003eonCaughtError\u003c/code\u003e methods to \u003ccode\u003ecreateRoot\u003c/code\u003e and \u003ccode\u003ehydrateRoot\u003c/code\u003e to customize this error handling.\u003c/li\u003e\n\u003cli\u003eRemoved: \u003ccode\u003epropTypes\u003c/code\u003e: Using \u003ccode\u003epropTypes\u003c/code\u003e will now be silently ignored. If required, we recommend migrating to TypeScript or another type-checking solution.\u003c/li\u003e\n\u003cli\u003eRemoved: \u003ccode\u003edefaultProps\u003c/code\u003e for functions: ES6 default parameters can be used in place. Class components continue to support \u003ccode\u003edefaultProps\u003c/code\u003e since there is no ES6 alternative.\u003c/li\u003e\n\u003cli\u003eRemoved: \u003ccode\u003econtextTypes\u003c/code\u003e and \u003ccode\u003egetChildContext\u003c/code\u003e: Legacy Context for class components has been removed in favor of the \u003ccode\u003econtextType\u003c/code\u003e API.\u003c/li\u003e\n\u003cli\u003eRemoved: string refs: Any usage of string refs need to be migrated to ref callbacks.\u003c/li\u003e\n\u003cli\u003eRemoved: Module pattern factories: A rarely used pattern that can be migrated to regular functions.\u003c/li\u003e\n\u003cli\u003eRemoved: \u003ccode\u003eReact.createFactory\u003c/code\u003e: Now that JSX is broadly supported, all \u003ccode\u003ecreateFactory\u003c/code\u003e usage can be migrated to JSX components.\u003c/li\u003e\n\u003cli\u003eRemoved: \u003ccode\u003ereact-test-renderer/shallow\u003c/code\u003e: This has been a re-export of \u003ca href=\"https://github.com/enzymejs/react-shallow-renderer\"\u003ereact-shallow-renderer\u003c/a\u003e since React 18. If needed, you can continue to use the third-party package directly. We recommend using \u003ca href=\"https://testing-library.com/docs/react-testing-library/intro/\" rel=\"nofollow\"\u003e@testing-library/react\u003c/a\u003e or \u003ca href=\"https://testing-library.com/docs/react-native-testing-library/intro\" rel=\"nofollow\"\u003e@testing-library/react-native\u003c/a\u003e instead.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h4\u003e\u003ca id=\"user-content-react-dom\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemoved: \u003ccode\u003ereact-dom/test-utils\u003c/code\u003e: We’ve moved \u003ccode\u003eact\u003c/code\u003e from \u003ccode\u003ereact-dom/test-utils\u003c/code\u003e to react. All other utilities have been removed.\u003c/li\u003e\n\u003cli\u003eRemoved: \u003ccode\u003eReactDOM\u003c/code\u003e.\u003ccode\u003erender\u003c/code\u003e, \u003ccode\u003eReactDOM\u003c/code\u003e.\u003ccode\u003ehydrate\u003c/code\u003e: These have been removed in favor of the concurrent equivalents: \u003ccode\u003eReactDOM\u003c/code\u003e.\u003ccode\u003ecreateRoot\u003c/code\u003e and \u003ccode\u003eReactDOM.hydrateRoot\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRemoved: \u003ccode\u003eunmountComponentAtNode\u003c/code\u003e: Removed in favor of \u003ccode\u003eroot.unmount()\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRemoved: \u003ccode\u003eReactDOM\u003c/code\u003e.\u003ccode\u003efindDOMNode\u003c/code\u003e: You can replace \u003ccode\u003eReactDOM\u003c/code\u003e.\u003ccode\u003efindDOMNode\u003c/code\u003e with DOM Refs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNotable Changes\u003c/h3\u003e\u003ca id=\"user-content-notable-changes\" class=\"anchor\" aria-label=\"Permalink: Notable Changes\" href=\"#notable-changes\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h4\u003e\u003ca id=\"user-content-react-2\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003e\u0026lt;Context\u0026gt;\u003c/code\u003e as a provider: You can now render \u003ccode\u003e\u0026lt;Context\u0026gt;\u003c/code\u003e as a provider instead of \u003ccode\u003e\u0026lt;Context.Provider\u0026gt;\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eCleanup functions for refs: When the component unmounts, React will call the cleanup function returned from the ref callback.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003euseDeferredValue\u003c/code\u003e initial value argument: When provided, \u003ccode\u003euseDeferredValue\u003c/code\u003e will return the initial value for the initial render of a component, then schedule a re-render in the background with the \u003ccode\u003edeferredValue\u003c/code\u003e returned.\u003c/li\u003e\n\u003cli\u003eSupport for Custom Elements: React 19 now passes all tests on \u003ca href=\"https://custom-elements-everywhere.com/\" rel=\"nofollow\"\u003eCustom Elements Everywhere\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eStrictMode changes: \u003ccode\u003euseMemo\u003c/code\u003e and \u003ccode\u003euseCallback\u003c/code\u003e will now reuse the memoized results from the first render, during the second render. Additionally, StrictMode will now double-invoke ref callback functions on initial mount.\u003c/li\u003e\n\u003cli\u003eUMD builds removed: To load React 19 with a script tag, we recommend using an ESM-based CDN such as \u003ca href=\"http://esm.sh\" rel=\"nofollow\"\u003eesm.sh\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h4\u003e\u003ca id=\"user-content-react-dom-1\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDiffs for hydration errors: In the case of a mismatch, React 19 logs a single error with a diff of the mismatched content.\u003c/li\u003e\n\u003cli\u003eCompatibility with third-party scripts and extensions: React will now force a client re-render to fix up any mismatched content caused by elements inserted by third-party JS.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eTypeScript Changes\u003c/h3\u003e\u003ca id=\"user-content-typescript-changes\" class=\"anchor\" aria-label=\"Permalink: TypeScript Changes\" href=\"#typescript-changes\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe most common changes can be codemodded with \u003ccode\u003enpx types-react-codemod@latest preset-19 ./path-to-your-react-ts-files\u003c/code\u003e.\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemoved deprecated TypeScript types:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eReactChild\u003c/code\u003e (replacement: \u003ccode\u003eReact.ReactElement | number | string)\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReactFragment\u003c/code\u003e (replacement: \u003ccode\u003eIterable\u0026lt;React.ReactNode\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReactNodeArray\u003c/code\u003e (replacement: \u003ccode\u003eReadonlyArray\u0026lt;React.ReactNode\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReactText\u003c/code\u003e (replacement: \u003ccode\u003enumber | string\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eVoidFunctionComponent\u003c/code\u003e (replacement: \u003ccode\u003eFunctionComponent\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eVFC\u003c/code\u003e (replacement: \u003ccode\u003eFC\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eMoved to \u003ccode\u003eprop-types\u003c/code\u003e: \u003ccode\u003eRequireable\u003c/code\u003e, \u003ccode\u003eValidationMap\u003c/code\u003e, \u003ccode\u003eValidator\u003c/code\u003e, \u003ccode\u003eWeakValidationMap\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eMoved to \u003ccode\u003ecreate-react-class\u003c/code\u003e: \u003ccode\u003eClassicComponentClass\u003c/code\u003e, \u003ccode\u003eClassicComponent\u003c/code\u003e, \u003ccode\u003eClassicElement\u003c/code\u003e, \u003ccode\u003eComponentSpec\u003c/code\u003e, \u003ccode\u003eMixin\u003c/code\u003e, \u003ccode\u003eReactChildren\u003c/code\u003e, \u003ccode\u003eReactHTML\u003c/code\u003e, \u003ccode\u003eReactSVG\u003c/code\u003e, \u003ccode\u003eSFCFactory\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDisallow implicit return in refs: refs can now accept cleanup functions. When you return something else, we can’t tell if you intentionally returned something not meant to clean up or returned the wrong value. Implicit returns of anything but functions will now error.\u003c/li\u003e\n\u003cli\u003eRequire initial argument to \u003ccode\u003euseRef\u003c/code\u003e: The initial argument is now required to match \u003ccode\u003euseState\u003c/code\u003e, \u003ccode\u003ecreateContext\u003c/code\u003e etc\u003c/li\u003e\n\u003cli\u003eRefs are mutable by default: Ref objects returned from \u003ccode\u003euseRef()\u003c/code\u003e are now always mutable instead of sometimes being immutable. This feature was too confusing for users and conflicted with legit cases where refs were managed by React and manually written to.\u003c/li\u003e\n\u003cli\u003eStrict \u003ccode\u003eReactElement\u003c/code\u003e typing: The props of React elements now default to \u003ccode\u003eunknown\u003c/code\u003e instead of \u003ccode\u003eany\u003c/code\u003e if the element is typed as \u003ccode\u003eReactElement\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eJSX namespace in TypeScript: The global \u003ccode\u003eJSX\u003c/code\u003e namespace is removed to improve interoperability with other libraries using JSX. Instead, the JSX namespace is available from the React package: \u003ccode\u003eimport { JSX } from 'react'\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBetter \u003ccode\u003euseReducer\u003c/code\u003e typings: Most \u003ccode\u003euseReducer\u003c/code\u003e usage should not require explicit type arguments.\u003cbr\u003e\nFor example,\n\u003cdiv class=\"highlight highlight-source-diff notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"-useReducer\u0026lt;React.Reducer\u0026lt;State, Action\u0026gt;\u0026gt;(reducer)\n+useReducer(reducer)\"\u003e\u003cpre\u003e\u003cspan class=\"pl-md\"\u003e\u003cspan class=\"pl-md\"\u003e-\u003c/span\u003euseReducer\u0026lt;React.Reducer\u0026lt;State, Action\u0026gt;\u0026gt;(reducer)\u003c/span\u003e\n\u003cspan class=\"pl-mi1\"\u003e\u003cspan class=\"pl-mi1\"\u003e+\u003c/span\u003euseReducer(reducer)\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\nor\n\u003cdiv class=\"highlight highlight-source-diff notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"-useReducer\u0026lt;React.Reducer\u0026lt;State, Action\u0026gt;\u0026gt;(reducer)\n+useReducer\u0026lt;State, Action\u0026gt;(reducer)\"\u003e\u003cpre\u003e\u003cspan class=\"pl-md\"\u003e\u003cspan class=\"pl-md\"\u003e-\u003c/span\u003euseReducer\u0026lt;React.Reducer\u0026lt;State, Action\u0026gt;\u0026gt;(reducer)\u003c/span\u003e\n\u003cspan class=\"pl-mi1\"\u003e\u003cspan class=\"pl-mi1\"\u003e+\u003c/span\u003euseReducer\u0026lt;State, Action\u0026gt;(reducer)\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAll Changes\u003c/h3\u003e\u003ca id=\"user-content-all-changes\" class=\"anchor\" aria-label=\"Permalink: All Changes\" href=\"#all-changes\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h4\u003e\u003ca id=\"user-content-react-3\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd support for async Actions (\u003ca href=\"https://github.com/facebook/react/pull/26621\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26621/hovercard\"\u003e#26621\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26726\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26726/hovercard\"\u003e#26726\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28078\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28078/hovercard\"\u003e#28078\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28097\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28097/hovercard\"\u003e#28097\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/29226\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29226/hovercard\"\u003e#29226\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/29618\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29618/hovercard\"\u003e#29618\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/29670\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29670/hovercard\"\u003e#29670\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26716\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26716/hovercard\"\u003e#26716\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e and \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003euseActionState()\u003c/code\u003e hook to update state based on the result of a Form Action (\u003ca href=\"https://github.com/facebook/react/pull/27270\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27270/hovercard\"\u003e#27270\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27278\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27278/hovercard\"\u003e#27278\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27309\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27309/hovercard\"\u003e#27309\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27302\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27302/hovercard\"\u003e#27302\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27307\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27307/hovercard\"\u003e#27307\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27366\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27366/hovercard\"\u003e#27366\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27370\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27370/hovercard\"\u003e#27370\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27321\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27321/hovercard\"\u003e#27321\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27374\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27374/hovercard\"\u003e#27374\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27372\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27372/hovercard\"\u003e#27372\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27397\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27397/hovercard\"\u003e#27397\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27399\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27399/hovercard\"\u003e#27399\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27460\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27460/hovercard\"\u003e#27460\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28557\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28557/hovercard\"\u003e#28557\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27570\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27570/hovercard\"\u003e#27570\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27571\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27571/hovercard\"\u003e#27571\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28631\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28631/hovercard\"\u003e#28631\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28788\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28788/hovercard\"\u003e#28788\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/29694\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29694/hovercard\"\u003e#29694\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/29695\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29695/hovercard\"\u003e#29695\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/29694\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29694/hovercard\"\u003e#29694\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/29665\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29665/hovercard\"\u003e#29665\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28232\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28232/hovercard\"\u003e#28232\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28319\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28319/hovercard\"\u003e#28319\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e, \u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e, and \u003ca href=\"https://github.com/rickhanlonii\"\u003e@rickhanlonii\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003euse()\u003c/code\u003e API to read resources in render (\u003ca href=\"https://github.com/facebook/react/pull/25084\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25084/hovercard\"\u003e#25084\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25202\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25202/hovercard\"\u003e#25202\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25207\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25207/hovercard\"\u003e#25207\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25214\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25214/hovercard\"\u003e#25214\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25226\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25226/hovercard\"\u003e#25226\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25247\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25247/hovercard\"\u003e#25247\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25539\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25539/hovercard\"\u003e#25539\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25538\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25538/hovercard\"\u003e#25538\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25537\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25537/hovercard\"\u003e#25537\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25543\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25543/hovercard\"\u003e#25543\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25561\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25561/hovercard\"\u003e#25561\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25620\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25620/hovercard\"\u003e#25620\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25615\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25615/hovercard\"\u003e#25615\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25922\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25922/hovercard\"\u003e#25922\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25641\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25641/hovercard\"\u003e#25641\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25634\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25634/hovercard\"\u003e#25634\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26232\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26232/hovercard\"\u003e#26232\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26535\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26535/hovercard\"\u003e#26536\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26739\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26739/hovercard\"\u003e#26739\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28233\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28233/hovercard\"\u003e#28233\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e, \u003ca href=\"https://github.com/mofeiZ\"\u003e@MofeiZ\u003c/a\u003e, \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e, \u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e, \u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e, and \u003ca href=\"https://github.com/hansottowirtz\"\u003e@hansottowirtz\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003euseOptimistic()\u003c/code\u003e hook to display mutated state optimistically during an async mutation (\u003ca href=\"https://github.com/facebook/react/pull/26740\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26740/hovercard\"\u003e#26740\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26772\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26772/hovercard\"\u003e#26772\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27277\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27277/hovercard\"\u003e#27277\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27453\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27453/hovercard\"\u003e#27453\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27454\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27454/hovercard\"\u003e#27454\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27936\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27936/hovercard\"\u003e#27936\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded an \u003ccode\u003einitialValue\u003c/code\u003e argument to \u003ccode\u003euseDeferredValue()\u003c/code\u003e hook (\u003ca href=\"https://github.com/facebook/react/pull/27500\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27500/hovercard\"\u003e#27500\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27509\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27509/hovercard\"\u003e#27509\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27512\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27512/hovercard\"\u003e#27512\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27888\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27888/hovercard\"\u003e#27888\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27550\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27550/hovercard\"\u003e#27550\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport refs as props, warn on \u003ccode\u003eelement.ref\u003c/code\u003e access (\u003ca href=\"https://github.com/facebook/react/pull/28348\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28348/hovercard\"\u003e#28348\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28464\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28464/hovercard\"\u003e#28464\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28731\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28731/hovercard\"\u003e#28731\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Custom Elements (\u003ca href=\"https://github.com/facebook/react/pull/22184\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22184/hovercard\"\u003e#22184\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26524\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26524/hovercard\"\u003e#26524\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26523\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26523/hovercard\"\u003e#26523\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27511\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27511/hovercard\"\u003e#27511\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/24541\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24541/hovercard\"\u003e#24541\u003c/a\u003e by \u003ca href=\"https://github.com/josepharhar\"\u003e@josepharhar\u003c/a\u003e, \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e, \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e and \u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd ref cleanup function (\u003ca href=\"https://github.com/facebook/react/pull/25686\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25686/hovercard\"\u003e#25686\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28883\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28883/hovercard\"\u003e#28883\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28910\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28910/hovercard\"\u003e#28910\u003c/a\u003e by \u003ca href=\"https://github.com/sammy-SC\"\u003e@sammy-SC\u003c/a\u003e, \u003ca href=\"https://github.com/jackpope\"\u003e@jackpope\u003c/a\u003e, and \u003ca href=\"https://github.com/kassens\"\u003e@kassens\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSibling pre-rendering replaced by sibling pre-warming (\u003ca href=\"https://github.com/facebook/react/pull/26380\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26380/hovercard\"\u003e#26380\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26549\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26549/hovercard\"\u003e#26549\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/30761\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/30761/hovercard\"\u003e#30761\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/30800\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/30800/hovercard\"\u003e#30800\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/30762\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/30762/hovercard\"\u003e#30762\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/30879\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/30879/hovercard\"\u003e#30879\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/30934\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/30934/hovercard\"\u003e#30934\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/30952\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/30952/hovercard\"\u003e#30952\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/31056\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/31056/hovercard\"\u003e#31056\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/31452\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/31452/hovercard\"\u003e#31452\u003c/a\u003e by \u003ca href=\"https://github.com/sammy-SC\"\u003e@sammy-SC\u003c/a\u003e, \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e, \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e, \u003ca href=\"https://github.com/jackpope\"\u003e@jackpope\u003c/a\u003e, \u003ca href=\"https://github.com/rickhanlonii\"\u003e@rickhanlonii\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon’t rethrow errors at the root (\u003ca href=\"https://github.com/facebook/react/pull/28627\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28627/hovercard\"\u003e#28627\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28641\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28641/hovercard\"\u003e#28641\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBatch sync discrete, continuous, and default lanes (\u003ca href=\"https://github.com/facebook/react/pull/25700\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25700/hovercard\"\u003e#25700\u003c/a\u003e by \u003ca href=\"https://github.com/tyao1\"\u003e@tyao1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSwitch \u003ccode\u003e\u0026lt;Context\u0026gt;\u003c/code\u003e to mean \u003ccode\u003e\u0026lt;Context.Provider\u0026gt;\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/28226\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28226/hovercard\"\u003e#28226\u003c/a\u003e by \u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanges to \u003cem\u003eStrictMode\u003c/em\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eHandle \u003ccode\u003einfo\u003c/code\u003e, \u003ccode\u003egroup\u003c/code\u003e, and \u003ccode\u003egroupCollapsed\u003c/code\u003e in \u003cem\u003eStrictMode\u003c/em\u003e logging (\u003ca href=\"https://github.com/facebook/react/pull/25172\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25172/hovercard\"\u003e#25172\u003c/a\u003e by \u003ca href=\"https://github.com/timneutkens\"\u003e@timneutkens\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefs are now attached/detached/attached in \u003cem\u003eStrictMode\u003c/em\u003e (\u003ca href=\"https://github.com/facebook/react/pull/25049\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25049/hovercard\"\u003e#25049\u003c/a\u003e by \u003ca href=\"https://github.com/sammy-SC\"\u003e@sammy-SC\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003euseSyncExternalStore()\u003c/code\u003e hydration in \u003cem\u003eStrictMode\u003c/em\u003e (\u003ca href=\"https://github.com/facebook/react/pull/26791\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26791/hovercard\"\u003e#26791\u003c/a\u003e by \u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAlways trigger \u003ccode\u003ecomponentWillUnmount()\u003c/code\u003e in \u003cem\u003eStrictMode\u003c/em\u003e (\u003ca href=\"https://github.com/facebook/react/pull/26842\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26842/hovercard\"\u003e#26842\u003c/a\u003e by \u003ca href=\"https://github.com/tyao1\"\u003e@tyao1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestore double invoking \u003ccode\u003euseState()\u003c/code\u003e and \u003ccode\u003euseReducer()\u003c/code\u003e initializer functions in \u003cem\u003eStrictMode\u003c/em\u003e (\u003ca href=\"https://github.com/facebook/react/pull/28248\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28248/hovercard\"\u003e#28248\u003c/a\u003e by \u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReuse memoized result from first pass (\u003ca href=\"https://github.com/facebook/react/pull/25583\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25583/hovercard\"\u003e#25583\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003euseId()\u003c/code\u003e in \u003cem\u003eStrictMode\u003c/em\u003e (\u003ca href=\"https://github.com/facebook/react/pull/25713\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25713/hovercard\"\u003e#25713\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd component name to \u003cem\u003eStrictMode\u003c/em\u003e error messages (\u003ca href=\"https://github.com/facebook/react/pull/25718\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25718/hovercard\"\u003e#25718\u003c/a\u003e by \u003ca href=\"https://github.com/sammy-SC\"\u003e@sammy-SC\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support for rendering BigInt (\u003ca href=\"https://github.com/facebook/react/pull/24580\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24580/hovercard\"\u003e#24580\u003c/a\u003e by \u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eact()\u003c/code\u003e no longer checks \u003ccode\u003eshouldYield\u003c/code\u003e which can be inaccurate in test environments (\u003ca href=\"https://github.com/facebook/react/pull/26317\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26317/hovercard\"\u003e#26317\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn when keys are spread with props (\u003ca href=\"https://github.com/facebook/react/pull/25697\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25697/hovercard\"\u003e#25697\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26080\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26080/hovercard\"\u003e#26080\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e and \u003ca href=\"https://github.com/kassens\"\u003e@kassens\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGenerate sourcemaps for production build artifacts (\u003ca href=\"https://github.com/facebook/react/pull/26446\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26446/hovercard\"\u003e#26446\u003c/a\u003e by \u003ca href=\"https://github.com/markerikson\"\u003e@markerikson\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove stack diffing algorithm (\u003ca href=\"https://github.com/facebook/react/pull/27132\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27132/hovercard\"\u003e#27132\u003c/a\u003e by \u003ca href=\"https://github.com/KarimP\"\u003e@KarimP\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSuspense throttling lowered from 500ms to 300ms (\u003ca href=\"https://github.com/facebook/react/pull/26803\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26803/hovercard\"\u003e#26803\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLazily propagate context changes (\u003ca href=\"https://github.com/facebook/react/pull/20890\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20890/hovercard\"\u003e#20890\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e and \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImmediately rerender pinged fiber (\u003ca href=\"https://github.com/facebook/react/pull/25074\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25074/hovercard\"\u003e#25074\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove update scheduling to microtask (\u003ca href=\"https://github.com/facebook/react/pull/26512\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26512/hovercard\"\u003e#26512\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsistently apply throttled retries (\u003ca href=\"https://github.com/facebook/react/pull/26611\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26611/hovercard\"\u003e#26611\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26802\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26802/hovercard\"\u003e#26802\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSuspend Thenable/Lazy if it's used in React.Children (\u003ca href=\"https://github.com/facebook/react/pull/28284\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28284/hovercard\"\u003e#28284\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDetect infinite update loops caused by render phase updates (\u003ca href=\"https://github.com/facebook/react/pull/26625\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26625/hovercard\"\u003e#26625\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate conditional hooks warning (\u003ca href=\"https://github.com/facebook/react/pull/29626\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29626/hovercard\"\u003e#29626\u003c/a\u003e by \u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate error URLs to go to new docs (\u003ca href=\"https://github.com/facebook/react/pull/27240\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27240/hovercard\"\u003e#27240\u003c/a\u003e by \u003ca href=\"https://github.com/rickhanlonii\"\u003e@rickhanlonii\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename the \u003ccode\u003ereact.element\u003c/code\u003e symbol to \u003ccode\u003ereact.transitional.element\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/28813\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28813/hovercard\"\u003e#28813\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when suspending in shell during \u003ccode\u003euseSyncExternalStore()\u003c/code\u003e re-render (\u003ca href=\"https://github.com/facebook/react/pull/27199\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27199/hovercard\"\u003e#27199\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect “detected multiple renderers\" error in tests (\u003ca href=\"https://github.com/facebook/react/pull/22797\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22797/hovercard\"\u003e#22797\u003c/a\u003e by \u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where effect cleanup may be called twice after bailout (\u003ca href=\"https://github.com/facebook/react/pull/26561\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26561/hovercard\"\u003e#26561\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix suspending in shell during discrete update (\u003ca href=\"https://github.com/facebook/react/pull/25495\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25495/hovercard\"\u003e#25495\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix memory leak after repeated setState bailouts (\u003ca href=\"https://github.com/facebook/react/pull/25309\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25309/hovercard\"\u003e#25309\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003euseSyncExternalStore()\u003c/code\u003e dropped update when state is dispatched in render phase (\u003ca href=\"https://github.com/facebook/react/pull/25578\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25578/hovercard\"\u003e#25578\u003c/a\u003e by \u003ca href=\"https://github.com/pandaiolo\"\u003e@pandaiolo\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix logging when rendering a lazy fragment (\u003ca href=\"https://github.com/facebook/react/pull/30372\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/30372/hovercard\"\u003e#30372\u003c/a\u003e by \u003ca href=\"https://github.com/tom-sherman\"\u003e@tom-sherman\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove string refs (\u003ca href=\"https://github.com/facebook/react/pull/25383\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25383/hovercard\"\u003e#25383\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28322\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28322/hovercard\"\u003e#28322\u003c/a\u003e by \u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e and \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove Legacy Context (#30319 by \u003ca href=\"https://github.com/kassens\"\u003e@kassens\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eRefreshRuntime.findAffectedHostInstances\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/30538\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/30538/hovercard\"\u003e#30538\u003c/a\u003e by \u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove client caching from \u003ccode\u003ecache()\u003c/code\u003e API (\u003ca href=\"https://github.com/facebook/react/pull/27977\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27977/hovercard\"\u003e#27977\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28250\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28250/hovercard\"\u003e#28250\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e and \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003epropTypes\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/28324\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28324/hovercard\"\u003e#28324\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28326\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28326/hovercard\"\u003e#28326\u003c/a\u003e by \u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003edefaultProps\u003c/code\u003e support, except for classes (\u003ca href=\"https://github.com/facebook/react/pull/28733\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28733/hovercard\"\u003e#28733\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove UMD builds (\u003ca href=\"https://github.com/facebook/react/pull/28735\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28735/hovercard\"\u003e#28735\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove delay for non-transition updates (\u003ca href=\"https://github.com/facebook/react/pull/26597\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26597/hovercard\"\u003e#26597\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003ecreateFactory\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/27798\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27798/hovercard\"\u003e#27798\u003c/a\u003e by \u003ca href=\"https://github.com/kassens\"\u003e@kassens\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h4\u003e\u003ca id=\"user-content-react-dom-2\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdds Form Actions to handle form submission (\u003ca href=\"https://github.com/facebook/react/pull/26379\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26379/hovercard\"\u003e#26379\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26674\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26674/hovercard\"\u003e#26674\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26689\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26689/hovercard\"\u003e#26689\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26708\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26708/hovercard\"\u003e#26708\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26714\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26714/hovercard\"\u003e#26714\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26735\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26735/hovercard\"\u003e#26735\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26846\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26846/hovercard\"\u003e#26846\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27358\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27358/hovercard\"\u003e#27358\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28056\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28056/hovercard\"\u003e#28056\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e, \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e, and \u003ca href=\"https://github.com/jupapios\"\u003e@jupapios\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003euseFormStatus()\u003c/code\u003e hook to provide status information of the last form submission (\u003ca href=\"https://github.com/facebook/react/pull/26719\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26719/hovercard\"\u003e#26719\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26722\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26722/hovercard\"\u003e#26722\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26788\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26788/hovercard\"\u003e#26788\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/29019\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29019/hovercard\"\u003e#29019\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28728\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28728/hovercard\"\u003e#28728\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28413\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28413/hovercard\"\u003e#28413\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e and \u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport for Document Metadata. Adds \u003ccode\u003epreinit\u003c/code\u003e, \u003ccode\u003epreinitModule\u003c/code\u003e, \u003ccode\u003epreconnect\u003c/code\u003e, \u003ccode\u003eprefetchDNS\u003c/code\u003e, \u003ccode\u003epreload\u003c/code\u003e, and \u003ccode\u003epreloadModule\u003c/code\u003e APIs.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/facebook/react/pull/25060\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25060/hovercard\"\u003e#25060\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25243\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25243/hovercard\"\u003e#25243\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25388\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25388/hovercard\"\u003e#25388\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25432\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25432/hovercard\"\u003e#25432\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25436\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25436/hovercard\"\u003e#25436\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25426\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25426/hovercard\"\u003e#25426\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25500\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25500/hovercard\"\u003e#25500\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25480\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25480/hovercard\"\u003e#25480\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25508\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25508/hovercard\"\u003e#25508\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25515\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25515/hovercard\"\u003e#25515\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25514\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25514/hovercard\"\u003e#25514\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25532\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25532/hovercard\"\u003e#25532\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25536\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25536/hovercard\"\u003e#25536\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25534\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25534/hovercard\"\u003e#25534\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25546\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25546/hovercard\"\u003e#25546\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25559\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25559/hovercard\"\u003e#25559\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25569\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25569/hovercard\"\u003e#25569\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25599\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25599/hovercard\"\u003e#25599\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25689\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25689/hovercard\"\u003e#25689\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26106\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26106/hovercard\"\u003e#26106\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26152\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26152/hovercard\"\u003e#26152\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26239\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26239/hovercard\"\u003e#26239\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26237\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26237/hovercard\"\u003e#26237\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26280\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26280/hovercard\"\u003e#26280\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26154\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26154/hovercard\"\u003e#26154\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26256\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26256/hovercard\"\u003e#26256\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26353\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26353/hovercard\"\u003e#26353\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26427\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26427/hovercard\"\u003e#26427\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26450\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26450/hovercard\"\u003e#26450\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26502\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26502/hovercard\"\u003e#26502\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26514\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26514/hovercard\"\u003e#26514\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26531\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26531/hovercard\"\u003e#26531\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26532\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26532/hovercard\"\u003e#26532\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26557\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26557/hovercard\"\u003e#26557\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26871\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26871/hovercard\"\u003e#26871\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26881\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26881/hovercard\"\u003e#26881\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26877\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26877/hovercard\"\u003e#26877\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26873\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26873/hovercard\"\u003e#26873\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26880\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26880/hovercard\"\u003e#26880\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26942\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26942/hovercard\"\u003e#26942\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26938\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26938/hovercard\"\u003e#26938\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26940\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26940/hovercard\"\u003e#26940\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26939\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26939/hovercard\"\u003e#26939\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27030\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27030/hovercard\"\u003e#27030\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27201\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27201/hovercard\"\u003e#27201\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27212\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27212/hovercard\"\u003e#27212\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27217\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27217/hovercard\"\u003e#27217\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27218\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27218/hovercard\"\u003e#27218\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27220\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27220/hovercard\"\u003e#27220\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27224\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27224/hovercard\"\u003e#27224\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27223\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27223/hovercard\"\u003e#27223\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27269\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27269/hovercard\"\u003e#27269\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27260\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27260/hovercard\"\u003e#27260\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27347\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27347/hovercard\"\u003e#27347\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27346\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27346/hovercard\"\u003e#27346\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27361\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27361/hovercard\"\u003e#27361\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27400\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27400/hovercard\"\u003e#27400\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27541\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27541/hovercard\"\u003e#27541\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27610\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27610/hovercard\"\u003e#27610\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28110\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28110/hovercard\"\u003e#28110\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/29693\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29693/hovercard\"\u003e#29693\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/29732\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29732/hovercard\"\u003e#29732\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/29811\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29811/hovercard\"\u003e#29811\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27586\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27586/hovercard\"\u003e#27586\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28069\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28069/hovercard\"\u003e#28069\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e, \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e, \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e, \u003ca href=\"https://github.com/kassens\"\u003e@kassens\u003c/a\u003e, \u003ca href=\"https://github.com/sokra\"\u003e@sokra\u003c/a\u003e, \u003ca href=\"https://github.com/sweetliquid\"\u003e@sweetliquid\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003efetchPriority\u003c/code\u003e to \u003ccode\u003e\u0026lt;img\u0026gt;\u003c/code\u003e and \u003ccode\u003e\u0026lt;link\u0026gt;\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/25927\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25927/hovercard\"\u003e#25927\u003c/a\u003e by \u003ca href=\"https://github.com/styfle\"\u003e@styfle\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for SVG \u003ccode\u003etransformOrigin\u003c/code\u003e prop (\u003ca href=\"https://github.com/facebook/react/pull/26130\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26130/hovercard\"\u003e#26130\u003c/a\u003e by \u003ca href=\"https://github.com/arav-ind\"\u003e@arav-ind\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eonScrollEnd\u003c/code\u003e event (\u003ca href=\"https://github.com/facebook/react/pull/26789\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26789/hovercard\"\u003e#26789\u003c/a\u003e by \u003ca href=\"https://github.com/devongovett\"\u003e@devongovett\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow \u003ccode\u003e\u0026lt;hr\u0026gt;\u003c/code\u003e as child of \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/27632\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27632/hovercard\"\u003e#27632\u003c/a\u003e by \u003ca href=\"https://github.com/SouSingh\"\u003e@SouSingh\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for Popover API (\u003ca href=\"https://github.com/facebook/react/pull/27981\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27981/hovercard\"\u003e#27981\u003c/a\u003e by \u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003einert\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/24730\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24730/hovercard\"\u003e#24730\u003c/a\u003e by \u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eimageSizes\u003c/code\u003e and \u003ccode\u003eimageSrcSet\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/22550\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22550/hovercard\"\u003e#22550\u003c/a\u003e by \u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSynchronously flush transitions in popstate events (\u003ca href=\"https://github.com/facebook/react/pull/26025\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26025/hovercard\"\u003e#26025\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27559\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27559/hovercard\"\u003e#27559\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27505\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27505/hovercard\"\u003e#27505\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/30759\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/30759/hovercard\"\u003e#30759\u003c/a\u003e by \u003ca href=\"https://github.com/tyao1\"\u003e@tyao1\u003c/a\u003e and \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eflushSync\u003c/code\u003e exhausts queue even if something throws (\u003ca href=\"https://github.com/facebook/react/pull/26366\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26366/hovercard\"\u003e#26366\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThrow error if \u003ccode\u003ereact\u003c/code\u003e and \u003ccode\u003ereact-dom\u003c/code\u003e versions don’t match (\u003ca href=\"https://github.com/facebook/react/pull/29236\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29236/hovercard\"\u003e#29236\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003esrcset\u003c/code\u003e and \u003ccode\u003esrc\u003c/code\u003e are assigned last on \u003ccode\u003e\u0026lt;img\u0026gt;\u003c/code\u003e instances (\u003ca href=\"https://github.com/facebook/react/pull/30340\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/30340/hovercard\"\u003e#30340\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eJavascript URLs are replaced with functions that throw errors (\u003ca href=\"https://github.com/facebook/react/pull/26507\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26507/hovercard\"\u003e#26507\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/29808\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29808/hovercard\"\u003e#29808\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e and \u003ca href=\"https://github.com/kassens\"\u003e@kassens\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat toggle and beforetoggle as discrete events (\u003ca href=\"https://github.com/facebook/react/pull/29176\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29176/hovercard\"\u003e#29176\u003c/a\u003e by \u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFilter out empty \u003ccode\u003esrc\u003c/code\u003e and \u003ccode\u003ehref\u003c/code\u003e attributes (unless for \u003ccode\u003e\u0026lt;a href=”” /\u0026gt;\u003c/code\u003e) (\u003ca href=\"https://github.com/facebook/react/pull/18513\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18513/hovercard\"\u003e#18513\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28124\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28124/hovercard\"\u003e#28124\u003c/a\u003e by \u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e and \u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix unitless \u003ccode\u003escale\u003c/code\u003e style property (\u003ca href=\"https://github.com/facebook/react/pull/25601\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25601/hovercard\"\u003e#25601\u003c/a\u003e by \u003ca href=\"https://github.com/JonnyBurger\"\u003e@JonnyBurger\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eonChange\u003c/code\u003e error message for controlled \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/27740\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27740/hovercard\"\u003e#27740\u003c/a\u003e by \u003ca href=\"https://github.com/Biki-das\"\u003e@Biki-das\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix focus restore in child windows after element reorder (\u003ca href=\"https://github.com/facebook/react/pull/30951\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/30951/hovercard\"\u003e#30951\u003c/a\u003e by \u003ca href=\"https://github.com/ling1726\"\u003e@ling1726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003erender\u003c/code\u003e, \u003ccode\u003ehydrate\u003c/code\u003e, \u003ccode\u003efindDOMNode\u003c/code\u003e, \u003ccode\u003eunmountComponentAtNode\u003c/code\u003e, \u003ccode\u003eunstable_createEventHandle\u003c/code\u003e, \u003ccode\u003eunstable_renderSubtreeIntoContainer\u003c/code\u003e, and \u003ccode\u003eunstable_runWithPriority\u003c/code\u003e. Move \u003ccode\u003ecreateRoot\u003c/code\u003e and \u003ccode\u003ehydrateRoot\u003c/code\u003e to \u003ccode\u003ereact-dom/client\u003c/code\u003e. (\u003ca href=\"https://github.com/facebook/react/pull/28271\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28271/hovercard\"\u003e#28271\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003etest-utils\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/28541\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28541/hovercard\"\u003e#28541\u003c/a\u003e by \u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eunstable_flushControlled\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/26397\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26397/hovercard\"\u003e#26397\u003c/a\u003e by \u003ca href=\"https://github.com/kassens\"\u003e@kassens\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove legacy mode (\u003ca href=\"https://github.com/facebook/react/pull/28468\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28468/hovercard\"\u003e#28468\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003erenderToStaticNodeStream()\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/28873\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28873/hovercard\"\u003e#28873\u003c/a\u003e by @gnoff)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eunstable_renderSubtreeIntoContainer\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/29771\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29771/hovercard\"\u003e#29771\u003c/a\u003e by \u003ca href=\"https://github.com/kassens\"\u003e@kassens\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h4\u003e\u003ca id=\"user-content-react-dom-server-1\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eStable release of React Server Components (\u003ca href=\"https://github.com/facebook/react/pulls?q=is%3Apr+is%3Aclosed+%5BFlight%5D+in%3Atitle+created%3A%3C2024-12-01+\"\u003eMany, many PRs\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e, \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e, \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e, \u003ca href=\"https://github.com/sammy-SC\"\u003e@sammy-SC\u003c/a\u003e, \u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e, \u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e, \u003ca href=\"https://github.com/unstubbable\"\u003e@unstubbable\u003c/a\u003e, \u003ca href=\"https://github.com/lubieowoce\"\u003e@lubieowoce\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport Server Actions (\u003ca href=\"https://github.com/facebook/react/pull/26124\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26124/hovercard\"\u003e#26124\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26632\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26632/hovercard\"\u003e#26632\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27459\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27459/hovercard\"\u003e#27459\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e and \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanges to SSR\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd external runtime which bootstraps hydration on the client for binary transparency (\u003ca href=\"https://github.com/facebook/react/pull/25437\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25437/hovercard\"\u003e#25437\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26169\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26169/hovercard\"\u003e#26169\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/25499\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25499/hovercard\"\u003e#25499\u003c/a\u003e by \u003ca href=\"https://github.com/mofeiZ\"\u003e@MofeiZ\u003c/a\u003e and \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport subresource integrity for \u003ccode\u003ebootstrapScripts\u003c/code\u003e and \u003ccode\u003ebootstrapModules\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/25104\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25104/hovercard\"\u003e#25104\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix null bytes written at text chunk boundaries (\u003ca href=\"https://github.com/facebook/react/pull/26228\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26228/hovercard\"\u003e#26228\u003c/a\u003e by \u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix logic around attribute serialization (\u003ca href=\"https://github.com/facebook/react/pull/26526\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26526/hovercard\"\u003e#26526\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix precomputed chunk cleared on Node 18 (\u003ca href=\"https://github.com/facebook/react/pull/25645\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25645/hovercard\"\u003e#25645\u003c/a\u003e by \u003ca href=\"https://github.com/feedthejim\"\u003e@feedthejim\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eOptimize end tag chunks (\u003ca href=\"https://github.com/facebook/react/pull/27522\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27522/hovercard\"\u003e#27522\u003c/a\u003e by \u003ca href=\"https://github.com/yujunjung\"\u003e@yujunjung\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eGracefully handle suspending in DOM configs (\u003ca href=\"https://github.com/facebook/react/pull/26768\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26768/hovercard\"\u003e#26768\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCheck for nullish values on ReactCustomFormAction (\u003ca href=\"https://github.com/facebook/react/pull/26770\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26770/hovercard\"\u003e#26770\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePreload \u003ccode\u003ebootstrapModules\u003c/code\u003e, \u003ccode\u003ebootstrapScripts\u003c/code\u003e, and update priority queue (\u003ca href=\"https://github.com/facebook/react/pull/26754\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26754/hovercard\"\u003e#26754\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26753\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26753/hovercard\"\u003e#26753\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27190\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27190/hovercard\"\u003e#27190\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27189\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27189/hovercard\"\u003e#27189\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClient render the nearest child or parent suspense boundary if replay errors or is aborted (\u003ca href=\"https://github.com/facebook/react/pull/27386\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27386/hovercard\"\u003e#27386\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't bail out of flushing if we still have pending root tasks (\u003ca href=\"https://github.com/facebook/react/pull/27385\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27385/hovercard\"\u003e#27385\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure Resumable State is Serializable (\u003ca href=\"https://github.com/facebook/react/pull/27388\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27388/hovercard\"\u003e#27388\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove extra render pass when reverting to client render (\u003ca href=\"https://github.com/facebook/react/pull/26445\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26445/hovercard\"\u003e#26445\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix unwinding context during selective hydration (\u003ca href=\"https://github.com/facebook/react/pull/25876\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25876/hovercard\"\u003e#25876\u003c/a\u003e by \u003ca href=\"https://github.com/tyao1\"\u003e@tyao1\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStop flowing and then abort if a stream is cancelled (\u003ca href=\"https://github.com/facebook/react/pull/27405\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27405/hovercard\"\u003e#27405\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass cancellation reason to abort (\u003ca href=\"https://github.com/facebook/react/pull/27536\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27536/hovercard\"\u003e#27536\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eonHeaders\u003c/code\u003e entrypoint option (\u003ca href=\"https://github.com/facebook/react/pull/27641\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27641/hovercard\"\u003e#27641\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27712\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27712/hovercard\"\u003e#27712\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEscape \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e and \u003ccode\u003e\u0026lt;script\u0026gt;\u003c/code\u003e textContent to enable rendering inner content without dangerouslySetInnerHTML (\u003ca href=\"https://github.com/facebook/react/pull/28870\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28870/hovercard\"\u003e#28870\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28871\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28871/hovercard\"\u003e#28871\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFallback to client replaying actions for Blob serialization (\u003ca href=\"https://github.com/facebook/react/pull/28987\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28987/hovercard\"\u003e#28987\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRender Suspense fallback if boundary contains new stylesheet during sync update (\u003ca href=\"https://github.com/facebook/react/pull/28965\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28965/hovercard\"\u003e#28965\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix header length tracking (#30327 by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003esrcset\u003c/code\u003e to trigger load event on mount (#30351 by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't perform work when closing stream (#30497 by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow aborting during render (#30488, \u003ca href=\"https://github.com/facebook/react/pull/30730\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/30730/hovercard\"\u003e#30730\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStart initial work immediately (#31079 by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eA transition flowing into a dehydrated boundary no longer suspends when showing fallback (\u003ca href=\"https://github.com/facebook/react/pull/27230\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27230/hovercard\"\u003e#27230\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix selective hydration triggers false update loop error (\u003ca href=\"https://github.com/facebook/react/pull/27439\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27439/hovercard\"\u003e#27439\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn for Child Iterator of all types but allow Generator Components (\u003ca href=\"https://github.com/facebook/react/pull/28853\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28853/hovercard\"\u003e#28853\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude regular stack trace in serialized errors (\u003ca href=\"https://github.com/facebook/react/pull/28684\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28684/hovercard\"\u003e#28684\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28738\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28738/hovercard\"\u003e#28738\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAborting early no longer infinitely suspends (\u003ca href=\"https://github.com/facebook/react/pull/24751\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24751/hovercard\"\u003e#24751\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix hydration warning suppression in text comparisons (\u003ca href=\"https://github.com/facebook/react/pull/24784\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24784/hovercard\"\u003e#24784\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChanges to error handling in SSR\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd diffs to hydration warnings (\u003ca href=\"https://github.com/facebook/react/pull/28502\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28502/hovercard\"\u003e#28502\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28512\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28512/hovercard\"\u003e#28512\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake Error creation lazy (\u003ca href=\"https://github.com/facebook/react/pull/24728\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24728/hovercard\"\u003e#24728\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove recoverable error when a sync update flows into a dehydrated boundary (\u003ca href=\"https://github.com/facebook/react/pull/25692\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25692/hovercard\"\u003e#25692\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't \"fix up\" mismatched text content with suppressedHydrationWarning (\u003ca href=\"https://github.com/facebook/react/pull/26391\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26391/hovercard\"\u003e#26391\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix component stacks in errors (\u003ca href=\"https://github.com/facebook/react/pull/27456\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27456/hovercard\"\u003e#27456\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd component stacks to \u003ccode\u003eonError\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/27761\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27761/hovercard\"\u003e#27761\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/27850\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27850/hovercard\"\u003e#27850\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e and \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThrow hydration mismatch errors once (\u003ca href=\"https://github.com/facebook/react/pull/28502\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28502/hovercard\"\u003e#28502\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd Bun streaming server renderer (\u003ca href=\"https://github.com/facebook/react/pull/25597\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25597/hovercard\"\u003e#25597\u003c/a\u003e by \u003ca href=\"https://github.com/colinhacks\"\u003e@colinhacks\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd nonce support to bootstrap scripts (\u003ca href=\"https://github.com/facebook/react/pull/26738\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26738/hovercard\"\u003e#26738\u003c/a\u003e by \u003ca href=\"https://github.com/danieltott\"\u003e@danieltott\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ecrossorigin\u003c/code\u003e support to bootstrap scripts (\u003ca href=\"https://github.com/facebook/react/pull/26844\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26844/hovercard\"\u003e#26844\u003c/a\u003e by \u003ca href=\"https://github.com/HenriqueLimas\"\u003e@HenriqueLimas\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport \u003ccode\u003enonce\u003c/code\u003e and \u003ccode\u003efetchpriority\u003c/code\u003e in preload links (\u003ca href=\"https://github.com/facebook/react/pull/26826\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26826/hovercard\"\u003e#26826\u003c/a\u003e by \u003ca href=\"https://github.com/liuyenwei\"\u003e@liuyenwei\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ereferrerPolicy\u003c/code\u003e to \u003ccode\u003eReactDOM.preload()\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/27096\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27096/hovercard\"\u003e#27096\u003c/a\u003e by \u003ca href=\"https://github.com/styfle\"\u003e@styfle\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd server condition for \u003ccode\u003ereact/jsx-dev-runtime\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/28921\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28921/hovercard\"\u003e#28921\u003c/a\u003e by \u003ca href=\"https://github.com/himself65\"\u003e@himself65\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExport version (\u003ca href=\"https://github.com/facebook/react/pull/29596\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29596/hovercard\"\u003e#29596\u003c/a\u003e by \u003ca href=\"https://github.com/unstubbable\"\u003e@unstubbable\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename the secret export of Client and Server internals (\u003ca href=\"https://github.com/facebook/react/pull/28786\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28786/hovercard\"\u003e#28786\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28789\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28789/hovercard\"\u003e#28789\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove layout effect warning on server (\u003ca href=\"https://github.com/facebook/react/pull/26395\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26395/hovercard\"\u003e#26395\u003c/a\u003e by \u003ca href=\"https://github.com/rickhanlonii\"\u003e@rickhanlonii\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eerrorInfo.digest\u003c/code\u003e from \u003ccode\u003eonRecoverableError\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/28222\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28222/hovercard\"\u003e#28222\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReactTestRenderer\u003c/h4\u003e\u003ca id=\"user-content-reacttestrenderer\" class=\"anchor\" aria-label=\"Permalink: ReactTestRenderer\" href=\"#reacttestrenderer\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd deprecation error to \u003ccode\u003ereact-test-renderer\u003c/code\u003e on web (\u003ca href=\"https://github.com/facebook/react/pull/27903\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27903/hovercard\"\u003e#27903\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28904\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28904/hovercard\"\u003e#28904\u003c/a\u003e by \u003ca href=\"https://github.com/jackpope\"\u003e@jackpope\u003c/a\u003e and \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRender with ConcurrentRoot on web (\u003ca href=\"https://github.com/facebook/react/pull/28498\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28498/hovercard\"\u003e#28498\u003c/a\u003e by \u003ca href=\"https://github.com/jackpope\"\u003e@jackpope\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003ereact-test-renderer/shallow\u003c/code\u003e export (\u003ca href=\"https://github.com/facebook/react/pull/25475\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25475/hovercard\"\u003e#25475\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/28497\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28497/hovercard\"\u003e#28497\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e and \u003ca href=\"https://github.com/jackpope\"\u003e@jackpope\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Reconciler\u003c/h4\u003e\u003ca id=\"user-content-react-reconciler\" class=\"anchor\" aria-label=\"Permalink: React Reconciler\" href=\"#react-reconciler\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eEnable suspending commits without blocking render (\u003ca href=\"https://github.com/facebook/react/pull/26398\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26398/hovercard\"\u003e#26398\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/26427\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26427/hovercard\"\u003e#26427\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eprepareUpdate\u003c/code\u003e (\u003ca href=\"https://github.com/facebook/react/pull/26583\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/26583/hovercard\"\u003e#26583\u003c/a\u003e, \u003ca href=\"http://github.com/facebook/react/pull/27409\"\u003e#27409\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e and \u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact-Is\u003c/h4\u003e\u003ca id=\"user-content-react-is\" class=\"anchor\" aria-label=\"Permalink: React-Is\" href=\"#react-is\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eEnable tree shaking (\u003ca href=\"https://github.com/facebook/react/pull/27701\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/27701/hovercard\"\u003e#27701\u003c/a\u003e by \u003ca href=\"https://github.com/markerikson\"\u003e@markerikson\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eisConcurrentMode\u003c/code\u003e and \u003ccode\u003eisAsyncMode\u003c/code\u003e methods (\u003ca href=\"https://github.com/facebook/react/pull/28224\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28224/hovercard\"\u003e#28224\u003c/a\u003e by @gaearon)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003euseSyncExternalStore\u003c/h4\u003e\u003ca id=\"user-content-usesyncexternalstore\" class=\"anchor\" aria-label=\"Permalink: useSyncExternalStore\" href=\"#usesyncexternalstore\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemove React internals access (\u003ca href=\"https://github.com/facebook/react/pull/29868\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/29868/hovercard\"\u003e#29868\u003c/a\u003e by \u003ca href=\"https://github.com/phryneas\"\u003e@phryneas\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix stale selectors keeping previous store references (\u003ca href=\"https://github.com/facebook/react/pull/25968\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25968/hovercard\"\u003e#25969\u003c/a\u003e by \u003ca href=\"https://github.com/jellevoost\"\u003e@jellevoost\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e18.3.1 (April 26, 2024)\u003c/h2\u003e\u003ca id=\"user-content-1831-april-26-2024\" class=\"anchor\" aria-label=\"Permalink: 18.3.1 (April 26, 2024)\" href=\"#1831-april-26-2024\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eExport \u003ccode\u003eact\u003c/code\u003e from \u003ccode\u003ereact\u003c/code\u003e \u003ca href=\"https://github.com/facebook/react/commit/f1338f8080abd1386454a10bbf93d67bfe37ce85\"\u003ef1338f\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e18.3.0 (April 25, 2024)\u003c/h2\u003e\u003ca id=\"user-content-1830-april-25-2024\" class=\"anchor\" aria-label=\"Permalink: 18.3.0 (April 25, 2024)\" href=\"#1830-april-25-2024\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThis release is identical to 18.2 but adds warnings for deprecated APIs and other changes that are needed for React 19.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eRead the \u003ca href=\"https://react.dev/blog/2024/04/25/react-19-upgrade-guide\" rel=\"nofollow\"\u003eReact 19 Upgrade Guide\u003c/a\u003e for more info.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-4\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-4\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAllow writing to \u003ccode\u003ethis.refs\u003c/code\u003e to support string ref codemod \u003ca href=\"https://github.com/facebook/react/commit/9090712fd3ca4e1099e1f92e67933c2cb4f32552\"\u003e909071\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn for deprecated \u003ccode\u003efindDOMNode\u003c/code\u003e outside StrictMode \u003ca href=\"https://github.com/facebook/react/commit/c3b283964108b0e8dbcf1f9eb2e7e67815e39dfb\"\u003ec3b283\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn for deprecated \u003ccode\u003etest-utils\u003c/code\u003e methods \u003ca href=\"https://github.com/facebook/react/commit/d4ea75dc4258095593b6ac764289f42bddeb835c\"\u003ed4ea75\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn for deprecated Legacy Context outside StrictMode \u003ca href=\"https://github.com/facebook/react/commit/415ee0e6ea0fe3e288e65868df2e3241143d5f7f\"\u003e415ee0\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn for deprecated string refs outside StrictMode \u003ca href=\"https://github.com/facebook/react/pull/25383\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25383/hovercard\"\u003e#25383\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn for deprecated \u003ccode\u003edefaultProps\u003c/code\u003e for function components \u003ca href=\"https://github.com/facebook/react/pull/25699\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25699/hovercard\"\u003e#25699\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn when spreading \u003ccode\u003ekey\u003c/code\u003e \u003ca href=\"https://github.com/facebook/react/pull/25697\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/25697/hovercard\"\u003e#25697\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn when using \u003ccode\u003eact\u003c/code\u003e from \u003ccode\u003etest-utils\u003c/code\u003e \u003ca href=\"https://github.com/facebook/react/commit/d4ea75dc4258095593b6ac764289f42bddeb835c\"\u003ed4ea75\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-3\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWarn for deprecated \u003ccode\u003eunmountComponentAtNode\u003c/code\u003e \u003ca href=\"https://github.com/facebook/react/commit/8a015b68cc060079878e426610e64e86fb328f8d\"\u003e8a015b\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWarn for deprecated \u003ccode\u003erenderToStaticNodeStream\u003c/code\u003e \u003ca href=\"https://github.com/facebook/react/pull/28874\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/28874/hovercard\"\u003e#28874\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e18.2.0 (June 14, 2022)\u003c/h2\u003e\u003ca id=\"user-content-1820-june-14-2022\" class=\"anchor\" aria-label=\"Permalink: 18.2.0 (June 14, 2022)\" href=\"#1820-june-14-2022\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-4\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-4\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eProvide a component stack as a second argument to \u003ccode\u003eonRecoverableError\u003c/code\u003e. (\u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24591\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24591/hovercard\"\u003e#24591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix hydrating into \u003ccode\u003edocument\u003c/code\u003e causing a blank page on mismatch. (\u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24523\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24523/hovercard\"\u003e#24523\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix false positive hydration errors with Suspense. (\u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24480\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24480/hovercard\"\u003e#24480\u003c/a\u003e and \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24532\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24532/hovercard\"\u003e#24532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix ignored \u003ccode\u003esetState\u003c/code\u003e in Safari when adding an iframe. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24459\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24459/hovercard\"\u003e#24459\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-2\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ePass information about server errors to the client. (\u003ca href=\"https://github.com/salazarm\"\u003e@salazarm\u003c/a\u003e and \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24551\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24551/hovercard\"\u003e#24551\u003c/a\u003e and \u003ca href=\"https://github.com/facebook/react/pull/24591\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24591/hovercard\"\u003e#24591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow to provide a reason when aborting the HTML stream. (\u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24680\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24680/hovercard\"\u003e#24680\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEliminate extraneous text separators in the HTML where possible. (\u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24630\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24630/hovercard\"\u003e#24630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisallow complex children inside \u003ccode\u003e\u0026lt;title\u0026gt;\u003c/code\u003e elements to match the browser constraints. (\u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24679\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24679/hovercard\"\u003e#24679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix buffering in some worker environments by explicitly setting \u003ccode\u003ehighWaterMark\u003c/code\u003e to \u003ccode\u003e0\u003c/code\u003e. (\u003ca href=\"https://github.com/jplhomer\"\u003e@jplhomer\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24641\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24641/hovercard\"\u003e#24641\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eServer Components (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-server-components-experimental\" class=\"anchor\" aria-label=\"Permalink: Server Components (Experimental)\" href=\"#server-components-experimental\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd support for \u003ccode\u003euseId()\u003c/code\u003e inside Server Components. (\u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24172\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24172/hovercard\"\u003e#24172\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e18.1.0 (April 26, 2022)\u003c/h2\u003e\u003ca id=\"user-content-1810-april-26-2022\" class=\"anchor\" aria-label=\"Permalink: 18.1.0 (April 26, 2022)\" href=\"#1810-april-26-2022\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-5\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-5\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix the false positive warning about \u003ccode\u003ereact-dom/client\u003c/code\u003e when using UMD bundle. (\u003ca href=\"https://github.com/alireza-molaee\"\u003e@alireza-molaee\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24274\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24274/hovercard\"\u003e#24274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003esuppressHydrationWarning\u003c/code\u003e to work in production too. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24271\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24271/hovercard\"\u003e#24271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ecomponentWillUnmount\u003c/code\u003e firing twice inside of Suspense. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24308\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24308/hovercard\"\u003e#24308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix some transition updates being ignored. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24353\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24353/hovercard\"\u003e#24353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003euseDeferredValue\u003c/code\u003e causing an infinite loop when passed an unmemoized value. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24247\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24247/hovercard\"\u003e#24247\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix throttling of revealing Suspense fallbacks. (\u003ca href=\"https://github.com/sunderls\"\u003e@sunderls\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24253\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24253/hovercard\"\u003e#24253\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix an inconsistency in whether the props object is the same between renders. (\u003ca href=\"https://github.com/Andarist\"\u003e@Andarist\u003c/a\u003e and \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24421\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24421/hovercard\"\u003e#24421\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a missing warning about a \u003ccode\u003esetState\u003c/code\u003e loop in \u003ccode\u003euseEffect\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24298\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24298/hovercard\"\u003e#24298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a spurious hydration error. (\u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24404\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24404/hovercard\"\u003e#24404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn when calling \u003ccode\u003esetState\u003c/code\u003e in \u003ccode\u003euseInsertionEffect\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24295\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24295/hovercard\"\u003e#24295\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure the reason for hydration errors is always displayed. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24276\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24276/hovercard\"\u003e#24276\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-3\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix escaping for the \u003ccode\u003ebootstrapScriptContent\u003c/code\u003e contents. (\u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24385\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24385/hovercard\"\u003e#24385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSignificantly improve performance of \u003ccode\u003erenderToPipeableStream\u003c/code\u003e. (\u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24291\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24291/hovercard\"\u003e#24291\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eESLint Plugin: React Hooks\u003c/h3\u003e\u003ca id=\"user-content-eslint-plugin-react-hooks\" class=\"anchor\" aria-label=\"Permalink: ESLint Plugin: React Hooks\" href=\"#eslint-plugin-react-hooks\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix false positive errors with a large number of branches. (\u003ca href=\"https://github.com/scyron6\"\u003e@scyron6\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24287\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24287/hovercard\"\u003e#24287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't consider a known dependency stable when the variable is reassigned. (\u003ca href=\"https://github.com/afzalsayed96\"\u003e@afzalsayed96\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24343\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24343/hovercard\"\u003e#24343\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eUse Subscription\u003c/h3\u003e\u003ca id=\"user-content-use-subscription\" class=\"anchor\" aria-label=\"Permalink: Use Subscription\" href=\"#use-subscription\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eReplace the implementation with the \u003ccode\u003euse-sync-external-store\u003c/code\u003e shim. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/24289\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24289/hovercard\"\u003e#24289\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e18.0.0 (March 29, 2022)\u003c/h2\u003e\u003ca id=\"user-content-1800-march-29-2022\" class=\"anchor\" aria-label=\"Permalink: 18.0.0 (March 29, 2022)\" href=\"#1800-march-29-2022\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eBelow is a list of all new features, APIs, deprecations, and breaking changes.\nRead \u003ca href=\"https://reactjs.org/blog/2022/03/29/react-v18.html\" rel=\"nofollow\"\u003eReact 18 release post\u003c/a\u003e and \u003ca href=\"https://reactjs.org/blog/2022/03/08/react-18-upgrade-guide.html\" rel=\"nofollow\"\u003eReact 18 upgrade guide\u003c/a\u003e for more information.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew Features\u003c/h3\u003e\u003ca id=\"user-content-new-features-1\" class=\"anchor\" aria-label=\"Permalink: New Features\" href=\"#new-features-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-5\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-5\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003euseId\u003c/code\u003e is a new hook for generating unique IDs on both the client and server, while avoiding hydration mismatches. It is primarily useful for component libraries integrating with accessibility APIs that require unique IDs. This solves an issue that already exists in React 17 and below, but it’s even more important in React 18 because of how the new streaming server renderer delivers HTML out-of-order.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003estartTransition\u003c/code\u003e and \u003ccode\u003euseTransition\u003c/code\u003e let you mark some state updates as not urgent. Other state updates are considered urgent by default. React will allow urgent state updates (for example, updating a text input) to interrupt non-urgent state updates (for example, rendering a list of search results).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003euseDeferredValue\u003c/code\u003e lets you defer re-rendering a non-urgent part of the tree. It is similar to debouncing, but has a few advantages compared to it. There is no fixed time delay, so React will attempt the deferred render right after the first render is reflected on the screen. The deferred render is interruptible and doesn't block user input.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003euseSyncExternalStore\u003c/code\u003e is a new hook that allows external stores to support concurrent reads by forcing updates to the store to be synchronous. It removes the need for \u003ccode\u003euseEffect\u003c/code\u003e when implementing subscriptions to external data sources, and is recommended for any library that integrates with state external to React.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003euseInsertionEffect\u003c/code\u003e is a new hook that allows CSS-in-JS libraries to address performance issues of injecting styles in render. Unless you’ve already built a CSS-in-JS library we don’t expect you to ever use this. This hook will run after the DOM is mutated, but before layout effects read the new layout. This solves an issue that already exists in React 17 and below, but is even more important in React 18 because React yields to the browser during concurrent rendering, giving it a chance to recalculate layout.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Client\u003c/h3\u003e\u003ca id=\"user-content-react-dom-client-1\" class=\"anchor\" aria-label=\"Permalink: React DOM Client\" href=\"#react-dom-client-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThese new APIs are now exported from \u003ccode\u003ereact-dom/client\u003c/code\u003e:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003ecreateRoot\u003c/code\u003e: New method to create a root to \u003ccode\u003erender\u003c/code\u003e or \u003ccode\u003eunmount\u003c/code\u003e. Use it instead of \u003ccode\u003eReactDOM.render\u003c/code\u003e. New features in React 18 don't work without it.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ehydrateRoot\u003c/code\u003e: New method to hydrate a server rendered application. Use it instead of \u003ccode\u003eReactDOM.hydrate\u003c/code\u003e in conjunction with the new React DOM Server APIs. New features in React 18 don't work without it.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eBoth \u003ccode\u003ecreateRoot\u003c/code\u003e and \u003ccode\u003ehydrateRoot\u003c/code\u003e accept a new option called \u003ccode\u003eonRecoverableError\u003c/code\u003e in case you want to be notified when React recovers from errors during rendering or hydration for logging. By default, React will use \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/API/reportError\" rel=\"nofollow\"\u003e\u003ccode\u003ereportError\u003c/code\u003e\u003c/a\u003e, or \u003ccode\u003econsole.error\u003c/code\u003e in the older browsers.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-4\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-4\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThese new APIs are now exported from \u003ccode\u003ereact-dom/server\u003c/code\u003e and have full support for streaming Suspense on the server:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003erenderToPipeableStream\u003c/code\u003e: for streaming in Node environments.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erenderToReadableStream\u003c/code\u003e: for modern edge runtime environments, such as Deno and Cloudflare workers.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp dir=\"auto\"\u003eThe existing \u003ccode\u003erenderToString\u003c/code\u003e method keeps working but is discouraged.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDeprecations\u003c/h2\u003e\u003ca id=\"user-content-deprecations-1\" class=\"anchor\" aria-label=\"Permalink: Deprecations\" href=\"#deprecations-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003ereact-dom\u003c/code\u003e: \u003ccode\u003eReactDOM.render\u003c/code\u003e has been deprecated. Using it will warn and run your app in React 17 mode.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ereact-dom\u003c/code\u003e: \u003ccode\u003eReactDOM.hydrate\u003c/code\u003e has been deprecated. Using it will warn and run your app in React 17 mode.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ereact-dom\u003c/code\u003e: \u003ccode\u003eReactDOM.unmountComponentAtNode\u003c/code\u003e has been deprecated.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ereact-dom\u003c/code\u003e: \u003ccode\u003eReactDOM.renderSubtreeIntoContainer\u003c/code\u003e has been deprecated.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ereact-dom/server\u003c/code\u003e: \u003ccode\u003eReactDOMServer.renderToNodeStream\u003c/code\u003e has been deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBreaking Changes\u003c/h2\u003e\u003ca id=\"user-content-breaking-changes-1\" class=\"anchor\" aria-label=\"Permalink: Breaking Changes\" href=\"#breaking-changes-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-6\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-6\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eAutomatic batching:\u003c/strong\u003e This release introduces a performance improvement that changes to the way React batches updates to do more batching automatically. See \u003ca href=\"https://github.com/reactwg/react-18/discussions/21\" data-hovercard-type=\"discussion\" data-hovercard-url=\"/reactwg/react-18/discussions/21/hovercard\"\u003eAutomatic batching for fewer renders in React 18\u003c/a\u003e for more info. In the rare case that you need to opt out, wrap the state update in \u003ccode\u003eflushSync\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eStricter Strict Mode\u003c/strong\u003e: In the future, React will provide a feature that lets components preserve state between unmounts. To prepare for it, React 18 introduces a new development-only check to Strict Mode. React will automatically unmount and remount every component, whenever a component mounts for the first time, restoring the previous state on the second mount. If this breaks your app, consider removing Strict Mode until you can fix the components to be resilient to remounting with existing state.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eConsistent useEffect timing\u003c/strong\u003e: React now always synchronously flushes effect functions if the update was triggered during a discrete user input event such as a click or a keydown event. Previously, the behavior wasn't always predictable or consistent.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eStricter hydration errors\u003c/strong\u003e: Hydration mismatches due to missing or extra text content are now treated like errors instead of warnings. React will no longer attempt to \"patch up\" individual nodes by inserting or deleting a node on the client in an attempt to match the server markup, and will revert to client rendering up to the closest \u003ccode\u003e\u0026lt;Suspense\u0026gt;\u003c/code\u003e boundary in the tree. This ensures the hydrated tree is consistent and avoids potential privacy and security holes that can be caused by hydration mismatches.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eSuspense trees are always consistent:\u003c/strong\u003e If a component suspends before it's fully added to the tree, React will not add it to the tree in an incomplete state or fire its effects. Instead, React will throw away the new tree completely, wait for the asynchronous operation to finish, and then retry rendering again from scratch. React will render the retry attempt concurrently, and without blocking the browser.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eLayout Effects with Suspense\u003c/strong\u003e: When a tree re-suspends and reverts to a fallback, React will now clean up layout effects, and then re-create them when the content inside the boundary is shown again. This fixes an issue which prevented component libraries from correctly measuring layout when used with Suspense.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNew JS Environment Requirements\u003c/strong\u003e: React now depends on modern browsers features including \u003ccode\u003ePromise\u003c/code\u003e, \u003ccode\u003eSymbol\u003c/code\u003e, and \u003ccode\u003eObject.assign\u003c/code\u003e. If you support older browsers and devices such as Internet Explorer which do not provide modern browser features natively or have non-compliant implementations, consider including a global polyfill in your bundled application.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eScheduler (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-scheduler-experimental\" class=\"anchor\" aria-label=\"Permalink: Scheduler (Experimental)\" href=\"#scheduler-experimental\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemove unstable \u003ccode\u003escheduler/tracing\u003c/code\u003e API\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNotable Changes\u003c/h2\u003e\u003ca id=\"user-content-notable-changes-1\" class=\"anchor\" aria-label=\"Permalink: Notable Changes\" href=\"#notable-changes-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-7\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-7\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eComponents can now render \u003ccode\u003eundefined\u003c/code\u003e:\u003c/strong\u003e React no longer throws if you return \u003ccode\u003eundefined\u003c/code\u003e from a component. This makes the allowed component return values consistent with values that are allowed in the middle of a component tree. We suggest to use a linter to prevent mistakes like forgetting a \u003ccode\u003ereturn\u003c/code\u003e statement before JSX.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eIn tests, \u003ccode\u003eact\u003c/code\u003e warnings are now opt-in:\u003c/strong\u003e If you're running end-to-end tests, the \u003ccode\u003eact\u003c/code\u003e warnings are unnecessary. We've introduced an \u003ca href=\"https://github.com/reactwg/react-18/discussions/102\" data-hovercard-type=\"discussion\" data-hovercard-url=\"/reactwg/react-18/discussions/102/hovercard\"\u003eopt-in\u003c/a\u003e mechanism so you can enable them only for unit tests where they are useful and beneficial.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNo warning about \u003ccode\u003esetState\u003c/code\u003e on unmounted components:\u003c/strong\u003e Previously, React warned about memory leaks when you call \u003ccode\u003esetState\u003c/code\u003e on an unmounted component. This warning was added for subscriptions, but people primarily run into it in scenarios where setting state is fine, and workarounds make the code worse. We've \u003ca href=\"https://github.com/facebook/react/pull/22114\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22114/hovercard\"\u003eremoved\u003c/a\u003e this warning.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNo suppression of console logs:\u003c/strong\u003e When you use Strict Mode, React renders each component twice to help you find unexpected side effects. In React 17, we've suppressed console logs for one of the two renders to make the logs easier to read. In response to \u003ca href=\"https://github.com/facebook/react/issues/21783\" data-hovercard-type=\"issue\" data-hovercard-url=\"/facebook/react/issues/21783/hovercard\"\u003ecommunity feedback\u003c/a\u003e about this being confusing, we've removed the suppression. Instead, if you have React DevTools installed, the second log's renders will be displayed in grey, and there will be an option (off by default) to suppress them completely.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eImproved memory usage:\u003c/strong\u003e React now cleans up more internal fields on unmount, making the impact from unfixed memory leaks that may exist in your application code less severe.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-5\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-5\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003erenderToString\u003c/code\u003e:\u003c/strong\u003e Will no longer error when suspending on the server. Instead, it will emit the fallback HTML for the closest \u003ccode\u003e\u0026lt;Suspense\u0026gt;\u003c/code\u003e boundary and then retry rendering the same content on the client. It is still recommended that you switch to a streaming API like \u003ccode\u003erenderToPipeableStream\u003c/code\u003e or \u003ccode\u003erenderToReadableStream\u003c/code\u003e instead.\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003erenderToStaticMarkup\u003c/code\u003e:\u003c/strong\u003e Will no longer error when suspending on the server. Instead, it will emit the fallback HTML for the closest \u003ccode\u003e\u0026lt;Suspense\u0026gt;\u003c/code\u003e boundary and retry rendering on the client.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAll Changes\u003c/h2\u003e\u003ca id=\"user-content-all-changes-1\" class=\"anchor\" aria-label=\"Permalink: All Changes\" href=\"#all-changes-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h2\u003e\u003ca id=\"user-content-react-8\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-8\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003euseTransition\u003c/code\u003e and \u003ccode\u003euseDeferredValue\u003c/code\u003e to separate urgent updates from transitions. (\u003ca href=\"https://github.com/facebook/react/pull/10426\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10426/hovercard\"\u003e#10426\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/10715\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10715/hovercard\"\u003e#10715\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/15593\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15593/hovercard\"\u003e#15593\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/15272\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15272/hovercard\"\u003e#15272\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/15578\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15578/hovercard\"\u003e#15578\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/15769\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15769/hovercard\"\u003e#15769\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/17058\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17058/hovercard\"\u003e#17058\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/18796\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18796/hovercard\"\u003e#18796\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/19121\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19121/hovercard\"\u003e#19121\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/19703\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19703/hovercard\"\u003e#19703\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/19719\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19719/hovercard\"\u003e#19719\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/19724\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19724/hovercard\"\u003e#19724\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/20672\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20672/hovercard\"\u003e#20672\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/20976\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20976/hovercard\"\u003e#20976\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e, \u003ca href=\"https://github.com/lunaruan\"\u003e@lunaruan\u003c/a\u003e, \u003ca href=\"https://github.com/rickhanlonii\"\u003e@rickhanlonii\u003c/a\u003e, and \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003euseId\u003c/code\u003e for generating unique IDs. (\u003ca href=\"https://github.com/facebook/react/pull/17322\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17322/hovercard\"\u003e#17322\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/18576\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18576/hovercard\"\u003e#18576\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/22644\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22644/hovercard\"\u003e#22644\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/22672\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22672/hovercard\"\u003e#22672\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/21260\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21260/hovercard\"\u003e#21260\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e, \u003ca href=\"https://github.com/lunaruan\"\u003e@lunaruan\u003c/a\u003e, and \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003euseSyncExternalStore\u003c/code\u003e to help external store libraries integrate with React. (\u003ca href=\"https://github.com/facebook/react/pull/15022\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15022/hovercard\"\u003e#15022\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/18000\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18000/hovercard\"\u003e#18000\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/18771\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18771/hovercard\"\u003e#18771\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/22211\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22211/hovercard\"\u003e#22211\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/22292\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22292/hovercard\"\u003e#22292\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/22239\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22239/hovercard\"\u003e#22239\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/22347\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22347/hovercard\"\u003e#22347\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/23150\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23150/hovercard\"\u003e#23150\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e, \u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e, and \u003ca href=\"https://github.com/drarmstr\"\u003e@drarmstr\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003estartTransition\u003c/code\u003e as a version of \u003ccode\u003euseTransition\u003c/code\u003e without pending feedback. (\u003ca href=\"https://github.com/facebook/react/pull/19696\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19696/hovercard\"\u003e#19696\u003c/a\u003e by \u003ca href=\"https://github.com/rickhanlonii\"\u003e@rickhanlonii\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003euseInsertionEffect\u003c/code\u003e for CSS-in-JS libraries. (\u003ca href=\"https://github.com/facebook/react/pull/21913\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21913/hovercard\"\u003e#21913\u003c/a\u003e by \u003ca href=\"https://github.com/rickhanlonii\"\u003e@rickhanlonii\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake Suspense remount layout effects when content reappears. (\u003ca href=\"https://github.com/facebook/react/pull/19322\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19322/hovercard\"\u003e#19322\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/19374\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19374/hovercard\"\u003e#19374\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/19523\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19523/hovercard\"\u003e#19523\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/20625\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20625/hovercard\"\u003e#20625\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/21079\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21079/hovercard\"\u003e#21079\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e, \u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e, and \u003ca href=\"https://github.com/lunaruan\"\u003e@lunaruan\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003e\u0026lt;StrictMode\u0026gt;\u003c/code\u003e re-run effects to check for restorable state. (\u003ca href=\"https://github.com/facebook/react/pull/19523\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19523/hovercard\"\u003e#19523\u003c/a\u003e , \u003ca href=\"https://github.com/facebook/react/pull/21418\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21418/hovercard\"\u003e#21418\u003c/a\u003e by \u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e and \u003ca href=\"https://github.com/lunaruan\"\u003e@lunaruan\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAssume Symbols are always available. (\u003ca href=\"https://github.com/facebook/react/pull/23348\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23348/hovercard\"\u003e#23348\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eobject-assign\u003c/code\u003e polyfill. (\u003ca href=\"https://github.com/facebook/react/pull/23351\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23351/hovercard\"\u003e#23351\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unsupported \u003ccode\u003eunstable_changedBits\u003c/code\u003e API. (\u003ca href=\"https://github.com/facebook/react/pull/20953\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20953/hovercard\"\u003e#20953\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow components to render undefined. (\u003ca href=\"https://github.com/facebook/react/pull/21869\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21869/hovercard\"\u003e#21869\u003c/a\u003e by \u003ca href=\"https://github.com/rickhanlonii\"\u003e@rickhanlonii\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFlush \u003ccode\u003euseEffect\u003c/code\u003e resulting from discrete events like clicks synchronously. (\u003ca href=\"https://github.com/facebook/react/pull/21150\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21150/hovercard\"\u003e#21150\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSuspense \u003ccode\u003efallback={undefined}\u003c/code\u003e now behaves the same as \u003ccode\u003enull\u003c/code\u003e and isn't ignored. (\u003ca href=\"https://github.com/facebook/react/pull/21854\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21854/hovercard\"\u003e#21854\u003c/a\u003e by \u003ca href=\"https://github.com/rickhanlonii\"\u003e@rickhanlonii\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider all \u003ccode\u003elazy()\u003c/code\u003e resolving to the same component equivalent. (\u003ca href=\"https://github.com/facebook/react/pull/20357\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20357/hovercard\"\u003e#20357\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't patch console during first render. (\u003ca href=\"https://github.com/facebook/react/pull/22308\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22308/hovercard\"\u003e#22308\u003c/a\u003e by \u003ca href=\"https://github.com/lunaruan\"\u003e@lunaruan\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove memory usage. (\u003ca href=\"https://github.com/facebook/react/pull/21039\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21039/hovercard\"\u003e#21039\u003c/a\u003e by \u003ca href=\"https://github.com/bgirard\"\u003e@bgirard\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove messages if string coercion throws (Temporal.*, Symbol, etc.) (\u003ca href=\"https://github.com/facebook/react/pull/22064\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22064/hovercard\"\u003e#22064\u003c/a\u003e by \u003ca href=\"https://github.com/justingrant\"\u003e@justingrant\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003esetImmediate\u003c/code\u003e when available over \u003ccode\u003eMessageChannel\u003c/code\u003e. (\u003ca href=\"https://github.com/facebook/react/pull/20834\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20834/hovercard\"\u003e#20834\u003c/a\u003e by \u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix context failing to propagate inside suspended trees. (\u003ca href=\"https://github.com/facebook/react/pull/23095\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23095/hovercard\"\u003e#23095\u003c/a\u003e by \u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003euseReducer\u003c/code\u003e observing incorrect props by removing the eager bailout mechanism. (\u003ca href=\"https://github.com/facebook/react/pull/22445\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22445/hovercard\"\u003e#22445\u003c/a\u003e by \u003ca href=\"https://github.com/josephsavona\"\u003e@josephsavona\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003esetState\u003c/code\u003e being ignored in Safari when appending iframes. (\u003ca href=\"https://github.com/facebook/react/pull/23111\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23111/hovercard\"\u003e#23111\u003c/a\u003e by \u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a crash when rendering \u003ccode\u003eZonedDateTime\u003c/code\u003e in the tree. (\u003ca href=\"https://github.com/facebook/react/pull/20617\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20617/hovercard\"\u003e#20617\u003c/a\u003e by \u003ca href=\"https://github.com/dimaqq\"\u003e@dimaqq\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a crash when document is set to \u003ccode\u003enull\u003c/code\u003e in tests. (\u003ca href=\"https://github.com/facebook/react/pull/22695\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22695/hovercard\"\u003e#22695\u003c/a\u003e by \u003ca href=\"https://github.com/SimenB\"\u003e@SimenB\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eonLoad\u003c/code\u003e not triggering when concurrent features are on. (\u003ca href=\"https://github.com/facebook/react/pull/23316\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23316/hovercard\"\u003e#23316\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a warning when a selector returns \u003ccode\u003eNaN\u003c/code\u003e. (\u003ca href=\"https://github.com/facebook/react/pull/23333\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23333/hovercard\"\u003e#23333\u003c/a\u003e by \u003ca href=\"https://github.com/hachibeeDI\"\u003e@hachibeeDI\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the generated license header. (\u003ca href=\"https://github.com/facebook/react/pull/23004\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23004/hovercard\"\u003e#23004\u003c/a\u003e by \u003ca href=\"https://github.com/vitaliemiron\"\u003e@vitaliemiron\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003epackage.json\u003c/code\u003e as one of the entry points. (\u003ca href=\"https://github.com/facebook/react/pull/22954\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22954/hovercard\"\u003e#22954\u003c/a\u003e by \u003ca href=\"https://github.com/Jack-Works\"\u003e@Jack\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow suspending outside a Suspense boundary. (\u003ca href=\"https://github.com/facebook/react/pull/23267\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23267/hovercard\"\u003e#23267\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eLog a recoverable error whenever hydration fails. (\u003ca href=\"https://github.com/facebook/react/pull/23319\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23319/hovercard\"\u003e#23319\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-6\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-6\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003ecreateRoot\u003c/code\u003e and \u003ccode\u003ehydrateRoot\u003c/code\u003e. (\u003ca href=\"https://github.com/facebook/react/pull/10239\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10239/hovercard\"\u003e#10239\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/11225\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11225/hovercard\"\u003e#11225\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/12117\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12117/hovercard\"\u003e#12117\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/13732\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13732/hovercard\"\u003e#13732\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/15502\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15502/hovercard\"\u003e#15502\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/15532\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15532/hovercard\"\u003e#15532\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/17035\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17035/hovercard\"\u003e#17035\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/17165\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17165/hovercard\"\u003e#17165\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/20669\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20669/hovercard\"\u003e#20669\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/20748\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20748/hovercard\"\u003e#20748\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/20888\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20888/hovercard\"\u003e#20888\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/21072\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21072/hovercard\"\u003e#21072\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/21417\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21417/hovercard\"\u003e#21417\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/21652\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21652/hovercard\"\u003e#21652\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/21687\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21687/hovercard\"\u003e#21687\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/23207\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23207/hovercard\"\u003e#23207\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/23385\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23385/hovercard\"\u003e#23385\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e, \u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e, \u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e, \u003ca href=\"https://github.com/lunaruan\"\u003e@lunaruan\u003c/a\u003e, \u003ca href=\"https://github.com/rickhanlonii\"\u003e@rickhanlonii\u003c/a\u003e, \u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e, and \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd selective hydration. (\u003ca href=\"https://github.com/facebook/react/pull/14717\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14717/hovercard\"\u003e#14717\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/14884\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14884/hovercard\"\u003e#14884\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/16725\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16725/hovercard\"\u003e#16725\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/16880\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16880/hovercard\"\u003e#16880\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/17004\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17004/hovercard\"\u003e#17004\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/22416\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22416/hovercard\"\u003e#22416\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/22629\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22629/hovercard\"\u003e#22629\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/22448\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22448/hovercard\"\u003e#22448\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/22856\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22856/hovercard\"\u003e#22856\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/23176\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23176/hovercard\"\u003e#23176\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e, \u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e, \u003ca href=\"https://github.com/salazarm\"\u003e@salazarm\u003c/a\u003e, and \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003earia-description\u003c/code\u003e to the list of known ARIA attributes. (\u003ca href=\"https://github.com/facebook/react/pull/22142\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22142/hovercard\"\u003e#22142\u003c/a\u003e by \u003ca href=\"https://github.com/mahyareb\"\u003e@mahyareb\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eonResize\u003c/code\u003e event to video elements. (\u003ca href=\"https://github.com/facebook/react/pull/21973\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21973/hovercard\"\u003e#21973\u003c/a\u003e by \u003ca href=\"https://github.com/rileyjshaw\"\u003e@rileyjshaw\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eimageSizes\u003c/code\u003e and \u003ccode\u003eimageSrcSet\u003c/code\u003e to known props. (\u003ca href=\"https://github.com/facebook/react/pull/22550\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22550/hovercard\"\u003e#22550\u003c/a\u003e by \u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow non-string \u003ccode\u003e\u0026lt;option\u0026gt;\u003c/code\u003e children if \u003ccode\u003evalue\u003c/code\u003e is provided. (\u003ca href=\"https://github.com/facebook/react/pull/21431\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21431/hovercard\"\u003e#21431\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003easpectRatio\u003c/code\u003e style not being applied. (\u003ca href=\"https://github.com/facebook/react/pull/21100\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21100/hovercard\"\u003e#21100\u003c/a\u003e by \u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn if \u003ccode\u003erenderSubtreeIntoContainer\u003c/code\u003e is called. (\u003ca href=\"https://github.com/facebook/react/pull/23355\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23355/hovercard\"\u003e#23355\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-6\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-6\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd the new streaming renderer. (\u003ca href=\"https://github.com/facebook/react/pull/14144\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14144/hovercard\"\u003e#14144\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/20970\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20970/hovercard\"\u003e#20970\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/21056\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21056/hovercard\"\u003e#21056\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/21255\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21255/hovercard\"\u003e#21255\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/21200\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21200/hovercard\"\u003e#21200\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/21257\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21257/hovercard\"\u003e#21257\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/21276\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21276/hovercard\"\u003e#21276\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/22443\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22443/hovercard\"\u003e#22443\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/22450\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22450/hovercard\"\u003e#22450\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/23247\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23247/hovercard\"\u003e#23247\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/24025\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24025/hovercard\"\u003e#24025\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/24030\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24030/hovercard\"\u003e#24030\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix context providers in SSR when handling multiple requests. (\u003ca href=\"https://github.com/facebook/react/pull/23171\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23171/hovercard\"\u003e#23171\u003c/a\u003e by \u003ca href=\"https://github.com/frandiox\"\u003e@frandiox\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert to client render on text mismatch. (\u003ca href=\"https://github.com/facebook/react/pull/23354\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23354/hovercard\"\u003e#23354\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003erenderToNodeStream\u003c/code\u003e. (\u003ca href=\"https://github.com/facebook/react/pull/23359\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23359/hovercard\"\u003e#23359\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a spurious error log in the new server renderer. (\u003ca href=\"https://github.com/facebook/react/pull/24043\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24043/hovercard\"\u003e#24043\u003c/a\u003e by \u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug in the new server renderer. (\u003ca href=\"https://github.com/facebook/react/pull/22617\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22617/hovercard\"\u003e#22617\u003c/a\u003e by \u003ca href=\"https://github.com/shuding\"\u003e@shuding\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore function and symbol values inside custom elements on the server. (\u003ca href=\"https://github.com/facebook/react/pull/21157\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21157/hovercard\"\u003e#21157\u003c/a\u003e by \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Test Utils\u003c/h3\u003e\u003ca id=\"user-content-react-dom-test-utils\" class=\"anchor\" aria-label=\"Permalink: React DOM Test Utils\" href=\"#react-dom-test-utils\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThrow when \u003ccode\u003eact\u003c/code\u003e is used in production. (\u003ca href=\"https://github.com/facebook/react/pull/21686\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21686/hovercard\"\u003e#21686\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport disabling spurious act warnings with \u003ccode\u003eglobal.IS_REACT_ACT_ENVIRONMENT\u003c/code\u003e. (\u003ca href=\"https://github.com/facebook/react/pull/22561\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22561/hovercard\"\u003e#22561\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpand act warning to cover all APIs that might schedule React work. (\u003ca href=\"https://github.com/facebook/react/pull/22607\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22607/hovercard\"\u003e#22607\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake \u003ccode\u003eact\u003c/code\u003e batch updates. (\u003ca href=\"https://github.com/facebook/react/pull/21797\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/21797/hovercard\"\u003e#21797\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove warning for dangling passive effects. (\u003ca href=\"https://github.com/facebook/react/pull/22609\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22609/hovercard\"\u003e#22609\u003c/a\u003e by \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Refresh\u003c/h3\u003e\u003ca id=\"user-content-react-refresh\" class=\"anchor\" aria-label=\"Permalink: React Refresh\" href=\"#react-refresh\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTrack late-mounted roots in Fast Refresh. (\u003ca href=\"https://github.com/facebook/react/pull/22740\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22740/hovercard\"\u003e#22740\u003c/a\u003e by \u003ca href=\"https://github.com/anc95\"\u003e@anc95\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eexports\u003c/code\u003e field to \u003ccode\u003epackage.json\u003c/code\u003e. (\u003ca href=\"https://github.com/facebook/react/pull/23087\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23087/hovercard\"\u003e#23087\u003c/a\u003e by \u003ca href=\"https://github.com/otakustay\"\u003e@otakustay\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eServer Components (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-server-components-experimental-1\" class=\"anchor\" aria-label=\"Permalink: Server Components (Experimental)\" href=\"#server-components-experimental-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd Server Context support. (\u003ca href=\"https://github.com/facebook/react/pull/23244\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/23244/hovercard\"\u003e#23244\u003c/a\u003e by \u003ca href=\"https://github.com/salazarm\"\u003e@salazarm\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003elazy\u003c/code\u003e support. (\u003ca href=\"https://github.com/facebook/react/pull/24068\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/24068/hovercard\"\u003e#24068\u003c/a\u003e by \u003ca href=\"https://github.com/gnoff\"\u003e@gnoff\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate webpack plugin for webpack 5 (\u003ca href=\"https://github.com/facebook/react/pull/22739\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22739/hovercard\"\u003e#22739\u003c/a\u003e by \u003ca href=\"https://github.com/michenly\"\u003e@michenly\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a mistake in the Node loader. (\u003ca href=\"https://github.com/facebook/react/pull/22537\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22537/hovercard\"\u003e#22537\u003c/a\u003e by \u003ca href=\"https://github.com/btea\"\u003e@btea\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eglobalThis\u003c/code\u003e instead of \u003ccode\u003ewindow\u003c/code\u003e for edge environments. (\u003ca href=\"https://github.com/facebook/react/pull/22777\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/22777/hovercard\"\u003e#22777\u003c/a\u003e by \u003ca href=\"https://github.com/huozhi\"\u003e@huozhi\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eScheduler (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-scheduler-experimental-1\" class=\"anchor\" aria-label=\"Permalink: Scheduler (Experimental)\" href=\"#scheduler-experimental-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemove unstable \u003ccode\u003escheduler/tracing\u003c/code\u003e API (\u003ca href=\"https://github.com/facebook/react/pull/20037\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20037/hovercard\"\u003e#20037\u003c/a\u003e by \u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e17.0.2 (March 22, 2021)\u003c/h2\u003e\u003ca id=\"user-content-1702-march-22-2021\" class=\"anchor\" aria-label=\"Permalink: 17.0.2 (March 22, 2021)\" href=\"#1702-march-22-2021\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-7\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-7\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemove an unused dependency to address the \u003ca href=\"https://developer.chrome.com/blog/enabling-shared-array-buffer/\" rel=\"nofollow\"\u003e\u003ccode\u003eSharedArrayBuffer\u003c/code\u003e cross-origin isolation warning\u003c/a\u003e. (\u003ca href=\"https://github.com/koba04\"\u003e@koba04\u003c/a\u003e and \u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/20831\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20831/hovercard\"\u003e#20831\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/20832\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20832/hovercard\"\u003e#20832\u003c/a\u003e, and \u003ca href=\"https://github.com/facebook/react/pull/20840\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20840/hovercard\"\u003e#20840\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e17.0.1 (October 22, 2020)\u003c/h2\u003e\u003ca id=\"user-content-1701-october-22-2020\" class=\"anchor\" aria-label=\"Permalink: 17.0.1 (October 22, 2020)\" href=\"#1701-october-22-2020\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-8\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-8\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix a crash in IE11. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/20071\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20071/hovercard\"\u003e#20071\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e17.0.0 (October 20, 2020)\u003c/h2\u003e\u003ca id=\"user-content-1700-october-20-2020\" class=\"anchor\" aria-label=\"Permalink: 17.0.0 (October 20, 2020)\" href=\"#1700-october-20-2020\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eToday, we are releasing React 17!\u003c/p\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003e\u003ca href=\"https://reactjs.org/blog/2020/10/20/react-v17.html\" rel=\"nofollow\"\u003eLearn more about React 17 and how to update to it on the official React blog.\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-9\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-9\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003ereact/jsx-runtime\u003c/code\u003e and \u003ccode\u003ereact/jsx-dev-runtime\u003c/code\u003e for the \u003ca href=\"https://babeljs.io/blog/2020/03/16/7.9.0#a-new-jsx-transform-11154-https-githubcom-babel-babel-pull-11154\" rel=\"nofollow\"\u003enew JSX transform\u003c/a\u003e. (\u003ca href=\"https://github.com/lunaruan\"\u003e@lunaruan\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18299\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18299/hovercard\"\u003e#18299\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBuild component stacks from native error frames. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18561\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18561/hovercard\"\u003e#18561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow to specify \u003ccode\u003edisplayName\u003c/code\u003e on context for improved stacks. (\u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18224\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18224/hovercard\"\u003e#18224\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent \u003ccode\u003e'use strict'\u003c/code\u003e from leaking in the UMD bundles. (\u003ca href=\"https://github.com/koba04\"\u003e@koba04\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19614\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19614/hovercard\"\u003e#19614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStop using \u003ccode\u003efb.me\u003c/code\u003e for redirects. (\u003ca href=\"https://github.com/cylim\"\u003e@cylim\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19598\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19598/hovercard\"\u003e#19598\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-9\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-9\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDelegate events to roots instead of \u003ccode\u003edocument\u003c/code\u003e. (\u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18195\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18195/hovercard\"\u003e#18195\u003c/a\u003e and \u003ca href=\"https://github.com/facebook/react/pulls?q=is%3Apr+author%3Atrueadm+modern+event+is%3Amerged\"\u003eothers\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClean up all effects before running any next effects. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17947\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17947/hovercard\"\u003e#17947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun \u003ccode\u003euseEffect\u003c/code\u003e cleanup functions asynchronously. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17925\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17925/hovercard\"\u003e#17925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse browser \u003ccode\u003efocusin\u003c/code\u003e and \u003ccode\u003efocusout\u003c/code\u003e for \u003ccode\u003eonFocus\u003c/code\u003e and \u003ccode\u003eonBlur\u003c/code\u003e. (\u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19186\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19186/hovercard\"\u003e#19186\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake all \u003ccode\u003eCapture\u003c/code\u003e events use the browser capture phase. (\u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19221\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19221/hovercard\"\u003e#19221\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't emulate bubbling of the \u003ccode\u003eonScroll\u003c/code\u003e event. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19464\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19464/hovercard\"\u003e#19464\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThrow if \u003ccode\u003eforwardRef\u003c/code\u003e or \u003ccode\u003ememo\u003c/code\u003e component returns \u003ccode\u003eundefined\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19550\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19550/hovercard\"\u003e#19550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove event pooling. (\u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18969\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18969/hovercard\"\u003e#18969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStop exposing internals that won’t be needed by React Native Web. (\u003ca href=\"https://github.com/necolas\"\u003e@necolas\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18483\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18483/hovercard\"\u003e#18483\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAttach all known event listeners when the root mounts. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19659\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19659/hovercard\"\u003e#19659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable \u003ccode\u003econsole\u003c/code\u003e in the second render pass of DEV mode double render. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18547\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18547/hovercard\"\u003e#18547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate the undocumented and misleading \u003ccode\u003eReactTestUtils.SimulateNative\u003c/code\u003e API. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13407\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13407/hovercard\"\u003e#13407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename private field names used in the internals. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18377\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18377/hovercard\"\u003e#18377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't call User Timing API in development. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18417\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18417/hovercard\"\u003e#18417\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable console during the repeated render in Strict Mode. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18547\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18547/hovercard\"\u003e#18547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIn Strict Mode, double-render components without Hooks too. (\u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18430\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18430/hovercard\"\u003e#18430\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow calling \u003ccode\u003eReactDOM.flushSync\u003c/code\u003e during lifecycle methods (but warn). (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18759\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18759/hovercard\"\u003e#18759\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003ecode\u003c/code\u003e property to the keyboard event objects. (\u003ca href=\"https://github.com/bl00mber\"\u003e@bl00mber\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18287\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18287/hovercard\"\u003e#18287\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003edisableRemotePlayback\u003c/code\u003e property for \u003ccode\u003evideo\u003c/code\u003e elements. (\u003ca href=\"https://github.com/tombrowndev\"\u003e@tombrowndev\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18619\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18619/hovercard\"\u003e#18619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003eenterKeyHint\u003c/code\u003e property for \u003ccode\u003einput\u003c/code\u003e elements. (\u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18634\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18634/hovercard\"\u003e#18634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn when no \u003ccode\u003evalue\u003c/code\u003e is provided to \u003ccode\u003e\u0026lt;Context.Provider\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/charlie1404\"\u003e@charlie1404\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19054\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19054/hovercard\"\u003e#19054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn when \u003ccode\u003ememo\u003c/code\u003e or \u003ccode\u003eforwardRef\u003c/code\u003e components return \u003ccode\u003eundefined\u003c/code\u003e. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19550\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19550/hovercard\"\u003e#19550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the error message for invalid updates. (\u003ca href=\"https://github.com/JoviDeCroock\"\u003e@JoviDeCroock\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18316\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18316/hovercard\"\u003e#18316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExclude forwardRef and memo from stack frames. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18559\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18559/hovercard\"\u003e#18559\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the error message when switching between controlled and uncontrolled inputs. (\u003ca href=\"https://github.com/vcarl\"\u003e@vcarl\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17070\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17070/hovercard\"\u003e#17070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eKeep \u003ccode\u003eonTouchStart\u003c/code\u003e, \u003ccode\u003eonTouchMove\u003c/code\u003e, and \u003ccode\u003eonWheel\u003c/code\u003e passive. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19654\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19654/hovercard\"\u003e#19654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003esetState\u003c/code\u003e hanging in development inside a closed iframe. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19220\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19220/hovercard\"\u003e#19220\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix rendering bailout for lazy components with \u003ccode\u003edefaultProps\u003c/code\u003e. (\u003ca href=\"https://github.com/jddxf\"\u003e@jddxf\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18539\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18539/hovercard\"\u003e#18539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a false positive warning when \u003ccode\u003edangerouslySetInnerHTML\u003c/code\u003e is \u003ccode\u003eundefined\u003c/code\u003e. (\u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18676\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18676/hovercard\"\u003e#18676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Test Utils with non-standard \u003ccode\u003erequire\u003c/code\u003e implementation. (\u003ca href=\"https://github.com/just-boris\"\u003e@just-boris\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18632\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18632/hovercard\"\u003e#18632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eonBeforeInput\u003c/code\u003e reporting an incorrect \u003ccode\u003eevent.type\u003c/code\u003e. (\u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19561\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19561/hovercard\"\u003e#19561\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eevent.relatedTarget\u003c/code\u003e reported as \u003ccode\u003eundefined\u003c/code\u003e in Firefox. (\u003ca href=\"https://github.com/claytercek\"\u003e@claytercek\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19607\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19607/hovercard\"\u003e#19607\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \"unspecified error\" in IE11. (\u003ca href=\"https://github.com/hemakshis\"\u003e@hemakshis\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19664\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19664/hovercard\"\u003e#19664\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix rendering into a shadow root. (\u003ca href=\"https://github.com/Jack-Works\"\u003e@Jack-Works\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15894\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15894/hovercard\"\u003e#15894\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003emovementX/Y\u003c/code\u003e polyfill with capture events. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19672\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19672/hovercard\"\u003e#19672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse delegation for \u003ccode\u003eonSubmit\u003c/code\u003e and \u003ccode\u003eonReset\u003c/code\u003e events. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19333\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19333/hovercard\"\u003e#19333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove memory usage. (\u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18970\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18970/hovercard\"\u003e#18970\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-7\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-7\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eMake \u003ccode\u003euseCallback\u003c/code\u003e behavior consistent with \u003ccode\u003euseMemo\u003c/code\u003e for the server renderer. (\u003ca href=\"https://github.com/alexmckenley\"\u003e@alexmckenley\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18783\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18783/hovercard\"\u003e#18783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix state leaking when a function component throws. (\u003ca href=\"https://github.com/pmaccart\"\u003e@pmaccart\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19212\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19212/hovercard\"\u003e#19212\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-test-renderer\" class=\"anchor\" aria-label=\"Permalink: React Test Renderer\" href=\"#react-test-renderer\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove \u003ccode\u003efindByType\u003c/code\u003e error message. (\u003ca href=\"https://github.com/henryqdineen\"\u003e@henryqdineen\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17439\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17439/hovercard\"\u003e#17439\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eConcurrent Mode (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-concurrent-mode-experimental\" class=\"anchor\" aria-label=\"Permalink: Concurrent Mode (Experimental)\" href=\"#concurrent-mode-experimental\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRevamp the priority batching heuristics. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18796\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18796/hovercard\"\u003e#18796\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003eunstable_\u003c/code\u003e prefix before the experimental APIs. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18825\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18825/hovercard\"\u003e#18825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eunstable_discreteUpdates\u003c/code\u003e and \u003ccode\u003eunstable_flushDiscreteUpdates\u003c/code\u003e. (\u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18825\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18825/hovercard\"\u003e#18825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove the \u003ccode\u003etimeoutMs\u003c/code\u003e argument. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19703\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19703/hovercard\"\u003e#19703\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDisable \u003ccode\u003e\u0026lt;div hidden /\u0026gt;\u003c/code\u003e prerendering in favor of a different future API. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18917\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18917/hovercard\"\u003e#18917\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eunstable_expectedLoadTime\u003c/code\u003e to Suspense for CPU-bound trees. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19936\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19936/hovercard\"\u003e#19936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an experimental \u003ccode\u003eunstable_useOpaqueIdentifier\u003c/code\u003e Hook. (\u003ca href=\"https://github.com/lunaruan\"\u003e@lunaruan\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17322\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17322/hovercard\"\u003e#17322\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an experimental \u003ccode\u003eunstable_startTransition\u003c/code\u003e API. (\u003ca href=\"https://github.com/rickhanlonii\"\u003e@rickhanlonii\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19696\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19696/hovercard\"\u003e#19696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUsing \u003ccode\u003eact\u003c/code\u003e in the test renderer no longer flushes Suspense fallbacks. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18596\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18596/hovercard\"\u003e#18596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse global render timeout for CPU Suspense. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/19643\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/19643/hovercard\"\u003e#19643\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClear the existing root content before mounting. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18730\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18730/hovercard\"\u003e#18730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with error boundaries. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18265\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18265/hovercard\"\u003e#18265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug causing dropped updates in a suspended tree. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18384\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18384/hovercard\"\u003e#18384\u003c/a\u003e and \u003ca href=\"https://github.com/facebook/react/pull/18457\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18457/hovercard\"\u003e#18457\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug causing dropped render phase updates. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18537\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18537/hovercard\"\u003e#18537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug in SuspenseList. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18412\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18412/hovercard\"\u003e#18412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug causing Suspense fallback to show too early. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18411\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18411/hovercard\"\u003e#18411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with class components inside SuspenseList. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18448\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18448/hovercard\"\u003e#18448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with inputs that may cause updates to be dropped. (\u003ca href=\"https://github.com/jddxf\"\u003e@jddxf\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18515\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18515/hovercard\"\u003e#18515\u003c/a\u003e and \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18535\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18535/hovercard\"\u003e#18535\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug causing Suspense fallback to get stuck. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18663\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18663/hovercard\"\u003e#18663\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't cut off the tail of a SuspenseList if hydrating. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18854\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18854/hovercard\"\u003e#18854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug in \u003ccode\u003euseMutableSource\u003c/code\u003e that may happen when \u003ccode\u003egetSnapshot\u003c/code\u003e changes. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18297\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18297/hovercard\"\u003e#18297\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a tearing bug in \u003ccode\u003euseMutableSource\u003c/code\u003e. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18912\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18912/hovercard\"\u003e#18912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn if calling setState outside of render but before commit. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18838\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18838/hovercard\"\u003e#18838\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.14.0 (October 14, 2020)\u003c/h2\u003e\u003ca id=\"user-content-16140-october-14-2020\" class=\"anchor\" aria-label=\"Permalink: 16.14.0 (October 14, 2020)\" href=\"#16140-october-14-2020\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-10\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-10\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd support for the \u003ca href=\"https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html\" rel=\"nofollow\"\u003enew JSX transform\u003c/a\u003e. (\u003ca href=\"https://github.com/lunaruan\"\u003e@lunaruan\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18299\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18299/hovercard\"\u003e#18299\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.13.1 (March 19, 2020)\u003c/h2\u003e\u003ca id=\"user-content-16131-march-19-2020\" class=\"anchor\" aria-label=\"Permalink: 16.13.1 (March 19, 2020)\" href=\"#16131-march-19-2020\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-10\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-10\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix bug in legacy mode Suspense where effect clean-up functions are not fired. This only affects users who use Suspense for data fetching in legacy mode, which is not technically supported. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18238\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18238/hovercard\"\u003e#18238\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRevert warning for cross-component updates that happen inside class render lifecycles (\u003ccode\u003ecomponentWillReceiveProps\u003c/code\u003e, \u003ccode\u003eshouldComponentUpdate\u003c/code\u003e, and so on). (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18330\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18330/hovercard\"\u003e#18330\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.13.0 (February 26, 2020)\u003c/h2\u003e\u003ca id=\"user-content-16130-february-26-2020\" class=\"anchor\" aria-label=\"Permalink: 16.13.0 (February 26, 2020)\" href=\"#16130-february-26-2020\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-11\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-11\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWarn when a string ref is used in a manner that's not amenable to a future codemod (\u003ca href=\"https://github.com/lunaruan\"\u003e@lunaruan\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17864\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17864/hovercard\"\u003e#17864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eReact.createFactory()\u003c/code\u003e (\u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17878\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17878/hovercard\"\u003e#17878\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-11\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-11\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWarn when changes in \u003ccode\u003estyle\u003c/code\u003e may cause an unexpected collision (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14181\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14181/hovercard\"\u003e#14181\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/18002\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18002/hovercard\"\u003e#18002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn when a function component is updated during another component's render phase (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17099\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17099/hovercard\"\u003e#17099\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eunstable_createPortal\u003c/code\u003e (\u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17880\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17880/hovercard\"\u003e#17880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eonMouseEnter\u003c/code\u003e being fired on disabled buttons (\u003ca href=\"https://github.com/AlfredoGJ\"\u003e@AlfredoGJ\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17675\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17675/hovercard\"\u003e#17675\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCall \u003ccode\u003eshouldComponentUpdate\u003c/code\u003e twice when developing in \u003ccode\u003eStrictMode\u003c/code\u003e (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17942\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17942/hovercard\"\u003e#17942\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eversion\u003c/code\u003e property to ReactDOM (\u003ca href=\"https://github.com/ealush\"\u003e@ealush\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15780\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15780/hovercard\"\u003e#15780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't call \u003ccode\u003etoString()\u003c/code\u003e of \u003ccode\u003edangerouslySetInnerHTML\u003c/code\u003e (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17773\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17773/hovercard\"\u003e#17773\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShow component stacks in more warnings (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17922\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17922/hovercard\"\u003e#17922\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/17586\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17586/hovercard\"\u003e#17586\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eConcurrent Mode (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-concurrent-mode-experimental-1\" class=\"anchor\" aria-label=\"Permalink: Concurrent Mode (Experimental)\" href=\"#concurrent-mode-experimental-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWarn for problematic usages of \u003ccode\u003eReactDOM.createRoot()\u003c/code\u003e (\u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17937\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17937/hovercard\"\u003e#17937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eReactDOM.createRoot()\u003c/code\u003e callback params and added warnings on usage (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17916\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17916/hovercard\"\u003e#17916\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't group Idle/Offscreen work with other work (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17456\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17456/hovercard\"\u003e#17456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdjust \u003ccode\u003eSuspenseList\u003c/code\u003e CPU bound heuristic (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17455\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17455/hovercard\"\u003e#17455\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing event plugin priorities (\u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17914\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17914/hovercard\"\u003e#17914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eisPending\u003c/code\u003e only being true when transitioning from inside an input event (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17382\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17382/hovercard\"\u003e#17382\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eReact.memo\u003c/code\u003e components dropping updates when interrupted by a higher priority update (@acdlite in \u003ca href=\"https://github.com/facebook/react/pull/18091\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18091/hovercard\"\u003e#18091\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't warn when suspending at the wrong priority (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17971\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17971/hovercard\"\u003e#17971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug with rebasing updates (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e and \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17560\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17560/hovercard\"\u003e#17560\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/17510\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17510/hovercard\"\u003e#17510\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/17483\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17483/hovercard\"\u003e#17483\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/17480\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17480/hovercard\"\u003e#17480\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.12.0 (November 14, 2019)\u003c/h2\u003e\u003ca id=\"user-content-16120-november-14-2019\" class=\"anchor\" aria-label=\"Permalink: 16.12.0 (November 14, 2019)\" href=\"#16120-november-14-2019\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-12\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-12\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix passive effects (\u003ccode\u003euseEffect\u003c/code\u003e) not being fired in a multi-root app. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17347\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17347/hovercard\"\u003e#17347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Is\u003c/h3\u003e\u003ca id=\"user-content-react-is-1\" class=\"anchor\" aria-label=\"Permalink: React Is\" href=\"#react-is-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003elazy\u003c/code\u003e and \u003ccode\u003ememo\u003c/code\u003e types considered elements instead of components (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17278\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17278/hovercard\"\u003e#17278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.11.0 (October 22, 2019)\u003c/h2\u003e\u003ca id=\"user-content-16110-october-22-2019\" class=\"anchor\" aria-label=\"Permalink: 16.11.0 (October 22, 2019)\" href=\"#16110-october-22-2019\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-13\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-13\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003emouseenter\u003c/code\u003e handlers from firing twice inside nested React containers. \u003ca href=\"https://github.com/yuanoook\"\u003e@yuanoook\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/16928\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16928/hovercard\"\u003e#16928\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eunstable_createRoot\u003c/code\u003e and \u003ccode\u003eunstable_createSyncRoot\u003c/code\u003e experimental APIs. (These are available in the Experimental channel as \u003ccode\u003ecreateRoot\u003c/code\u003e and \u003ccode\u003ecreateSyncRoot\u003c/code\u003e.) (\u003ca href=\"http://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/17088\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/17088/hovercard\"\u003e#17088\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.10.2 (October 3, 2019)\u003c/h2\u003e\u003ca id=\"user-content-16102-october-3-2019\" class=\"anchor\" aria-label=\"Permalink: 16.10.2 (October 3, 2019)\" href=\"#16102-october-3-2019\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-14\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-14\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix regression in react-native-web by restoring order of arguments in event plugin extractors (\u003ca href=\"https://github.com/necolas\"\u003e@necolas\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/16978\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16978/hovercard\"\u003e#16978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.10.1 (September 28, 2019)\u003c/h2\u003e\u003ca id=\"user-content-16101-september-28-2019\" class=\"anchor\" aria-label=\"Permalink: 16.10.1 (September 28, 2019)\" href=\"#16101-september-28-2019\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-15\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-15\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix regression in Next.js apps by allowing Suspense mismatch during hydration to silently proceed (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/16943\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16943/hovercard\"\u003e#16943\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.10.0 (September 27, 2019)\u003c/h2\u003e\u003ca id=\"user-content-16100-september-27-2019\" class=\"anchor\" aria-label=\"Permalink: 16.10.0 (September 27, 2019)\" href=\"#16100-september-27-2019\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-16\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-16\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix edge case where a hook update wasn't being memoized. (\u003ca href=\"http://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/16359\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16359/hovercard\"\u003e#16359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix heuristic for determining when to hydrate, so we don't incorrectly hydrate during an update. (\u003ca href=\"http://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/16739\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16739/hovercard\"\u003e#16739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClear additional fiber fields during unmount to save memory. (\u003ca href=\"http://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/16807\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16807/hovercard\"\u003e#16807\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug with required text fields in Firefox. (\u003ca href=\"http://github.com/halvves\"\u003e@halvves\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/16578\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16578/hovercard\"\u003e#16578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefer \u003ccode\u003eObject.is\u003c/code\u003e instead of inline polyfill, when available. (\u003ca href=\"http://github.com/ku8ar\"\u003e@ku8ar\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/16212\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16212/hovercard\"\u003e#16212\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug when mixing Suspense and error handling. (\u003ca href=\"http://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/16801\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16801/hovercard\"\u003e#16801\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eScheduler (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-scheduler-experimental-2\" class=\"anchor\" aria-label=\"Permalink: Scheduler (Experimental)\" href=\"#scheduler-experimental-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove queue performance by switching its internal data structure to a min binary heap. (\u003ca href=\"http://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/16245\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16245/hovercard\"\u003e#16245\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003epostMessage\u003c/code\u003e loop with short intervals instead of attempting to align to frame boundaries with \u003ccode\u003erequestAnimationFrame\u003c/code\u003e. (\u003ca href=\"http://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/16214\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16214/hovercard\"\u003e#16214\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003euseSubscription\u003c/h3\u003e\u003ca id=\"user-content-usesubscription\" class=\"anchor\" aria-label=\"Permalink: useSubscription\" href=\"#usesubscription\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAvoid tearing issue when a mutation happens and the previous update is still in progress. (\u003ca href=\"http://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/16623\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16623/hovercard\"\u003e#16623\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.9.0 (August 8, 2019)\u003c/h2\u003e\u003ca id=\"user-content-1690-august-8-2019\" class=\"anchor\" aria-label=\"Permalink: 16.9.0 (August 8, 2019)\" href=\"#1690-august-8-2019\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-12\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-12\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003e\u0026lt;React.Profiler\u0026gt;\u003c/code\u003e API for gathering performance measurements programmatically. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15172\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15172/hovercard\"\u003e#15172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eunstable_ConcurrentMode\u003c/code\u003e in favor of \u003ccode\u003eunstable_createRoot\u003c/code\u003e. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15532\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15532/hovercard\"\u003e#15532\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-17\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-17\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDeprecate old names for the \u003ccode\u003eUNSAFE_*\u003c/code\u003e lifecycle methods. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15186\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15186/hovercard\"\u003e#15186\u003c/a\u003e and \u003ca href=\"https://github.com/threepointone\"\u003e@threepointone\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/16103\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16103/hovercard\"\u003e#16103\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003ejavascript:\u003c/code\u003e URLs as a common attack surface. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15047\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15047/hovercard\"\u003e#15047\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate uncommon \"module pattern\" (factory) components. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15145\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15145/hovercard\"\u003e#15145\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for the \u003ccode\u003edisablePictureInPicture\u003c/code\u003e attribute on \u003ccode\u003e\u0026lt;video\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/eek\"\u003e@eek\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15334\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15334/hovercard\"\u003e#15334\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eonLoad\u003c/code\u003e event for \u003ccode\u003e\u0026lt;embed\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/cherniavskii\"\u003e@cherniavskii\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15614\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15614/hovercard\"\u003e#15614\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for editing \u003ccode\u003euseState\u003c/code\u003e state from DevTools. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14906\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14906/hovercard\"\u003e#14906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for toggling Suspense from DevTools. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15232\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15232/hovercard\"\u003e#15232\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn when \u003ccode\u003esetState\u003c/code\u003e is called from \u003ccode\u003euseEffect\u003c/code\u003e, creating a loop. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15180\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15180/hovercard\"\u003e#15180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a memory leak. (\u003ca href=\"https://github.com/paulshen\"\u003e@paulshen\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/16115\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16115/hovercard\"\u003e#16115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a crash inside \u003ccode\u003efindDOMNode\u003c/code\u003e for components wrapped in \u003ccode\u003e\u0026lt;Suspense\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15312\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15312/hovercard\"\u003e#15312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix pending effects from being flushed too late. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15650\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15650/hovercard\"\u003e#15650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect argument order in a warning message. (\u003ca href=\"https://github.com/brickspert\"\u003e@brickspert\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15345\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15345/hovercard\"\u003e#15345\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix hiding Suspense fallback nodes when there is an \u003ccode\u003e!important\u003c/code\u003e style. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15861\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15861/hovercard\"\u003e#15861\u003c/a\u003e and \u003ca href=\"https://github.com/facebook/react/pull/15882\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15882/hovercard\"\u003e#15882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSlightly improve hydration performance. (\u003ca href=\"https://github.com/bmeurer\"\u003e@bmeurer\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15998\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15998/hovercard\"\u003e#15998\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-8\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-8\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix incorrect output for camelCase custom CSS property names. (\u003ca href=\"https://github.com/bedakb\"\u003e@bedakb\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/16167\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16167/hovercard\"\u003e#16167\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Utilities and Test Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-test-utilities-and-test-renderer\" class=\"anchor\" aria-label=\"Permalink: React Test Utilities and Test Renderer\" href=\"#react-test-utilities-and-test-renderer\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003eact(async () =\u0026gt; ...)\u003c/code\u003e for testing asynchronous state updates. (\u003ca href=\"https://github.com/threepointone\"\u003e@threepointone\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14853\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14853/hovercard\"\u003e#14853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for nesting \u003ccode\u003eact\u003c/code\u003e from different renderers. (\u003ca href=\"https://github.com/threepointone\"\u003e@threepointone\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/16039\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16039/hovercard\"\u003e#16039\u003c/a\u003e and \u003ca href=\"https://github.com/facebook/react/pull/16042\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16042/hovercard\"\u003e#16042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn in Strict Mode if effects are scheduled outside an \u003ccode\u003eact()\u003c/code\u003e call. (\u003ca href=\"https://github.com/threepointone\"\u003e@threepointone\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15763\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15763/hovercard\"\u003e#15763\u003c/a\u003e and \u003ca href=\"https://github.com/facebook/react/pull/16041\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16041/hovercard\"\u003e#16041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn when using \u003ccode\u003eact\u003c/code\u003e from the wrong renderer. (\u003ca href=\"https://github.com/threepointone\"\u003e@threepointone\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15756\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15756/hovercard\"\u003e#15756\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eESLint Plugin: React Hooks\u003c/h3\u003e\u003ca id=\"user-content-eslint-plugin-react-hooks-1\" class=\"anchor\" aria-label=\"Permalink: ESLint Plugin: React Hooks\" href=\"#eslint-plugin-react-hooks-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eReport Hook calls at the top level as a violation. (\u003ca href=\"https://github.com/gaearon\"\u003egaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/16455\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/16455/hovercard\"\u003e#16455\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.8.6 (March 27, 2019)\u003c/h2\u003e\u003ca id=\"user-content-1686-march-27-2019\" class=\"anchor\" aria-label=\"Permalink: 16.8.6 (March 27, 2019)\" href=\"#1686-march-27-2019\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-18\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-18\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix an incorrect bailout in \u003ccode\u003euseReducer()\u003c/code\u003e. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15124\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15124/hovercard\"\u003e#15124\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix iframe warnings in Safari DevTools. (\u003ca href=\"https://github.com/renanvalentin\"\u003e@renanvalentin\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15099\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15099/hovercard\"\u003e#15099\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn if \u003ccode\u003econtextType\u003c/code\u003e is set to \u003ccode\u003eContext.Consumer\u003c/code\u003e instead of \u003ccode\u003eContext\u003c/code\u003e. (\u003ca href=\"https://github.com/aweary\"\u003e@aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14831\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14831/hovercard\"\u003e#14831\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn if \u003ccode\u003econtextType\u003c/code\u003e is set to invalid values. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15142\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15142/hovercard\"\u003e#15142\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.8.5 (March 22, 2019)\u003c/h2\u003e\u003ca id=\"user-content-1685-march-22-2019\" class=\"anchor\" aria-label=\"Permalink: 16.8.5 (March 22, 2019)\" href=\"#1685-march-22-2019\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-19\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-19\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDon't set the first option as selected in select tag with \u003ccode\u003esize\u003c/code\u003e attribute. (\u003ca href=\"https://github.com/kulek1\"\u003e@kulek1\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14242\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14242/hovercard\"\u003e#14242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the \u003ccode\u003euseEffect(async () =\u0026gt; ...)\u003c/code\u003e warning message. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15118\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15118/hovercard\"\u003e#15118\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the error message sometimes caused by duplicate React. (\u003ca href=\"https://github.com/jaredpalmer\"\u003e@jaredpalmer\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15139\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15139/hovercard\"\u003e#15139\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-9\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-9\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove the \u003ccode\u003euseLayoutEffect\u003c/code\u003e warning message when server rendering. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15158\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15158/hovercard\"\u003e#15158\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Shallow Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-shallow-renderer\" class=\"anchor\" aria-label=\"Permalink: React Shallow Renderer\" href=\"#react-shallow-renderer\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003esetState\u003c/code\u003e in shallow renderer to work with Hooks. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15120\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15120/hovercard\"\u003e#15120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix shallow renderer to support \u003ccode\u003eReact.memo\u003c/code\u003e. (\u003ca href=\"https://github.com/aweary\"\u003e@aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14816\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14816/hovercard\"\u003e#14816\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix shallow renderer to support Hooks inside \u003ccode\u003eforwardRef\u003c/code\u003e. (\u003ca href=\"https://github.com/eps1lon\"\u003e@eps1lon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/15100\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/15100/hovercard\"\u003e#15100\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.8.4 (March 5, 2019)\u003c/h2\u003e\u003ca id=\"user-content-1684-march-5-2019\" class=\"anchor\" aria-label=\"Permalink: 16.8.4 (March 5, 2019)\" href=\"#1684-march-5-2019\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM and other renderers\u003c/h3\u003e\u003ca id=\"user-content-react-dom-and-other-renderers\" class=\"anchor\" aria-label=\"Permalink: React DOM and other renderers\" href=\"#react-dom-and-other-renderers\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix a bug where DevTools caused a runtime error when inspecting a component that used a \u003ccode\u003euseContext\u003c/code\u003e hook. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14940\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14940/hovercard\"\u003e#14940\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.8.3 (February 21, 2019)\u003c/h2\u003e\u003ca id=\"user-content-1683-february-21-2019\" class=\"anchor\" aria-label=\"Permalink: 16.8.3 (February 21, 2019)\" href=\"#1683-february-21-2019\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-20\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-20\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix a bug that caused inputs to behave incorrectly in UMD builds. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14914\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14914/hovercard\"\u003e#14914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug that caused render phase updates to be discarded. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14852\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14852/hovercard\"\u003e#14852\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-10\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-10\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUnwind the context stack when a stream is destroyed without completing, to prevent incorrect values during a subsequent render. (\u003ca href=\"https://github.com/overlookmotel\"\u003e@overlookmotel\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14706/\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14706/hovercard\"\u003e#14706\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eESLint Plugin for React Hooks\u003c/h3\u003e\u003ca id=\"user-content-eslint-plugin-for-react-hooks\" class=\"anchor\" aria-label=\"Permalink: ESLint Plugin for React Hooks\" href=\"#eslint-plugin-for-react-hooks\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd a new recommended \u003ccode\u003eexhaustive-deps\u003c/code\u003e rule. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14636\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14636/hovercard\"\u003e#14636\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.8.2 (February 14, 2019)\u003c/h2\u003e\u003ca id=\"user-content-1682-february-14-2019\" class=\"anchor\" aria-label=\"Permalink: 16.8.2 (February 14, 2019)\" href=\"#1682-february-14-2019\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-21\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-21\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003eReactDOM.render\u003c/code\u003e being ignored inside \u003ccode\u003euseEffect\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14799\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14799/hovercard\"\u003e#14799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a crash when unmounting empty portals. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14820\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14820/hovercard\"\u003e#14820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003euseImperativeHandle\u003c/code\u003e to work correctly when no deps are specified. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14801\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14801/hovercard\"\u003e#14801\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ecrossOrigin\u003c/code\u003e attribute to work in SVG \u003ccode\u003eimage\u003c/code\u003e elements. (\u003ca href=\"https://github.com/aweary\"\u003e@aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14832\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14832/hovercard\"\u003e#14832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a false positive warning when using Suspense with Hooks. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14821\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14821/hovercard\"\u003e#14821\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Utils and React Test Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-test-utils-and-react-test-renderer\" class=\"anchor\" aria-label=\"Permalink: React Test Utils and React Test Renderer\" href=\"#react-test-utils-and-react-test-renderer\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eInclude component stack into the \u003ccode\u003eact()\u003c/code\u003e warning. (\u003ca href=\"https://github.com/threepointone\"\u003e@threepointone\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14855\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14855/hovercard\"\u003e#14855\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.8.1 (February 6, 2019)\u003c/h2\u003e\u003ca id=\"user-content-1681-february-6-2019\" class=\"anchor\" aria-label=\"Permalink: 16.8.1 (February 6, 2019)\" href=\"#1681-february-6-2019\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM and React Test Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-dom-and-react-test-renderer\" class=\"anchor\" aria-label=\"Permalink: React DOM and React Test Renderer\" href=\"#react-dom-and-react-test-renderer\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix a crash when used together with an older version of React. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14770\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14770/hovercard\"\u003e#14770\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Utils\u003c/h3\u003e\u003ca id=\"user-content-react-test-utils\" class=\"anchor\" aria-label=\"Permalink: React Test Utils\" href=\"#react-test-utils\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix a crash in Node environment. (\u003ca href=\"https://github.com/threepointone\"\u003e@threepointone\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14768\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14768/hovercard\"\u003e#14768\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.8.0 (February 6, 2019)\u003c/h2\u003e\u003ca id=\"user-content-1680-february-6-2019\" class=\"anchor\" aria-label=\"Permalink: 16.8.0 (February 6, 2019)\" href=\"#1680-february-6-2019\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-13\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-13\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ca href=\"https://reactjs.org/docs/hooks-intro.html\" rel=\"nofollow\"\u003eHooks\u003c/a\u003e — a way to use state and other React features without writing a class. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e et al. in \u003ca href=\"https://github.com/facebook/react/pull/13968\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13968/hovercard\"\u003e#13968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the \u003ccode\u003euseReducer\u003c/code\u003e Hook lazy initialization API. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14723\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14723/hovercard\"\u003e#14723\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-22\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-22\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eBail out of rendering on identical values for \u003ccode\u003euseState\u003c/code\u003e and \u003ccode\u003euseReducer\u003c/code\u003e Hooks. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14569\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14569/hovercard\"\u003e#14569\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003eObject.is\u003c/code\u003e algorithm for comparing \u003ccode\u003euseState\u003c/code\u003e and \u003ccode\u003euseReducer\u003c/code\u003e values. (\u003ca href=\"https://github.com/Jessidhia\"\u003e@Jessidhia\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14752\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14752/hovercard\"\u003e#14752\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon’t compare the first argument passed to \u003ccode\u003euseEffect\u003c/code\u003e/\u003ccode\u003euseMemo\u003c/code\u003e/\u003ccode\u003euseCallback\u003c/code\u003e Hooks. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14594\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14594/hovercard\"\u003e#14594\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport synchronous thenables passed to \u003ccode\u003eReact.lazy()\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14626\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14626/hovercard\"\u003e#14626\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRender components with Hooks twice in Strict Mode (DEV-only) to match class behavior. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14654\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14654/hovercard\"\u003e#14654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn about mismatching Hook order in development. (\u003ca href=\"https://github.com/threepointone\"\u003e@threepointone\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14585\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14585/hovercard\"\u003e#14585\u003c/a\u003e and \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14591\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14591/hovercard\"\u003e#14591\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEffect clean-up functions must return either \u003ccode\u003eundefined\u003c/code\u003e or a function. All other values, including \u003ccode\u003enull\u003c/code\u003e, are not allowed. \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14119\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14119/hovercard\"\u003e#14119\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Renderer and Test Utils\u003c/h3\u003e\u003ca id=\"user-content-react-test-renderer-and-test-utils\" class=\"anchor\" aria-label=\"Permalink: React Test Renderer and Test Utils\" href=\"#react-test-renderer-and-test-utils\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSupport Hooks in the shallow renderer. (\u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14567\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14567/hovercard\"\u003e#14567\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix wrong state in \u003ccode\u003eshouldComponentUpdate\u003c/code\u003e in the presence of \u003ccode\u003egetDerivedStateFromProps\u003c/code\u003e for Shallow Renderer. (\u003ca href=\"https://github.com/chenesan\"\u003e@chenesan\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14613\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14613/hovercard\"\u003e#14613\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eReactTestRenderer.act()\u003c/code\u003e and \u003ccode\u003eReactTestUtils.act()\u003c/code\u003e for batching updates so that tests more closely match real behavior. (\u003ca href=\"https://github.com/threepointone\"\u003e@threepointone\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14744\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14744/hovercard\"\u003e#14744\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eESLint Plugin: React Hooks\u003c/h3\u003e\u003ca id=\"user-content-eslint-plugin-react-hooks-2\" class=\"anchor\" aria-label=\"Permalink: ESLint Plugin: React Hooks\" href=\"#eslint-plugin-react-hooks-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eInitial \u003ca href=\"https://www.npmjs.com/package/eslint-plugin-react-hooks\" rel=\"nofollow\"\u003erelease\u003c/a\u003e. (\u003ca href=\"https://github.com/calebmer\"\u003e@calebmer\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13968\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13968/hovercard\"\u003e#13968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix reporting after encountering a loop. (\u003ca href=\"https://github.com/calebmer\"\u003e@calebmer\u003c/a\u003e and \u003ca href=\"https://github.com/Yurickh\"\u003e@Yurickh\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14661\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14661/hovercard\"\u003e#14661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't consider throwing to be a rule violation. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14040\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14040/hovercard\"\u003e#14040\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.7.0 (December 19, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1670-december-19-2018\" class=\"anchor\" aria-label=\"Permalink: 16.7.0 (December 19, 2018)\" href=\"#1670-december-19-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-23\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-23\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix performance of \u003ccode\u003eReact.lazy\u003c/code\u003e for large numbers of lazily-loaded components. (\u003ca href=\"http://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14429\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14429/hovercard\"\u003e#14429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClear fields on unmount to avoid memory leaks. (\u003ca href=\"http://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14276\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14276/hovercard\"\u003e#14276\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug with SSR and context when mixing \u003ccode\u003ereact-dom/server@16.6\u003c/code\u003e and \u003ccode\u003ereact@\u0026lt;16.6\u003c/code\u003e. (\u003ca href=\"http://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14291\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14291/hovercard\"\u003e#14291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a performance regression in profiling mode. (\u003ca href=\"http://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14383\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14383/hovercard\"\u003e#14383\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eScheduler (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-scheduler-experimental-3\" class=\"anchor\" aria-label=\"Permalink: Scheduler (Experimental)\" href=\"#scheduler-experimental-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ePost to MessageChannel instead of window. (\u003ca href=\"http://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14234\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14234/hovercard\"\u003e#14234\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReduce serialization overhead. (\u003ca href=\"http://github.com/developit\"\u003e@developit\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14249\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14249/hovercard\"\u003e#14249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix fallback to \u003ccode\u003esetTimeout\u003c/code\u003e in testing environments. (\u003ca href=\"http://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14358\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14358/hovercard\"\u003e#14358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd methods for debugging. (\u003ca href=\"http://github.com/mrkev\"\u003e@mrkev\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14053\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14053/hovercard\"\u003e#14053\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.6.3 (November 12, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1663-november-12-2018\" class=\"anchor\" aria-label=\"Permalink: 16.6.3 (November 12, 2018)\" href=\"#1663-november-12-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-24\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-24\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix bugs in \u003ccode\u003eSuspense\u003c/code\u003e and \u003ccode\u003elazy\u003c/code\u003e. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14133\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14133/hovercard\"\u003e#14133\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/14157\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14157/hovercard\"\u003e#14157\u003c/a\u003e, and \u003ca href=\"https://github.com/facebook/react/pull/14164\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14164/hovercard\"\u003e#14164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix highlighting of \u003ccode\u003eReact.memo\u003c/code\u003e updates in React DevTools. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14141\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14141/hovercard\"\u003e#14141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix interaction of Suspense with the React Profiler. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14065\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14065/hovercard\"\u003e#14065\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a false positive warning when using Suspense. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14158\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14158/hovercard\"\u003e#14158\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-11\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-11\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix incorrect sharing of context state between \u003ccode\u003erenderToNodeStream()\u003c/code\u003e calls. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14182\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14182/hovercard\"\u003e#14182\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a warning about incorrect usage of the context API. (\u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14033\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14033/hovercard\"\u003e#14033\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.6.2 (November 12, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1662-november-12-2018\" class=\"anchor\" aria-label=\"Permalink: 16.6.2 (November 12, 2018)\" href=\"#1662-november-12-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThis release was published in a broken state and should be skipped.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.6.1 (November 6, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1661-november-6-2018\" class=\"anchor\" aria-label=\"Permalink: 16.6.1 (November 6, 2018)\" href=\"#1661-november-6-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-25\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-25\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFallback should not remount every time a promise resolves. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14083\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14083/hovercard\"\u003e#14083\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where Suspense keeps showing fallback even after everything finishes loading. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14083\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14083/hovercard\"\u003e#14083\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a crash when Suspense finishes loading in IE11. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14126\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14126/hovercard\"\u003e#14126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix unresolved default props in lifecycle methods of a lazy component. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14112\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14112/hovercard\"\u003e#14112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug when recovering from an error thrown during complete phase. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14104\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14104/hovercard\"\u003e#14104\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eScheduler (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-scheduler-experimental-4\" class=\"anchor\" aria-label=\"Permalink: Scheduler (Experimental)\" href=\"#scheduler-experimental-4\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSwitch from deadline object to \u003ccode\u003eshouldYield\u003c/code\u003e API. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/14025\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/14025/hovercard\"\u003e#14025\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.6.0 (October 23, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1660-october-23-2018\" class=\"anchor\" aria-label=\"Permalink: 16.6.0 (October 23, 2018)\" href=\"#1660-october-23-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-14\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-14\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003eReact.memo()\u003c/code\u003e as an alternative to \u003ccode\u003ePureComponent\u003c/code\u003e for functions. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13748\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13748/hovercard\"\u003e#13748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eReact.lazy()\u003c/code\u003e for code splitting components. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13885\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13885/hovercard\"\u003e#13885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReact.StrictMode\u003c/code\u003e now warns about legacy context API. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13760\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13760/hovercard\"\u003e#13760\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReact.StrictMode\u003c/code\u003e now warns about \u003ccode\u003efindDOMNode\u003c/code\u003e. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13841\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13841/hovercard\"\u003e#13841\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003eunstable_AsyncMode\u003c/code\u003e to \u003ccode\u003eunstable_ConcurrentMode\u003c/code\u003e. (\u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13732\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13732/hovercard\"\u003e#13732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRename \u003ccode\u003eunstable_Placeholder\u003c/code\u003e to \u003ccode\u003eSuspense\u003c/code\u003e, and \u003ccode\u003edelayMs\u003c/code\u003e to \u003ccode\u003emaxDuration\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13799\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13799/hovercard\"\u003e#13799\u003c/a\u003e and \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13922\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13922/hovercard\"\u003e#13922\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-26\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-26\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003econtextType\u003c/code\u003e as a more ergonomic way to subscribe to context from a class. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13728\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13728/hovercard\"\u003e#13728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003egetDerivedStateFromError\u003c/code\u003e lifecycle method for catching errors in a future asynchronous server-side renderer. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13746\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13746/hovercard\"\u003e#13746\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn when \u003ccode\u003e\u0026lt;Context\u0026gt;\u003c/code\u003e is used instead of \u003ccode\u003e\u0026lt;Context.Consumer\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13829\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13829/hovercard\"\u003e#13829\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix gray overlay on iOS Safari. (\u003ca href=\"https://github.com/philipp-spiess\"\u003e@philipp-spiess\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13778\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13778/hovercard\"\u003e#13778\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug caused by overwriting \u003ccode\u003ewindow.event\u003c/code\u003e in development. (\u003ca href=\"https://github.com/sergei-startsev\"\u003e@sergei-startsev\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13697\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13697/hovercard\"\u003e#13697\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-12\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-12\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eReact.memo()\u003c/code\u003e. (\u003ca href=\"https://github.com/alexmckenley\"\u003e@alexmckenley\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13855\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13855/hovercard\"\u003e#13855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003econtextType\u003c/code\u003e. (\u003ca href=\"https://github.com/alexmckenley\"\u003e@alexmckenley\u003c/a\u003e and \u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13889\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13889/hovercard\"\u003e#13889\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eScheduler (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-scheduler-experimental-5\" class=\"anchor\" aria-label=\"Permalink: Scheduler (Experimental)\" href=\"#scheduler-experimental-5\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRename the package to \u003ccode\u003escheduler\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13683\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13683/hovercard\"\u003e#13683\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport priority levels, continuations, and wrapped callbacks. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13720\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13720/hovercard\"\u003e#13720\u003c/a\u003e and \u003ca href=\"https://github.com/facebook/react/pull/13842\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13842/hovercard\"\u003e#13842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the fallback mechanism in non-DOM environments. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13740\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13740/hovercard\"\u003e#13740\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSchedule \u003ccode\u003erequestAnimationFrame\u003c/code\u003e earlier. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13785\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13785/hovercard\"\u003e#13785\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the DOM detection to be more thorough. (\u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13731\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13731/hovercard\"\u003e#13731\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bugs with interaction tracing. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13590\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13590/hovercard\"\u003e#13590\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the \u003ccode\u003eenvify\u003c/code\u003e transform to the package. (\u003ca href=\"https://github.com/mridgway\"\u003e@mridgway\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13766\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13766/hovercard\"\u003e#13766\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.5.2 (September 18, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1652-september-18-2018\" class=\"anchor\" aria-label=\"Permalink: 16.5.2 (September 18, 2018)\" href=\"#1652-september-18-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-27\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-27\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed a recent \u003ccode\u003e\u0026lt;iframe\u0026gt;\u003c/code\u003e regression (\u003ca href=\"https://github.com/JSteunou\"\u003e@JSteunou\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13650\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13650/hovercard\"\u003e#13650\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eupdateWrapper\u003c/code\u003e so that \u003ccode\u003e\u0026lt;textarea\u0026gt;\u003c/code\u003es no longer re-render when data is unchanged (\u003ca href=\"https://github.com/joelbarbosa\"\u003e@joelbarbosa\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13643\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13643/hovercard\"\u003e#13643\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSchedule (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-schedule-experimental\" class=\"anchor\" aria-label=\"Permalink: Schedule (Experimental)\" href=\"#schedule-experimental\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRenaming \"tracking\" API to \"tracing\" (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13641\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13641/hovercard\"\u003e#13641\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd UMD production+profiling entry points (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13642\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13642/hovercard\"\u003e#13642\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactored \u003ccode\u003eschedule\u003c/code\u003e to remove some React-isms and improve performance for when deferred updates time out (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13582\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13582/hovercard\"\u003e#13582\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.5.1 (September 13, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1651-september-13-2018\" class=\"anchor\" aria-label=\"Permalink: 16.5.1 (September 13, 2018)\" href=\"#1651-september-13-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-15\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-15\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove the warning when \u003ccode\u003eReact.forwardRef\u003c/code\u003e receives an unexpected number of arguments. (\u003ca href=\"https://github.com/andresroberto\"\u003e@andresroberto\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13636\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13636/hovercard\"\u003e#13636\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-28\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-28\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix a regression in unstable exports used by React Native Web. (\u003ca href=\"https://github.com/aweary\"\u003e@aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13598\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13598/hovercard\"\u003e#13598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a crash when component defines a method called \u003ccode\u003eisReactComponent\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13608\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13608/hovercard\"\u003e#13608\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a crash in development mode in IE9 when printing a warning. (\u003ca href=\"https://github.com/link-alex\"\u003e@link-alex\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13620\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13620/hovercard\"\u003e#13620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProvide a better error message when running \u003ccode\u003ereact-dom/profiling\u003c/code\u003e with \u003ccode\u003eschedule/tracking\u003c/code\u003e. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13605\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13605/hovercard\"\u003e#13605\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIf a \u003ccode\u003eForwardRef\u003c/code\u003e component defines a \u003ccode\u003edisplayName\u003c/code\u003e, use it in warnings. (\u003ca href=\"https://github.com/probablyup\"\u003e@probablyup\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13615\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13615/hovercard\"\u003e#13615\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSchedule (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-schedule-experimental-1\" class=\"anchor\" aria-label=\"Permalink: Schedule (Experimental)\" href=\"#schedule-experimental-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd a separate profiling entry point at \u003ccode\u003eschedule/tracking-profiling\u003c/code\u003e. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13605\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13605/hovercard\"\u003e#13605\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.5.0 (September 5, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1650-september-5-2018\" class=\"anchor\" aria-label=\"Permalink: 16.5.0 (September 5, 2018)\" href=\"#1650-september-5-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-16\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-16\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd a warning if \u003ccode\u003eReact.forwardRef\u003c/code\u003e render function doesn't take exactly two arguments (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13168\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13168/hovercard\"\u003e#13168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the error message when passing an element to \u003ccode\u003ecreateElement\u003c/code\u003e by mistake (\u003ca href=\"https://github.com/DCtheTall\"\u003e@DCtheTall\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13131\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13131/hovercard\"\u003e#13131\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't call profiler \u003ccode\u003eonRender\u003c/code\u003e until after mutations (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13572\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13572/hovercard\"\u003e#13572\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-29\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-29\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd support for React DevTools Profiler (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13058\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13058/hovercard\"\u003e#13058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ereact-dom/profiling\u003c/code\u003e entry point alias for profiling in production (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13570\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13570/hovercard\"\u003e#13570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eonAuxClick\u003c/code\u003e event for browsers that support it (\u003ca href=\"https://github.com/jquense\"\u003e@jquense\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/11571\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11571/hovercard\"\u003e#11571\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003emovementX\u003c/code\u003e and \u003ccode\u003emovementY\u003c/code\u003e fields to mouse events (\u003ca href=\"https://github.com/jasonwilliams\"\u003e@jasonwilliams\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/9018\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9018/hovercard\"\u003e#9018\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003etangentialPressure\u003c/code\u003e and \u003ccode\u003etwist\u003c/code\u003e fields to pointer events (\u003ca href=\"https://github.com/motiz88\"\u003e@motiz88\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13374\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13374/hovercard\"\u003e#13374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMinimally support iframes (nested browsing contexts) in selection event handling (\u003ca href=\"https://github.com/acusti\"\u003e@acusti\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/12037\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12037/hovercard\"\u003e#12037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport passing booleans to the \u003ccode\u003efocusable\u003c/code\u003e SVG attribute (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13339\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13339/hovercard\"\u003e#13339\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIgnore \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e on the client when hydrating (\u003ca href=\"https://github.com/Ephem\"\u003e@Ephem\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13537\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13537/hovercard\"\u003e#13537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003egridArea\u003c/code\u003e to be treated as a unitless CSS property (\u003ca href=\"https://github.com/mgol\"\u003e@mgol\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13550\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13550/hovercard\"\u003e#13550\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect data in \u003ccode\u003ecompositionend\u003c/code\u003e event when typing Korean on IE11 (\u003ca href=\"https://github.com/crux153\"\u003e@crux153\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/12563\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12563/hovercard\"\u003e#12563\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a crash when using dynamic \u003ccode\u003echildren\u003c/code\u003e in the \u003ccode\u003e\u0026lt;option\u0026gt;\u003c/code\u003e tag (\u003ca href=\"https://github.com/Slowyn\"\u003e@Slowyn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13261\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13261/hovercard\"\u003e#13261\u003c/a\u003e, \u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13465\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13465/hovercard\"\u003e#13465\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the \u003ccode\u003echecked\u003c/code\u003e attribute not getting initially set on the \u003ccode\u003einput\u003c/code\u003e (\u003ca href=\"https://github.com/dilidili\"\u003e@dilidili\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13114\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13114/hovercard\"\u003e#13114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix hydration of \u003ccode\u003edangerouslySetInnerHTML\u003c/code\u003e when \u003ccode\u003e__html\u003c/code\u003e is not a string (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13353\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13353/hovercard\"\u003e#13353\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a warning about missing controlled \u003ccode\u003eonChange\u003c/code\u003e to fire on falsy values too (\u003ca href=\"https://github.com/nicolevy\"\u003e@nicolevy\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/12628\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12628/hovercard\"\u003e#12628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003esubmit\u003c/code\u003e and \u003ccode\u003ereset\u003c/code\u003e buttons getting an empty label (\u003ca href=\"https://github.com/ellsclytn\"\u003e@ellsclytn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/12780\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12780/hovercard\"\u003e#12780\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the \u003ccode\u003eonSelect\u003c/code\u003e event not being triggered after drag and drop (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13422\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13422/hovercard\"\u003e#13422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix the \u003ccode\u003eonClick\u003c/code\u003e event not working inside a portal on iOS (\u003ca href=\"https://github.com/aweary\"\u003e@aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/11927\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11927/hovercard\"\u003e#11927\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a performance issue when thousands of roots are re-rendered (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13335\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13335/hovercard\"\u003e#13335\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a performance regression that also caused \u003ccode\u003eonChange\u003c/code\u003e to not fire in some cases (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13423\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13423/hovercard\"\u003e#13423\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle errors in more edge cases gracefully (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13237\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13237/hovercard\"\u003e#13237\u003c/a\u003e and \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13269\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13269/hovercard\"\u003e#13269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't use proxies for synthetic events in development (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/12171\" data-hovercard-type=\"issue\" data-hovercard-url=\"/facebook/react/issues/12171/hovercard\"\u003e#12171\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn when \u003ccode\u003e\"false\"\u003c/code\u003e or \u003ccode\u003e\"true\"\u003c/code\u003e is the value of a boolean DOM prop (\u003ca href=\"https://github.com/motiz88\"\u003e@motiz88\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13372\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13372/hovercard\"\u003e#13372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn when \u003ccode\u003ethis.state\u003c/code\u003e is initialized to \u003ccode\u003eprops\u003c/code\u003e (\u003ca href=\"https://github.com/veekas\"\u003e@veekas\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/11658\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11658/hovercard\"\u003e#11658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't compare \u003ccode\u003estyle\u003c/code\u003e on hydration in IE due to noisy false positives (\u003ca href=\"https://github.com/mgol\"\u003e@mgol\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13534\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13534/hovercard\"\u003e#13534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude \u003ccode\u003eStrictMode\u003c/code\u003e in the component stack (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13240\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13240/hovercard\"\u003e#13240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't overwrite \u003ccode\u003ewindow.event\u003c/code\u003e in IE (\u003ca href=\"https://github.com/ConradIrwin\"\u003e@ConradIrwin\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/11696\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11696/hovercard\"\u003e#11696\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove component stack for the \u003ccode\u003efolder/index.js\u003c/code\u003e naming convention (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/12059\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12059/hovercard\"\u003e#12059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove a warning when using \u003ccode\u003egetDerivedStateFromProps\u003c/code\u003e without initialized state (\u003ca href=\"https://github.com/flxwu\"\u003e@flxwu\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13317\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13317/hovercard\"\u003e#13317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove a warning about invalid textarea usage (\u003ca href=\"https://github.com/raunofreiberg\"\u003e@raunofreiberg\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13361\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13361/hovercard\"\u003e#13361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTreat invalid Symbol and function values more consistently (\u003ca href=\"https://github.com/raunofreiberg\"\u003e@raunofreiberg\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13362\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13362/hovercard\"\u003e#13362\u003c/a\u003e and \u003ca href=\"https://github.com/facebook/react/issues/13389\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13389/hovercard\"\u003e#13389\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow Electron \u003ccode\u003e\u0026lt;webview\u0026gt;\u003c/code\u003e tag without warnings (\u003ca href=\"https://github.com/philipp-spiess\"\u003e@philipp-spiess\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13301\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13301/hovercard\"\u003e#13301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't show the uncaught error addendum if \u003ccode\u003ee.preventDefault()\u003c/code\u003e was called (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13384\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13384/hovercard\"\u003e#13384\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn about rendering Generators (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13312\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13312/hovercard\"\u003e#13312\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove irrelevant suggestion of a legacy method from a warning (\u003ca href=\"https://github.com/zx6658\"\u003e@zx6658\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13169\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13169/hovercard\"\u003e#13169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eunstable_deferredUpdates\u003c/code\u003e in favor of \u003ccode\u003eunstable_scheduleWork\u003c/code\u003e from \u003ccode\u003eschedule\u003c/code\u003e (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13488\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13488/hovercard\"\u003e#13488\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix unstable asynchronous mode from doing unnecessary work when an update takes too long (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13503\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13503/hovercard\"\u003e#13503\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-13\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-13\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix crash with nullish children when using \u003ccode\u003edangerouslySetInnerHtml\u003c/code\u003e in a selected \u003ccode\u003e\u0026lt;option\u0026gt;\u003c/code\u003e (\u003ca href=\"https://github.com/mridgway\"\u003e@mridgway\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13078\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13078/hovercard\"\u003e#13078\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when \u003ccode\u003esetTimeout\u003c/code\u003e is missing (\u003ca href=\"https://github.com/dustinsoftware\"\u003e@dustinsoftware\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13088\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13088/hovercard\"\u003e#13088\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Renderer and Test Utils\u003c/h3\u003e\u003ca id=\"user-content-react-test-renderer-and-test-utils-1\" class=\"anchor\" aria-label=\"Permalink: React Test Renderer and Test Utils\" href=\"#react-test-renderer-and-test-utils-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003ethis\u003c/code\u003e in a functional component for shallow renderer to be \u003ccode\u003eundefined\u003c/code\u003e (\u003ca href=\"https://github.com/koba04\"\u003e@koba04\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13144\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13144/hovercard\"\u003e#13144\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate a Jest-specific \u003ccode\u003eReactTestUtils.mockComponent()\u003c/code\u003e helper (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13193\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13193/hovercard\"\u003e#13193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn about \u003ccode\u003eReactDOM.createPortal\u003c/code\u003e usage within the test renderer (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/12895\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12895/hovercard\"\u003e#12895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove a confusing error message (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13351\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13351/hovercard\"\u003e#13351\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact ART\u003c/h3\u003e\u003ca id=\"user-content-react-art\" class=\"anchor\" aria-label=\"Permalink: React ART\" href=\"#react-art\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd support for DevTools (\u003ca href=\"https://github.com/yunchancho\"\u003e@yunchancho\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/13173\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13173/hovercard\"\u003e#13173\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eSchedule (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-schedule-experimental-2\" class=\"anchor\" aria-label=\"Permalink: Schedule (Experimental)\" href=\"#schedule-experimental-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eNew package for cooperatively scheduling work in a browser environment. It's used by React internally, but its public API is not finalized yet. (\u003ca href=\"https://github.com/flarnie\"\u003e@flarnie\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12624\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12624/hovercard\"\u003e#12624\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.4.2 (August 1, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1642-august-1-2018\" class=\"anchor\" aria-label=\"Permalink: 16.4.2 (August 1, 2018)\" href=\"#1642-august-1-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-14\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-14\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eFix a \u003ca href=\"https://reactjs.org/blog/2018/08/01/react-v-16-4-2.html\" rel=\"nofollow\"\u003epotential XSS vulnerability when the attacker controls an attribute name\u003c/a\u003e (\u003ccode\u003eCVE-2018-6341\u003c/code\u003e). This fix is available in the latest \u003ccode\u003ereact-dom@16.4.2\u003c/code\u003e, as well as in previous affected minor versions: \u003ccode\u003ereact-dom@16.0.1\u003c/code\u003e, \u003ccode\u003ereact-dom@16.1.2\u003c/code\u003e, \u003ccode\u003ereact-dom@16.2.1\u003c/code\u003e, and \u003ccode\u003ereact-dom@16.3.3\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13302\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13302/hovercard\"\u003e#13302\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp dir=\"auto\"\u003eFix a crash in the server renderer when an attribute is called \u003ccode\u003ehasOwnProperty\u003c/code\u003e. This fix is only available in \u003ccode\u003ereact-dom@16.4.2\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13303\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13303/hovercard\"\u003e#13303\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.4.1 (June 13, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1641-june-13-2018\" class=\"anchor\" aria-label=\"Permalink: 16.4.1 (June 13, 2018)\" href=\"#1641-june-13-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-17\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-17\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eYou can now assign \u003ccode\u003epropTypes\u003c/code\u003e to components returned by \u003ccode\u003eReact.ForwardRef\u003c/code\u003e. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12911\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12911/hovercard\"\u003e#12911\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-30\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-30\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix a crash when the input \u003ccode\u003etype\u003c/code\u003e changes from some other types to \u003ccode\u003etext\u003c/code\u003e. (\u003ca href=\"https://github.com/spirosikmd\"\u003e@spirosikmd\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12135\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12135/hovercard\"\u003e#12135\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a crash in IE11 when restoring focus to an SVG element. (\u003ca href=\"https://github.com/ThaddeusJiang\"\u003e@ThaddeusJiang\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12996\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12996/hovercard\"\u003e#12996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a range input not updating in some cases. (\u003ca href=\"https://github.com/Illu\"\u003e@Illu\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12939\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12939/hovercard\"\u003e#12939\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix input validation triggering unnecessarily in Firefox. (\u003ca href=\"https://github.com/nhunzaker\"\u003e@nhunzaker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12925\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12925/hovercard\"\u003e#12925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix an incorrect \u003ccode\u003eevent.target\u003c/code\u003e value for the \u003ccode\u003eonChange\u003c/code\u003e event in IE9. (\u003ca href=\"https://github.com/nhunzaker\"\u003e@nhunzaker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12976\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12976/hovercard\"\u003e#12976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a false positive error when returning an empty \u003ccode\u003e\u0026lt;React.Fragment /\u0026gt;\u003c/code\u003e from a component. (\u003ca href=\"https://github.com/philipp-spiess\"\u003e@philipp-spiess\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12966\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12966/hovercard\"\u003e#12966\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-15\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-15\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix an incorrect value being provided by new context API. (\u003ca href=\"https://github.com/ericsoderberghp\"\u003e@ericsoderberghp\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12985\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12985/hovercard\"\u003e#12985\u003c/a\u003e, \u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13019\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13019/hovercard\"\u003e#13019\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-test-renderer-1\" class=\"anchor\" aria-label=\"Permalink: React Test Renderer\" href=\"#react-test-renderer-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAllow multiple root children in test renderer traversal API. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13017\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13017/hovercard\"\u003e#13017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003egetDerivedStateFromProps()\u003c/code\u003e in the shallow renderer to not discard the pending state. (\u003ca href=\"https://github.com/fatfisz\"\u003e@fatfisz\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13030\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13030/hovercard\"\u003e#13030\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.4.0 (May 23, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1640-may-23-2018\" class=\"anchor\" aria-label=\"Permalink: 16.4.0 (May 23, 2018)\" href=\"#1640-may-23-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-18\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-18\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd a new \u003ca href=\"https://github.com/reactjs/rfcs/pull/51\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/reactjs/rfcs/pull/51/hovercard\"\u003eexperimental\u003c/a\u003e \u003ccode\u003eReact.unstable_Profiler\u003c/code\u003e component for measuring performance. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12745\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12745/hovercard\"\u003e#12745\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-31\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-31\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd support for the Pointer Events specification. (\u003ca href=\"https://github.com/philipp-spiess\"\u003e@philipp-spiess\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12507\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12507/hovercard\"\u003e#12507\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly call \u003ccode\u003egetDerivedStateFromProps()\u003c/code\u003e regardless of the reason for re-rendering. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12600\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12600/hovercard\"\u003e#12600\u003c/a\u003e and \u003ca href=\"https://github.com/facebook/react/pull/12802\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12802/hovercard\"\u003e#12802\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug that prevented context propagation in some cases. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12708\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12708/hovercard\"\u003e#12708\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix re-rendering of components using \u003ccode\u003eforwardRef()\u003c/code\u003e on a deeper \u003ccode\u003esetState()\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12690\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12690/hovercard\"\u003e#12690\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix some attributes incorrectly getting removed from custom element nodes. (\u003ca href=\"https://github.com/airamrguez\"\u003e@airamrguez\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12702\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12702/hovercard\"\u003e#12702\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix context providers to not bail out on children if there's a legacy context provider above. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12586\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12586/hovercard\"\u003e#12586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd the ability to specify \u003ccode\u003epropTypes\u003c/code\u003e on a context provider component. (\u003ca href=\"https://github.com/nicolevy\"\u003e@nicolevy\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12658\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12658/hovercard\"\u003e#12658\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a false positive warning when using \u003ccode\u003ereact-lifecycles-compat\u003c/code\u003e in \u003ccode\u003e\u0026lt;StrictMode\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12644\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12644/hovercard\"\u003e#12644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn when the \u003ccode\u003eforwardRef()\u003c/code\u003e render function has \u003ccode\u003epropTypes\u003c/code\u003e or \u003ccode\u003edefaultProps\u003c/code\u003e. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12644\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12644/hovercard\"\u003e#12644\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove how \u003ccode\u003eforwardRef()\u003c/code\u003e and context consumers are displayed in the component stack. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12777\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12777/hovercard\"\u003e#12777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChange internal event names. This can break third-party packages that rely on React internals in unsupported ways. (\u003ca href=\"https://github.com/philipp-spiess\"\u003e@philipp-spiess\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12629\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12629/hovercard\"\u003e#12629\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-test-renderer-2\" class=\"anchor\" aria-label=\"Permalink: React Test Renderer\" href=\"#react-test-renderer-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix the \u003ccode\u003egetDerivedStateFromProps()\u003c/code\u003e support to match the new React DOM behavior. (\u003ca href=\"https://github.com/koba04\"\u003e@koba04\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12676\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12676/hovercard\"\u003e#12676\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a \u003ccode\u003etestInstance.parent\u003c/code\u003e crash when the parent is a fragment or another special node. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12813\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12813/hovercard\"\u003e#12813\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eforwardRef()\u003c/code\u003e components are now discoverable by the test renderer traversal methods. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12725\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12725/hovercard\"\u003e#12725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShallow renderer now ignores \u003ccode\u003esetState()\u003c/code\u003e updaters that return \u003ccode\u003enull\u003c/code\u003e or \u003ccode\u003eundefined\u003c/code\u003e. (\u003ca href=\"https://github.com/koba04\"\u003e@koba04\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12756\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12756/hovercard\"\u003e#12756\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact ART\u003c/h3\u003e\u003ca id=\"user-content-react-art-1\" class=\"anchor\" aria-label=\"Permalink: React ART\" href=\"#react-art-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix reading context provided from the tree managed by React DOM. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12779\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12779/hovercard\"\u003e#12779\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Call Return (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-react-call-return-experimental\" class=\"anchor\" aria-label=\"Permalink: React Call Return (Experimental)\" href=\"#react-call-return-experimental\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis experiment was deleted because it was affecting the bundle size and the API wasn't good enough. It's likely to come back in the future in some other form. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12820\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12820/hovercard\"\u003e#12820\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Reconciler (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-react-reconciler-experimental\" class=\"anchor\" aria-label=\"Permalink: React Reconciler (Experimental)\" href=\"#react-reconciler-experimental\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe \u003ca href=\"https://github.com/facebook/react/blob/c601f7a64640290af85c9f0e33c78480656b46bc/packages/react-noop-renderer/src/createReactNoop.js#L82-L285\"\u003enew host config shape\u003c/a\u003e is flat and doesn't use nested objects. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12792\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12792/hovercard\"\u003e#12792\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.3.3 (August 1, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1633-august-1-2018\" class=\"anchor\" aria-label=\"Permalink: 16.3.3 (August 1, 2018)\" href=\"#1633-august-1-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-16\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-16\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix a \u003ca href=\"https://reactjs.org/blog/2018/08/01/react-v-16-4-2.html\" rel=\"nofollow\"\u003epotential XSS vulnerability when the attacker controls an attribute name\u003c/a\u003e (\u003ccode\u003eCVE-2018-6341\u003c/code\u003e). This fix is available in the latest \u003ccode\u003ereact-dom@16.4.2\u003c/code\u003e, as well as in previous affected minor versions: \u003ccode\u003ereact-dom@16.0.1\u003c/code\u003e, \u003ccode\u003ereact-dom@16.1.2\u003c/code\u003e, \u003ccode\u003ereact-dom@16.2.1\u003c/code\u003e, and \u003ccode\u003ereact-dom@16.3.3\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13302\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13302/hovercard\"\u003e#13302\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.3.2 (April 16, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1632-april-16-2018\" class=\"anchor\" aria-label=\"Permalink: 16.3.2 (April 16, 2018)\" href=\"#1632-april-16-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-19\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-19\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove the error message when passing \u003ccode\u003enull\u003c/code\u003e or \u003ccode\u003eundefined\u003c/code\u003e to \u003ccode\u003eReact.cloneElement\u003c/code\u003e. (\u003ca href=\"https://github.com/nicolevy\"\u003e@nicolevy\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12534\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12534/hovercard\"\u003e#12534\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-32\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-32\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix an IE crash in development when using \u003ccode\u003e\u0026lt;StrictMode\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12546\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12546/hovercard\"\u003e#12546\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix labels in User Timing measurements for new component types. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12609\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12609/hovercard\"\u003e#12609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the warning about wrong component type casing. (\u003ca href=\"https://github.com/nicolevy\"\u003e@nicolevy\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12533\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12533/hovercard\"\u003e#12533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove general performance in development mode. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12537\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12537/hovercard\"\u003e#12537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove performance of the experimental \u003ccode\u003eunstable_observedBits\u003c/code\u003e API with nesting. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12543\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12543/hovercard\"\u003e#12543\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-test-renderer-3\" class=\"anchor\" aria-label=\"Permalink: React Test Renderer\" href=\"#react-test-renderer-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd a UMD build. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12594\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12594/hovercard\"\u003e#12594\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.3.1 (April 3, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1631-april-3-2018\" class=\"anchor\" aria-label=\"Permalink: 16.3.1 (April 3, 2018)\" href=\"#1631-april-3-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-20\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-20\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix a false positive warning in IE11 when using \u003ccode\u003eFragment\u003c/code\u003e. (\u003ca href=\"https://github.com/heikkilamarko\"\u003e@heikkilamarko\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12504\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12504/hovercard\"\u003e#12504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrefix a private API. (\u003ca href=\"https://github.com/Andarist\"\u003e@Andarist\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12501\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12501/hovercard\"\u003e#12501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the warning when calling \u003ccode\u003esetState()\u003c/code\u003e in constructor. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12532\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12532/hovercard\"\u003e#12532\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-33\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-33\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003egetDerivedStateFromProps()\u003c/code\u003e not getting applied in some cases. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12528\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12528/hovercard\"\u003e#12528\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a performance regression in development mode. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12510\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12510/hovercard\"\u003e#12510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix error handling bugs in development mode. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e and \u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12508\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12508/hovercard\"\u003e#12508\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove user timing API messages for profiling. (\u003ca href=\"https://github.com/flarnie\"\u003e@flarnie\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12384\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12384/hovercard\"\u003e#12384\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCreate Subscription\u003c/h3\u003e\u003ca id=\"user-content-create-subscription\" class=\"anchor\" aria-label=\"Permalink: Create Subscription\" href=\"#create-subscription\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSet the package version to be in sync with React releases. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12526\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12526/hovercard\"\u003e#12526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a peer dependency on React 16.3+. (\u003ca href=\"https://github.com/NMinhNguyen\"\u003e@NMinhNguyen\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12496\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12496/hovercard\"\u003e#12496\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.3.0 (March 29, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1630-march-29-2018\" class=\"anchor\" aria-label=\"Permalink: 16.3.0 (March 29, 2018)\" href=\"#1630-march-29-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-21\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-21\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd a new officially supported context API. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11818\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11818/hovercard\"\u003e#11818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a new \u003ccode\u003eReact.createRef()\u003c/code\u003e API as an ergonomic alternative to callback refs. (\u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12162\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12162/hovercard\"\u003e#12162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a new \u003ccode\u003eReact.forwardRef()\u003c/code\u003e API to let components forward their refs to a child. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12346\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12346/hovercard\"\u003e#12346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a false positive warning in IE11 when using \u003ccode\u003eReact.Fragment\u003c/code\u003e. (\u003ca href=\"https://github.com/XaveScor\"\u003e@XaveScor\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11823\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11823/hovercard\"\u003e#11823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReplace \u003ccode\u003eReact.unstable_AsyncComponent\u003c/code\u003e with \u003ccode\u003eReact.unstable_AsyncMode\u003c/code\u003e. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12117\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12117/hovercard\"\u003e#12117\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the error message when calling \u003ccode\u003esetState()\u003c/code\u003e on an unmounted component. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12347\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12347/hovercard\"\u003e#12347\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-34\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-34\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd a new \u003ccode\u003egetDerivedStateFromProps()\u003c/code\u003e lifecycle and \u003ccode\u003eUNSAFE_\u003c/code\u003e aliases for the legacy lifecycles. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12028\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12028/hovercard\"\u003e#12028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a new \u003ccode\u003egetSnapshotBeforeUpdate()\u003c/code\u003e lifecycle. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12404\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12404/hovercard\"\u003e#12404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a new \u003ccode\u003e\u0026lt;React.StrictMode\u0026gt;\u003c/code\u003e wrapper to help prepare apps for async rendering. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12083\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12083/hovercard\"\u003e#12083\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003eonLoad\u003c/code\u003e and \u003ccode\u003eonError\u003c/code\u003e events on the \u003ccode\u003e\u0026lt;link\u0026gt;\u003c/code\u003e tag. (\u003ca href=\"https://github.com/roderickhsiao\"\u003e@roderickhsiao\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11825\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11825/hovercard\"\u003e#11825\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003enoModule\u003c/code\u003e boolean attribute on the \u003ccode\u003e\u0026lt;script\u0026gt;\u003c/code\u003e tag. (\u003ca href=\"https://github.com/aweary\"\u003e@aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11900\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11900/hovercard\"\u003e#11900\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix minor DOM input bugs in IE and Safari. (\u003ca href=\"https://github.com/nhunzaker\"\u003e@nhunzaker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11534\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11534/hovercard\"\u003e#11534\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCorrectly detect Ctrl + Enter in \u003ccode\u003eonKeyPress\u003c/code\u003e in more browsers. (\u003ca href=\"https://github.com/nstraub\"\u003e@nstraub\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/10514\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10514/hovercard\"\u003e#10514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix containing elements getting focused on SSR markup mismatch. (\u003ca href=\"https://github.com/koba04\"\u003e@koba04\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11737\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11737/hovercard\"\u003e#11737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003evalue\u003c/code\u003e and \u003ccode\u003edefaultValue\u003c/code\u003e to ignore Symbol values. (\u003ca href=\"https://github.com/nhunzaker\"\u003e@nhunzaker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11741\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11741/hovercard\"\u003e#11741\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix refs to class components not getting cleaned up when the attribute is removed. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12178\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12178/hovercard\"\u003e#12178\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix an IE/Edge issue when rendering inputs into a different window. (\u003ca href=\"https://github.com/M-ZubairAhmed\"\u003e@M-ZubairAhmed\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11870\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11870/hovercard\"\u003e#11870\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThrow with a meaningful message if the component runs after jsdom has been destroyed. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11677\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11677/hovercard\"\u003e#11677\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't crash if there is a global variable called \u003ccode\u003eopera\u003c/code\u003e with a \u003ccode\u003enull\u003c/code\u003e value. \u003ca href=\"https://github.com/alisherdavronov\"\u003e@alisherdavronov\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11854\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11854/hovercard\"\u003e#11854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't check for old versions of Opera. (\u003ca href=\"https://github.com/skiritsis\"\u003e@skiritsis\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11921\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11921/hovercard\"\u003e#11921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeduplicate warning messages about \u003ccode\u003e\u0026lt;option selected\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/watadarkstar\"\u003e@watadarkstar\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11821\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11821/hovercard\"\u003e#11821\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeduplicate warning messages about invalid callback. (\u003ca href=\"https://github.com/yenshih\"\u003e@yenshih\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11833\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11833/hovercard\"\u003e#11833\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eReactDOM.unstable_createPortal()\u003c/code\u003e in favor of \u003ccode\u003eReactDOM.createPortal()\u003c/code\u003e. (\u003ca href=\"https://github.com/prometheansacrifice\"\u003e@prometheansacrifice\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11747\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11747/hovercard\"\u003e#11747\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't emit User Timing entries for context types. (\u003ca href=\"https://github.com/abhaynikam\"\u003e@abhaynikam\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12250\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12250/hovercard\"\u003e#12250\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the error message when context consumer child isn't a function. (\u003ca href=\"https://github.com/raunofreiberg\"\u003e@raunofreiberg\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12267\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12267/hovercard\"\u003e#12267\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the error message when adding a ref to a functional component. (\u003ca href=\"https://github.com/skiritsis\"\u003e@skiritsis\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11782\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11782/hovercard\"\u003e#11782\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-17\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-17\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ePrevent an infinite loop when attempting to render portals with SSR. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11709\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11709/hovercard\"\u003e#11709\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn if a class doesn't extend \u003ccode\u003eReact.Component\u003c/code\u003e. (\u003ca href=\"https://github.com/wyze\"\u003e@wyze\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11993\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11993/hovercard\"\u003e#11993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix an issue with \u003ccode\u003ethis.state\u003c/code\u003e of different components getting mixed up. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12323\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12323/hovercard\"\u003e#12323\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProvide a better message when component type is undefined. (\u003ca href=\"https://github.com/HeroProtagonist\"\u003e@HeroProtagonist\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11966\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11966/hovercard\"\u003e#11966\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-test-renderer-4\" class=\"anchor\" aria-label=\"Permalink: React Test Renderer\" href=\"#react-test-renderer-4\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix handling of fragments in \u003ccode\u003etoTree()\u003c/code\u003e. (\u003ca href=\"https://github.com/maciej-ka\"\u003e@maciej-ka\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12107\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12107/hovercard\"\u003e#12107\u003c/a\u003e and \u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12154\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12154/hovercard\"\u003e#12154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShallow renderer should assign state to \u003ccode\u003enull\u003c/code\u003e for components that don't set it. (\u003ca href=\"https://github.com/jwbay\"\u003e@jwbay\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11965\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11965/hovercard\"\u003e#11965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShallow renderer should filter legacy context according to \u003ccode\u003econtextTypes\u003c/code\u003e. (\u003ca href=\"https://github.com/koba04\"\u003e@koba04\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11922\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11922/hovercard\"\u003e#11922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd an unstable API for testing asynchronous rendering. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12478\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12478/hovercard\"\u003e#12478\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Is (New)\u003c/h3\u003e\u003ca id=\"user-content-react-is-new\" class=\"anchor\" aria-label=\"Permalink: React Is (New)\" href=\"#react-is-new\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFirst release of the \u003ca href=\"https://github.com/facebook/react/tree/main/packages/react-is\"\u003enew package\u003c/a\u003e that libraries can use to detect different React node types. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12199\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12199/hovercard\"\u003e#12199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eReactIs.isValidElementType()\u003c/code\u003e to help higher-order components validate their inputs. (\u003ca href=\"https://github.com/jamesreggio\"\u003e@jamesreggio\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12483\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12483/hovercard\"\u003e#12483\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Lifecycles Compat (New)\u003c/h3\u003e\u003ca id=\"user-content-react-lifecycles-compat-new\" class=\"anchor\" aria-label=\"Permalink: React Lifecycles Compat (New)\" href=\"#react-lifecycles-compat-new\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFirst release of the \u003ca href=\"https://github.com/reactjs/react-lifecycles-compat\"\u003enew package\u003c/a\u003e to help library developers target multiple versions of React. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12105\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12105/hovercard\"\u003e#12105\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eCreate Subscription (New)\u003c/h3\u003e\u003ca id=\"user-content-create-subscription-new\" class=\"anchor\" aria-label=\"Permalink: Create Subscription (New)\" href=\"#create-subscription-new\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFirst release of the \u003ca href=\"https://github.com/facebook/react/tree/main/packages/create-subscription\"\u003enew package\u003c/a\u003e to subscribe to external data sources safely for async rendering. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12325\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12325/hovercard\"\u003e#12325\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Reconciler (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-react-reconciler-experimental-1\" class=\"anchor\" aria-label=\"Permalink: React Reconciler (Experimental)\" href=\"#react-reconciler-experimental-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eExpose \u003ccode\u003ereact-reconciler/persistent\u003c/code\u003e for building renderers that use persistent data structures. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/12156\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/12156/hovercard\"\u003e#12156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePass host context to \u003ccode\u003efinalizeInitialChildren()\u003c/code\u003e. (\u003ca href=\"https://github.com/jquense\"\u003e@jquense\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11970\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11970/hovercard\"\u003e#11970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003euseSyncScheduling\u003c/code\u003e from the host config. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11771\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11771/hovercard\"\u003e#11771\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Call Return (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-react-call-return-experimental-1\" class=\"anchor\" aria-label=\"Permalink: React Call Return (Experimental)\" href=\"#react-call-return-experimental-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix a crash on updates. (\u003ca href=\"https://github.com/rmhartog\"\u003e@rmhartog\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11955\" data-hovercard-type=\"issue\" data-hovercard-url=\"/facebook/react/issues/11955/hovercard\"\u003e#11955\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.2.1 (August 1, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1621-august-1-2018\" class=\"anchor\" aria-label=\"Permalink: 16.2.1 (August 1, 2018)\" href=\"#1621-august-1-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-18\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-18\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix a \u003ca href=\"https://reactjs.org/blog/2018/08/01/react-v-16-4-2.html\" rel=\"nofollow\"\u003epotential XSS vulnerability when the attacker controls an attribute name\u003c/a\u003e (\u003ccode\u003eCVE-2018-6341\u003c/code\u003e). This fix is available in the latest \u003ccode\u003ereact-dom@16.4.2\u003c/code\u003e, as well as in previous affected minor versions: \u003ccode\u003ereact-dom@16.0.1\u003c/code\u003e, \u003ccode\u003ereact-dom@16.1.2\u003c/code\u003e, \u003ccode\u003ereact-dom@16.2.1\u003c/code\u003e, and \u003ccode\u003ereact-dom@16.3.3\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13302\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13302/hovercard\"\u003e#13302\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.2.0 (November 28, 2017)\u003c/h2\u003e\u003ca id=\"user-content-1620-november-28-2017\" class=\"anchor\" aria-label=\"Permalink: 16.2.0 (November 28, 2017)\" href=\"#1620-november-28-2017\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-22\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-22\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003eFragment\u003c/code\u003e as named export to React. (\u003ca href=\"https://github.com/clemmy\"\u003e@clemmy\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/10783\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10783/hovercard\"\u003e#10783\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSupport experimental Call/Return types in \u003ccode\u003eReact.Children\u003c/code\u003e utilities. (\u003ca href=\"https://github.com/MatteoVH\"\u003e@MatteoVH\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11422\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11422/hovercard\"\u003e#11422\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-35\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-35\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix radio buttons not getting checked when using multiple lists of radios. (\u003ca href=\"https://github.com/landvibe\"\u003e@landvibe\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11227\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11227/hovercard\"\u003e#11227\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix radio buttons not receiving the \u003ccode\u003eonChange\u003c/code\u003e event in some cases. (\u003ca href=\"https://github.com/jquense\"\u003e@jquense\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11028\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11028/hovercard\"\u003e#11028\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-test-renderer-5\" class=\"anchor\" aria-label=\"Permalink: React Test Renderer\" href=\"#react-test-renderer-5\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003esetState()\u003c/code\u003e callback firing too early when called from \u003ccode\u003ecomponentWillMount\u003c/code\u003e. (\u003ca href=\"https://github.com/accordeiro\"\u003e@accordeiro\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11507\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11507/hovercard\"\u003e#11507\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Reconciler\u003c/h3\u003e\u003ca id=\"user-content-react-reconciler-1\" class=\"anchor\" aria-label=\"Permalink: React Reconciler\" href=\"#react-reconciler-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eExpose \u003ccode\u003ereact-reconciler/reflection\u003c/code\u003e with utilities useful to custom renderers. (\u003ca href=\"https://github.com/rivenhk\"\u003e@rivenhk\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11683\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11683/hovercard\"\u003e#11683\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eInternal Changes\u003c/h3\u003e\u003ca id=\"user-content-internal-changes\" class=\"anchor\" aria-label=\"Permalink: Internal Changes\" href=\"#internal-changes\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eMany tests were rewritten against the public API. Big thanks to \u003ca href=\"https://github.com/facebook/react/issues/11299\" data-hovercard-type=\"issue\" data-hovercard-url=\"/facebook/react/issues/11299/hovercard\"\u003eeveryone who contributed\u003c/a\u003e!\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.1.2 (August 1, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1612-august-1-2018\" class=\"anchor\" aria-label=\"Permalink: 16.1.2 (August 1, 2018)\" href=\"#1612-august-1-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-19\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-19\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix a \u003ca href=\"https://reactjs.org/blog/2018/08/01/react-v-16-4-2.html\" rel=\"nofollow\"\u003epotential XSS vulnerability when the attacker controls an attribute name\u003c/a\u003e (\u003ccode\u003eCVE-2018-6341\u003c/code\u003e). This fix is available in the latest \u003ccode\u003ereact-dom@16.4.2\u003c/code\u003e, as well as in previous affected minor versions: \u003ccode\u003ereact-dom@16.0.1\u003c/code\u003e, \u003ccode\u003ereact-dom@16.1.2\u003c/code\u003e, \u003ccode\u003ereact-dom@16.2.1\u003c/code\u003e, and \u003ccode\u003ereact-dom@16.3.3\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13302\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13302/hovercard\"\u003e#13302\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.1.1 (November 13, 2017)\u003c/h2\u003e\u003ca id=\"user-content-1611-november-13-2017\" class=\"anchor\" aria-label=\"Permalink: 16.1.1 (November 13, 2017)\" href=\"#1611-november-13-2017\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-23\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-23\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove the warning about undefined component type. (\u003ca href=\"https://github.com/selbekk\"\u003e@selbekk\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11505\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11505/hovercard\"\u003e#11505\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-36\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-36\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSupport string values for the \u003ccode\u003ecapture\u003c/code\u003e attribute. (\u003ca href=\"https://github.com/maxschmeling\"\u003e@maxschmeling\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11424\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11424/hovercard\"\u003e#11424\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-20\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-20\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDon't freeze the \u003ccode\u003eReactDOMServer\u003c/code\u003e public API. (\u003ca href=\"https://github.com/travi\"\u003e@travi\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11531\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11531/hovercard\"\u003e#11531\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't emit \u003ccode\u003eautoFocus={false}\u003c/code\u003e attribute on the server. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11543\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11543/hovercard\"\u003e#11543\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Reconciler\u003c/h3\u003e\u003ca id=\"user-content-react-reconciler-2\" class=\"anchor\" aria-label=\"Permalink: React Reconciler\" href=\"#react-reconciler-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eChange the hydration API for better Flow typing. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11493\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11493/hovercard\"\u003e#11493\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.1.0 (November 9, 2017)\u003c/h2\u003e\u003ca id=\"user-content-1610-november-9-2017\" class=\"anchor\" aria-label=\"Permalink: 16.1.0 (November 9, 2017)\" href=\"#1610-november-9-2017\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDiscontinuing Bower Releases\u003c/h3\u003e\u003ca id=\"user-content-discontinuing-bower-releases\" class=\"anchor\" aria-label=\"Permalink: Discontinuing Bower Releases\" href=\"#discontinuing-bower-releases\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eStarting with 16.1.0, we will no longer be publishing new releases on Bower. You can continue using Bower for old releases, or point your Bower configs to the \u003ca href=\"https://reactjs.org/docs/installation.html#using-a-cdn\" rel=\"nofollow\"\u003eReact UMD builds hosted on unpkg\u003c/a\u003e that mirror npm releases and will continue to be updated.\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAll Packages\u003c/h3\u003e\u003ca id=\"user-content-all-packages\" class=\"anchor\" aria-label=\"Permalink: All Packages\" href=\"#all-packages\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix an accidental extra global variable in the UMD builds. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/10935\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10935/hovercard\"\u003e#10935\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-24\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-24\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd support for portals in \u003ccode\u003eReact.Children\u003c/code\u003e utilities. (\u003ca href=\"https://github.com/MatteoVH\"\u003e@MatteoVH\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11378\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11378/hovercard\"\u003e#11378\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn when a class has a \u003ccode\u003erender\u003c/code\u003e method but doesn't extend a known base class. (\u003ca href=\"https://github.com/sw-yx\"\u003e@sw-yx\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11168\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11168/hovercard\"\u003e#11168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the warning when accidentally returning an object from constructor. (\u003ca href=\"https://github.com/deanbrophy\"\u003e@deanbrophy\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11395\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11395/hovercard\"\u003e#11395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-37\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-37\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAllow \u003ccode\u003eon\u003c/code\u003e as a custom attribute for AMP. (\u003ca href=\"https://github.com/nuc\"\u003e@nuc\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11153\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11153/hovercard\"\u003e#11153\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eonMouseEnter\u003c/code\u003e and \u003ccode\u003eonMouseLeave\u003c/code\u003e firing on wrong elements. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11164\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11164/hovercard\"\u003e#11164\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003enull\u003c/code\u003e showing up in a warning instead of the component stack. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/10915\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10915/hovercard\"\u003e#10915\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix IE11 crash in development mode. (\u003ca href=\"https://github.com/leidegre\"\u003e@leidegre\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/10921\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10921/hovercard\"\u003e#10921\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003etabIndex\u003c/code\u003e not getting applied to SVG elements. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11034\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11034/hovercard\"\u003e#11034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix SVG children not getting cleaned up on \u003ccode\u003edangerouslySetInnerHTML\u003c/code\u003e in IE. (\u003ca href=\"https://github.com/OriR\"\u003e@OriR\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11108\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11108/hovercard\"\u003e#11108\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix false positive text mismatch warning caused by newline normalization. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11119\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11119/hovercard\"\u003e#11119\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eform.reset()\u003c/code\u003e to respect \u003ccode\u003edefaultValue\u003c/code\u003e on uncontrolled \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/aweary\"\u003e@aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11057\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11057/hovercard\"\u003e#11057\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003e\u0026lt;textarea\u0026gt;\u003c/code\u003e placeholder not rendering on IE11. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11177\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11177/hovercard\"\u003e#11177\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a crash rendering into shadow root. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11037\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11037/hovercard\"\u003e#11037\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix false positive warning about hydrating mixed case SVG tags. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11174\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11174/hovercard\"\u003e#11174\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSuppress the new unknown tag warning for \u003ccode\u003e\u0026lt;dialog\u0026gt;\u003c/code\u003e element. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11035\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11035/hovercard\"\u003e#11035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn when defining a non-existent \u003ccode\u003ecomponentDidReceiveProps\u003c/code\u003e method. (\u003ca href=\"https://github.com/iamtommcc\"\u003e@iamtommcc\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11479\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11479/hovercard\"\u003e#11479\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn about function child no more than once. (\u003ca href=\"https://github.com/andreysaleba\"\u003e@andreysaleba\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11120\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11120/hovercard\"\u003e#11120\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn about nested updates no more than once. (\u003ca href=\"https://github.com/anushreesubramani\"\u003e@anushreesubramani\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11113\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11113/hovercard\"\u003e#11113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeduplicate other warnings about updates. (\u003ca href=\"https://github.com/anushreesubramani\"\u003e@anushreesubramani\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11216\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11216/hovercard\"\u003e#11216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude component stack into the warning about \u003ccode\u003econtentEditable\u003c/code\u003e and \u003ccode\u003echildren\u003c/code\u003e. (\u003ca href=\"https://github.com/Ethan-Arrowood\"\u003e@Ethan-Arrowood\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11208\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11208/hovercard\"\u003e#11208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the warning about booleans passed to event handlers. (\u003ca href=\"https://github.com/NicBonetto\"\u003e@NicBonetto\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11308\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11308/hovercard\"\u003e#11308\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove the warning when a multiple \u003ccode\u003eselect\u003c/code\u003e gets null \u003ccode\u003evalue\u003c/code\u003e. (\u003ca href=\"https://github.com/Hendeca\"\u003e@Hendeca\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11141\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11141/hovercard\"\u003e#11141\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMove link in the warning message to avoid redirect. (\u003ca href=\"https://github.com/marciovicente\"\u003e@marciovicente\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11400\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11400/hovercard\"\u003e#11400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a way to suppress the React DevTools installation prompt. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11448\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11448/hovercard\"\u003e#11448\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unused code. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/10802\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10802/hovercard\"\u003e#10802\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/10803\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10803/hovercard\"\u003e#10803\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-21\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-21\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd a new \u003ccode\u003esuppressHydrationWarning\u003c/code\u003e attribute for intentional client/server text mismatches. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11126\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11126/hovercard\"\u003e#11126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix markup generation when components return strings. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11109\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11109/hovercard\"\u003e#11109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix obscure error message when passing an invalid style value. (\u003ca href=\"https://github.com/iamdustan\"\u003e@iamdustan\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11173\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11173/hovercard\"\u003e#11173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude the \u003ccode\u003eautoFocus\u003c/code\u003e attribute into SSR markup. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11192\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11192/hovercard\"\u003e#11192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude the component stack into more warnings. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11284\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11284/hovercard\"\u003e#11284\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Renderer and Test Utils\u003c/h3\u003e\u003ca id=\"user-content-react-test-renderer-and-test-utils-2\" class=\"anchor\" aria-label=\"Permalink: React Test Renderer and Test Utils\" href=\"#react-test-renderer-and-test-utils-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix multiple \u003ccode\u003esetState()\u003c/code\u003e calls in \u003ccode\u003ecomponentWillMount()\u003c/code\u003e in shallow renderer. (\u003ca href=\"https://github.com/Hypnosphi\"\u003e@Hypnosphi\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11167\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11167/hovercard\"\u003e#11167\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix shallow renderer to ignore \u003ccode\u003eshouldComponentUpdate()\u003c/code\u003e after \u003ccode\u003eforceUpdate()\u003c/code\u003e. (\u003ca href=\"https://github.com/d4rky-pl\"\u003e@d4rky-pl\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11239\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11239/hovercard\"\u003e#11239\u003c/a\u003e and \u003ca href=\"https://github.com/facebook/react/pull/11439\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11439/hovercard\"\u003e#11439\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003eforceUpdate()\u003c/code\u003e and \u003ccode\u003eReact.PureComponent\u003c/code\u003e correctly. (\u003ca href=\"https://github.com/koba04\"\u003e@koba04\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11440\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11440/hovercard\"\u003e#11440\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd back support for running in production mode. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11112\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11112/hovercard\"\u003e#11112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a missing \u003ccode\u003epackage.json\u003c/code\u003e dependency. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11340\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11340/hovercard\"\u003e#11340\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact ART\u003c/h3\u003e\u003ca id=\"user-content-react-art-2\" class=\"anchor\" aria-label=\"Permalink: React ART\" href=\"#react-art-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd a missing \u003ccode\u003epackage.json\u003c/code\u003e dependency. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11341\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11341/hovercard\"\u003e#11341\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eExpose \u003ccode\u003ereact-art/Circle\u003c/code\u003e, \u003ccode\u003ereact-art/Rectangle\u003c/code\u003e, and \u003ccode\u003ereact-art/Wedge\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11343\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11343/hovercard\"\u003e#11343\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Reconciler (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-react-reconciler-experimental-2\" class=\"anchor\" aria-label=\"Permalink: React Reconciler (Experimental)\" href=\"#react-reconciler-experimental-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFirst release of the \u003ca href=\"https://github.com/facebook/react/blob/main/packages/react-reconciler/README.md\"\u003enew experimental package\u003c/a\u003e for creating custom renderers. (\u003ca href=\"https://github.com/iamdustan\"\u003e@iamdustan\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/10758\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10758/hovercard\"\u003e#10758\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for React DevTools. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11463\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11463/hovercard\"\u003e#11463\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Call Return (Experimental)\u003c/h3\u003e\u003ca id=\"user-content-react-call-return-experimental-2\" class=\"anchor\" aria-label=\"Permalink: React Call Return (Experimental)\" href=\"#react-call-return-experimental-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFirst release of the \u003ca href=\"https://github.com/facebook/react/tree/main/packages/react-call-return\"\u003enew experimental package\u003c/a\u003e for parent-child communication. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/11364\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/11364/hovercard\"\u003e#11364\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.0.1 (August 1, 2018)\u003c/h2\u003e\u003ca id=\"user-content-1601-august-1-2018\" class=\"anchor\" aria-label=\"Permalink: 16.0.1 (August 1, 2018)\" href=\"#1601-august-1-2018\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM Server\u003c/h3\u003e\u003ca id=\"user-content-react-dom-server-22\" class=\"anchor\" aria-label=\"Permalink: React DOM Server\" href=\"#react-dom-server-22\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix a \u003ca href=\"https://reactjs.org/blog/2018/08/01/react-v-16-4-2.html\" rel=\"nofollow\"\u003epotential XSS vulnerability when the attacker controls an attribute name\u003c/a\u003e (\u003ccode\u003eCVE-2018-6341\u003c/code\u003e). This fix is available in the latest \u003ccode\u003ereact-dom@16.4.2\u003c/code\u003e, as well as in previous affected minor versions: \u003ccode\u003ereact-dom@16.0.1\u003c/code\u003e, \u003ccode\u003ereact-dom@16.1.2\u003c/code\u003e, \u003ccode\u003ereact-dom@16.2.1\u003c/code\u003e, and \u003ccode\u003ereact-dom@16.3.3\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/13302\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/13302/hovercard\"\u003e#13302\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e16.0.0 (September 26, 2017)\u003c/h2\u003e\u003ca id=\"user-content-1600-september-26-2017\" class=\"anchor\" aria-label=\"Permalink: 16.0.0 (September 26, 2017)\" href=\"#1600-september-26-2017\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew JS Environment Requirements\u003c/h3\u003e\u003ca id=\"user-content-new-js-environment-requirements\" class=\"anchor\" aria-label=\"Permalink: New JS Environment Requirements\" href=\"#new-js-environment-requirements\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eReact 16 depends on the collection types \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map\" rel=\"nofollow\"\u003eMap\u003c/a\u003e and \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set\" rel=\"nofollow\"\u003eSet\u003c/a\u003e, as well as \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame\" rel=\"nofollow\"\u003erequestAnimationFrame\u003c/a\u003e. If you support older browsers and devices which may not yet provide these natively (e.g. \u0026lt;IE11), \u003ca href=\"https://gist.github.com/gaearon/9a4d54653ae9c50af6c54b4e0e56b583\"\u003eyou may want to include a polyfill\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew Features\u003c/h3\u003e\u003ca id=\"user-content-new-features-2\" class=\"anchor\" aria-label=\"Permalink: New Features\" href=\"#new-features-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eComponents can now return arrays and strings from \u003ccode\u003erender\u003c/code\u003e. (Docs coming soon!)\u003c/li\u003e\n\u003cli\u003eImproved error handling with introduction of \"error boundaries\". \u003ca href=\"https://reactjs.org/blog/2017/07/26/error-handling-in-react-16.html\" rel=\"nofollow\"\u003eError boundaries\u003c/a\u003e are React components that catch JavaScript errors anywhere in their child component tree, log those errors, and display a fallback UI instead of the component tree that crashed.\u003c/li\u003e\n\u003cli\u003eFirst-class support for declaratively rendering a subtree into another DOM node with \u003ccode\u003eReactDOM.createPortal()\u003c/code\u003e. (Docs coming soon!)\u003c/li\u003e\n\u003cli\u003eStreaming mode for server side rendering is enabled with \u003ccode\u003eReactDOMServer.renderToNodeStream()\u003c/code\u003e and \u003ccode\u003eReactDOMServer.renderToStaticNodeStream()\u003c/code\u003e. (\u003ca href=\"https://github.com/aickin\"\u003e@aickin\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/10425\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10425/hovercard\"\u003e#10425\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/10044\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10044/hovercard\"\u003e#10044\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/10039\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10039/hovercard\"\u003e#10039\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/10024\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10024/hovercard\"\u003e#10024\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/9264\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9264/hovercard\"\u003e#9264\u003c/a\u003e, and others.)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://reactjs.org/blog/2017/09/08/dom-attributes-in-react-16.html\" rel=\"nofollow\"\u003eReact DOM now allows passing non-standard attributes\u003c/a\u003e. (\u003ca href=\"https://github.com/nhunzaker\"\u003e@nhunzaker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/10385\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10385/hovercard\"\u003e#10385\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/10564\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10564/hovercard\"\u003e10564\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/10495\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10495/hovercard\"\u003e#10495\u003c/a\u003e and others)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBreaking Changes\u003c/h3\u003e\u003ca id=\"user-content-breaking-changes-2\" class=\"anchor\" aria-label=\"Permalink: Breaking Changes\" href=\"#breaking-changes-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThere are several changes to the behavior of scheduling and lifecycle methods:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eReactDOM.render()\u003c/code\u003e and \u003ccode\u003eReactDOM.unstable_renderIntoContainer()\u003c/code\u003e now return \u003ccode\u003enull\u003c/code\u003e if called from inside a lifecycle method.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTo work around this, you can either use \u003ca href=\"https://github.com/facebook/react/issues/10309#issuecomment-318433235\" data-hovercard-type=\"issue\" data-hovercard-url=\"/facebook/react/issues/10309/hovercard\"\u003ethe new portal API\u003c/a\u003e or \u003ca href=\"https://github.com/facebook/react/issues/10309#issuecomment-318434635\" data-hovercard-type=\"issue\" data-hovercard-url=\"/facebook/react/issues/10309/hovercard\"\u003erefs\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eMinor changes to \u003ccode\u003esetState\u003c/code\u003e behavior:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCalling \u003ccode\u003esetState\u003c/code\u003e with null no longer triggers an update. This allows you to decide in an updater function if you want to re-render.\u003c/li\u003e\n\u003cli\u003eCalling \u003ccode\u003esetState\u003c/code\u003e directly in render always causes an update. This was not previously the case. Regardless, you should not be calling \u003ccode\u003esetState\u003c/code\u003e from render.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esetState\u003c/code\u003e callback (second argument) now fires immediately after \u003ccode\u003ecomponentDidMount\u003c/code\u003e / \u003ccode\u003ecomponentDidUpdate\u003c/code\u003e instead of after all components have rendered.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eWhen replacing \u003ccode\u003e\u0026lt;A /\u0026gt;\u003c/code\u003e with \u003ccode\u003e\u0026lt;B /\u0026gt;\u003c/code\u003e, \u003ccode\u003eB.componentWillMount\u003c/code\u003e now always happens before \u003ccode\u003eA.componentWillUnmount\u003c/code\u003e. Previously, \u003ccode\u003eA.componentWillUnmount\u003c/code\u003e could fire first in some cases.\u003c/li\u003e\n\u003cli\u003ePreviously, changing the \u003ccode\u003eref\u003c/code\u003e to a component would always detach the ref before that component's render is called. Now, we change the \u003ccode\u003eref\u003c/code\u003e later, when applying the changes to the DOM.\u003c/li\u003e\n\u003cli\u003eIt is not safe to re-render into a container that was modified by something other than React. This worked previously in some cases but was never supported. We now emit a warning in this case. Instead you should clean up your component trees using \u003ccode\u003eReactDOM.unmountComponentAtNode\u003c/code\u003e. \u003ca href=\"https://github.com/facebook/react/issues/10294#issuecomment-318820987\" data-hovercard-type=\"issue\" data-hovercard-url=\"/facebook/react/issues/10294/hovercard\"\u003eSee this example.\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecomponentDidUpdate\u003c/code\u003e lifecycle no longer receives \u003ccode\u003eprevContext\u003c/code\u003e param. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8631\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8631/hovercard\"\u003e#8631\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNon-unique keys may now cause children to be duplicated and/or omitted. Using non-unique keys is not (and has never been) supported, but previously it was a hard error.\u003c/li\u003e\n\u003cli\u003eShallow renderer no longer calls \u003ccode\u003ecomponentDidUpdate()\u003c/code\u003e because DOM refs are not available. This also makes it consistent with \u003ccode\u003ecomponentDidMount()\u003c/code\u003e (which does not get called in previous versions either).\u003c/li\u003e\n\u003cli\u003eShallow renderer does not implement \u003ccode\u003eunstable_batchedUpdates()\u003c/code\u003e anymore.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReactDOM.unstable_batchedUpdates\u003c/code\u003e now only takes one extra argument after the callback.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eThe names and paths to the single-file browser builds have changed to emphasize the difference between development and production builds. For example:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003ereact/dist/react.js\u003c/code\u003e → \u003ccode\u003ereact/umd/react.development.js\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ereact/dist/react.min.js\u003c/code\u003e → \u003ccode\u003ereact/umd/react.production.min.js\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ereact-dom/dist/react-dom.js\u003c/code\u003e → \u003ccode\u003ereact-dom/umd/react-dom.development.js\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ereact-dom/dist/react-dom.min.js\u003c/code\u003e → \u003ccode\u003ereact-dom/umd/react-dom.production.min.js\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe server renderer has been completely rewritten, with some improvements:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eServer rendering does not use markup validation anymore, and instead tries its best to attach to existing DOM, warning about inconsistencies. It also doesn't use comments for empty components and data-reactid attributes on each node anymore.\u003c/li\u003e\n\u003cli\u003eHydrating a server rendered container now has an explicit API. Use \u003ccode\u003eReactDOM.hydrate\u003c/code\u003e instead of \u003ccode\u003eReactDOM.render\u003c/code\u003e if you're reviving server rendered HTML. Keep using \u003ccode\u003eReactDOM.render\u003c/code\u003e if you're just doing client-side rendering.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eWhen \"unknown\" props are passed to DOM components, for valid values, React will now render them in the DOM. \u003ca href=\"https://reactjs.org/blog/2017/09/08/dom-attributes-in-react-16.html\" rel=\"nofollow\"\u003eSee this post for more details.\u003c/a\u003e (\u003ca href=\"https://github.com/nhunzaker\"\u003e@nhunzaker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/10385\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10385/hovercard\"\u003e#10385\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/10564\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10564/hovercard\"\u003e10564\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/10495\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10495/hovercard\"\u003e#10495\u003c/a\u003e and others)\u003c/li\u003e\n\u003cli\u003eErrors in the render and lifecycle methods now unmount the component tree by default. To prevent this, add \u003ca href=\"https://reactjs.org/blog/2017/07/26/error-handling-in-react-16.html\" rel=\"nofollow\"\u003eerror boundaries\u003c/a\u003e to the appropriate places in the UI.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eRemoved Deprecations\u003c/h3\u003e\u003ca id=\"user-content-removed-deprecations\" class=\"anchor\" aria-label=\"Permalink: Removed Deprecations\" href=\"#removed-deprecations\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThere is no \u003ccode\u003ereact-with-addons.js\u003c/code\u003e build anymore. All compatible addons are published separately on npm, and have single-file browser versions if you need them.\u003c/li\u003e\n\u003cli\u003eThe deprecations introduced in 15.x have been removed from the core package. \u003ccode\u003eReact.createClass\u003c/code\u003e is now available as create-react-class, \u003ccode\u003eReact.PropTypes\u003c/code\u003e as prop-types, \u003ccode\u003eReact.DOM\u003c/code\u003e as react-dom-factories, react-addons-test-utils as react-dom/test-utils, and shallow renderer as react-test-renderer/shallow. See \u003ca href=\"https://reactjs.org/blog/2017/04/07/react-v15.5.0.html\" rel=\"nofollow\"\u003e15.5.0\u003c/a\u003e and \u003ca href=\"https://reactjs.org/blog/2017/06/13/react-v15.6.0.html\" rel=\"nofollow\"\u003e15.6.0\u003c/a\u003e blog posts for instructions on migrating code and automated codemods.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.7.0 (October 14, 2020)\u003c/h2\u003e\u003ca id=\"user-content-1570-october-14-2020\" class=\"anchor\" aria-label=\"Permalink: 15.7.0 (October 14, 2020)\" href=\"#1570-october-14-2020\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-25\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-25\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eBackport support for the \u003ca href=\"https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html\" rel=\"nofollow\"\u003enew JSX transform\u003c/a\u003e to 15.x. (\u003ca href=\"https://github.com/lunaruan\"\u003e@lunaruan\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18299\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18299/hovercard\"\u003e#18299\u003c/a\u003e and \u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/20024\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20024/hovercard\"\u003e#20024\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.6.2 (September 25, 2017)\u003c/h2\u003e\u003ca id=\"user-content-1562-september-25-2017\" class=\"anchor\" aria-label=\"Permalink: 15.6.2 (September 25, 2017)\" href=\"#1562-september-25-2017\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAll Packages\u003c/h3\u003e\u003ca id=\"user-content-all-packages-1\" class=\"anchor\" aria-label=\"Permalink: All Packages\" href=\"#all-packages-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSwitch from BSD + Patents to MIT license\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-38\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-38\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix a bug where modifying \u003ccode\u003edocument.documentMode\u003c/code\u003e would trigger IE detection in other browsers, breaking change events. (\u003ca href=\"https://github.com/aweary\"\u003e@aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/10032\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10032/hovercard\"\u003e#10032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCSS Columns are treated as unitless numbers. (\u003ca href=\"https://github.com/aweary\"\u003e@aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/10115\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10115/hovercard\"\u003e#10115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug in QtWebKit when wrapping synthetic events in proxies. (\u003ca href=\"https://github.com/walrusfruitcake\"\u003e@walrusfruitcake\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/10011\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10011/hovercard\"\u003e#10115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePrevent event handlers from receiving extra argument in development. (\u003ca href=\"https://github.com/aweary\"\u003e@aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8363\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8363/hovercard\"\u003e#10115\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix cases where \u003ccode\u003eonChange\u003c/code\u003e would not fire with \u003ccode\u003edefaultChecked\u003c/code\u003e on radio inputs. (\u003ca href=\"https://github.com/jquense\"\u003e@jquense\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/10156\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10156/hovercard\"\u003e#10156\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003econtrolList\u003c/code\u003e attribute to allowed DOM properties (\u003ca href=\"https://github.com/nhunzaker\"\u003e@nhunzaker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9940\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9940/hovercard\"\u003e#9940\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a bug where creating an element with a ref in a constructor did not throw an error in development. (\u003ca href=\"https://github.com/iansu\"\u003e@iansu\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/10025\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/10025/hovercard\"\u003e#10025\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.6.1 (June 14, 2017)\u003c/h2\u003e\u003ca id=\"user-content-1561-june-14-2017\" class=\"anchor\" aria-label=\"Permalink: 15.6.1 (June 14, 2017)\" href=\"#1561-june-14-2017\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-39\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-39\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix a crash on iOS Safari. (\u003ca href=\"https://github.com/jquense\"\u003e@jquense\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9960\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9960/hovercard\"\u003e#9960\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't add \u003ccode\u003epx\u003c/code\u003e to custom CSS property values. (\u003ca href=\"https://github.com/TrySound\"\u003e@TrySound\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9966\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9966/hovercard\"\u003e#9966\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.6.0 (June 13, 2017)\u003c/h2\u003e\u003ca id=\"user-content-1560-june-13-2017\" class=\"anchor\" aria-label=\"Permalink: 15.6.0 (June 13, 2017)\" href=\"#1560-june-13-2017\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-26\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-26\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDowngrade deprecation warnings to use \u003ccode\u003econsole.warn\u003c/code\u003e instead of \u003ccode\u003econsole.error\u003c/code\u003e. (\u003ca href=\"https://github.com/flarnie\"\u003e@flarnie\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9753\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9753/hovercard\"\u003e#9753\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a deprecation warning for \u003ccode\u003eReact.createClass\u003c/code\u003e. Points users to \u003ccode\u003ecreate-react-class\u003c/code\u003e instead. (\u003ca href=\"https://github.com/flarnie\"\u003e@flarnie\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9771\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9771/hovercard\"\u003e#9771\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd deprecation warnings and separate module for \u003ccode\u003eReact.DOM\u003c/code\u003e factory helpers. (\u003ca href=\"https://github.com/nhunzaker\"\u003e@nhunzaker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8356\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8356/hovercard\"\u003e#8356\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn for deprecation of \u003ccode\u003eReact.createMixin\u003c/code\u003e helper, which was never used. (\u003ca href=\"https://github.com/aweary\"\u003e@aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8853\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8853/hovercard\"\u003e#8853\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-40\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-40\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd support for CSS variables in \u003ccode\u003estyle\u003c/code\u003e attribute. (\u003ca href=\"https://github.com/aweary\"\u003e@aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9302\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9302/hovercard\"\u003e#9302\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for CSS Grid style properties. (\u003ca href=\"https://github.com/ericsakmar\"\u003e@ericsakmar\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9185\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9185/hovercard\"\u003e#9185\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where inputs mutated value on type conversion. (\u003ca href=\"https://github.com/mhunzaker\"\u003e@nhunzaker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9806\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9806/hovercard\"\u003e#9806\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issues with \u003ccode\u003eonChange\u003c/code\u003e not firing properly for some inputs. (\u003ca href=\"https://github.com/jquense\"\u003e@jquense\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8575\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8575/hovercard\"\u003e#8575\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where controlled number input mistakenly allowed period. (\u003ca href=\"https://github.com/nhunzaker\"\u003e@nhunzaker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9584\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9584/hovercard\"\u003e#9584\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix bug where performance entries were being cleared. (\u003ca href=\"https://github.com/chrisui\"\u003e@chrisui\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9451\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9451/hovercard\"\u003e#9451\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Addons\u003c/h3\u003e\u003ca id=\"user-content-react-addons\" class=\"anchor\" aria-label=\"Permalink: React Addons\" href=\"#react-addons\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix AMD support for addons depending on \u003ccode\u003ereact\u003c/code\u003e. (\u003ca href=\"https://github.com/flarnie\"\u003e@flarnie\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/9919\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9919/hovercard\"\u003e#9919\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eisMounted()\u003c/code\u003e to return \u003ccode\u003etrue\u003c/code\u003e in \u003ccode\u003ecomponentWillUnmount\u003c/code\u003e. (\u003ca href=\"https://github.com/mridgway\"\u003e@mridgway\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/issues/9638\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9638/hovercard\"\u003e#9638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ereact-addons-update\u003c/code\u003e to not depend on native \u003ccode\u003eObject.assign\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9937\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9937/hovercard\"\u003e#9937\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove broken Google Closure Compiler annotation from \u003ccode\u003ecreate-react-class\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9933\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9933/hovercard\"\u003e#9933\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove unnecessary dependency from \u003ccode\u003ereact-linked-input\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9766\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9766/hovercard\"\u003e#9766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePoint \u003ccode\u003ereact-addons-(css-)transition-group\u003c/code\u003e to the new package. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9937\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9937/hovercard\"\u003e#9937\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.5.4 (April 11, 2017)\u003c/h2\u003e\u003ca id=\"user-content-1554-april-11-2017\" class=\"anchor\" aria-label=\"Permalink: 15.5.4 (April 11, 2017)\" href=\"#1554-april-11-2017\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Addons\u003c/h3\u003e\u003ca id=\"user-content-react-addons-1\" class=\"anchor\" aria-label=\"Permalink: React Addons\" href=\"#react-addons-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eCritical Bugfix:\u003c/strong\u003e Update the version of \u003ccode\u003eprop-types\u003c/code\u003e to fix critical bug. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/commit/545c87fdc348f82eb0c3830bef715ed180785390\"\u003e545c87f\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ereact-addons-create-fragment\u003c/code\u003e package to include \u003ccode\u003eloose-envify\u003c/code\u003e transform for Browserify users. (\u003ca href=\"https://github.com/mridgway\"\u003e@mridgway\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9642\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9642/hovercard\"\u003e#9642\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-test-renderer-6\" class=\"anchor\" aria-label=\"Permalink: React Test Renderer\" href=\"#react-test-renderer-6\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix compatibility with Enzyme by exposing \u003ccode\u003ebatchedUpdates\u003c/code\u003e on shallow renderer. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/commit/69933e25c37cf5453a9ef132177241203ee8d2fd\"\u003e9382\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.5.3 (April 7, 2017)\u003c/h2\u003e\u003ca id=\"user-content-1553-april-7-2017\" class=\"anchor\" aria-label=\"Permalink: 15.5.3 (April 7, 2017)\" href=\"#1553-april-7-2017\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eNote: this release has a critical issue and was deprecated. Please update to 15.5.4 or higher.\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Addons\u003c/h3\u003e\u003ca id=\"user-content-react-addons-2\" class=\"anchor\" aria-label=\"Permalink: React Addons\" href=\"#react-addons-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix \u003ccode\u003ereact-addons-create-fragment\u003c/code\u003e package to export correct thing. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9383\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9383/hovercard\"\u003e#9385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003ecreate-react-class\u003c/code\u003e package to include \u003ccode\u003eloose-envify\u003c/code\u003e transform for Browserify users. (\u003ca href=\"https://github.com/mridgway\"\u003e@mridgway\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9642\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9642/hovercard\"\u003e#9642\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.5.2 (April 7, 2017)\u003c/h2\u003e\u003ca id=\"user-content-1552-april-7-2017\" class=\"anchor\" aria-label=\"Permalink: 15.5.2 (April 7, 2017)\" href=\"#1552-april-7-2017\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eNote: this release has a critical issue and was deprecated. Please update to 15.5.4 or higher.\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Addons\u003c/h3\u003e\u003ca id=\"user-content-react-addons-3\" class=\"anchor\" aria-label=\"Permalink: React Addons\" href=\"#react-addons-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix the production single-file builds to not include the development code. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9383\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9383/hovercard\"\u003e#9385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eApply better minification to production single-file builds. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9383\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9383/hovercard\"\u003e#9385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing and remove unnecessary dependencies to packages. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9383\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9383/hovercard\"\u003e#9385\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.5.1 (April 7, 2017)\u003c/h2\u003e\u003ca id=\"user-content-1551-april-7-2017\" class=\"anchor\" aria-label=\"Permalink: 15.5.1 (April 7, 2017)\" href=\"#1551-april-7-2017\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eNote: this release has a critical issue and was deprecated. Please update to 15.5.4 or higher.\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-27\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-27\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix erroneous PropTypes access warning. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in (\u003ca href=\"https://github.com/facebook/react/commit/ec97ebbe7f15b58ae2f1323df39d06f119873344\"\u003eec97ebb\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.5.0 (April 7, 2017)\u003c/h2\u003e\u003ca id=\"user-content-1550-april-7-2017\" class=\"anchor\" aria-label=\"Permalink: 15.5.0 (April 7, 2017)\" href=\"#1550-april-7-2017\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003e\u003cstrong\u003eNote: this release has a critical issue and was deprecated. Please update to 15.5.4 or higher.\u003c/strong\u003e\u003c/p\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-28\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-28\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cs\u003eAdded a deprecation warning for \u003ccode\u003eReact.createClass\u003c/code\u003e. Points users to create-react-class instead. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/commit/d9a4fa4f51c6da895e1655f32255cf72c0fe620e\"\u003e#d9a4fa4\u003c/a\u003e)\u003c/s\u003e\u003c/li\u003e\n\u003cli\u003eAdded a deprecation warning for \u003ccode\u003eReact.PropTypes\u003c/code\u003e. Points users to prop-types instead. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/commit/043845ce75ea0812286bbbd9d34994bb7e01eb28\"\u003e#043845c\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed an issue when using \u003ccode\u003eReactDOM\u003c/code\u003e together with \u003ccode\u003eReactDOMServer\u003c/code\u003e. (\u003ca href=\"https://github.com/wacii\"\u003e@wacii\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/9005\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/9005/hovercard\"\u003e#9005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue with Closure Compiler. (\u003ca href=\"https://github.com/anmonteiro\"\u003e@anmonteiro\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8895\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8895/hovercard\"\u003e#8895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAnother fix for Closure Compiler. (\u003ca href=\"https://github.com/Shastel\"\u003e@Shastel\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8882\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8882/hovercard\"\u003e#8882\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded component stack info to invalid element type warning. (\u003ca href=\"https://github.com/n3tr\"\u003e@n3tr\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8495\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8495/hovercard\"\u003e#8495\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-41\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-41\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed Chrome bug when backspacing in number inputs. (\u003ca href=\"https://github.com/nhunzaker\"\u003e@nhunzaker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7359\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7359/hovercard\"\u003e#7359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereact-dom/test-utils\u003c/code\u003e, which exports the React Test Utils. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-test-renderer-7\" class=\"anchor\" aria-label=\"Permalink: React Test Renderer\" href=\"#react-test-renderer-7\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed bug where \u003ccode\u003ecomponentWillUnmount\u003c/code\u003e was not called for children. (\u003ca href=\"https://github.com/gre\"\u003e@gre\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8512\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8512/hovercard\"\u003e#8512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003ereact-test-renderer/shallow\u003c/code\u003e, which exports the shallow renderer. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Addons\u003c/h3\u003e\u003ca id=\"user-content-react-addons-4\" class=\"anchor\" aria-label=\"Permalink: React Addons\" href=\"#react-addons-4\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eLast release for addons; they will no longer be actively maintained.\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003epeerDependencies\u003c/code\u003e so that addons continue to work indefinitely. (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e and \u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/commit/8a06cd7a786822fce229197cac8125a551e8abfa\"\u003e8a06cd7\u003c/a\u003e and \u003ca href=\"https://github.com/facebook/react/commit/67a8db3650d724a51e70be130e9008806402678a\"\u003e67a8db3\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdated to remove references to \u003ccode\u003eReact.createClass\u003c/code\u003e and \u003ccode\u003eReact.PropTypes\u003c/code\u003e (\u003ca href=\"https://github.com/acdlite\"\u003e@acdlite\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/commit/12a96b94823d6b6de6b1ac13bd576864abd50175\"\u003e12a96b9\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ereact-addons-test-utils\u003c/code\u003e is deprecated. Use \u003ccode\u003ereact-dom/test-utils\u003c/code\u003e and \u003ccode\u003ereact-test-renderer/shallow\u003c/code\u003e instead. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.4.2 (January 6, 2017)\u003c/h2\u003e\u003ca id=\"user-content-1542-january-6-2017\" class=\"anchor\" aria-label=\"Permalink: 15.4.2 (January 6, 2017)\" href=\"#1542-january-6-2017\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-29\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-29\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed build issues with the Brunch bundler. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8686\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8686/hovercard\"\u003e#8686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved error messages for invalid element types. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8612\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8612/hovercard\"\u003e#8612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved a warning about \u003ccode\u003egetInitialState\u003c/code\u003e when \u003ccode\u003ethis.state\u003c/code\u003e is set. (\u003ca href=\"https://github.com/bvaughn\"\u003e@bvaughn\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8594\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8594/hovercard\"\u003e#8594\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved some dead code. (\u003ca href=\"https://github.com/diegomura\"\u003e@diegomura\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8050\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8050/hovercard\"\u003e#8050\u003c/a\u003e, \u003ca href=\"https://github.com/dfrownfelter\"\u003e@dfrownfelter\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8597\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8597/hovercard\"\u003e#8597\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-42\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-42\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed a decimal point issue on uncontrolled number inputs. (\u003ca href=\"https://github.com/nhunzaker\"\u003e@nhunzaker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7750\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7750/hovercard\"\u003e#7750\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed rendering of textarea placeholder in IE11. (\u003ca href=\"https://github.com/aweary\"\u003e@aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8020\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8020/hovercard\"\u003e#8020\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWorked around a script engine bug in IE9. (\u003ca href=\"https://github.com/eoin\"\u003e@eoin\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8018\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8018/hovercard\"\u003e#8018\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Addons\u003c/h3\u003e\u003ca id=\"user-content-react-addons-5\" class=\"anchor\" aria-label=\"Permalink: React Addons\" href=\"#react-addons-5\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed build issues in RequireJS and SystemJS environments. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8686\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8686/hovercard\"\u003e#8686\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded missing package dependencies. (\u003ca href=\"https://github.com/kweiberth\"\u003e@kweiberth\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8467\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8467/hovercard\"\u003e#8467\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.4.1 (November 22, 2016)\u003c/h2\u003e\u003ca id=\"user-content-1541-november-22-2016\" class=\"anchor\" aria-label=\"Permalink: 15.4.1 (November 22, 2016)\" href=\"#1541-november-22-2016\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-30\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-30\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRestructure variable assignment to work around a Rollup bug (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8384\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8384/hovercard\"\u003e#8384\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-43\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-43\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed event handling on disabled button elements (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8387\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8387/hovercard\"\u003e#8387\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed compatibility of browser build with AMD environments (\u003ca href=\"https://github.com/zpao\"\u003e@zpao\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8374\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8374/hovercard\"\u003e#8374\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.4.0 (November 16, 2016)\u003c/h2\u003e\u003ca id=\"user-content-1540-november-16-2016\" class=\"anchor\" aria-label=\"Permalink: 15.4.0 (November 16, 2016)\" href=\"#1540-november-16-2016\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-31\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-31\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eReact package and browser build no longer \"secretly\" includes React DOM. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7164\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7164/hovercard\"\u003e#7164\u003c/a\u003e and \u003ca href=\"https://github.com/facebook/react/pull/7168\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7168/hovercard\"\u003e#7168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRequired PropTypes now fail with specific messages for null and undefined. (\u003ca href=\"https://github.com/chenglou\"\u003e@chenglou\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7291\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7291/hovercard\"\u003e#7291\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved development performance by freezing children instead of copying. (\u003ca href=\"https://github.com/keyanzhang\"\u003e@keyanzhang\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7455\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7455/hovercard\"\u003e#7455\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-44\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-44\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed occasional test failures when React DOM is used together with shallow renderer. (\u003ca href=\"https://github.com/goatslacker\"\u003e@goatslacker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/8097\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8097/hovercard\"\u003e#8097\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded a warning for invalid \u003ccode\u003earia-\u003c/code\u003e attributes. (\u003ca href=\"https://github.com/jessebeach\"\u003e@jessebeach\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7744\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7744/hovercard\"\u003e#7744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdded a warning for using \u003ccode\u003eautofocus\u003c/code\u003e rather than \u003ccode\u003eautoFocus\u003c/code\u003e. (\u003ca href=\"https://github.com/hkal\"\u003e@hkal\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7694\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7694/hovercard\"\u003e#7694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved an unnecessary warning about polyfilling \u003ccode\u003eString.prototype.split\u003c/code\u003e. (\u003ca href=\"https://github.com/nhunzaker\"\u003e@nhunzaker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7629\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7629/hovercard\"\u003e#7629\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClarified the warning about not calling PropTypes manually. (\u003ca href=\"https://github.com/jedwards1211\"\u003e@jedwards1211\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7777\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7777/hovercard\"\u003e#7777\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe unstable \u003ccode\u003ebatchedUpdates\u003c/code\u003e API now passes the wrapped function's return value through. (\u003ca href=\"https://github.com/bgnorlov\"\u003e@bgnorlov\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7444\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7444/hovercard\"\u003e#7444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed a bug with updating text in IE 8. (\u003ca href=\"https://github.com/mnpenner\"\u003e@mnpenner\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7832\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7832/hovercard\"\u003e#7832\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Perf\u003c/h3\u003e\u003ca id=\"user-content-react-perf\" class=\"anchor\" aria-label=\"Permalink: React Perf\" href=\"#react-perf\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWhen ReactPerf is started, you can now view the relative time spent in components as a chart in Chrome Timeline. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7549\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7549/hovercard\"\u003e#7549\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Utils\u003c/h3\u003e\u003ca id=\"user-content-react-test-utils-1\" class=\"anchor\" aria-label=\"Permalink: React Test Utils\" href=\"#react-test-utils-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIf you call \u003ccode\u003eSimulate.click()\u003c/code\u003e on a \u003ccode\u003e\u0026lt;input disabled onClick={foo} /\u0026gt;\u003c/code\u003e then \u003ccode\u003efoo\u003c/code\u003e will get called whereas it didn't before. (\u003ca href=\"https://github.com/nhunzaker\"\u003e@nhunzaker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7642\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7642/hovercard\"\u003e#7642\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-test-renderer-8\" class=\"anchor\" aria-label=\"Permalink: React Test Renderer\" href=\"#react-test-renderer-8\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDue to packaging changes, it no longer crashes when imported together with React DOM in the same file. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7164\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7164/hovercard\"\u003e#7164\u003c/a\u003e and \u003ca href=\"https://github.com/facebook/react/pull/7168\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7168/hovercard\"\u003e#7168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReactTestRenderer.create()\u003c/code\u003e now accepts \u003ccode\u003e{createNodeMock: element =\u0026gt; mock}\u003c/code\u003e as an optional argument so you can mock refs with snapshot testing. (\u003ca href=\"https://github.com/Aweary\"\u003e@Aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7649\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7649/hovercard\"\u003e#7649\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/8261\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/8261/hovercard\"\u003e#8261\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.3.2 (September 19, 2016)\u003c/h2\u003e\u003ca id=\"user-content-1532-september-19-2016\" class=\"anchor\" aria-label=\"Permalink: 15.3.2 (September 19, 2016)\" href=\"#1532-september-19-2016\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-32\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-32\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemove plain object warning from React.createElement \u0026amp; React.cloneElement. (\u003ca href=\"https://github.com/spudly\"\u003e@spudly\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7724\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7724/hovercard\"\u003e#7724\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-45\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-45\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003eplaysInline\u003c/code\u003e to supported HTML attributes. (\u003ca href=\"https://github.com/reaperhulk\"\u003e@reaperhulk\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7519\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7519/hovercard\"\u003e#7519\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eas\u003c/code\u003e to supported HTML attributes. (\u003ca href=\"https://github.com/kevinslin\"\u003e@kevinslin\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7582\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7582/hovercard\"\u003e#7582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove DOM nesting validation warning about whitespace. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7515\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7515/hovercard\"\u003e#7515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid \"Member not found\" exception in IE10 when calling \u003ccode\u003epreventDefault()\u003c/code\u003e in Synthetic Events. (\u003ca href=\"https://github.com/g-palmer\"\u003e@g-palmer\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7411\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7411/hovercard\"\u003e#7411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix memory leak in \u003ccode\u003eonSelect\u003c/code\u003e implementation. (\u003ca href=\"https://github.com/AgtLucas\"\u003e@AgtLucas\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7533\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7533/hovercard\"\u003e#7533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove robustness of \u003ccode\u003edocument.documentMode\u003c/code\u003e checks to handle Google Tag Manager. (\u003ca href=\"https://github.com/SchleyB\"\u003e@SchleyB\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7594\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7594/hovercard\"\u003e#7594\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd more cases to controlled inputs warning. (\u003ca href=\"https://github.com/marcin-mazurek\"\u003e@marcin-mazurek\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7544\" data-hovercard-type=\"issue\" data-hovercard-url=\"/facebook/react/issues/7544/hovercard\"\u003e#7544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle case of popup blockers overriding \u003ccode\u003edocument.createEvent\u003c/code\u003e. (\u003ca href=\"https://github.com/Andarist\"\u003e@Andarist\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7621\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7621/hovercard\"\u003e#7621\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issue with \u003ccode\u003edangerouslySetInnerHTML\u003c/code\u003e and SVG in Internet Explorer. (\u003ca href=\"https://github.com/zpao\"\u003e@zpao\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7618\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7618/hovercard\"\u003e#7618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove handling of Japanese IME on Internet Explorer. (\u003ca href=\"https://github.com/msmania\"\u003e@msmania\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7107\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7107/hovercard\"\u003e#7107\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-test-renderer-9\" class=\"anchor\" aria-label=\"Permalink: React Test Renderer\" href=\"#react-test-renderer-9\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSupport error boundaries. (\u003ca href=\"https://github.com/millermedeiros\"\u003e@millermedeiros\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7558\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7558/hovercard\"\u003e#7558\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/7569\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7569/hovercard\"\u003e#7569\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/7619\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7619/hovercard\"\u003e#7619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip null ref warning. (\u003ca href=\"https://github.com/Aweary\"\u003e@Aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7658\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7658/hovercard\"\u003e#7658\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Perf Add-on\u003c/h3\u003e\u003ca id=\"user-content-react-perf-add-on\" class=\"anchor\" aria-label=\"Permalink: React Perf Add-on\" href=\"#react-perf-add-on\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eEnsure lifecycle timers are stopped on errors. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7548\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7548/hovercard\"\u003e#7548\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.3.1 (August 19, 2016)\u003c/h2\u003e\u003ca id=\"user-content-1531-august-19-2016\" class=\"anchor\" aria-label=\"Permalink: 15.3.1 (August 19, 2016)\" href=\"#1531-august-19-2016\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-33\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-33\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove performance of development builds in various ways. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7461\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7461/hovercard\"\u003e#7461\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/7463\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7463/hovercard\"\u003e#7463\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/7483\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7483/hovercard\"\u003e#7483\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/7488\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7488/hovercard\"\u003e#7488\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/7491\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7491/hovercard\"\u003e#7491\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/7510\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7510/hovercard\"\u003e#7510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eCleanup internal hooks to improve performance of development builds. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7464\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7464/hovercard\"\u003e#7464\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/7472\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7472/hovercard\"\u003e#7472\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/7481\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7481/hovercard\"\u003e#7481\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/7496\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7496/hovercard\"\u003e#7496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpgrade fbjs to pick up another performance improvement from \u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e for development builds. (\u003ca href=\"https://github.com/zpao\"\u003e@zpao\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7532\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7532/hovercard\"\u003e#7532\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove startup time of React in Node. (\u003ca href=\"https://github.com/zertosh\"\u003e@zertosh\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7493\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7493/hovercard\"\u003e#7493\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove error message of \u003ccode\u003eReact.Children.only\u003c/code\u003e. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7514\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7514/hovercard\"\u003e#7514\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-46\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-46\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAvoid \u003ccode\u003e\u0026lt;input\u0026gt;\u003c/code\u003e validation warning from browsers when changing \u003ccode\u003etype\u003c/code\u003e. (\u003ca href=\"https://github.com/nhunzaker\"\u003e@nhunzaker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7333\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7333/hovercard\"\u003e#7333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid \"Member not found\" exception in IE10 when calling \u003ccode\u003estopPropagation()\u003c/code\u003e in Synthetic Events. (\u003ca href=\"https://github.com/nhunzaker\"\u003e@nhunzaker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7343\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7343/hovercard\"\u003e#7343\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issue resulting in inability to update some \u003ccode\u003e\u0026lt;input\u0026gt;\u003c/code\u003e elements in mobile browsers. (\u003ca href=\"https://github.com/keyanzhang\"\u003e@keyanzhang\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7397\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7397/hovercard\"\u003e#7397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix memory leak in server rendering. (\u003ca href=\"https://github.com/keyanzhang\"\u003e@keyanzhang\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7410\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7410/hovercard\"\u003e#7410\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issue resulting in \u003ccode\u003e\u0026lt;input type=\"range\"\u0026gt;\u003c/code\u003e values not updating when changing \u003ccode\u003emin\u003c/code\u003e or \u003ccode\u003emax\u003c/code\u003e. (\u003ca href=\"https://github.com/troydemonbreun\"\u003e@troydemonbreun\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7486\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7486/hovercard\"\u003e#7486\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd new warning for rare case of attempting to unmount a container owned by a different copy of React. (\u003ca href=\"https://github.com/ventuno\"\u003e@ventuno\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7456\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7456/hovercard\"\u003e#7456\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-test-renderer-10\" class=\"anchor\" aria-label=\"Permalink: React Test Renderer\" href=\"#react-test-renderer-10\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix ReactTestInstance::toJSON() with empty top-level components. (\u003ca href=\"https://github.com/Morhaus\"\u003e@Morhaus\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7523\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7523/hovercard\"\u003e#7523\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Native Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-native-renderer\" class=\"anchor\" aria-label=\"Permalink: React Native Renderer\" href=\"#react-native-renderer\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eChange \u003ccode\u003etrackedTouchCount\u003c/code\u003e invariant into a console.error for better reliability. (\u003ca href=\"https://github.com/yungsters\"\u003e@yungsters\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7400\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7400/hovercard\"\u003e#7400\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.3.0 (July 29, 2016)\u003c/h2\u003e\u003ca id=\"user-content-1530-july-29-2016\" class=\"anchor\" aria-label=\"Permalink: 15.3.0 (July 29, 2016)\" href=\"#1530-july-29-2016\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-34\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-34\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003eReact.PureComponent\u003c/code\u003e - a new base class to extend, replacing \u003ccode\u003ereact-addons-pure-render-mixin\u003c/code\u003e now that mixins don't work with ES2015 classes. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7195\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7195/hovercard\"\u003e#7195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd new warning when modifying \u003ccode\u003ethis.props.children\u003c/code\u003e. (\u003ca href=\"https://github.com/jimfb\"\u003e@jimfb\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7001\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7001/hovercard\"\u003e#7001\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue with ref resolution order. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7101\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7101/hovercard\"\u003e#7101\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn when mixin is undefined. (\u003ca href=\"https://github.com/swaroopsm\"\u003e@swaroopsm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6158\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6158/hovercard\"\u003e#6158\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDowngrade \"unexpected batch number\" invariant to a warning. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7133\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7133/hovercard\"\u003e#7133\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eValidate arguments to \u003ccode\u003eoneOf\u003c/code\u003e and \u003ccode\u003eoneOfType\u003c/code\u003e PropTypes sooner. (\u003ca href=\"https://github.com/troydemonbreun\"\u003e@troydemonbreun\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6316\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6316/hovercard\"\u003e#6316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn when calling PropTypes directly. (\u003ca href=\"https://github.com/Aweary\"\u003e@Aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7132\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7132/hovercard\"\u003e#7132\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/7194\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7194/hovercard\"\u003e#7194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove warning when using Maps as children. (\u003ca href=\"https://github.com/keyanzhang\"\u003e@keyanzhang\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7260\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7260/hovercard\"\u003e#7260\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd additional type information to the \u003ccode\u003ePropTypes.element\u003c/code\u003e warning. (\u003ca href=\"https://github.com/alexzherdev\"\u003e@alexzherdev\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7319\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7319/hovercard\"\u003e#7319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove component identification in no-op \u003ccode\u003esetState\u003c/code\u003e warning. (\u003ca href=\"https://github.com/keyanzhang\"\u003e@keyanzhang\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7326\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7326/hovercard\"\u003e#7326\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-47\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-47\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix issue with nested server rendering. (\u003ca href=\"https://github.com/Aweary\"\u003e@Aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7033\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7033/hovercard\"\u003e#7033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003exmlns\u003c/code\u003e, \u003ccode\u003exmlnsXlink\u003c/code\u003e to supported SVG attributes. (\u003ca href=\"https://github.com/salzhrani\"\u003e@salzhrani\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6471\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6471/hovercard\"\u003e#6471\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003ereferrerPolicy\u003c/code\u003e to supported HTML attributes. (\u003ca href=\"https://github.com/Aweary\"\u003e@Aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7274\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7274/hovercard\"\u003e#7274\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issue resulting in \u003ccode\u003e\u0026lt;input type=\"range\"\u0026gt;\u003c/code\u003e initial value being rounded. (\u003ca href=\"https://github.com/troydemonbreun\"\u003e@troydemonbreun\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7251\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7251/hovercard\"\u003e#7251\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Test Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-test-renderer-11\" class=\"anchor\" aria-label=\"Permalink: React Test Renderer\" href=\"#react-test-renderer-11\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eInitial public release of package allowing more focused testing. Install with \u003ccode\u003enpm install react-test-renderer\u003c/code\u003e. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6944\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6944/hovercard\"\u003e#6944\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/7258\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7258/hovercard\"\u003e#7258\u003c/a\u003e, \u003ca href=\"https://github.com/iamdustan\"\u003e@iamdustan\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7362\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7362/hovercard\"\u003e#7362\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Perf Add-on\u003c/h3\u003e\u003ca id=\"user-content-react-perf-add-on-1\" class=\"anchor\" aria-label=\"Permalink: React Perf Add-on\" href=\"#react-perf-add-on-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix issue resulting in excessive warnings when encountering an internal measurement error. (\u003ca href=\"https://github.com/sassanh\"\u003e@sassanh\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7299\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7299/hovercard\"\u003e#7299\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact TestUtils Add-on\u003c/h3\u003e\u003ca id=\"user-content-react-testutils-add-on\" class=\"anchor\" aria-label=\"Permalink: React TestUtils Add-on\" href=\"#react-testutils-add-on\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImplement \u003ccode\u003etype\u003c/code\u003e property on for events created via \u003ccode\u003eTestUtils.Simulate.*\u003c/code\u003e. (\u003ca href=\"https://github.com/yaycmyk\"\u003e@yaycmyk\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6154\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6154/hovercard\"\u003e#6154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash when running TestUtils with the production build of React. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7246\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7246/hovercard\"\u003e#7246\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.2.1 (July 8, 2016)\u003c/h2\u003e\u003ca id=\"user-content-1521-july-8-2016\" class=\"anchor\" aria-label=\"Permalink: 15.2.1 (July 8, 2016)\" href=\"#1521-july-8-2016\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-35\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-35\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix errant warning about missing React element. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7193\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7193/hovercard\"\u003e#7193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBetter removal of dev-only code, leading to a small reduction in the minified production bundle size. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7188\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7188/hovercard\"\u003e#7188\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/7189\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7189/hovercard\"\u003e#7189\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-48\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-48\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd stack trace to null input value warning. (\u003ca href=\"https://github.com/jimfb\"\u003e@jimfb\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7040\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7040/hovercard\"\u003e#7040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix webcomponents example. (\u003ca href=\"https://github.com/jalexanderfox\"\u003e@jalexanderfox\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7057\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7057/hovercard\"\u003e#7057\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eunstable_renderSubtreeIntoContainer\u003c/code\u003e so that context properly updates when linked to state. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7125\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7125/hovercard\"\u003e#7125\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove invariant wording for void elements. (\u003ca href=\"https://github.com/starkch\"\u003e@starkch\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7066\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7066/hovercard\"\u003e#7066\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure no errors are thrown due to event handlers in server rendering. (\u003ca href=\"https://github.com/rricard\"\u003e@rricard\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7127\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7127/hovercard\"\u003e#7127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix regression resulting in \u003ccode\u003evalue\u003c/code\u003e-less submit and reset inputs removing the browser-default text. (\u003ca href=\"https://github.com/zpao\"\u003e@zpao\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7197\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7197/hovercard\"\u003e#7197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix regression resulting in empty \u003ccode\u003ename\u003c/code\u003e attribute being added to inputs when not provided. (\u003ca href=\"https://github.com/okonet\"\u003e@okonet\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7199\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7199/hovercard\"\u003e#7199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issue with nested server rendering. (\u003ca href=\"https://github.com/Aweary\"\u003e@Aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7033\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7033/hovercard\"\u003e#7033\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Perf Add-on\u003c/h3\u003e\u003ca id=\"user-content-react-perf-add-on-2\" class=\"anchor\" aria-label=\"Permalink: React Perf Add-on\" href=\"#react-perf-add-on-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eMake \u003ccode\u003eReactPerf.start()\u003c/code\u003e work properly during lifecycle methods. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7208\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7208/hovercard\"\u003e#7208\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact CSSTransitionGroup Add-on\u003c/h3\u003e\u003ca id=\"user-content-react-csstransitiongroup-add-on\" class=\"anchor\" aria-label=\"Permalink: React CSSTransitionGroup Add-on\" href=\"#react-csstransitiongroup-add-on\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix issue resulting in spurious unknown property warnings. (\u003ca href=\"https://github.com/batusai513\"\u003e@batusai513\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7165\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7165/hovercard\"\u003e#7165\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Native Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-native-renderer-1\" class=\"anchor\" aria-label=\"Permalink: React Native Renderer\" href=\"#react-native-renderer-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove error handling in cross-platform touch event handling. (\u003ca href=\"https://github.com/yungsters\"\u003e@yungsters\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7143\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7143/hovercard\"\u003e#7143\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.2.0 (July 1, 2016)\u003c/h2\u003e\u003ca id=\"user-content-1520-july-1-2016\" class=\"anchor\" aria-label=\"Permalink: 15.2.0 (July 1, 2016)\" href=\"#1520-july-1-2016\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-36\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-36\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd error codes to production invariants, with links to the view the full error text. (\u003ca href=\"https://github.com/keyanzhang\"\u003e@keyanzhang\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6948\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6948/hovercard\"\u003e#6948\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude component stack information in PropType validation warnings. (\u003ca href=\"https://github.com/troydemonbreun\"\u003e@troydemonbreun\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6398\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6398/hovercard\"\u003e#6398\u003c/a\u003e, \u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6771\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6771/hovercard\"\u003e#6771\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInclude component stack information in key warnings. (\u003ca href=\"https://github.com/keyanzhang\"\u003e@keyanzhang\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6799\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6799/hovercard\"\u003e#6799\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStop validating props at mount time, only validate at element creation. (\u003ca href=\"https://github.com/keyanzhang\"\u003e@keyanzhang\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6824\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6824/hovercard\"\u003e#6824\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eNew invariant providing actionable error in missing instance case. (\u003ca href=\"https://github.com/yungsters\"\u003e@yungsters\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6990\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6990/hovercard\"\u003e#6990\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eReact.PropTypes.symbol\u003c/code\u003e to support ES2015 Symbols as props. (\u003ca href=\"https://github.com/puradox\"\u003e@puradox\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6377\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6377/hovercard\"\u003e#6377\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix incorrect coercion of ref or key that are undefined in development (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6880\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6880/hovercard\"\u003e#6880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a false positive when passing other element’s props to cloneElement (\u003ca href=\"https://github.com/ericmatthys\"\u003e@ericmatthys\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6268\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6268/hovercard\"\u003e#6268\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWarn if you attempt to define \u003ccode\u003echildContextTypes\u003c/code\u003e on a functional component (\u003ca href=\"https://github.com/Aweary\"\u003e@Aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6933\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6933/hovercard\"\u003e#6933\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-49\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-49\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd warning for unknown properties on DOM elements. (\u003ca href=\"https://github.com/jimfb\"\u003e@jimfb\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6800\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6800/hovercard\"\u003e#6800\u003c/a\u003e, \u003ca href=\"https://github.com/gm758\"\u003e@gm758\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7152\" data-hovercard-type=\"issue\" data-hovercard-url=\"/facebook/react/issues/7152/hovercard\"\u003e#7152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eProperly remove attributes from custom elements. (\u003ca href=\"https://github.com/grassator\"\u003e@grassator\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6748\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6748/hovercard\"\u003e#6748\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix invalid unicode escape in attribute name regular expression. (\u003ca href=\"https://github.com/nbjahan\"\u003e@nbjahan\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6772\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6772/hovercard\"\u003e#6772\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eonLoad\u003c/code\u003e handling to \u003ccode\u003e\u0026lt;link\u0026gt;\u003c/code\u003e element. (\u003ca href=\"https://github.com/roderickhsiao\"\u003e@roderickhsiao\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6815\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6815/hovercard\"\u003e#6815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eonError\u003c/code\u003e handling to \u003ccode\u003e\u0026lt;source\u0026gt;\u003c/code\u003e element. (\u003ca href=\"https://github.com/wadahiro\"\u003e@wadahiro\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6941\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6941/hovercard\"\u003e#6941\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle \u003ccode\u003evalue\u003c/code\u003e and \u003ccode\u003edefaultValue\u003c/code\u003e more accurately in the DOM. (\u003ca href=\"https://github.com/jimfb\"\u003e@jimfb\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6406\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6406/hovercard\"\u003e#6406\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix events issue in environments with mutated \u003ccode\u003eObject.prototype\u003c/code\u003e. (\u003ca href=\"https://github.com/Weizenlol\"\u003e@Weizenlol\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6886\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6886/hovercard\"\u003e#6886\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issue where \u003ccode\u003eis=\"null\"\u003c/code\u003e ended up in the DOM in Firefox. (\u003ca href=\"https://github.com/darobin\"\u003e@darobin\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6896\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6896/hovercard\"\u003e#6896\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImproved performance of text escaping by using \u003ca href=\"https://github.com/component/escape-html\"\u003eescape-html\u003c/a\u003e. (\u003ca href=\"https://github.com/aickin\"\u003e@aickin\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6862\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6862/hovercard\"\u003e#6862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issue with \u003ccode\u003edangerouslySetInnerHTML\u003c/code\u003e and SVG in Internet Explorer. (\u003ca href=\"https://github.com/joshhunt\"\u003e@joshhunt\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6982\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6982/hovercard\"\u003e#6982\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issue with \u003ccode\u003e\u0026lt;textarea\u0026gt;\u003c/code\u003e placeholders. (\u003ca href=\"https://github.com/jimfb\"\u003e@jimfb\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7002\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7002/hovercard\"\u003e#7002\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix controlled vs uncontrolled detection of \u003ccode\u003e\u0026lt;input type=\"radio\"/\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/jimfb\"\u003e@jimfb\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7003\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7003/hovercard\"\u003e#7003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove performance of updating text content. (\u003ca href=\"https://github.com/trueadm\"\u003e@trueadm\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/7005\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/7005/hovercard\"\u003e#7005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure controlled \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e components behave the same on initial render as they do on updates. (\u003ca href=\"https://github.com/yiminghe\"\u003e@yiminghe\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5362\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5362/hovercard\"\u003e#5362\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Perf Add-on\u003c/h3\u003e\u003ca id=\"user-content-react-perf-add-on-3\" class=\"anchor\" aria-label=\"Permalink: React Perf Add-on\" href=\"#react-perf-add-on-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdd \u003ccode\u003eisRunning()\u003c/code\u003e API. (\u003ca href=\"https://github.com/nfcampos\"\u003e@nfcampos\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6763\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6763/hovercard\"\u003e#6763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove accuracy of lifecycle hook timing. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6858\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6858/hovercard\"\u003e#6858\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix internal errors when using ReactPerf with portal components. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6860\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6860/hovercard\"\u003e#6860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix performance regression. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6770\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6770/hovercard\"\u003e#6770\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd warning that ReactPerf is not enabled in production. (\u003ca href=\"https://github.com/sashashakun\"\u003e@sashashakun\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6884\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6884/hovercard\"\u003e#6884\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact CSSTransitionGroup Add-on\u003c/h3\u003e\u003ca id=\"user-content-react-csstransitiongroup-add-on-1\" class=\"anchor\" aria-label=\"Permalink: React CSSTransitionGroup Add-on\" href=\"#react-csstransitiongroup-add-on-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix timing issue with \u003ccode\u003enull\u003c/code\u003e node. (\u003ca href=\"https://github.com/keyanzhang\"\u003e@keyanzhang\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6958\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6958/hovercard\"\u003e#6958\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Native Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-native-renderer-2\" class=\"anchor\" aria-label=\"Permalink: React Native Renderer\" href=\"#react-native-renderer-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDependencies on React Native modules use CommonJS requires instead of providesModule. (\u003ca href=\"https://github.com/davidaurelio\"\u003e@davidaurelio\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6715\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6715/hovercard\"\u003e#6715\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.1.0 (May 20, 2016)\u003c/h2\u003e\u003ca id=\"user-content-1510-may-20-2016\" class=\"anchor\" aria-label=\"Permalink: 15.1.0 (May 20, 2016)\" href=\"#1510-may-20-2016\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-37\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-37\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eEnsure we're using the latest \u003ccode\u003eobject-assign\u003c/code\u003e, which has protection against a non-spec-compliant native \u003ccode\u003eObject.assign\u003c/code\u003e. (\u003ca href=\"https://github.com/zpao\"\u003e@zpao\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6681\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6681/hovercard\"\u003e#6681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a new warning to communicate that \u003ccode\u003eprops\u003c/code\u003e objects passed to \u003ccode\u003ecreateElement\u003c/code\u003e must be plain objects. (\u003ca href=\"https://github.com/richardscarrott\"\u003e@richardscarrott\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6134\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6134/hovercard\"\u003e#6134\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a batching bug resulting in some lifecycle methods incorrectly being called multiple times. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6650\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6650/hovercard\"\u003e#6650\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-50\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-50\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix regression in custom elements support. (\u003ca href=\"https://github.com/jscissr\"\u003e@jscissr\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6570\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6570/hovercard\"\u003e#6570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eStop incorrectly warning about using \u003ccode\u003eonScroll\u003c/code\u003e event handler with server rendering. (\u003ca href=\"https://github.com/Aweary\"\u003e@Aweary\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6678\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6678/hovercard\"\u003e#6678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix grammar in the controlled input warning. (\u003ca href=\"https://github.com/jakeboone02\"\u003e@jakeboone02\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6657\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6657/hovercard\"\u003e#6657\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issue preventing \u003ccode\u003e\u0026lt;object\u0026gt;\u003c/code\u003e nodes from being able to read \u003ccode\u003e\u0026lt;param\u0026gt;\u003c/code\u003e nodes in IE. (\u003ca href=\"https://github.com/syranide\"\u003e@syranide\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6691\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6691/hovercard\"\u003e#6691\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issue resulting in crash when using experimental error boundaries with server rendering. (\u003ca href=\"https://github.com/jimfb\"\u003e@jimfb\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6694\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6694/hovercard\"\u003e#6694\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd additional information to the controlled input warning. (\u003ca href=\"https://github.com/borisyankov\"\u003e@borisyankov\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6341\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6341/hovercard\"\u003e#6341\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Perf Add-on\u003c/h3\u003e\u003ca id=\"user-content-react-perf-add-on-4\" class=\"anchor\" aria-label=\"Permalink: React Perf Add-on\" href=\"#react-perf-add-on-4\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eCompletely rewritten to collect data more accurately and to be easier to maintain. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6647\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6647/hovercard\"\u003e#6647\u003c/a\u003e, \u003ca href=\"https://github.com/facebook/react/pull/6046\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6046/hovercard\"\u003e#6046\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Native Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-native-renderer-3\" class=\"anchor\" aria-label=\"Permalink: React Native Renderer\" href=\"#react-native-renderer-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemove some special cases for platform specific branching. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6660\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6660/hovercard\"\u003e#6660\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove use of \u003ccode\u003emerge\u003c/code\u003e utility. (\u003ca href=\"https://github.com/sebmarkbage\"\u003e@sebmarkbage\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6634\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6634/hovercard\"\u003e#6634\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRenamed some modules to better indicate usage (\u003ca href=\"https://github.com/javache\"\u003e@javache\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6643\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6643/hovercard\"\u003e#6643\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.0.2 (April 29, 2016)\u003c/h2\u003e\u003ca id=\"user-content-1502-april-29-2016\" class=\"anchor\" aria-label=\"Permalink: 15.0.2 (April 29, 2016)\" href=\"#1502-april-29-2016\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-38\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-38\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRemoved extraneous files from npm package. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6388\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6388/hovercard\"\u003e#6388\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003ecomponentWillUnmount\u003c/code\u003e is only called once. (\u003ca href=\"https://github.com/jimfb\"\u003e@jimfb\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6613\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6613/hovercard\"\u003e#6613\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReactDOM\u003c/h3\u003e\u003ca id=\"user-content-reactdom\" class=\"anchor\" aria-label=\"Permalink: ReactDOM\" href=\"#reactdom\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed bug resulting in disabled buttons responding to mouse events in IE. (\u003ca href=\"https://github.com/nhunzaker\"\u003e@nhunzaker\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6215\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6215/hovercard\"\u003e#6215\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003e\u0026lt;option\u0026gt;\u003c/code\u003es are correctly selected when inside \u003ccode\u003e\u0026lt;optgroup\u0026gt;\u003c/code\u003e. (\u003ca href=\"https://github.com/trevorsmith\"\u003e@trevorsmith\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6442\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6442/hovercard\"\u003e#6442\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestore support for rendering into a shadow root. (\u003ca href=\"https://github.com/Wildhoney\"\u003e@Wildhoney\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6462\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6462/hovercard\"\u003e#6462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnsure nested \u003ccode\u003e\u0026lt;body\u0026gt;\u003c/code\u003e elements are caught when warning for invalid markup. (\u003ca href=\"https://github.com/keyanzhang\"\u003e@keyanzhang\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6469\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6469/hovercard\"\u003e#6469\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove warning when encountering multiple elements with the same key. (\u003ca href=\"https://github.com/hkal\"\u003e@hkal\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6500\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6500/hovercard\"\u003e#6500\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact TestUtils Add-on\u003c/h3\u003e\u003ca id=\"user-content-react-testutils-add-on-1\" class=\"anchor\" aria-label=\"Permalink: React TestUtils Add-on\" href=\"#react-testutils-add-on-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eEnsure that functional components do not have an owner. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6362\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6362/hovercard\"\u003e#6362\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eHandle invalid arguments to \u003ccode\u003escryRenderedDOMComponentsWithClass\u003c/code\u003e better. (\u003ca href=\"https://github.com/ipeters90\"\u003e@ipeters90\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6529\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6529/hovercard\"\u003e#6529\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Perf Add-on\u003c/h3\u003e\u003ca id=\"user-content-react-perf-add-on-5\" class=\"anchor\" aria-label=\"Permalink: React Perf Add-on\" href=\"#react-perf-add-on-5\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIgnore DOM operations that occur outside the batch operation. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6516\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6516/hovercard\"\u003e#6516\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Native Renderer\u003c/h3\u003e\u003ca id=\"user-content-react-native-renderer-4\" class=\"anchor\" aria-label=\"Permalink: React Native Renderer\" href=\"#react-native-renderer-4\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThese files are now shipped inside the React npm package. They have no impact on React core or ReactDOM.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.0.1 (April 8, 2016)\u003c/h2\u003e\u003ca id=\"user-content-1501-april-8-2016\" class=\"anchor\" aria-label=\"Permalink: 15.0.1 (April 8, 2016)\" href=\"#1501-april-8-2016\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-39\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-39\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRestore \u003ccode\u003eReact.__spread\u003c/code\u003e API to unbreak code compiled with some tools making use of this undocumented API. It is now officially deprecated. (\u003ca href=\"https://github.com/zpao\"\u003e@zpao\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6444\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6444/hovercard\"\u003e#6444\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReactDOM\u003c/h3\u003e\u003ca id=\"user-content-reactdom-1\" class=\"anchor\" aria-label=\"Permalink: ReactDOM\" href=\"#reactdom-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed issue resulting in loss of cursor position in controlled inputs. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6449\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6449/hovercard\"\u003e#6449\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e15.0.0 (April 7, 2016)\u003c/h2\u003e\u003ca id=\"user-content-1500-april-7-2016\" class=\"anchor\" aria-label=\"Permalink: 15.0.0 (April 7, 2016)\" href=\"#1500-april-7-2016\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMajor changes\u003c/h3\u003e\u003ca id=\"user-content-major-changes\" class=\"anchor\" aria-label=\"Permalink: Major changes\" href=\"#major-changes\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eInitial render now uses \u003ccode\u003edocument.createElement\u003c/code\u003e instead of generating HTML.\u003c/strong\u003e Previously we would generate a large string of HTML and then set \u003ccode\u003enode.innerHTML\u003c/code\u003e. At the time, this was decided to be faster than using \u003ccode\u003edocument.createElement\u003c/code\u003e for the majority of cases and browsers that we supported. Browsers have continued to improve and so overwhelmingly this is no longer true. By using \u003ccode\u003ecreateElement\u003c/code\u003e we can make other parts of React faster. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5205\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5205/hovercard\"\u003e#5205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003edata-reactid\u003c/code\u003e is no longer on every node.\u003c/strong\u003e As a result of using \u003ccode\u003edocument.createElement\u003c/code\u003e, we can prime the node cache as we create DOM nodes, allowing us to skip a potential lookup (which used the \u003ccode\u003edata-reactid\u003c/code\u003e attribute). Root nodes will have a \u003ccode\u003edata-reactroot\u003c/code\u003e attribute and server generated markup will still contain \u003ccode\u003edata-reactid\u003c/code\u003e. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5205\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5205/hovercard\"\u003e#5205\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eNo more extra \u003ccode\u003e\u0026lt;span\u0026gt;\u003c/code\u003es.\u003c/strong\u003e ReactDOM will now render plain text nodes interspersed with comment nodes that are used for demarcation. This gives us the same ability to update individual pieces of text, without creating extra nested nodes. If you were targeting these \u003ccode\u003e\u0026lt;span\u0026gt;\u003c/code\u003es in your CSS, you will need to adjust accordingly. You can always render them explicitly in your components. (\u003ca href=\"https://github.com/mwiencek\"\u003e@mwiencek\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5753\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5753/hovercard\"\u003e#5753\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRendering \u003ccode\u003enull\u003c/code\u003e now uses comment nodes.\u003c/strong\u003e Previously \u003ccode\u003enull\u003c/code\u003e would render to \u003ccode\u003e\u0026lt;noscript\u0026gt;\u003c/code\u003e elements. We now use comment nodes. This may cause issues if making use of \u003ccode\u003e:nth-child\u003c/code\u003e CSS selectors. While we consider this rendering behavior an implementation detail of React, it's worth noting the potential problem. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5451\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5451/hovercard\"\u003e#5451\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eFunctional components can now return \u003ccode\u003enull\u003c/code\u003e.\u003c/strong\u003e We added support for \u003ca href=\"/facebook/react/blob/main/react/blog/2015/09/10/react-v0.14-rc1.html#stateless-function-components\"\u003edefining stateless components as functions\u003c/a\u003e in React 0.14. However, React 0.14 still allowed you to define a class component without extending \u003ccode\u003eReact.Component\u003c/code\u003e or using \u003ccode\u003eReact.createClass()\u003c/code\u003e, so \u003ca href=\"https://github.com/facebook/react/issues/5355\" data-hovercard-type=\"issue\" data-hovercard-url=\"/facebook/react/issues/5355/hovercard\"\u003ewe couldn’t reliably tell if your component is a function or a class\u003c/a\u003e, and did not allow returning \u003ccode\u003enull\u003c/code\u003e from it. This issue is solved in React 15, and you can now return \u003ccode\u003enull\u003c/code\u003e from any component, whether it is a class or a function. (\u003ca href=\"https://github.com/jimfb\"\u003e@jimfb\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5884\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5884/hovercard\"\u003e#5884\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eImproved SVG support.\u003c/strong\u003e All SVG tags are now fully supported. (Uncommon SVG tags are not present on the \u003ccode\u003eReact.DOM\u003c/code\u003e element helper, but JSX and \u003ccode\u003eReact.createElement\u003c/code\u003e work on all tag names.) All SVG attributes that are implemented by the browsers should be supported too. If you find any attributes that we have missed, please \u003ca href=\"https://github.com/facebook/react/issues/1657\" data-hovercard-type=\"issue\" data-hovercard-url=\"/facebook/react/issues/1657/hovercard\"\u003elet us know in this issue\u003c/a\u003e. (\u003ca href=\"https://github.com/zpao\"\u003e@zpao\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6243\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6243/hovercard\"\u003e#6243\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBreaking changes\u003c/h3\u003e\u003ca id=\"user-content-breaking-changes-3\" class=\"anchor\" aria-label=\"Permalink: Breaking changes\" href=\"#breaking-changes-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003cstrong\u003eNo more extra \u003ccode\u003e\u0026lt;span\u0026gt;\u003c/code\u003es.\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eReact.cloneElement()\u003c/code\u003e now resolves \u003ccode\u003edefaultProps\u003c/code\u003e.\u003c/strong\u003e We fixed a bug in \u003ccode\u003eReact.cloneElement()\u003c/code\u003e that some components may rely on. If some of the \u003ccode\u003eprops\u003c/code\u003e received by \u003ccode\u003ecloneElement()\u003c/code\u003e are \u003ccode\u003eundefined\u003c/code\u003e, it used to return an element with \u003ccode\u003eundefined\u003c/code\u003e values for those props. We’re changing it to be consistent with \u003ccode\u003ecreateElement()\u003c/code\u003e. Now any \u003ccode\u003eundefined\u003c/code\u003e props passed to \u003ccode\u003ecloneElement()\u003c/code\u003e are resolved to the corresponding component’s \u003ccode\u003edefaultProps\u003c/code\u003e. (\u003ca href=\"https://github.com/truongduy134\"\u003e@truongduy134\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5997\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5997/hovercard\"\u003e#5997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003e\u003ccode\u003eReactPerf.getLastMeasurements()\u003c/code\u003e is opaque.\u003c/strong\u003e This change won’t affect applications but may break some third-party tools. We are \u003ca href=\"https://github.com/facebook/react/pull/6046\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6046/hovercard\"\u003erevamping \u003ccode\u003eReactPerf\u003c/code\u003e implementation\u003c/a\u003e and plan to release it during the 15.x cycle. The internal performance measurement format is subject to change so, for the time being, we consider the return value of \u003ccode\u003eReactPerf.getLastMeasurements()\u003c/code\u003e an opaque data structure that should not be relied upon. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6286\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6286/hovercard\"\u003e#6286\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eRemoved deprecations\u003c/h4\u003e\u003ca id=\"user-content-removed-deprecations-1\" class=\"anchor\" aria-label=\"Permalink: Removed deprecations\" href=\"#removed-deprecations-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThese deprecations were introduced nine months ago in v0.14 with a warning and are removed:\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDeprecated APIs are removed from the \u003ccode\u003eReact\u003c/code\u003e top-level export: \u003ccode\u003efindDOMNode\u003c/code\u003e, \u003ccode\u003erender\u003c/code\u003e, \u003ccode\u003erenderToString\u003c/code\u003e, \u003ccode\u003erenderToStaticMarkup\u003c/code\u003e, and \u003ccode\u003eunmountComponentAtNode\u003c/code\u003e. As a reminder, they are now available on \u003ccode\u003eReactDOM\u003c/code\u003e and \u003ccode\u003eReactDOMServer\u003c/code\u003e. (\u003ca href=\"https://github.com/jimfb\"\u003e@jimfb\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5832\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5832/hovercard\"\u003e#5832\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated addons are removed: \u003ccode\u003ebatchedUpdates\u003c/code\u003e and \u003ccode\u003ecloneWithProps\u003c/code\u003e. (\u003ca href=\"https://github.com/jimfb\"\u003e@jimfb\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5859\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5859/hovercard\"\u003e#5859\u003c/a\u003e, \u003ca href=\"https://github.com/zpao\"\u003e@zpao\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6016\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6016/hovercard\"\u003e#6016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated component instance methods are removed: \u003ccode\u003esetProps\u003c/code\u003e, \u003ccode\u003ereplaceProps\u003c/code\u003e, and \u003ccode\u003egetDOMNode\u003c/code\u003e. (\u003ca href=\"https://github.com/jimfb\"\u003e@jimfb\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5570\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5570/hovercard\"\u003e#5570\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDeprecated CommonJS \u003ccode\u003ereact/addons\u003c/code\u003e entry point is removed. As a reminder, you should use separate \u003ccode\u003ereact-addons-*\u003c/code\u003e packages instead. This only applies if you use the CommonJS builds. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6285\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6285/hovercard\"\u003e#6285\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePassing \u003ccode\u003echildren\u003c/code\u003e to void elements like \u003ccode\u003e\u0026lt;input\u0026gt;\u003c/code\u003e was deprecated, and now throws an error. (\u003ca href=\"https://github.com/jonhester\"\u003e@jonhester\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/3372\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/3372/hovercard\"\u003e#3372\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact-specific properties on DOM \u003ccode\u003erefs\u003c/code\u003e (e.g. \u003ccode\u003ethis.refs.div.props\u003c/code\u003e) were deprecated, and are removed now. (\u003ca href=\"https://github.com/jimfb\"\u003e@jimfb\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5495\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5495/hovercard\"\u003e#5495\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew deprecations, introduced with a warning\u003c/h3\u003e\u003ca id=\"user-content-new-deprecations-introduced-with-a-warning\" class=\"anchor\" aria-label=\"Permalink: New deprecations, introduced with a warning\" href=\"#new-deprecations-introduced-with-a-warning\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eEach of these changes will continue to work as before with a new warning until the release of React 16 so you can upgrade your code gradually.\u003c/p\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eLinkedStateMixin\u003c/code\u003e and \u003ccode\u003evalueLink\u003c/code\u003e are now deprecated due to very low popularity. If you need this, you can use a wrapper component that implements the same behavior: \u003ca href=\"https://www.npmjs.com/package/react-linked-input\" rel=\"nofollow\"\u003ereact-linked-input\u003c/a\u003e. (\u003ca href=\"https://github.com/jimfb\"\u003e@jimfb\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6127\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6127/hovercard\"\u003e#6127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFuture versions of React will treat \u003ccode\u003e\u0026lt;input value={null}\u0026gt;\u003c/code\u003e as a request to clear the input. However, React 0.14 has been ignoring \u003ccode\u003evalue={null}\u003c/code\u003e. React 15 warns you on a \u003ccode\u003enull\u003c/code\u003e input value and offers you to clarify your intention. To fix the warning, you may explicitly pass an empty string to clear a controlled input, or pass \u003ccode\u003eundefined\u003c/code\u003e to make the input uncontrolled. (\u003ca href=\"https://github.com/antoaravinth\"\u003e@antoaravinth\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5048\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5048/hovercard\"\u003e#5048\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReactPerf.printDOM()\u003c/code\u003e was renamed to \u003ccode\u003eReactPerf.printOperations()\u003c/code\u003e, and \u003ccode\u003eReactPerf.getMeasurementsSummaryMap()\u003c/code\u003e was renamed to \u003ccode\u003eReactPerf.getWasted()\u003c/code\u003e. (\u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6287\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6287/hovercard\"\u003e#6287\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew helpful warnings\u003c/h3\u003e\u003ca id=\"user-content-new-helpful-warnings\" class=\"anchor\" aria-label=\"Permalink: New helpful warnings\" href=\"#new-helpful-warnings\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIf you use a minified copy of the \u003cem\u003edevelopment\u003c/em\u003e build, React DOM kindly encourages you to use the faster production build instead. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5083\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5083/hovercard\"\u003e#5083\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM: When specifying a unit-less CSS value as a string, a future version will not add \u003ccode\u003epx\u003c/code\u003e automatically. This version now warns in this case (ex: writing \u003ccode\u003estyle={{width: '300'}}\u003c/code\u003e. Unitless \u003cem\u003enumber\u003c/em\u003e values like \u003ccode\u003ewidth: 300\u003c/code\u003e are unchanged. (\u003ca href=\"https://github.com/pluma\"\u003e@pluma\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5140\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5140/hovercard\"\u003e#5140\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSynthetic Events will now warn when setting and accessing properties (which will not get cleared appropriately), as well as warn on access after an event has been returned to the pool. (\u003ca href=\"https://github.com/kentcdodds\"\u003e@kentcdodds\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5940\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5940/hovercard\"\u003e#5940\u003c/a\u003e and \u003ca href=\"https://github.com/koba04\"\u003e@koba04\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5947\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5947/hovercard\"\u003e#5947\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eElements will now warn when attempting to read \u003ccode\u003eref\u003c/code\u003e and \u003ccode\u003ekey\u003c/code\u003e from the props. (\u003ca href=\"https://github.com/prometheansacrifice\"\u003e@prometheansacrifice\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5744\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5744/hovercard\"\u003e#5744\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact will now warn if you pass a different \u003ccode\u003eprops\u003c/code\u003e object to \u003ccode\u003esuper()\u003c/code\u003e in the constructor. (\u003ca href=\"https://github.com/prometheansacrifice\"\u003e@prometheansacrifice\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5346\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5346/hovercard\"\u003e#5346\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact will now warn if you call \u003ccode\u003esetState()\u003c/code\u003e inside \u003ccode\u003egetChildContext()\u003c/code\u003e. (\u003ca href=\"https://github.com/raineroviir\"\u003e@raineroviir\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6121\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6121/hovercard\"\u003e#6121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM now attempts to warn for mistyped event handlers on DOM elements, such as \u003ccode\u003eonclick\u003c/code\u003e which should be \u003ccode\u003eonClick\u003c/code\u003e. (\u003ca href=\"https://github.com/ali\"\u003e@ali\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5361\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5361/hovercard\"\u003e#5361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM now warns about \u003ccode\u003eNaN\u003c/code\u003e values in \u003ccode\u003estyle\u003c/code\u003e. (\u003ca href=\"https://github.com/jontewks\"\u003e@jontewks\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5811\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5811/hovercard\"\u003e#5811\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM now warns if you specify both \u003ccode\u003evalue\u003c/code\u003e and \u003ccode\u003edefaultValue\u003c/code\u003e for an input. (\u003ca href=\"https://github.com/mgmcdermott\"\u003e@mgmcdermott\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5823\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5823/hovercard\"\u003e#5823\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM now warns if an input switches between being controlled and uncontrolled. (\u003ca href=\"https://github.com/TheBlasfem\"\u003e@TheBlasfem\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5864\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5864/hovercard\"\u003e#5864\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM now warns if you specify \u003ccode\u003eonFocusIn\u003c/code\u003e or \u003ccode\u003eonFocusOut\u003c/code\u003e handlers as they are unnecessary in React. (\u003ca href=\"https://github.com/jontewks\"\u003e@jontewks\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6296\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6296/hovercard\"\u003e#6296\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact now prints a descriptive error message when you pass an invalid callback as the last argument to \u003ccode\u003eReactDOM.render()\u003c/code\u003e, \u003ccode\u003ethis.setState()\u003c/code\u003e, or \u003ccode\u003ethis.forceUpdate()\u003c/code\u003e. (\u003ca href=\"https://github.com/conorhastings\"\u003e@conorhastings\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5193\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5193/hovercard\"\u003e#5193\u003c/a\u003e and \u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6310\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6310/hovercard\"\u003e#6310\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd-Ons: \u003ccode\u003eTestUtils.Simulate()\u003c/code\u003e now prints a helpful message if you attempt to use it with shallow rendering. (\u003ca href=\"https://github.com/conorhastings\"\u003e@conorhastings\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5358\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5358/hovercard\"\u003e#5358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003ePropTypes: \u003ccode\u003earrayOf()\u003c/code\u003e and \u003ccode\u003eobjectOf()\u003c/code\u003e provide better error messages for invalid arguments. (\u003ca href=\"https://github.com/chicoxyzzy\"\u003e@chicoxyzzy\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5390\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5390/hovercard\"\u003e#5390\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNotable bug fixes\u003c/h3\u003e\u003ca id=\"user-content-notable-bug-fixes\" class=\"anchor\" aria-label=\"Permalink: Notable bug fixes\" href=\"#notable-bug-fixes\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed multiple small memory leaks. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/4983\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/4983/hovercard\"\u003e#4983\u003c/a\u003e and \u003ca href=\"https://github.com/victor-homyakov\"\u003e@victor-homyakov\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6309\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6309/hovercard\"\u003e#6309\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eInput events are handled more reliably in IE 10 and IE 11; spurious events no longer fire when using a placeholder. (\u003ca href=\"https://github.com/jquense\"\u003e@jquense\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/4051\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/4051/hovercard\"\u003e#4051\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ecomponentWillReceiveProps()\u003c/code\u003e lifecycle method is now consistently called when \u003ccode\u003econtext\u003c/code\u003e changes. (\u003ca href=\"https://github.com/milesj\"\u003e@milesj\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5787\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5787/hovercard\"\u003e#5787\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReact.cloneElement()\u003c/code\u003e doesn’t append slash to an existing \u003ccode\u003ekey\u003c/code\u003e when used inside \u003ccode\u003eReact.Children.map()\u003c/code\u003e. (\u003ca href=\"https://github.com/ianobermiller\"\u003e@ianobermiller\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5892\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5892/hovercard\"\u003e#5892\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM now supports the \u003ccode\u003ecite\u003c/code\u003e and \u003ccode\u003eprofile\u003c/code\u003e HTML attributes. (\u003ca href=\"https://github.com/AprilArcus\"\u003e@AprilArcus\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6094\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6094/hovercard\"\u003e#6094\u003c/a\u003e and \u003ca href=\"https://github.com/saiichihashimoto\"\u003e@saiichihashimoto\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6032\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6032/hovercard\"\u003e#6032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM now supports \u003ccode\u003ecssFloat\u003c/code\u003e, \u003ccode\u003egridRow\u003c/code\u003e and \u003ccode\u003egridColumn\u003c/code\u003e CSS properties. (\u003ca href=\"https://github.com/stevenvachon\"\u003e@stevenvachon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6133\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6133/hovercard\"\u003e#6133\u003c/a\u003e and \u003ca href=\"https://github.com/mnordick\"\u003e@mnordick\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/4779\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/4779/hovercard\"\u003e#4779\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM now correctly handles \u003ccode\u003eborderImageOutset\u003c/code\u003e, \u003ccode\u003eborderImageWidth\u003c/code\u003e, \u003ccode\u003eborderImageSlice\u003c/code\u003e, \u003ccode\u003efloodOpacity\u003c/code\u003e, \u003ccode\u003estrokeDasharray\u003c/code\u003e, and \u003ccode\u003estrokeMiterlimit\u003c/code\u003e as unitless CSS properties. (\u003ca href=\"https://github.com/rofrischmann\"\u003e@rofrischmann\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6210\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6210/hovercard\"\u003e#6210\u003c/a\u003e and \u003ca href=\"https://github.com/facebook/react/pull/6270\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6270/hovercard\"\u003e#6270\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM now supports the \u003ccode\u003eonAnimationStart\u003c/code\u003e, \u003ccode\u003eonAnimationEnd\u003c/code\u003e, \u003ccode\u003eonAnimationIteration\u003c/code\u003e, \u003ccode\u003eonTransitionEnd\u003c/code\u003e, and \u003ccode\u003eonInvalid\u003c/code\u003e events. Support for \u003ccode\u003eonLoad\u003c/code\u003e has been added to \u003ccode\u003eobject\u003c/code\u003e elements. (\u003ca href=\"https://github.com/tomduncalf\"\u003e@tomduncalf\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5187\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5187/hovercard\"\u003e#5187\u003c/a\u003e, \u003ca href=\"https://github.com/milesj\"\u003e@milesj\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6005\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6005/hovercard\"\u003e#6005\u003c/a\u003e, and \u003ca href=\"https://github.com/ara4n\"\u003e@ara4n\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5781\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5781/hovercard\"\u003e#5781\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM now defaults to using DOM attributes instead of properties, which fixes a few edge case bugs. Additionally the nullification of values (ex: \u003ccode\u003ehref={null}\u003c/code\u003e) now results in the forceful removal, no longer trying to set to the default value used by browsers in the absence of a value. (\u003ca href=\"https://github.com/syranide\"\u003e@syranide\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/1510\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/1510/hovercard\"\u003e#1510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM does not mistakenly coerce \u003ccode\u003echildren\u003c/code\u003e to strings for Web Components. (\u003ca href=\"https://github.com/jimfb\"\u003e@jimfb\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5093\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5093/hovercard\"\u003e#5093\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM now correctly normalizes SVG \u003ccode\u003e\u0026lt;use\u0026gt;\u003c/code\u003e events. (\u003ca href=\"https://github.com/edmellum\"\u003e@edmellum\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5720\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5720/hovercard\"\u003e#5720\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM does not throw if a \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e is unmounted while its \u003ccode\u003eonChange\u003c/code\u003e handler is executing. (\u003ca href=\"https://github.com/sambev\"\u003e@sambev\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6028\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6028/hovercard\"\u003e#6028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM does not throw in Windows 8 apps. (\u003ca href=\"https://github.com/Andrew8xx8\"\u003e@Andrew8xx8\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6063\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6063/hovercard\"\u003e#6063\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM does not throw when asynchronously unmounting a child with a \u003ccode\u003eref\u003c/code\u003e. (\u003ca href=\"https://github.com/yiminghe\"\u003e@yiminghe\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6095\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6095/hovercard\"\u003e#6095\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM no longer forces synchronous layout because of scroll position tracking. (\u003ca href=\"https://github.com/syranide\"\u003e@syranide\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/2271\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/2271/hovercard\"\u003e#2271\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eObject.is\u003c/code\u003e is used in a number of places to compare values, which leads to fewer false positives, especially involving \u003ccode\u003eNaN\u003c/code\u003e. In particular, this affects the \u003ccode\u003eshallowCompare\u003c/code\u003e add-on. (\u003ca href=\"https://github.com/chicoxyzzy\"\u003e@chicoxyzzy\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6132\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6132/hovercard\"\u003e#6132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd-Ons: ReactPerf no longer instruments adding or removing an event listener because they don’t really touch the DOM due to event delegation. (\u003ca href=\"https://github.com/antoaravinth\"\u003e@antoaravinth\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5209\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5209/hovercard\"\u003e#5209\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eOther improvements\u003c/h3\u003e\u003ca id=\"user-content-other-improvements\" class=\"anchor\" aria-label=\"Permalink: Other improvements\" href=\"#other-improvements\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eReact now uses \u003ccode\u003eloose-envify\u003c/code\u003e instead of \u003ccode\u003eenvify\u003c/code\u003e so it installs fewer transitive dependencies. (\u003ca href=\"https://github.com/qerub\"\u003e@qerub\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6303\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6303/hovercard\"\u003e#6303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShallow renderer now exposes \u003ccode\u003egetMountedInstance()\u003c/code\u003e. (\u003ca href=\"https://github.com/glenjamin\"\u003e@glenjamin\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/4918\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/4918/hovercard\"\u003e#4918\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eShallow renderer now returns the rendered output from \u003ccode\u003erender()\u003c/code\u003e. (\u003ca href=\"https://github.com/simonewebdesign\"\u003e@simonewebdesign\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5411\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5411/hovercard\"\u003e#5411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact no longer depends on ES5 \u003cem\u003eshams\u003c/em\u003e for \u003ccode\u003eObject.create\u003c/code\u003e and \u003ccode\u003eObject.freeze\u003c/code\u003e in older environments. It still, however, requires ES5 \u003cem\u003eshims\u003c/em\u003e in those environments. (\u003ca href=\"https://github.com/dgreensp\"\u003e@dgreensp\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/4959\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/4959/hovercard\"\u003e#4959\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM now allows \u003ccode\u003edata-\u003c/code\u003e attributes with names that start with numbers. (\u003ca href=\"https://github.com/nLight\"\u003e@nLight\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5216\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5216/hovercard\"\u003e#5216\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact DOM adds a new \u003ccode\u003esuppressContentEditableWarning\u003c/code\u003e prop for components like \u003ca href=\"https://draftjs.org/\" rel=\"nofollow\"\u003eDraft.js\u003c/a\u003e that intentionally manage \u003ccode\u003econtentEditable\u003c/code\u003e children with React. (\u003ca href=\"https://github.com/mxstbr\"\u003e@mxstbr\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/6112\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/6112/hovercard\"\u003e#6112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReact improves the performance for \u003ccode\u003ecreateClass()\u003c/code\u003e on complex specs. (\u003ca href=\"https://github.com/sophiebits\"\u003e@sophiebits\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/5550\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/5550/hovercard\"\u003e#5550\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.14.10 (October 14, 2020)\u003c/h2\u003e\u003ca id=\"user-content-01410-october-14-2020\" class=\"anchor\" aria-label=\"Permalink: 0.14.10 (October 14, 2020)\" href=\"#01410-october-14-2020\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-40\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-40\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eBackport support for the \u003ca href=\"https://reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html\" rel=\"nofollow\"\u003enew JSX transform\u003c/a\u003e to 0.14.x. (\u003ca href=\"https://github.com/lunaruan\"\u003e@lunaruan\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/18299\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/18299/hovercard\"\u003e#18299\u003c/a\u003e and \u003ca href=\"https://github.com/gaearon\"\u003e@gaearon\u003c/a\u003e in \u003ca href=\"https://github.com/facebook/react/pull/20024\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/20024/hovercard\"\u003e#20024\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.14.8 (March 29, 2016)\u003c/h2\u003e\u003ca id=\"user-content-0148-march-29-2016\" class=\"anchor\" aria-label=\"Permalink: 0.14.8 (March 29, 2016)\" href=\"#0148-march-29-2016\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-41\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-41\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed memory leak when rendering on the server\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.14.7 (January 28, 2016)\u003c/h2\u003e\u003ca id=\"user-content-0147-january-28-2016\" class=\"anchor\" aria-label=\"Permalink: 0.14.7 (January 28, 2016)\" href=\"#0147-january-28-2016\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-42\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-42\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed bug with \u003ccode\u003e\u0026lt;option\u0026gt;\u003c/code\u003e tags when using \u003ccode\u003edangerouslySetInnerHTML\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed memory leak in synthetic event system\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact TestUtils Add-on\u003c/h3\u003e\u003ca id=\"user-content-react-testutils-add-on-2\" class=\"anchor\" aria-label=\"Permalink: React TestUtils Add-on\" href=\"#react-testutils-add-on-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed bug with calling \u003ccode\u003esetState\u003c/code\u003e in \u003ccode\u003ecomponentWillMount\u003c/code\u003e when using shallow rendering\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.14.6 (January 6, 2016)\u003c/h2\u003e\u003ca id=\"user-content-0146-january-6-2016\" class=\"anchor\" aria-label=\"Permalink: 0.14.6 (January 6, 2016)\" href=\"#0146-january-6-2016\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-43\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-43\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUpdated \u003ccode\u003efbjs\u003c/code\u003e dependency to pick up change affecting handling of undefined document.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.14.5 (December 29, 2015)\u003c/h2\u003e\u003ca id=\"user-content-0145-december-29-2015\" class=\"anchor\" aria-label=\"Permalink: 0.14.5 (December 29, 2015)\" href=\"#0145-december-29-2015\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-44\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-44\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eMore minor internal changes for better compatibility with React Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.14.4 (December 29, 2015)\u003c/h2\u003e\u003ca id=\"user-content-0144-december-29-2015\" class=\"anchor\" aria-label=\"Permalink: 0.14.4 (December 29, 2015)\" href=\"#0144-december-29-2015\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-45\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-45\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eMinor internal changes for better compatibility with React Native\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-51\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-51\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe \u003ccode\u003eautoCapitalize\u003c/code\u003e and \u003ccode\u003eautoCorrect\u003c/code\u003e props are now set as attributes in the DOM instead of properties to improve cross-browser compatibility\u003c/li\u003e\n\u003cli\u003eFixed bug with controlled \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements not handling updates properly\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Perf Add-on\u003c/h3\u003e\u003ca id=\"user-content-react-perf-add-on-6\" class=\"anchor\" aria-label=\"Permalink: React Perf Add-on\" href=\"#react-perf-add-on-6\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSome DOM operation names have been updated for clarity in the output of \u003ccode\u003e.printDOM()\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.14.3 (November 18, 2015)\u003c/h2\u003e\u003ca id=\"user-content-0143-november-18-2015\" class=\"anchor\" aria-label=\"Permalink: 0.14.3 (November 18, 2015)\" href=\"#0143-november-18-2015\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-52\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-52\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdded support for \u003ccode\u003enonce\u003c/code\u003e attribute for \u003ccode\u003e\u0026lt;script\u0026gt;\u003c/code\u003e and \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ereversed\u003c/code\u003e attribute for \u003ccode\u003e\u0026lt;ol\u0026gt;\u003c/code\u003e elements\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact TestUtils Add-on\u003c/h3\u003e\u003ca id=\"user-content-react-testutils-add-on-3\" class=\"anchor\" aria-label=\"Permalink: React TestUtils Add-on\" href=\"#react-testutils-add-on-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed bug with shallow rendering and function refs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact CSSTransitionGroup Add-on\u003c/h3\u003e\u003ca id=\"user-content-react-csstransitiongroup-add-on-2\" class=\"anchor\" aria-label=\"Permalink: React CSSTransitionGroup Add-on\" href=\"#react-csstransitiongroup-add-on-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed bug resulting in timeouts firing incorrectly when mounting and unmounting rapidly\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact on Bower\u003c/h3\u003e\u003ca id=\"user-content-react-on-bower\" class=\"anchor\" aria-label=\"Permalink: React on Bower\" href=\"#react-on-bower\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdded \u003ccode\u003ereact-dom-server.js\u003c/code\u003e to expose \u003ccode\u003erenderToString\u003c/code\u003e and \u003ccode\u003erenderToStaticMarkup\u003c/code\u003e for usage in the browser\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.14.2 (November 2, 2015)\u003c/h2\u003e\u003ca id=\"user-content-0142-november-2-2015\" class=\"anchor\" aria-label=\"Permalink: 0.14.2 (November 2, 2015)\" href=\"#0142-november-2-2015\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-53\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-53\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed bug with development build preventing events from firing in some versions of Internet Explorer \u0026amp; Edge\u003c/li\u003e\n\u003cli\u003eFixed bug with development build when using es5-sham in older versions of Internet Explorer\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eintegrity\u003c/code\u003e attribute\u003c/li\u003e\n\u003cli\u003eFixed bug resulting in \u003ccode\u003echildren\u003c/code\u003e prop being coerced to a string for custom elements, which was not the desired behavior\u003c/li\u003e\n\u003cli\u003eMoved \u003ccode\u003ereact\u003c/code\u003e from \u003ccode\u003edependencies\u003c/code\u003e to \u003ccode\u003epeerDependencies\u003c/code\u003e to match expectations and align with \u003ccode\u003ereact-addons-*\u003c/code\u003e packages\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.14.1 (October 28, 2015)\u003c/h2\u003e\u003ca id=\"user-content-0141-october-28-2015\" class=\"anchor\" aria-label=\"Permalink: 0.14.1 (October 28, 2015)\" href=\"#0141-october-28-2015\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact DOM\u003c/h3\u003e\u003ca id=\"user-content-react-dom-54\" class=\"anchor\" aria-label=\"Permalink: React DOM\" href=\"#react-dom-54\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed bug where events wouldn't fire in old browsers when using React in development mode\u003c/li\u003e\n\u003cli\u003eFixed bug preventing use of \u003ccode\u003edangerouslySetInnerHTML\u003c/code\u003e with Closure Compiler Advanced mode\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003esrcLang\u003c/code\u003e, \u003ccode\u003edefault\u003c/code\u003e, and \u003ccode\u003ekind\u003c/code\u003e attributes for \u003ccode\u003e\u0026lt;track\u0026gt;\u003c/code\u003e elements\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003ecolor\u003c/code\u003e attribute\u003c/li\u003e\n\u003cli\u003eEnsured legacy \u003ccode\u003e.props\u003c/code\u003e access on DOM nodes is updated on re-renders\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact TestUtils Add-on\u003c/h3\u003e\u003ca id=\"user-content-react-testutils-add-on-4\" class=\"anchor\" aria-label=\"Permalink: React TestUtils Add-on\" href=\"#react-testutils-add-on-4\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed \u003ccode\u003escryRenderedDOMComponentsWithClass\u003c/code\u003e so it works with SVG\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact CSSTransitionGroup Add-on\u003c/h3\u003e\u003ca id=\"user-content-react-csstransitiongroup-add-on-3\" class=\"anchor\" aria-label=\"Permalink: React CSSTransitionGroup Add-on\" href=\"#react-csstransitiongroup-add-on-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix bug preventing \u003ccode\u003e0\u003c/code\u003e to be used as a timeout value\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact on Bower\u003c/h3\u003e\u003ca id=\"user-content-react-on-bower-1\" class=\"anchor\" aria-label=\"Permalink: React on Bower\" href=\"#react-on-bower-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdded \u003ccode\u003ereact-dom.js\u003c/code\u003e to \u003ccode\u003emain\u003c/code\u003e to improve compatibility with tooling\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.14.0 (October 7, 2015)\u003c/h2\u003e\u003ca id=\"user-content-0140-october-7-2015\" class=\"anchor\" aria-label=\"Permalink: 0.14.0 (October 7, 2015)\" href=\"#0140-october-7-2015\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eMajor changes\u003c/h3\u003e\u003ca id=\"user-content-major-changes-1\" class=\"anchor\" aria-label=\"Permalink: Major changes\" href=\"#major-changes-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSplit the main \u003ccode\u003ereact\u003c/code\u003e package into two: \u003ccode\u003ereact\u003c/code\u003e and \u003ccode\u003ereact-dom\u003c/code\u003e. This paves the way to writing components that can be shared between the web version of React and React Native. This means you will need to include both files and some functions have been moved from \u003ccode\u003eReact\u003c/code\u003e to \u003ccode\u003eReactDOM\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAddons have been moved to separate packages (\u003ccode\u003ereact-addons-clone-with-props\u003c/code\u003e, \u003ccode\u003ereact-addons-create-fragment\u003c/code\u003e, \u003ccode\u003ereact-addons-css-transition-group\u003c/code\u003e, \u003ccode\u003ereact-addons-linked-state-mixin\u003c/code\u003e, \u003ccode\u003ereact-addons-perf\u003c/code\u003e, \u003ccode\u003ereact-addons-pure-render-mixin\u003c/code\u003e, \u003ccode\u003ereact-addons-shallow-compare\u003c/code\u003e, \u003ccode\u003ereact-addons-test-utils\u003c/code\u003e, \u003ccode\u003ereact-addons-transition-group\u003c/code\u003e, \u003ccode\u003ereact-addons-update\u003c/code\u003e, \u003ccode\u003eReactDOM.unstable_batchedUpdates\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eStateless functional components - React components were previously created using React.createClass or using ES6 classes. This release adds a \u003ca href=\"https://reactjs.org/docs/reusable-components.html#stateless-functions\" rel=\"nofollow\"\u003enew syntax\u003c/a\u003e where a user defines a single \u003ca href=\"https://reactjs.org/docs/reusable-components.html#stateless-functions\" rel=\"nofollow\"\u003estateless render function\u003c/a\u003e (with one parameter: \u003ccode\u003eprops\u003c/code\u003e) which returns a JSX element, and this function may be used as a component.\u003c/li\u003e\n\u003cli\u003eRefs to DOM components as the DOM node itself. Previously the only useful thing you can do with a DOM component is call \u003ccode\u003egetDOMNode()\u003c/code\u003e to get the underlying DOM node. Starting with this release, a ref to a DOM component \u003cem\u003eis\u003c/em\u003e the actual DOM node. \u003cstrong\u003eNote that refs to custom (user-defined) components work exactly as before; only the built-in DOM components are affected by this change.\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBreaking changes\u003c/h3\u003e\u003ca id=\"user-content-breaking-changes-4\" class=\"anchor\" aria-label=\"Permalink: Breaking changes\" href=\"#breaking-changes-4\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eReact.initializeTouchEvents\u003c/code\u003e is no longer necessary and has been removed completely. Touch events now work automatically.\u003c/li\u003e\n\u003cli\u003eAdd-Ons: Due to the DOM node refs change mentioned above, \u003ccode\u003eTestUtils.findAllInRenderedTree\u003c/code\u003e and related helpers are no longer able to take a DOM component, only a custom component.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eprops\u003c/code\u003e object is now frozen, so mutating props after creating a component element is no longer supported. In most cases, \u003ca href=\"https://reactjs.org/docs/react-api.html#cloneelement\" rel=\"nofollow\"\u003e\u003ccode\u003eReact.cloneElement\u003c/code\u003e\u003c/a\u003e should be used instead. This change makes your components easier to reason about and enables the compiler optimizations mentioned above.\u003c/li\u003e\n\u003cli\u003ePlain objects are no longer supported as React children; arrays should be used instead. You can use the \u003ca href=\"https://reactjs.org/docs/create-fragment.html\" rel=\"nofollow\"\u003e\u003ccode\u003ecreateFragment\u003c/code\u003e\u003c/a\u003e helper to migrate, which now returns an array.\u003c/li\u003e\n\u003cli\u003eAdd-Ons: \u003ccode\u003eclassSet\u003c/code\u003e has been removed. Use \u003ca href=\"https://github.com/JedWatson/classnames\"\u003eclassnames\u003c/a\u003e instead.\u003c/li\u003e\n\u003cli\u003eWeb components (custom elements) now use native property names. Eg: \u003ccode\u003eclass\u003c/code\u003e instead of \u003ccode\u003eclassName\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDeprecations\u003c/h3\u003e\u003ca id=\"user-content-deprecations-2\" class=\"anchor\" aria-label=\"Permalink: Deprecations\" href=\"#deprecations-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003ethis.getDOMNode()\u003c/code\u003e is now deprecated and \u003ccode\u003eReactDOM.findDOMNode(this)\u003c/code\u003e can be used instead. Note that in the common case, \u003ccode\u003efindDOMNode\u003c/code\u003e is now unnecessary since a ref to the DOM component is now the actual DOM node.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esetProps\u003c/code\u003e and \u003ccode\u003ereplaceProps\u003c/code\u003e are now deprecated. Instead, call ReactDOM.render again at the top level with the new props.\u003c/li\u003e\n\u003cli\u003eES6 component classes must now extend \u003ccode\u003eReact.Component\u003c/code\u003e in order to enable stateless function components. The \u003ca href=\"https://reactjs.org/blog/2015/01/27/react-v0.13.0-beta-1.html#other-languages\" rel=\"nofollow\"\u003eES3 module pattern\u003c/a\u003e will continue to work.\u003c/li\u003e\n\u003cli\u003eReusing and mutating a \u003ccode\u003estyle\u003c/code\u003e object between renders has been deprecated. This mirrors our change to freeze the \u003ccode\u003eprops\u003c/code\u003e object.\u003c/li\u003e\n\u003cli\u003eAdd-Ons: \u003ccode\u003ecloneWithProps\u003c/code\u003e is now deprecated. Use \u003ca href=\"https://reactjs.org/docs/react-api.html#cloneelement\" rel=\"nofollow\"\u003e\u003ccode\u003eReact.cloneElement\u003c/code\u003e\u003c/a\u003e instead (unlike \u003ccode\u003ecloneWithProps\u003c/code\u003e, \u003ccode\u003ecloneElement\u003c/code\u003e does not merge \u003ccode\u003eclassName\u003c/code\u003e or \u003ccode\u003estyle\u003c/code\u003e automatically; you can merge them manually if needed).\u003c/li\u003e\n\u003cli\u003eAdd-Ons: To improve reliability, \u003ccode\u003eCSSTransitionGroup\u003c/code\u003e will no longer listen to transition events. Instead, you should specify transition durations manually using props such as \u003ccode\u003etransitionEnterTimeout={500}\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNotable enhancements\u003c/h3\u003e\u003ca id=\"user-content-notable-enhancements\" class=\"anchor\" aria-label=\"Permalink: Notable enhancements\" href=\"#notable-enhancements\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdded \u003ccode\u003eReact.Children.toArray\u003c/code\u003e which takes a nested children object and returns a flat array with keys assigned to each child. This helper makes it easier to manipulate collections of children in your \u003ccode\u003erender\u003c/code\u003e methods, especially if you want to reorder or slice \u003ccode\u003ethis.props.children\u003c/code\u003e before passing it down. In addition, \u003ccode\u003eReact.Children.map\u003c/code\u003e now returns plain arrays too.\u003c/li\u003e\n\u003cli\u003eReact uses \u003ccode\u003econsole.error\u003c/code\u003e instead of \u003ccode\u003econsole.warn\u003c/code\u003e for warnings so that browsers show a full stack trace in the console. (Our warnings appear when you use patterns that will break in future releases and for code that is likely to behave unexpectedly, so we do consider our warnings to be “must-fix” errors.)\u003c/li\u003e\n\u003cli\u003ePreviously, including untrusted objects as React children \u003ca href=\"http://danlec.com/blog/xss-via-a-spoofed-react-element\" rel=\"nofollow\"\u003ecould result in an XSS security vulnerability\u003c/a\u003e. This problem should be avoided by properly validating input at the application layer and by never passing untrusted objects around your application code. As an additional layer of protection, \u003ca href=\"https://github.com/facebook/react/pull/4832\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/4832/hovercard\"\u003eReact now tags elements\u003c/a\u003e with a specific \u003ca href=\"http://www.2ality.com/2014/12/es6-symbols.html\" rel=\"nofollow\"\u003eES2015 (ES6) \u003ccode\u003eSymbol\u003c/code\u003e\u003c/a\u003e in browsers that support it, in order to ensure that React never considers untrusted JSON to be a valid element. If this extra security protection is important to you, you should add a \u003ccode\u003eSymbol\u003c/code\u003e polyfill for older browsers, such as the one included by \u003ca href=\"https://babeljs.io/docs/usage/polyfill/\" rel=\"nofollow\"\u003eBabel’s polyfill\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eWhen possible, React DOM now generates XHTML-compatible markup.\u003c/li\u003e\n\u003cli\u003eReact DOM now supports these standard HTML attributes: \u003ccode\u003ecapture\u003c/code\u003e, \u003ccode\u003echallenge\u003c/code\u003e, \u003ccode\u003einputMode\u003c/code\u003e, \u003ccode\u003eis\u003c/code\u003e, \u003ccode\u003ekeyParams\u003c/code\u003e, \u003ccode\u003ekeyType\u003c/code\u003e, \u003ccode\u003eminLength\u003c/code\u003e, \u003ccode\u003esummary\u003c/code\u003e, \u003ccode\u003ewrap\u003c/code\u003e. It also now supports these non-standard attributes: \u003ccode\u003eautoSave\u003c/code\u003e, \u003ccode\u003eresults\u003c/code\u003e, \u003ccode\u003esecurity\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eReact DOM now supports these SVG attributes, which render into namespaced attributes: \u003ccode\u003exlinkActuate\u003c/code\u003e, \u003ccode\u003exlinkArcrole\u003c/code\u003e, \u003ccode\u003exlinkHref\u003c/code\u003e, \u003ccode\u003exlinkRole\u003c/code\u003e, \u003ccode\u003exlinkShow\u003c/code\u003e, \u003ccode\u003exlinkTitle\u003c/code\u003e, \u003ccode\u003exlinkType\u003c/code\u003e, \u003ccode\u003exmlBase\u003c/code\u003e, \u003ccode\u003exmlLang\u003c/code\u003e, \u003ccode\u003exmlSpace\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eimage\u003c/code\u003e SVG tag is now supported by React DOM.\u003c/li\u003e\n\u003cli\u003eIn React DOM, arbitrary attributes are supported on custom elements (those with a hyphen in the tag name or an \u003ccode\u003eis=\"...\"\u003c/code\u003e attribute).\u003c/li\u003e\n\u003cli\u003eReact DOM now supports these media events on \u003ccode\u003eaudio\u003c/code\u003e and \u003ccode\u003evideo\u003c/code\u003e tags: \u003ccode\u003eonAbort\u003c/code\u003e, \u003ccode\u003eonCanPlay\u003c/code\u003e, \u003ccode\u003eonCanPlayThrough\u003c/code\u003e, \u003ccode\u003eonDurationChange\u003c/code\u003e, \u003ccode\u003eonEmptied\u003c/code\u003e, \u003ccode\u003eonEncrypted\u003c/code\u003e, \u003ccode\u003eonEnded\u003c/code\u003e, \u003ccode\u003eonError\u003c/code\u003e, \u003ccode\u003eonLoadedData\u003c/code\u003e, \u003ccode\u003eonLoadedMetadata\u003c/code\u003e, \u003ccode\u003eonLoadStart\u003c/code\u003e, \u003ccode\u003eonPause\u003c/code\u003e, \u003ccode\u003eonPlay\u003c/code\u003e, \u003ccode\u003eonPlaying\u003c/code\u003e, \u003ccode\u003eonProgress\u003c/code\u003e, \u003ccode\u003eonRateChange\u003c/code\u003e, \u003ccode\u003eonSeeked\u003c/code\u003e, \u003ccode\u003eonSeeking\u003c/code\u003e, \u003ccode\u003eonStalled\u003c/code\u003e, \u003ccode\u003eonSuspend\u003c/code\u003e, \u003ccode\u003eonTimeUpdate\u003c/code\u003e, \u003ccode\u003eonVolumeChange\u003c/code\u003e, \u003ccode\u003eonWaiting\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eMany small performance improvements have been made.\u003c/li\u003e\n\u003cli\u003eMany warnings show more context than before.\u003c/li\u003e\n\u003cli\u003eAdd-Ons: A \u003ca href=\"https://github.com/facebook/react/pull/3355\" data-hovercard-type=\"pull_request\" data-hovercard-url=\"/facebook/react/pull/3355/hovercard\"\u003e\u003ccode\u003eshallowCompare\u003c/code\u003e\u003c/a\u003e add-on has been added as a migration path for \u003ccode\u003ePureRenderMixin\u003c/code\u003e in ES6 classes.\u003c/li\u003e\n\u003cli\u003eAdd-Ons: \u003ccode\u003eCSSTransitionGroup\u003c/code\u003e can now use \u003ca href=\"https://github.com/facebook/react/blob/48942b85/docs/docs/10.1-animation.md#custom-classes\"\u003ecustom class names\u003c/a\u003e instead of appending \u003ccode\u003e-enter-active\u003c/code\u003e or similar to the transition name.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew helpful warnings\u003c/h3\u003e\u003ca id=\"user-content-new-helpful-warnings-1\" class=\"anchor\" aria-label=\"Permalink: New helpful warnings\" href=\"#new-helpful-warnings-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eReact DOM now warns you when nesting HTML elements invalidly, which helps you avoid surprising errors during updates.\u003c/li\u003e\n\u003cli\u003ePassing \u003ccode\u003edocument.body\u003c/code\u003e directly as the container to \u003ccode\u003eReactDOM.render\u003c/code\u003e now gives a warning as doing so can cause problems with browser extensions that modify the DOM.\u003c/li\u003e\n\u003cli\u003eUsing multiple instances of React together is not supported, so we now warn when we detect this case to help you avoid running into the resulting problems.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNotable bug fixes\u003c/h3\u003e\u003ca id=\"user-content-notable-bug-fixes-1\" class=\"anchor\" aria-label=\"Permalink: Notable bug fixes\" href=\"#notable-bug-fixes-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eClick events are handled by React DOM more reliably in mobile browsers, particularly in Mobile Safari.\u003c/li\u003e\n\u003cli\u003eSVG elements are created with the correct namespace in more cases.\u003c/li\u003e\n\u003cli\u003eReact DOM now renders \u003ccode\u003e\u0026lt;option\u0026gt;\u003c/code\u003e elements with multiple text children properly and renders \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements on the server with the correct option selected.\u003c/li\u003e\n\u003cli\u003eWhen two separate copies of React add nodes to the same document (including when a browser extension uses React), React DOM tries harder not to throw exceptions during event handling.\u003c/li\u003e\n\u003cli\u003eUsing non-lowercase HTML tag names in React DOM (e.g., \u003ccode\u003eReact.createElement('DIV')\u003c/code\u003e) no longer causes problems, though we continue to recommend lowercase for consistency with the JSX tag name convention (lowercase names refer to built-in components, capitalized names refer to custom components).\u003c/li\u003e\n\u003cli\u003eReact DOM understands that these CSS properties are unitless and does not append “px” to their values: \u003ccode\u003eanimationIterationCount\u003c/code\u003e, \u003ccode\u003eboxOrdinalGroup\u003c/code\u003e, \u003ccode\u003eflexOrder\u003c/code\u003e, \u003ccode\u003etabSize\u003c/code\u003e, \u003ccode\u003estopOpacity\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdd-Ons: When using the test utils, \u003ccode\u003eSimulate.mouseEnter\u003c/code\u003e and \u003ccode\u003eSimulate.mouseLeave\u003c/code\u003e now work.\u003c/li\u003e\n\u003cli\u003eAdd-Ons: ReactTransitionGroup now correctly handles multiple nodes being removed simultaneously.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Tools / Babel\u003c/h3\u003e\u003ca id=\"user-content-react-tools--babel\" class=\"anchor\" aria-label=\"Permalink: React Tools / Babel\" href=\"#react-tools--babel\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBreaking Changes\u003c/h4\u003e\u003ca id=\"user-content-breaking-changes-5\" class=\"anchor\" aria-label=\"Permalink: Breaking Changes\" href=\"#breaking-changes-5\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe \u003ccode\u003ereact-tools\u003c/code\u003e package and \u003ccode\u003eJSXTransformer.js\u003c/code\u003e browser file \u003ca href=\"https://reactjs.org/blog/2015/06/12/deprecating-jstransform-and-react-tools.html\" rel=\"nofollow\"\u003ehave been deprecated\u003c/a\u003e. You can continue using version \u003ccode\u003e0.13.3\u003c/code\u003e of both, but we no longer support them and recommend migrating to \u003ca href=\"https://babeljs.io\" rel=\"nofollow\"\u003eBabel\u003c/a\u003e, which has built-in support for React and JSX.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew Features\u003c/h4\u003e\u003ca id=\"user-content-new-features-3\" class=\"anchor\" aria-label=\"Permalink: New Features\" href=\"#new-features-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eBabel 5.8.24 introduces \u003cstrong\u003eInlining React elements:\u003c/strong\u003e The \u003ccode\u003eoptimisation.react.inlineElements\u003c/code\u003e transform converts JSX elements to object literals like \u003ccode\u003e{type: 'div', props: ...}\u003c/code\u003e instead of calls to \u003ccode\u003eReact.createElement\u003c/code\u003e. This should only be enabled in production, since it disables some development warnings/checks.\u003c/li\u003e\n\u003cli\u003eBabel 5.8.24 introduces \u003cstrong\u003eConstant hoisting for React elements:\u003c/strong\u003e The \u003ccode\u003eoptimisation.react.constantElements\u003c/code\u003e transform hoists element creation to the top level for subtrees that are fully static, which reduces calls to \u003ccode\u003eReact.createElement\u003c/code\u003e and the resulting allocations. More importantly, it tells React that the subtree hasn’t changed so React can completely skip it when reconciling. This should only be enabled in production, since it disables some development warnings/checks.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.13.3 (May 8, 2015)\u003c/h2\u003e\u003ca id=\"user-content-0133-may-8-2015\" class=\"anchor\" aria-label=\"Permalink: 0.13.3 (May 8, 2015)\" href=\"#0133-may-8-2015\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Core\u003c/h3\u003e\u003ca id=\"user-content-react-core\" class=\"anchor\" aria-label=\"Permalink: React Core\" href=\"#react-core\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew Features\u003c/h4\u003e\u003ca id=\"user-content-new-features-4\" class=\"anchor\" aria-label=\"Permalink: New Features\" href=\"#new-features-4\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdded \u003ccode\u003eclipPath\u003c/code\u003e element and attribute for SVG\u003c/li\u003e\n\u003cli\u003eImproved warnings for deprecated methods in plain JS classes\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBug Fixes\u003c/h4\u003e\u003ca id=\"user-content-bug-fixes\" class=\"anchor\" aria-label=\"Permalink: Bug Fixes\" href=\"#bug-fixes\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eLoosened \u003ccode\u003edangerouslySetInnerHTML\u003c/code\u003e restrictions so \u003ccode\u003e{__html: undefined}\u003c/code\u003e will no longer throw\u003c/li\u003e\n\u003cli\u003eFixed extraneous context warning with non-pure \u003ccode\u003egetChildContext\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003ereplaceState(obj)\u003c/code\u003e retains prototype of \u003ccode\u003eobj\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact with Add-ons\u003c/h3\u003e\u003ca id=\"user-content-react-with-add-ons\" class=\"anchor\" aria-label=\"Permalink: React with Add-ons\" href=\"#react-with-add-ons\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBug Fixes\u003c/h3\u003e\u003ca id=\"user-content-bug-fixes-1\" class=\"anchor\" aria-label=\"Permalink: Bug Fixes\" href=\"#bug-fixes-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTest Utils: Ensure that shallow rendering works when components define \u003ccode\u003econtextTypes\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.13.2 (April 18, 2015)\u003c/h2\u003e\u003ca id=\"user-content-0132-april-18-2015\" class=\"anchor\" aria-label=\"Permalink: 0.13.2 (April 18, 2015)\" href=\"#0132-april-18-2015\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Core\u003c/h3\u003e\u003ca id=\"user-content-react-core-1\" class=\"anchor\" aria-label=\"Permalink: React Core\" href=\"#react-core-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew Features\u003c/h4\u003e\u003ca id=\"user-content-new-features-5\" class=\"anchor\" aria-label=\"Permalink: New Features\" href=\"#new-features-5\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdded \u003ccode\u003estrokeDashoffset\u003c/code\u003e, \u003ccode\u003eflexPositive\u003c/code\u003e, \u003ccode\u003eflexNegative\u003c/code\u003e to the list of unitless CSS properties\u003c/li\u003e\n\u003cli\u003eAdded support for more DOM properties:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003escoped\u003c/code\u003e - for \u003ccode\u003e\u0026lt;style\u0026gt;\u003c/code\u003e elements\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ehigh\u003c/code\u003e, \u003ccode\u003elow\u003c/code\u003e, \u003ccode\u003eoptimum\u003c/code\u003e - for \u003ccode\u003e\u0026lt;meter\u0026gt;\u003c/code\u003e elements\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunselectable\u003c/code\u003e - IE-specific property to prevent user selection\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBug Fixes\u003c/h4\u003e\u003ca id=\"user-content-bug-fixes-2\" class=\"anchor\" aria-label=\"Permalink: Bug Fixes\" href=\"#bug-fixes-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed a case where re-rendering after rendering null didn't properly pass context\u003c/li\u003e\n\u003cli\u003eFixed a case where re-rendering after rendering with \u003ccode\u003estyle={null}\u003c/code\u003e didn't properly update \u003ccode\u003estyle\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eUpdate \u003ccode\u003euglify\u003c/code\u003e dependency to prevent a bug in IE8\u003c/li\u003e\n\u003cli\u003eImproved warnings\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact with Add-Ons\u003c/h3\u003e\u003ca id=\"user-content-react-with-add-ons-1\" class=\"anchor\" aria-label=\"Permalink: React with Add-Ons\" href=\"#react-with-add-ons-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBug Fixes\u003c/h4\u003e\u003ca id=\"user-content-bug-fixes-3\" class=\"anchor\" aria-label=\"Permalink: Bug Fixes\" href=\"#bug-fixes-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImmutability Helpers: Ensure it supports \u003ccode\u003ehasOwnProperty\u003c/code\u003e as an object key\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Tools\u003c/h3\u003e\u003ca id=\"user-content-react-tools\" class=\"anchor\" aria-label=\"Permalink: React Tools\" href=\"#react-tools\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImprove documentation for new options\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.13.1 (March 16, 2015)\u003c/h2\u003e\u003ca id=\"user-content-0131-march-16-2015\" class=\"anchor\" aria-label=\"Permalink: 0.13.1 (March 16, 2015)\" href=\"#0131-march-16-2015\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Core\u003c/h3\u003e\u003ca id=\"user-content-react-core-2\" class=\"anchor\" aria-label=\"Permalink: React Core\" href=\"#react-core-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBug Fixes\u003c/h4\u003e\u003ca id=\"user-content-bug-fixes-4\" class=\"anchor\" aria-label=\"Permalink: Bug Fixes\" href=\"#bug-fixes-4\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDon't throw when rendering empty \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e elements\u003c/li\u003e\n\u003cli\u003eEnsure updating \u003ccode\u003estyle\u003c/code\u003e works when transitioning from \u003ccode\u003enull\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact with Add-Ons\u003c/h3\u003e\u003ca id=\"user-content-react-with-add-ons-2\" class=\"anchor\" aria-label=\"Permalink: React with Add-Ons\" href=\"#react-with-add-ons-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBug Fixes\u003c/h4\u003e\u003ca id=\"user-content-bug-fixes-5\" class=\"anchor\" aria-label=\"Permalink: Bug Fixes\" href=\"#bug-fixes-5\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTestUtils: Don't warn about \u003ccode\u003egetDOMNode\u003c/code\u003e for ES6 classes\u003c/li\u003e\n\u003cli\u003eTestUtils: Ensure wrapped full page components (\u003ccode\u003e\u0026lt;html\u0026gt;\u003c/code\u003e, \u003ccode\u003e\u0026lt;head\u0026gt;\u003c/code\u003e, \u003ccode\u003e\u0026lt;body\u0026gt;\u003c/code\u003e) are treated as DOM components\u003c/li\u003e\n\u003cli\u003ePerf: Stop double-counting DOM components\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Tools\u003c/h3\u003e\u003ca id=\"user-content-react-tools-1\" class=\"anchor\" aria-label=\"Permalink: React Tools\" href=\"#react-tools-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBug Fixes\u003c/h4\u003e\u003ca id=\"user-content-bug-fixes-6\" class=\"anchor\" aria-label=\"Permalink: Bug Fixes\" href=\"#bug-fixes-6\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix option parsing for \u003ccode\u003e--non-strict-es6module\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.13.0 (March 10, 2015)\u003c/h2\u003e\u003ca id=\"user-content-0130-march-10-2015\" class=\"anchor\" aria-label=\"Permalink: 0.13.0 (March 10, 2015)\" href=\"#0130-march-10-2015\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Core\u003c/h3\u003e\u003ca id=\"user-content-react-core-3\" class=\"anchor\" aria-label=\"Permalink: React Core\" href=\"#react-core-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBreaking Changes\u003c/h4\u003e\u003ca id=\"user-content-breaking-changes-6\" class=\"anchor\" aria-label=\"Permalink: Breaking Changes\" href=\"#breaking-changes-6\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eDeprecated patterns that warned in 0.12 no longer work: most prominently, calling component classes without using JSX or React.createElement and using non-component functions with JSX or createElement\u003c/li\u003e\n\u003cli\u003eMutating \u003ccode\u003eprops\u003c/code\u003e after an element is created is deprecated and will cause warnings in development mode; future versions of React will incorporate performance optimizations assuming that props aren't mutated\u003c/li\u003e\n\u003cli\u003eStatic methods (defined in \u003ccode\u003estatics\u003c/code\u003e) are no longer autobound to the component class\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eref\u003c/code\u003e resolution order has changed slightly such that a ref to a component is available immediately after its \u003ccode\u003ecomponentDidMount\u003c/code\u003e method is called; this change should be observable only if your component calls a parent component's callback within your \u003ccode\u003ecomponentDidMount\u003c/code\u003e, which is an anti-pattern and should be avoided regardless\u003c/li\u003e\n\u003cli\u003eCalls to \u003ccode\u003esetState\u003c/code\u003e in life-cycle methods are now always batched and therefore asynchronous. Previously the first call on the first mount was synchronous.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esetState\u003c/code\u003e and \u003ccode\u003eforceUpdate\u003c/code\u003e on an unmounted component now warns instead of throwing. That avoids a possible race condition with Promises.\u003c/li\u003e\n\u003cli\u003eAccess to most internal properties has been completely removed, including \u003ccode\u003ethis._pendingState\u003c/code\u003e and \u003ccode\u003ethis._rootNodeID\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew Features\u003c/h4\u003e\u003ca id=\"user-content-new-features-6\" class=\"anchor\" aria-label=\"Permalink: New Features\" href=\"#new-features-6\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSupport for using ES6 classes to build React components; see the \u003ca href=\"https://reactjs.org/blog/2015/01/27/react-v0.13.0-beta-1.html\" rel=\"nofollow\"\u003ev0.13.0 beta 1 notes\u003c/a\u003e for details.\u003c/li\u003e\n\u003cli\u003eAdded new top-level API \u003ccode\u003eReact.findDOMNode(component)\u003c/code\u003e, which should be used in place of \u003ccode\u003ecomponent.getDOMNode()\u003c/code\u003e. The base class for ES6-based components will not have \u003ccode\u003egetDOMNode\u003c/code\u003e. This change will enable some more patterns moving forward.\u003c/li\u003e\n\u003cli\u003eAdded a new top-level API \u003ccode\u003eReact.cloneElement(el, props)\u003c/code\u003e for making copies of React elements – see the \u003ca href=\"https://reactjs.org/blog/2015/03/03/react-v0.13-rc2.html#react.cloneelement\" rel=\"nofollow\"\u003ev0.13 RC2 notes\u003c/a\u003e for more details.\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003eref\u003c/code\u003e style, allowing a callback to be used in place of a name: \u003ccode\u003e\u0026lt;Photo ref={(c) =\u0026gt; this._photo = c} /\u0026gt;\u003c/code\u003e allows you to reference the component with \u003ccode\u003ethis._photo\u003c/code\u003e (as opposed to \u003ccode\u003eref=\"photo\"\u003c/code\u003e which gives \u003ccode\u003ethis.refs.photo\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ethis.setState()\u003c/code\u003e can now take a function as the first argument for transactional state updates, such as \u003ccode\u003ethis.setState((state, props) =\u0026gt; ({count: state.count + 1}));\u003c/code\u003e – this means that you no longer need to use \u003ccode\u003ethis._pendingState\u003c/code\u003e, which is now gone.\u003c/li\u003e\n\u003cli\u003eSupport for iterators and immutable-js sequences as children.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDeprecations\u003c/h4\u003e\u003ca id=\"user-content-deprecations-3\" class=\"anchor\" aria-label=\"Permalink: Deprecations\" href=\"#deprecations-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eComponentClass.type\u003c/code\u003e is deprecated. Just use \u003ccode\u003eComponentClass\u003c/code\u003e (usually as \u003ccode\u003eelement.type === ComponentClass\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eSome methods that are available on \u003ccode\u003ecreateClass\u003c/code\u003e-based components are removed or deprecated from ES6 classes (\u003ccode\u003egetDOMNode\u003c/code\u003e, \u003ccode\u003ereplaceState\u003c/code\u003e, \u003ccode\u003eisMounted\u003c/code\u003e, \u003ccode\u003esetProps\u003c/code\u003e, \u003ccode\u003ereplaceProps\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact with Add-Ons\u003c/h3\u003e\u003ca id=\"user-content-react-with-add-ons-3\" class=\"anchor\" aria-label=\"Permalink: React with Add-Ons\" href=\"#react-with-add-ons-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew Features\u003c/h4\u003e\u003ca id=\"user-content-new-features-7\" class=\"anchor\" aria-label=\"Permalink: New Features\" href=\"#new-features-7\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ca href=\"https://reactjs.org/docs/create-fragment.html\" rel=\"nofollow\"\u003e\u003ccode\u003eReact.addons.createFragment\u003c/code\u003e was added\u003c/a\u003e for adding keys to entire sets of children.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDeprecations\u003c/h4\u003e\u003ca id=\"user-content-deprecations-4\" class=\"anchor\" aria-label=\"Permalink: Deprecations\" href=\"#deprecations-4\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eReact.addons.classSet\u003c/code\u003e is now deprecated. This functionality can be replaced with several freely available modules. \u003ca href=\"https://www.npmjs.com/package/classnames\" rel=\"nofollow\"\u003eclassnames\u003c/a\u003e is one such module.\u003c/li\u003e\n\u003cli\u003eCalls to \u003ccode\u003eReact.addons.cloneWithProps\u003c/code\u003e can be migrated to use \u003ccode\u003eReact.cloneElement\u003c/code\u003e instead – make sure to merge \u003ccode\u003estyle\u003c/code\u003e and \u003ccode\u003eclassName\u003c/code\u003e manually if desired.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Tools\u003c/h3\u003e\u003ca id=\"user-content-react-tools-2\" class=\"anchor\" aria-label=\"Permalink: React Tools\" href=\"#react-tools-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBreaking Changes\u003c/h4\u003e\u003ca id=\"user-content-breaking-changes-7\" class=\"anchor\" aria-label=\"Permalink: Breaking Changes\" href=\"#breaking-changes-7\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWhen transforming ES6 syntax, \u003ccode\u003eclass\u003c/code\u003e methods are no longer enumerable by default, which requires \u003ccode\u003eObject.defineProperty\u003c/code\u003e; if you support browsers such as IE8, you can pass \u003ccode\u003e--target es3\u003c/code\u003e to mirror the old behavior\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew Features\u003c/h4\u003e\u003ca id=\"user-content-new-features-8\" class=\"anchor\" aria-label=\"Permalink: New Features\" href=\"#new-features-8\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003e--target\u003c/code\u003e option is available on the jsx command, allowing users to specify and ECMAScript version to target.\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003ees5\u003c/code\u003e is the default.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ees3\u003c/code\u003e restores the previous default behavior. An additional transform is added here to ensure the use of reserved words as properties is safe (eg \u003ccode\u003ethis.static\u003c/code\u003e will become \u003ccode\u003ethis['static']\u003c/code\u003e for IE8 compatibility).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eThe transform for the call spread operator has also been enabled.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eJSXTransformer\u003c/h3\u003e\u003ca id=\"user-content-jsxtransformer\" class=\"anchor\" aria-label=\"Permalink: JSXTransformer\" href=\"#jsxtransformer\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBreaking Changes\u003c/h4\u003e\u003ca id=\"user-content-breaking-changes-8\" class=\"anchor\" aria-label=\"Permalink: Breaking Changes\" href=\"#breaking-changes-8\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe return value of \u003ccode\u003etransform\u003c/code\u003e now contains \u003ccode\u003esourceMap\u003c/code\u003e as a JS object already, not an instance of \u003ccode\u003eSourceMapGenerator\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eJSX\u003c/h3\u003e\u003ca id=\"user-content-jsx\" class=\"anchor\" aria-label=\"Permalink: JSX\" href=\"#jsx\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBreaking Changes\u003c/h4\u003e\u003ca id=\"user-content-breaking-changes-9\" class=\"anchor\" aria-label=\"Permalink: Breaking Changes\" href=\"#breaking-changes-9\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eA change was made to how some JSX was parsed, specifically around the use of \u003ccode\u003e\u0026gt;\u003c/code\u003e or \u003ccode\u003e}\u003c/code\u003e when inside an element. Previously it would be treated as a string but now it will be treated as a parse error. The \u003ca href=\"https://www.npmjs.com/package/jsx_orphaned_brackets_transformer\" rel=\"nofollow\"\u003e\u003ccode\u003ejsx_orphaned_brackets_transformer\u003c/code\u003e\u003c/a\u003e package on npm can be used to find and fix potential issues in your JSX code.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.12.2 (December 18, 2014)\u003c/h2\u003e\u003ca id=\"user-content-0122-december-18-2014\" class=\"anchor\" aria-label=\"Permalink: 0.12.2 (December 18, 2014)\" href=\"#0122-december-18-2014\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Core\u003c/h3\u003e\u003ca id=\"user-content-react-core-4\" class=\"anchor\" aria-label=\"Permalink: React Core\" href=\"#react-core-4\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdded support for more HTML attributes: \u003ccode\u003eformAction\u003c/code\u003e, \u003ccode\u003eformEncType\u003c/code\u003e, \u003ccode\u003eformMethod\u003c/code\u003e, \u003ccode\u003eformTarget\u003c/code\u003e, \u003ccode\u003emarginHeight\u003c/code\u003e, \u003ccode\u003emarginWidth\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003estrokeOpacity\u003c/code\u003e to the list of unitless CSS properties\u003c/li\u003e\n\u003cli\u003eRemoved trailing commas (allows npm module to be bundled and used in IE8)\u003c/li\u003e\n\u003cli\u003eFixed bug resulting in error when passing \u003ccode\u003eundefined\u003c/code\u003e to \u003ccode\u003eReact.createElement\u003c/code\u003e - now there is a useful warning\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Tools\u003c/h3\u003e\u003ca id=\"user-content-react-tools-3\" class=\"anchor\" aria-label=\"Permalink: React Tools\" href=\"#react-tools-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eJSX-related transforms now always use double quotes for props and \u003ccode\u003edisplayName\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.12.1 (November 18, 2014)\u003c/h2\u003e\u003ca id=\"user-content-0121-november-18-2014\" class=\"anchor\" aria-label=\"Permalink: 0.12.1 (November 18, 2014)\" href=\"#0121-november-18-2014\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Tools\u003c/h3\u003e\u003ca id=\"user-content-react-tools-4\" class=\"anchor\" aria-label=\"Permalink: React Tools\" href=\"#react-tools-4\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eTypes transform updated with latest support\u003c/li\u003e\n\u003cli\u003ejstransform version updated with improved ES6 transforms\u003c/li\u003e\n\u003cli\u003eExplicit Esprima dependency removed in favor of using Esprima information exported by jstransform\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.12.0 (October 28, 2014)\u003c/h2\u003e\u003ca id=\"user-content-0120-october-28-2014\" class=\"anchor\" aria-label=\"Permalink: 0.12.0 (October 28, 2014)\" href=\"#0120-october-28-2014\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Core\u003c/h3\u003e\u003ca id=\"user-content-react-core-5\" class=\"anchor\" aria-label=\"Permalink: React Core\" href=\"#react-core-5\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBreaking Changes\u003c/h4\u003e\u003ca id=\"user-content-breaking-changes-10\" class=\"anchor\" aria-label=\"Permalink: Breaking Changes\" href=\"#breaking-changes-10\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003ekey\u003c/code\u003e and \u003ccode\u003eref\u003c/code\u003e moved off props object, now accessible on the element directly\u003c/li\u003e\n\u003cli\u003eReact is now BSD licensed with accompanying Patents grant\u003c/li\u003e\n\u003cli\u003eDefault prop resolution has moved to Element creation time instead of mount time, making them effectively static\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReact.__internals\u003c/code\u003e is removed - it was exposed for DevTools which no longer needs access\u003c/li\u003e\n\u003cli\u003eComposite Component functions can no longer be called directly - they must be wrapped with \u003ccode\u003eReact.createFactory\u003c/code\u003e first. This is handled for you when using JSX.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew Features\u003c/h4\u003e\u003ca id=\"user-content-new-features-9\" class=\"anchor\" aria-label=\"Permalink: New Features\" href=\"#new-features-9\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSpread operator (\u003ccode\u003e{...}\u003c/code\u003e) introduced to deprecate \u003ccode\u003ethis.transferPropsTo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for more HTML attributes: \u003ccode\u003eacceptCharset\u003c/code\u003e, \u003ccode\u003eclassID\u003c/code\u003e, \u003ccode\u003emanifest\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eDeprecations\u003c/h4\u003e\u003ca id=\"user-content-deprecations-5\" class=\"anchor\" aria-label=\"Permalink: Deprecations\" href=\"#deprecations-5\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eReact.renderComponent\u003c/code\u003e --\u0026gt; \u003ccode\u003eReact.render\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReact.renderComponentToString\u003c/code\u003e --\u0026gt; \u003ccode\u003eReact.renderToString\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReact.renderComponentToStaticMarkup\u003c/code\u003e --\u0026gt; \u003ccode\u003eReact.renderToStaticMarkup\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReact.isValidComponent\u003c/code\u003e --\u0026gt; \u003ccode\u003eReact.isValidElement\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReact.PropTypes.component\u003c/code\u003e --\u0026gt; \u003ccode\u003eReact.PropTypes.element\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReact.PropTypes.renderable\u003c/code\u003e --\u0026gt; \u003ccode\u003eReact.PropTypes.node\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDEPRECATED\u003c/strong\u003e \u003ccode\u003eReact.isValidClass\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDEPRECATED\u003c/strong\u003e \u003ccode\u003einstance.transferPropsTo\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDEPRECATED\u003c/strong\u003e Returning \u003ccode\u003efalse\u003c/code\u003e from event handlers to preventDefault\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDEPRECATED\u003c/strong\u003e Convenience Constructor usage as function, instead wrap with \u003ccode\u003eReact.createFactory\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eDEPRECATED\u003c/strong\u003e use of \u003ccode\u003ekey={null}\u003c/code\u003e to assign implicit keys\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBug Fixes\u003c/h4\u003e\u003ca id=\"user-content-bug-fixes-7\" class=\"anchor\" aria-label=\"Permalink: Bug Fixes\" href=\"#bug-fixes-7\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eBetter handling of events and updates in nested results, fixing value restoration in \"layered\" controlled components\u003c/li\u003e\n\u003cli\u003eCorrectly treat \u003ccode\u003eevent.getModifierState\u003c/code\u003e as case sensitive\u003c/li\u003e\n\u003cli\u003eImproved normalization of \u003ccode\u003eevent.charCode\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eBetter error stacks when involving autobound methods\u003c/li\u003e\n\u003cli\u003eRemoved DevTools message when the DevTools are installed\u003c/li\u003e\n\u003cli\u003eCorrectly detect required language features across browsers\u003c/li\u003e\n\u003cli\u003eFixed support for some HTML attributes:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003elist\u003c/code\u003e updates correctly now\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003escrollLeft\u003c/code\u003e, \u003ccode\u003escrollTop\u003c/code\u003e removed, these should not be specified as props\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImproved error messages\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact With Addons\u003c/h3\u003e\u003ca id=\"user-content-react-with-addons\" class=\"anchor\" aria-label=\"Permalink: React With Addons\" href=\"#react-with-addons\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew Features\u003c/h4\u003e\u003ca id=\"user-content-new-features-10\" class=\"anchor\" aria-label=\"Permalink: New Features\" href=\"#new-features-10\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eReact.addons.batchedUpdates\u003c/code\u003e added to API for hooking into update cycle\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBreaking Changes\u003c/h4\u003e\u003ca id=\"user-content-breaking-changes-11\" class=\"anchor\" aria-label=\"Permalink: Breaking Changes\" href=\"#breaking-changes-11\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eReact.addons.update\u003c/code\u003e uses \u003ccode\u003eassign\u003c/code\u003e instead of \u003ccode\u003ecopyProperties\u003c/code\u003e which does \u003ccode\u003ehasOwnProperty\u003c/code\u003e checks. Properties on prototypes will no longer be updated correctly.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBug Fixes\u003c/h4\u003e\u003ca id=\"user-content-bug-fixes-8\" class=\"anchor\" aria-label=\"Permalink: Bug Fixes\" href=\"#bug-fixes-8\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed some issues with CSS Transitions\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eJSX\u003c/h3\u003e\u003ca id=\"user-content-jsx-1\" class=\"anchor\" aria-label=\"Permalink: JSX\" href=\"#jsx-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBreaking Changes\u003c/h4\u003e\u003ca id=\"user-content-breaking-changes-12\" class=\"anchor\" aria-label=\"Permalink: Breaking Changes\" href=\"#breaking-changes-12\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eEnforced convention: lower case tag names are always treated as HTML tags, upper case tag names are always treated as composite components\u003c/li\u003e\n\u003cli\u003eJSX no longer transforms to simple function calls\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew Features\u003c/h4\u003e\u003ca id=\"user-content-new-features-11\" class=\"anchor\" aria-label=\"Permalink: New Features\" href=\"#new-features-11\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003e@jsx React.DOM\u003c/code\u003e no longer required\u003c/li\u003e\n\u003cli\u003espread (\u003ccode\u003e{...}\u003c/code\u003e) operator introduced to allow easier use of props\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBug Fixes\u003c/h4\u003e\u003ca id=\"user-content-bug-fixes-9\" class=\"anchor\" aria-label=\"Permalink: Bug Fixes\" href=\"#bug-fixes-9\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eJSXTransformer: Make sourcemaps an option when using APIs directly (eg, for react-rails)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.11.2 (September 16, 2014)\u003c/h2\u003e\u003ca id=\"user-content-0112-september-16-2014\" class=\"anchor\" aria-label=\"Permalink: 0.11.2 (September 16, 2014)\" href=\"#0112-september-16-2014\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Core\u003c/h3\u003e\u003ca id=\"user-content-react-core-6\" class=\"anchor\" aria-label=\"Permalink: React Core\" href=\"#react-core-6\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew Features\u003c/h4\u003e\u003ca id=\"user-content-new-features-12\" class=\"anchor\" aria-label=\"Permalink: New Features\" href=\"#new-features-12\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdded support for \u003ccode\u003e\u0026lt;dialog\u0026gt;\u003c/code\u003e element and associated \u003ccode\u003eopen\u003c/code\u003e attribute\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003e\u0026lt;picture\u0026gt;\u003c/code\u003e element and associated \u003ccode\u003emedia\u003c/code\u003e and \u003ccode\u003esizes\u003c/code\u003e attributes\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReact.createElement\u003c/code\u003e API in preparation for React v0.12\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eReact.createDescriptor\u003c/code\u003e has been deprecated as a result\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eJSX\u003c/h3\u003e\u003ca id=\"user-content-jsx-2\" class=\"anchor\" aria-label=\"Permalink: JSX\" href=\"#jsx-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003e\u0026lt;picture\u0026gt;\u003c/code\u003e is now parsed into \u003ccode\u003eReact.DOM.picture\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Tools\u003c/h3\u003e\u003ca id=\"user-content-react-tools-5\" class=\"anchor\" aria-label=\"Permalink: React Tools\" href=\"#react-tools-5\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUpdate \u003ccode\u003eesprima\u003c/code\u003e and \u003ccode\u003ejstransform\u003c/code\u003e for correctness fixes\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ejsx\u003c/code\u003e executable now exposes a \u003ccode\u003e--strip-types\u003c/code\u003e flag which can be used to remove TypeScript-like type annotations\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThis option is also exposed to \u003ccode\u003erequire('react-tools').transform\u003c/code\u003e as \u003ccode\u003estripTypes\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.11.1 (July 24, 2014)\u003c/h2\u003e\u003ca id=\"user-content-0111-july-24-2014\" class=\"anchor\" aria-label=\"Permalink: 0.11.1 (July 24, 2014)\" href=\"#0111-july-24-2014\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Core\u003c/h3\u003e\u003ca id=\"user-content-react-core-7\" class=\"anchor\" aria-label=\"Permalink: React Core\" href=\"#react-core-7\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBug Fixes\u003c/h4\u003e\u003ca id=\"user-content-bug-fixes-10\" class=\"anchor\" aria-label=\"Permalink: Bug Fixes\" href=\"#bug-fixes-10\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003esetState\u003c/code\u003e can be called inside \u003ccode\u003ecomponentWillMount\u003c/code\u003e in non-DOM environments\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSyntheticMouseEvent.getEventModifierState\u003c/code\u003e correctly renamed to \u003ccode\u003egetModifierState\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003egetModifierState\u003c/code\u003e correctly returns a \u003ccode\u003eboolean\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003egetModifierState\u003c/code\u003e is now correctly case sensitive\u003c/li\u003e\n\u003cli\u003eEmpty Text node used in IE8 \u003ccode\u003einnerHTML\u003c/code\u003e workaround is now removed, fixing rerendering in certain cases\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eJSX\u003c/h3\u003e\u003ca id=\"user-content-jsx-3\" class=\"anchor\" aria-label=\"Permalink: JSX\" href=\"#jsx-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix duplicate variable declaration in JSXTransformer (caused issues in some browsers)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.11.0 (July 17, 2014)\u003c/h2\u003e\u003ca id=\"user-content-0110-july-17-2014\" class=\"anchor\" aria-label=\"Permalink: 0.11.0 (July 17, 2014)\" href=\"#0110-july-17-2014\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Core\u003c/h3\u003e\u003ca id=\"user-content-react-core-8\" class=\"anchor\" aria-label=\"Permalink: React Core\" href=\"#react-core-8\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBreaking Changes\u003c/h4\u003e\u003ca id=\"user-content-breaking-changes-13\" class=\"anchor\" aria-label=\"Permalink: Breaking Changes\" href=\"#breaking-changes-13\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003egetDefaultProps()\u003c/code\u003e is now called once per class and shared across all instances\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eMyComponent()\u003c/code\u003e now returns a descriptor, not an instance\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReact.isValidComponent\u003c/code\u003e and \u003ccode\u003eReact.PropTypes.component\u003c/code\u003e validate \u003cem\u003edescriptors\u003c/em\u003e, not component instances\u003c/li\u003e\n\u003cli\u003eCustom \u003ccode\u003epropType\u003c/code\u003e validators should return an \u003ccode\u003eError\u003c/code\u003e instead of logging directly\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew Features\u003c/h4\u003e\u003ca id=\"user-content-new-features-13\" class=\"anchor\" aria-label=\"Permalink: New Features\" href=\"#new-features-13\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRendering to \u003ccode\u003enull\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eKeyboard events include normalized \u003ccode\u003ee.key\u003c/code\u003e and \u003ccode\u003ee.getModifierState()\u003c/code\u003e properties\u003c/li\u003e\n\u003cli\u003eNew normalized \u003ccode\u003eonBeforeInput\u003c/code\u003e event\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReact.Children.count\u003c/code\u003e has been added as a helper for counting the number of children\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBug Fixes\u003c/h4\u003e\u003ca id=\"user-content-bug-fixes-11\" class=\"anchor\" aria-label=\"Permalink: Bug Fixes\" href=\"#bug-fixes-11\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eRe-renders are batched in more cases\u003c/li\u003e\n\u003cli\u003eEvents: \u003ccode\u003ee.view\u003c/code\u003e properly normalized\u003c/li\u003e\n\u003cli\u003eAdded Support for more HTML attributes (\u003ccode\u003ecoords\u003c/code\u003e, \u003ccode\u003ecrossOrigin\u003c/code\u003e, \u003ccode\u003edownload\u003c/code\u003e, \u003ccode\u003ehrefLang\u003c/code\u003e, \u003ccode\u003emediaGroup\u003c/code\u003e, \u003ccode\u003emuted\u003c/code\u003e, \u003ccode\u003escrolling\u003c/code\u003e, \u003ccode\u003eshape\u003c/code\u003e, \u003ccode\u003esrcSet\u003c/code\u003e, \u003ccode\u003estart\u003c/code\u003e, \u003ccode\u003euseMap\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImproved SVG support\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eChanging \u003ccode\u003eclassName\u003c/code\u003e on a mounted SVG component now works correctly\u003c/li\u003e\n\u003cli\u003eAdded support for elements \u003ccode\u003emask\u003c/code\u003e and \u003ccode\u003etspan\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for attributes \u003ccode\u003edx\u003c/code\u003e, \u003ccode\u003edy\u003c/code\u003e, \u003ccode\u003efillOpacity\u003c/code\u003e, \u003ccode\u003efontFamily\u003c/code\u003e, \u003ccode\u003efontSize\u003c/code\u003e, \u003ccode\u003emarkerEnd\u003c/code\u003e, \u003ccode\u003emarkerMid\u003c/code\u003e, \u003ccode\u003emarkerStart\u003c/code\u003e, \u003ccode\u003eopacity\u003c/code\u003e, \u003ccode\u003epatternContentUnits\u003c/code\u003e, \u003ccode\u003epatternUnits\u003c/code\u003e, \u003ccode\u003epreserveAspectRatio\u003c/code\u003e, \u003ccode\u003estrokeDasharray\u003c/code\u003e, \u003ccode\u003estrokeOpacity\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eCSS property names with vendor prefixes (\u003ccode\u003eWebkit\u003c/code\u003e, \u003ccode\u003ems\u003c/code\u003e, \u003ccode\u003eMoz\u003c/code\u003e, \u003ccode\u003eO\u003c/code\u003e) are now handled properly\u003c/li\u003e\n\u003cli\u003eDuplicate keys no longer cause a hard error; now a warning is logged (and only one of the children with the same key is shown)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eimg\u003c/code\u003e event listeners are now unbound properly, preventing the error \"Two valid but unequal nodes with the same \u003ccode\u003edata-reactid\u003c/code\u003e\"\u003c/li\u003e\n\u003cli\u003eAdded explicit warning when missing polyfills\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact With Addons\u003c/h3\u003e\u003ca id=\"user-content-react-with-addons-1\" class=\"anchor\" aria-label=\"Permalink: React With Addons\" href=\"#react-with-addons-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003ePureRenderMixin: a mixin which helps optimize \"pure\" components\u003c/li\u003e\n\u003cli\u003ePerf: a new set of tools to help with performance analysis\u003c/li\u003e\n\u003cli\u003eUpdate: New \u003ccode\u003e$apply\u003c/code\u003e command to transform values\u003c/li\u003e\n\u003cli\u003eTransitionGroup bug fixes with null elements, Android\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact NPM Module\u003c/h3\u003e\u003ca id=\"user-content-react-npm-module\" class=\"anchor\" aria-label=\"Permalink: React NPM Module\" href=\"#react-npm-module\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eNow includes the pre-built packages under \u003ccode\u003edist/\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eenvify\u003c/code\u003e is properly listed as a dependency instead of a peer dependency\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eJSX\u003c/h3\u003e\u003ca id=\"user-content-jsx-4\" class=\"anchor\" aria-label=\"Permalink: JSX\" href=\"#jsx-4\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdded support for namespaces, eg \u003ccode\u003e\u0026lt;Components.Checkbox /\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eJSXTransformer\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eEnable the same \u003ccode\u003eharmony\u003c/code\u003e features available in the command line with \u003ccode\u003e\u0026lt;script type=\"text/jsx;harmony=true\"\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eScripts are downloaded in parallel for more speed. They are still executed in order (as you would expect with normal script tags)\u003c/li\u003e\n\u003cli\u003eFixed a bug preventing sourcemaps from working in Firefox\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Tools Module\u003c/h3\u003e\u003ca id=\"user-content-react-tools-module\" class=\"anchor\" aria-label=\"Permalink: React Tools Module\" href=\"#react-tools-module\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImproved readme with usage and API information\u003c/li\u003e\n\u003cli\u003eImproved ES6 transforms available with \u003ccode\u003e--harmony\u003c/code\u003e option\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003e--source-map-inline\u003c/code\u003e option to the \u003ccode\u003ejsx\u003c/code\u003e executable\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003etransformWithDetails\u003c/code\u003e API which gives access to the raw sourcemap data\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.10.0 (March 21, 2014)\u003c/h2\u003e\u003ca id=\"user-content-0100-march-21-2014\" class=\"anchor\" aria-label=\"Permalink: 0.10.0 (March 21, 2014)\" href=\"#0100-march-21-2014\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Core\u003c/h3\u003e\u003ca id=\"user-content-react-core-9\" class=\"anchor\" aria-label=\"Permalink: React Core\" href=\"#react-core-9\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew Features\u003c/h4\u003e\u003ca id=\"user-content-new-features-14\" class=\"anchor\" aria-label=\"Permalink: New Features\" href=\"#new-features-14\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdded warnings to help migrate towards descriptors\u003c/li\u003e\n\u003cli\u003eMade it possible to server render without React-related markup (\u003ccode\u003edata-reactid\u003c/code\u003e, \u003ccode\u003edata-react-checksum\u003c/code\u003e). This DOM will not be mountable by React. \u003ca href=\"https://reactjs.org/docs/top-level-api.html#react.rendercomponenttostaticmarkup\" rel=\"nofollow\"\u003eRead the docs for \u003ccode\u003eReact.renderComponentToStaticMarkup\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for more attributes:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003esrcSet\u003c/code\u003e for \u003ccode\u003e\u0026lt;img\u0026gt;\u003c/code\u003e to specify images at different pixel ratios\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etextAnchor\u003c/code\u003e for SVG\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBug Fixes\u003c/h4\u003e\u003ca id=\"user-content-bug-fixes-12\" class=\"anchor\" aria-label=\"Permalink: Bug Fixes\" href=\"#bug-fixes-12\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eEnsure all void elements don’t insert a closing tag into the markup.\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003eclassName={false}\u003c/code\u003e behaves consistently\u003c/li\u003e\n\u003cli\u003eEnsure \u003ccode\u003ethis.refs\u003c/code\u003e is defined, even if no refs are specified.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eAddons\u003c/h3\u003e\u003ca id=\"user-content-addons\" class=\"anchor\" aria-label=\"Permalink: Addons\" href=\"#addons\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eupdate\u003c/code\u003e function to deal with immutable data. \u003ca href=\"https://reactjs.org/docs/update.html\" rel=\"nofollow\"\u003eRead the docs\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ereact-tools\u003c/h3\u003e\u003ca id=\"user-content-react-tools-6\" class=\"anchor\" aria-label=\"Permalink: react-tools\" href=\"#react-tools-6\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdded an option argument to \u003ccode\u003etransform\u003c/code\u003e function. The only option supported is \u003ccode\u003eharmony\u003c/code\u003e, which behaves the same as \u003ccode\u003ejsx --harmony\u003c/code\u003e on the command line. This uses the ES6 transforms from \u003ca href=\"https://github.com/facebook/jstransform\"\u003ejstransform\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.9.0 (February 20, 2014)\u003c/h2\u003e\u003ca id=\"user-content-090-february-20-2014\" class=\"anchor\" aria-label=\"Permalink: 0.9.0 (February 20, 2014)\" href=\"#090-february-20-2014\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact Core\u003c/h3\u003e\u003ca id=\"user-content-react-core-10\" class=\"anchor\" aria-label=\"Permalink: React Core\" href=\"#react-core-10\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBreaking Changes\u003c/h4\u003e\u003ca id=\"user-content-breaking-changes-14\" class=\"anchor\" aria-label=\"Permalink: Breaking Changes\" href=\"#breaking-changes-14\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eThe lifecycle methods \u003ccode\u003ecomponentDidMount\u003c/code\u003e and \u003ccode\u003ecomponentDidUpdate\u003c/code\u003e no longer receive the root node as a parameter; use \u003ccode\u003ethis.getDOMNode()\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003eWhenever a prop is equal to \u003ccode\u003eundefined\u003c/code\u003e, the default value returned by \u003ccode\u003egetDefaultProps\u003c/code\u003e will now be used instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReact.unmountAndReleaseReactRootNode\u003c/code\u003e was previously deprecated and has now been removed\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReact.renderComponentToString\u003c/code\u003e is now synchronous and returns the generated HTML string\u003c/li\u003e\n\u003cli\u003eFull-page rendering (that is, rendering the \u003ccode\u003e\u0026lt;html\u0026gt;\u003c/code\u003e tag using React) is now supported only when starting with server-rendered markup\u003c/li\u003e\n\u003cli\u003eOn mouse wheel events, \u003ccode\u003edeltaY\u003c/code\u003e is no longer negated\u003c/li\u003e\n\u003cli\u003eWhen prop types validation fails, a warning is logged instead of an error thrown (with the production build of React, type checks are now skipped for performance)\u003c/li\u003e\n\u003cli\u003eOn \u003ccode\u003einput\u003c/code\u003e, \u003ccode\u003eselect\u003c/code\u003e, and \u003ccode\u003etextarea\u003c/code\u003e elements, \u003ccode\u003e.getValue()\u003c/code\u003e is no longer supported; use \u003ccode\u003e.getDOMNode().value\u003c/code\u003e instead\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ethis.context\u003c/code\u003e on components is now reserved for internal use by React\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eNew Features\u003c/h4\u003e\u003ca id=\"user-content-new-features-15\" class=\"anchor\" aria-label=\"Permalink: New Features\" href=\"#new-features-15\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eReact now never rethrows errors, so stack traces are more accurate and Chrome's purple break-on-error stop sign now works properly\u003c/li\u003e\n\u003cli\u003eAdded support for SVG tags \u003ccode\u003edefs\u003c/code\u003e, \u003ccode\u003elinearGradient\u003c/code\u003e, \u003ccode\u003epolygon\u003c/code\u003e, \u003ccode\u003eradialGradient\u003c/code\u003e, \u003ccode\u003estop\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for more attributes:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003ecrossOrigin\u003c/code\u003e for CORS requests\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edownload\u003c/code\u003e and \u003ccode\u003ehrefLang\u003c/code\u003e for \u003ccode\u003e\u0026lt;a\u0026gt;\u003c/code\u003e tags\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emediaGroup\u003c/code\u003e and \u003ccode\u003emuted\u003c/code\u003e for \u003ccode\u003e\u0026lt;audio\u0026gt;\u003c/code\u003e and \u003ccode\u003e\u0026lt;video\u0026gt;\u003c/code\u003e tags\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003enoValidate\u003c/code\u003e and \u003ccode\u003eformNoValidate\u003c/code\u003e for forms\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eproperty\u003c/code\u003e for Open Graph \u003ccode\u003e\u0026lt;meta\u0026gt;\u003c/code\u003e tags\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esandbox\u003c/code\u003e, \u003ccode\u003eseamless\u003c/code\u003e, and \u003ccode\u003esrcDoc\u003c/code\u003e for \u003ccode\u003e\u0026lt;iframe\u0026gt;\u003c/code\u003e tags\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003escope\u003c/code\u003e for screen readers\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003espan\u003c/code\u003e for \u003ccode\u003e\u0026lt;colgroup\u0026gt;\u003c/code\u003e tags\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdded support for defining \u003ccode\u003epropTypes\u003c/code\u003e in mixins\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eany\u003c/code\u003e, \u003ccode\u003earrayOf\u003c/code\u003e, \u003ccode\u003ecomponent\u003c/code\u003e, \u003ccode\u003eoneOfType\u003c/code\u003e, \u003ccode\u003erenderable\u003c/code\u003e, \u003ccode\u003eshape\u003c/code\u003e to \u003ccode\u003eReact.PropTypes\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003estatics\u003c/code\u003e on component spec for static component methods\u003c/li\u003e\n\u003cli\u003eOn all events, \u003ccode\u003e.currentTarget\u003c/code\u003e is now properly set\u003c/li\u003e\n\u003cli\u003eOn keyboard events, \u003ccode\u003e.key\u003c/code\u003e is now polyfilled in all browsers for special (non-printable) keys\u003c/li\u003e\n\u003cli\u003eOn clipboard events, \u003ccode\u003e.clipboardData\u003c/code\u003e is now polyfilled in IE\u003c/li\u003e\n\u003cli\u003eOn drag events, \u003ccode\u003e.dragTransfer\u003c/code\u003e is now present\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eonMouseOver\u003c/code\u003e and \u003ccode\u003eonMouseOut\u003c/code\u003e in addition to the existing \u003ccode\u003eonMouseEnter\u003c/code\u003e and \u003ccode\u003eonMouseLeave\u003c/code\u003e events\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eonLoad\u003c/code\u003e and \u003ccode\u003eonError\u003c/code\u003e on \u003ccode\u003e\u0026lt;img\u0026gt;\u003c/code\u003e elements\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eonReset\u003c/code\u003e on \u003ccode\u003e\u0026lt;form\u0026gt;\u003c/code\u003e elements\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003eautoFocus\u003c/code\u003e attribute is now polyfilled consistently on \u003ccode\u003einput\u003c/code\u003e, \u003ccode\u003eselect\u003c/code\u003e, and \u003ccode\u003etextarea\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch4 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eBug Fixes\u003c/h4\u003e\u003ca id=\"user-content-bug-fixes-13\" class=\"anchor\" aria-label=\"Permalink: Bug Fixes\" href=\"#bug-fixes-13\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eReact no longer adds an \u003ccode\u003e__owner__\u003c/code\u003e property to each component's \u003ccode\u003eprops\u003c/code\u003e object; passed-in props are now never mutated\u003c/li\u003e\n\u003cli\u003eWhen nesting top-level components (e.g., calling \u003ccode\u003eReact.renderComponent\u003c/code\u003e within \u003ccode\u003ecomponentDidMount\u003c/code\u003e), events now properly bubble to the parent component\u003c/li\u003e\n\u003cli\u003eFixed a case where nesting top-level components would throw an error when updating\u003c/li\u003e\n\u003cli\u003ePassing an invalid or misspelled propTypes type now throws an error\u003c/li\u003e\n\u003cli\u003eOn mouse enter/leave events, \u003ccode\u003e.target\u003c/code\u003e, \u003ccode\u003e.relatedTarget\u003c/code\u003e, and \u003ccode\u003e.type\u003c/code\u003e are now set properly\u003c/li\u003e\n\u003cli\u003eOn composition events, \u003ccode\u003e.data\u003c/code\u003e is now properly normalized in IE9 and IE10\u003c/li\u003e\n\u003cli\u003eCSS property values no longer have \u003ccode\u003epx\u003c/code\u003e appended for the unitless properties \u003ccode\u003ecolumnCount\u003c/code\u003e, \u003ccode\u003eflex\u003c/code\u003e, \u003ccode\u003eflexGrow\u003c/code\u003e, \u003ccode\u003eflexShrink\u003c/code\u003e, \u003ccode\u003elineClamp\u003c/code\u003e, \u003ccode\u003eorder\u003c/code\u003e, \u003ccode\u003ewidows\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when unmounting children with a \u003ccode\u003ecomponentWillUnmount\u003c/code\u003e handler\u003c/li\u003e\n\u003cli\u003eFixed a memory leak when \u003ccode\u003erenderComponentToString\u003c/code\u003e would store event handlers\u003c/li\u003e\n\u003cli\u003eFixed an error that could be thrown when removing form elements during a click handler\u003c/li\u003e\n\u003cli\u003eBoolean attributes such as \u003ccode\u003edisabled\u003c/code\u003e are rendered without a value (previously \u003ccode\u003edisabled=\"true\"\u003c/code\u003e, now simply \u003ccode\u003edisabled\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ekey\u003c/code\u003e values containing \u003ccode\u003e.\u003c/code\u003e are now supported\u003c/li\u003e\n\u003cli\u003eShortened \u003ccode\u003edata-reactid\u003c/code\u003e values for performance\u003c/li\u003e\n\u003cli\u003eComponents now always remount when the \u003ccode\u003ekey\u003c/code\u003e property changes\u003c/li\u003e\n\u003cli\u003eEvent handlers are attached to \u003ccode\u003edocument\u003c/code\u003e only when necessary, improving performance in some cases\u003c/li\u003e\n\u003cli\u003eEvents no longer use \u003ccode\u003e.returnValue\u003c/code\u003e in modern browsers, eliminating a warning in Chrome\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003escrollLeft\u003c/code\u003e and \u003ccode\u003escrollTop\u003c/code\u003e are no longer accessed on document.body, eliminating a warning in Chrome\u003c/li\u003e\n\u003cli\u003eGeneral performance fixes, memory optimizations, improvements to warnings and error messages\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact with Addons\u003c/h3\u003e\u003ca id=\"user-content-react-with-addons-2\" class=\"anchor\" aria-label=\"Permalink: React with Addons\" href=\"#react-with-addons-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003eReact.addons.TestUtils\u003c/code\u003e was added to help write unit tests\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReact.addons.TransitionGroup\u003c/code\u003e was renamed to \u003ccode\u003eReact.addons.CSSTransitionGroup\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReact.addons.TransitionGroup\u003c/code\u003e was added as a more general animation wrapper\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eReact.addons.cloneWithProps\u003c/code\u003e was added for cloning components and modifying their props\u003c/li\u003e\n\u003cli\u003eBug fix for adding back nodes during an exit transition for CSSTransitionGroup\u003c/li\u003e\n\u003cli\u003eBug fix for changing \u003ccode\u003etransitionLeave\u003c/code\u003e in CSSTransitionGroup\u003c/li\u003e\n\u003cli\u003ePerformance optimizations for CSSTransitionGroup\u003c/li\u003e\n\u003cli\u003eOn checkbox \u003ccode\u003e\u0026lt;input\u0026gt;\u003c/code\u003e elements, \u003ccode\u003echeckedLink\u003c/code\u003e is now supported for two-way binding\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eJSX Compiler and react-tools Package\u003c/h3\u003e\u003ca id=\"user-content-jsx-compiler-and-react-tools-package\" class=\"anchor\" aria-label=\"Permalink: JSX Compiler and react-tools Package\" href=\"#jsx-compiler-and-react-tools-package\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eWhitespace normalization has changed; now space between two tags on the same line will be preserved, while newlines between two tags will be removed\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003ereact-tools\u003c/code\u003e npm package no longer includes the React core libraries; use the \u003ccode\u003ereact\u003c/code\u003e package instead.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edisplayName\u003c/code\u003e is now added in more cases, improving error messages and names in the React Dev Tools\u003c/li\u003e\n\u003cli\u003eFixed an issue where an invalid token error was thrown after a JSX closing tag\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJSXTransformer\u003c/code\u003e now uses source maps automatically in modern browsers\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eJSXTransformer\u003c/code\u003e error messages now include the filename and problematic line contents when a file fails to parse\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.8.0 (December 19, 2013)\u003c/h2\u003e\u003ca id=\"user-content-080-december-19-2013\" class=\"anchor\" aria-label=\"Permalink: 0.8.0 (December 19, 2013)\" href=\"#080-december-19-2013\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-46\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-46\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdded support for more attributes:\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003erows\u003c/code\u003e \u0026amp; \u003ccode\u003ecols\u003c/code\u003e for \u003ccode\u003e\u0026lt;textarea\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003edefer\u003c/code\u003e \u0026amp; \u003ccode\u003easync\u003c/code\u003e for \u003ccode\u003e\u0026lt;script\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eloop\u003c/code\u003e for \u003ccode\u003e\u0026lt;audio\u0026gt;\u003c/code\u003e \u0026amp; \u003ccode\u003e\u0026lt;video\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eautoCorrect\u003c/code\u003e for form fields (a non-standard attribute only supported by mobile WebKit)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eImproved error messages\u003c/li\u003e\n\u003cli\u003eFixed Selection events in IE11\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eonContextMenu\u003c/code\u003e events\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact with Addons\u003c/h3\u003e\u003ca id=\"user-content-react-with-addons-3\" class=\"anchor\" aria-label=\"Permalink: React with Addons\" href=\"#react-with-addons-3\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed bugs with TransitionGroup when children were undefined\u003c/li\u003e\n\u003cli\u003eAdded support for \u003ccode\u003eonTransition\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ereact-tools\u003c/h3\u003e\u003ca id=\"user-content-react-tools-7\" class=\"anchor\" aria-label=\"Permalink: react-tools\" href=\"#react-tools-7\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUpgraded \u003ccode\u003ejstransform\u003c/code\u003e and \u003ccode\u003eesprima-fb\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eJSXTransformer\u003c/h3\u003e\u003ca id=\"user-content-jsxtransformer-1\" class=\"anchor\" aria-label=\"Permalink: JSXTransformer\" href=\"#jsxtransformer-1\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAdded support for use in IE8\u003c/li\u003e\n\u003cli\u003eUpgraded browserify, which reduced file size by ~65KB (16KB gzipped)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.5.2, 0.4.2 (December 18, 2013)\u003c/h2\u003e\u003ca id=\"user-content-052-042-december-18-2013\" class=\"anchor\" aria-label=\"Permalink: 0.5.2, 0.4.2 (December 18, 2013)\" href=\"#052-042-december-18-2013\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-47\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-47\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed a potential XSS vulnerability when using user content as a \u003ccode\u003ekey\u003c/code\u003e: \u003ca href=\"https://groups.google.com/forum/#!topic/reactjs/OIqxlB2aGfU\" rel=\"nofollow\"\u003eCVE-2013-7035\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.5.1 (October 29, 2013)\u003c/h2\u003e\u003ca id=\"user-content-051-october-29-2013\" class=\"anchor\" aria-label=\"Permalink: 0.5.1 (October 29, 2013)\" href=\"#051-october-29-2013\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-48\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-48\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed bug with \u003ccode\u003e\u0026lt;input type=\"range\"\u0026gt;\u003c/code\u003e and selection events.\u003c/li\u003e\n\u003cli\u003eFixed bug with selection and focus.\u003c/li\u003e\n\u003cli\u003eMade it possible to unmount components from the document root.\u003c/li\u003e\n\u003cli\u003eFixed bug for \u003ccode\u003edisabled\u003c/code\u003e attribute handling on non-\u003ccode\u003e\u0026lt;input\u0026gt;\u003c/code\u003e elements.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact with Addons\u003c/h3\u003e\u003ca id=\"user-content-react-with-addons-4\" class=\"anchor\" aria-label=\"Permalink: React with Addons\" href=\"#react-with-addons-4\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed bug with transition and animation event detection.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.5.0 (October 16, 2013)\u003c/h2\u003e\u003ca id=\"user-content-050-october-16-2013\" class=\"anchor\" aria-label=\"Permalink: 0.5.0 (October 16, 2013)\" href=\"#050-october-16-2013\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-49\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-49\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eMemory usage improvements - reduced allocations in core which will help with GC pauses\u003c/li\u003e\n\u003cli\u003ePerformance improvements - in addition to speeding things up, we made some tweaks to stay out of slow path code in V8 and Nitro.\u003c/li\u003e\n\u003cli\u003eStandardized prop -\u0026gt; DOM attribute process. This previously resulting in additional type checking and overhead as well as confusing cases for users. Now we will always convert your value to a string before inserting it into the DOM.\u003c/li\u003e\n\u003cli\u003eSupport for Selection events.\u003c/li\u003e\n\u003cli\u003eSupport for \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/API/CompositionEvent\" rel=\"nofollow\"\u003eComposition events\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eSupport for additional DOM properties (\u003ccode\u003echarSet\u003c/code\u003e, \u003ccode\u003econtent\u003c/code\u003e, \u003ccode\u003eform\u003c/code\u003e, \u003ccode\u003ehttpEquiv\u003c/code\u003e, \u003ccode\u003erowSpan\u003c/code\u003e, \u003ccode\u003eautoCapitalize\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eSupport for additional SVG properties (\u003ccode\u003erx\u003c/code\u003e, \u003ccode\u003ery\u003c/code\u003e).\u003c/li\u003e\n\u003cli\u003eSupport for using \u003ccode\u003egetInitialState\u003c/code\u003e and \u003ccode\u003egetDefaultProps\u003c/code\u003e in mixins.\u003c/li\u003e\n\u003cli\u003eSupport mounting into iframes.\u003c/li\u003e\n\u003cli\u003eBug fixes for controlled form components.\u003c/li\u003e\n\u003cli\u003eBug fixes for SVG element creation.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReact.version\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eReact.isValidClass\u003c/code\u003e - Used to determine if a value is a valid component constructor.\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003eReact.autoBind\u003c/code\u003e - This was deprecated in v0.4 and now properly removed.\u003c/li\u003e\n\u003cli\u003eRenamed \u003ccode\u003eReact.unmountAndReleaseReactRootNode\u003c/code\u003e to \u003ccode\u003eReact.unmountComponentAtNode\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eBegan laying down work for refined performance analysis.\u003c/li\u003e\n\u003cli\u003eBetter support for server-side rendering - \u003ca href=\"https://github.com/facebook/react-page\"\u003ereact-page\u003c/a\u003e has helped improve the stability for server-side rendering.\u003c/li\u003e\n\u003cli\u003eMade it possible to use React in environments enforcing a strict \u003ca href=\"https://developer.mozilla.org/en-US/docs/Security/CSP/Introducing_Content_Security_Policy\" rel=\"nofollow\"\u003eContent Security Policy\u003c/a\u003e. This also makes it possible to use React to build Chrome extensions.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact with Addons (New!)\u003c/h3\u003e\u003ca id=\"user-content-react-with-addons-new\" class=\"anchor\" aria-label=\"Permalink: React with Addons (New!)\" href=\"#react-with-addons-new\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eIntroduced a separate build with several \"addons\" which we think can help improve the React experience. We plan to deprecate this in the long-term, instead shipping each as standalone pieces. \u003ca href=\"https://reactjs.org/docs/addons.html\" rel=\"nofollow\"\u003eRead more in the docs\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eJSX\u003c/h3\u003e\u003ca id=\"user-content-jsx-5\" class=\"anchor\" aria-label=\"Permalink: JSX\" href=\"#jsx-5\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eNo longer transform \u003ccode\u003eclass\u003c/code\u003e to \u003ccode\u003eclassName\u003c/code\u003e as part of the transform! This is a breaking change - if you were using \u003ccode\u003eclass\u003c/code\u003e, you \u003cem\u003emust\u003c/em\u003e change this to \u003ccode\u003eclassName\u003c/code\u003e or your components will be visually broken.\u003c/li\u003e\n\u003cli\u003eAdded warnings to the in-browser transformer to make it clear it is not intended for production use.\u003c/li\u003e\n\u003cli\u003eImproved compatibility for Windows\u003c/li\u003e\n\u003cli\u003eImproved support for maintaining line numbers when transforming.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.4.1 (July 26, 2013)\u003c/h2\u003e\u003ca id=\"user-content-041-july-26-2013\" class=\"anchor\" aria-label=\"Permalink: 0.4.1 (July 26, 2013)\" href=\"#041-july-26-2013\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-50\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-50\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003e\u003ccode\u003esetState\u003c/code\u003e callbacks are now executed in the scope of your component.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eclick\u003c/code\u003e events now work on Mobile Safari.\u003c/li\u003e\n\u003cli\u003ePrevent a potential error in event handling if \u003ccode\u003eObject.prototype\u003c/code\u003e is extended.\u003c/li\u003e\n\u003cli\u003eDon't set DOM attributes to the string \u003ccode\u003e\"undefined\"\u003c/code\u003e on update when previously defined.\u003c/li\u003e\n\u003cli\u003eImproved support for \u003ccode\u003e\u0026lt;iframe\u0026gt;\u003c/code\u003e attributes.\u003c/li\u003e\n\u003cli\u003eAdded checksums to detect and correct cases where server-side rendering markup mismatches what React expects client-side.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eJSXTransformer\u003c/h3\u003e\u003ca id=\"user-content-jsxtransformer-2\" class=\"anchor\" aria-label=\"Permalink: JSXTransformer\" href=\"#jsxtransformer-2\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImproved environment detection so it can be run in a non-browser environment.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.4.0 (July 17, 2013)\u003c/h2\u003e\u003ca id=\"user-content-040-july-17-2013\" class=\"anchor\" aria-label=\"Permalink: 0.4.0 (July 17, 2013)\" href=\"#040-july-17-2013\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-51\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-51\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSwitch from using \u003ccode\u003eid\u003c/code\u003e attribute to \u003ccode\u003edata-reactid\u003c/code\u003e to track DOM nodes. This allows you to integrate with other JS and CSS libraries more easily.\u003c/li\u003e\n\u003cli\u003eSupport for more DOM elements and attributes (e.g., \u003ccode\u003e\u0026lt;canvas\u0026gt;\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eImproved server-side rendering APIs. \u003ccode\u003eReact.renderComponentToString(\u0026lt;component\u0026gt;, callback)\u003c/code\u003e allows you to use React on the server and generate markup which can be sent down to the browser.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eprop\u003c/code\u003e improvements: validation and default values. \u003ca href=\"https://reactjs.org/blog/2013/07/11/react-v0-4-prop-validation-and-default-values.html\" rel=\"nofollow\"\u003eRead our blog post for details...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport for the \u003ccode\u003ekey\u003c/code\u003e prop, which allows for finer control over reconciliation. \u003ca href=\"https://reactjs.org/docs/multiple-components.html\" rel=\"nofollow\"\u003eRead the docs for details...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved \u003ccode\u003eReact.autoBind\u003c/code\u003e. \u003ca href=\"https://reactjs.org/blog/2013/07/02/react-v0-4-autobind-by-default.html\" rel=\"nofollow\"\u003eRead our blog post for details...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprovements to forms. We've written wrappers around \u003ccode\u003e\u0026lt;input\u0026gt;\u003c/code\u003e, \u003ccode\u003e\u0026lt;textarea\u0026gt;\u003c/code\u003e, \u003ccode\u003e\u0026lt;option\u0026gt;\u003c/code\u003e, and \u003ccode\u003e\u0026lt;select\u0026gt;\u003c/code\u003e in order to standardize many inconsistencies in browser implementations. This includes support for \u003ccode\u003edefaultValue\u003c/code\u003e, and improved implementation of the \u003ccode\u003eonChange\u003c/code\u003e event, and circuit completion. \u003ca href=\"https://reactjs.org/docs/forms.html\" rel=\"nofollow\"\u003eRead the docs for details...\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWe've implemented an improved synthetic event system that conforms to the W3C spec.\u003c/li\u003e\n\u003cli\u003eUpdates to your component are batched now, which may result in a significantly faster re-render of components. \u003ccode\u003ethis.setState\u003c/code\u003e now takes an optional callback as it's second parameter. If you were using \u003ccode\u003eonClick={this.setState.bind(this, state)}\u003c/code\u003e previously, you'll want to make sure you add a third parameter so that the event is not treated as the callback.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eJSX\u003c/h3\u003e\u003ca id=\"user-content-jsx-6\" class=\"anchor\" aria-label=\"Permalink: JSX\" href=\"#jsx-6\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSupport for comment nodes \u003ccode\u003e\u0026lt;div\u0026gt;{/* this is a comment and won't be rendered */}\u0026lt;/div\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eChildren are now transformed directly into arguments instead of being wrapped in an array\nE.g. \u003ccode\u003e\u0026lt;div\u0026gt;\u0026lt;Component1/\u0026gt;\u0026lt;Component2/\u0026gt;\u0026lt;/div\u0026gt;\u003c/code\u003e is transformed into \u003ccode\u003eReact.DOM.div(null, Component1(null), Component2(null))\u003c/code\u003e.\nPreviously this would be transformed into \u003ccode\u003eReact.DOM.div(null, [Component1(null), Component2(null)])\u003c/code\u003e.\nIf you were using React without JSX previously, your code should still work.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ereact-tools\u003c/h3\u003e\u003ca id=\"user-content-react-tools-8\" class=\"anchor\" aria-label=\"Permalink: react-tools\" href=\"#react-tools-8\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFixed a number of bugs when transforming directories\u003c/li\u003e\n\u003cli\u003eNo longer re-write \u003ccode\u003erequire()\u003c/code\u003es to be relative unless specified\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.3.3 (June 20, 2013)\u003c/h2\u003e\u003ca id=\"user-content-033-june-20-2013\" class=\"anchor\" aria-label=\"Permalink: 0.3.3 (June 20, 2013)\" href=\"#033-june-20-2013\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eReact\u003c/h3\u003e\u003ca id=\"user-content-react-52\" class=\"anchor\" aria-label=\"Permalink: React\" href=\"#react-52\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eAllow reusing the same DOM node to render different components. e.g. \u003ccode\u003eReact.renderComponent(\u0026lt;div/\u0026gt;, domNode); React.renderComponent(\u0026lt;span/\u0026gt;, domNode);\u003c/code\u003e will work now.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eJSX\u003c/h3\u003e\u003ca id=\"user-content-jsx-7\" class=\"anchor\" aria-label=\"Permalink: JSX\" href=\"#jsx-7\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImproved the in-browser transformer so that transformed scripts will execute in the expected scope. The allows components to be defined and used from separate files.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ereact-tools\u003c/h3\u003e\u003ca id=\"user-content-react-tools-9\" class=\"anchor\" aria-label=\"Permalink: react-tools\" href=\"#react-tools-9\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eUpgrade Commoner so \u003ccode\u003erequire\u003c/code\u003e statements are no longer relativized when passing through the transformer. This was a feature needed when building React, but doesn't translate well for other consumers of \u003ccode\u003ebin/jsx\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eUpgraded our dependencies on Commoner and Recast so they use a different directory for their cache.\u003c/li\u003e\n\u003cli\u003eFreeze our Esprima dependency.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.3.2 (May 31, 2013)\u003c/h2\u003e\u003ca id=\"user-content-032-may-31-2013\" class=\"anchor\" aria-label=\"Permalink: 0.3.2 (May 31, 2013)\" href=\"#032-may-31-2013\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eJSX\u003c/h3\u003e\u003ca id=\"user-content-jsx-8\" class=\"anchor\" aria-label=\"Permalink: JSX\" href=\"#jsx-8\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eImproved compatibility with other coding styles (specifically, multiple assignments with a single \u003ccode\u003evar\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ereact-tools\u003c/h3\u003e\u003ca id=\"user-content-react-tools-10\" class=\"anchor\" aria-label=\"Permalink: react-tools\" href=\"#react-tools-10\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eSwitch from using the browserified build to shipping individual modules. This allows react-tools to be used with \u003ca href=\"https://github.com/substack/node-browserify\"\u003ebrowserify\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.3.1 (May 30, 2013)\u003c/h2\u003e\u003ca id=\"user-content-031-may-30-2013\" class=\"anchor\" aria-label=\"Permalink: 0.3.1 (May 30, 2013)\" href=\"#031-may-30-2013\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch3 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003ereact-tools\u003c/h3\u003e\u003ca id=\"user-content-react-tools-11\" class=\"anchor\" aria-label=\"Permalink: react-tools\" href=\"#react-tools-11\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eFix bug in packaging resulting in broken module.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch2 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003e0.3.0 (May 29, 2013)\u003c/h2\u003e\u003ca id=\"user-content-030-may-29-2013\" class=\"anchor\" aria-label=\"Permalink: 0.3.0 (May 29, 2013)\" href=\"#030-may-29-2013\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cul dir=\"auto\"\u003e\n\u003cli\u003eInitial public release\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/article\u003e","renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":2,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":true,"not_analyzed":false,"symbols":[{"name":"19.0.0 (December 5, 2024)","kind":"section_2","ident_start":3,"ident_end":28,"extent_start":0,"extent_end":45384,"fully_qualified_name":"19.0.0 (December 5, 2024)","ident_utf16":{"start":{"line_number":0,"utf16_col":3},"end":{"line_number":0,"utf16_col":28}},"extent_utf16":{"start":{"line_number":0,"utf16_col":0},"end":{"line_number":272,"utf16_col":0}}},{"name":"New Features","kind":"section_3","ident_start":604,"ident_end":616,"extent_start":600,"extent_end":4996,"fully_qualified_name":"New Features","ident_utf16":{"start":{"line_number":6,"utf16_col":4},"end":{"line_number":6,"utf16_col":16}},"extent_utf16":{"start":{"line_number":6,"utf16_col":0},"end":{"line_number":35,"utf16_col":0}}},{"name":"React","kind":"section_4","ident_start":623,"ident_end":628,"extent_start":618,"extent_end":2600,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":8,"utf16_col":5},"end":{"line_number":8,"utf16_col":10}},"extent_utf16":{"start":{"line_number":8,"utf16_col":0},"end":{"line_number":17,"utf16_col":0}}},{"name":"React DOM Client","kind":"section_4","ident_start":2605,"ident_end":2621,"extent_start":2600,"extent_end":4139,"fully_qualified_name":"React DOM Client","ident_utf16":{"start":{"line_number":17,"utf16_col":5},"end":{"line_number":17,"utf16_col":21}},"extent_utf16":{"start":{"line_number":17,"utf16_col":0},"end":{"line_number":27,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_4","ident_start":4144,"ident_end":4160,"extent_start":4139,"extent_end":4409,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":27,"utf16_col":5},"end":{"line_number":27,"utf16_col":21}},"extent_utf16":{"start":{"line_number":27,"utf16_col":0},"end":{"line_number":31,"utf16_col":0}}},{"name":"React Server Components","kind":"section_4","ident_start":4414,"ident_end":4437,"extent_start":4409,"extent_end":4996,"fully_qualified_name":"React Server Components","ident_utf16":{"start":{"line_number":31,"utf16_col":5},"end":{"line_number":31,"utf16_col":28}},"extent_utf16":{"start":{"line_number":31,"utf16_col":0},"end":{"line_number":35,"utf16_col":0}}},{"name":"Deprecations","kind":"section_3","ident_start":5000,"ident_end":5012,"extent_start":4996,"extent_end":5563,"fully_qualified_name":"Deprecations","ident_utf16":{"start":{"line_number":35,"utf16_col":4},"end":{"line_number":35,"utf16_col":16}},"extent_utf16":{"start":{"line_number":35,"utf16_col":0},"end":{"line_number":40,"utf16_col":0}}},{"name":"Breaking Changes","kind":"section_3","ident_start":5567,"ident_end":5583,"extent_start":5563,"extent_end":5913,"fully_qualified_name":"Breaking Changes","ident_utf16":{"start":{"line_number":40,"utf16_col":4},"end":{"line_number":40,"utf16_col":20}},"extent_utf16":{"start":{"line_number":40,"utf16_col":0},"end":{"line_number":44,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":5917,"ident_end":5922,"extent_start":5913,"extent_end":8370,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":44,"utf16_col":4},"end":{"line_number":44,"utf16_col":9}},"extent_utf16":{"start":{"line_number":44,"utf16_col":0},"end":{"line_number":63,"utf16_col":0}}},{"name":"React DOM","kind":"section_4","ident_start":7881,"ident_end":7890,"extent_start":7876,"extent_end":8370,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":56,"utf16_col":5},"end":{"line_number":56,"utf16_col":14}},"extent_utf16":{"start":{"line_number":56,"utf16_col":0},"end":{"line_number":63,"utf16_col":0}}},{"name":"Notable Changes","kind":"section_3","ident_start":8374,"ident_end":8389,"extent_start":8370,"extent_end":9684,"fully_qualified_name":"Notable Changes","ident_utf16":{"start":{"line_number":63,"utf16_col":4},"end":{"line_number":63,"utf16_col":19}},"extent_utf16":{"start":{"line_number":63,"utf16_col":0},"end":{"line_number":79,"utf16_col":0}}},{"name":"React","kind":"section_4","ident_start":8396,"ident_end":8401,"extent_start":8391,"extent_end":9362,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":65,"utf16_col":5},"end":{"line_number":65,"utf16_col":10}},"extent_utf16":{"start":{"line_number":65,"utf16_col":0},"end":{"line_number":74,"utf16_col":0}}},{"name":"React DOM","kind":"section_4","ident_start":9367,"ident_end":9376,"extent_start":9362,"extent_end":9684,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":74,"utf16_col":5},"end":{"line_number":74,"utf16_col":14}},"extent_utf16":{"start":{"line_number":74,"utf16_col":0},"end":{"line_number":79,"utf16_col":0}}},{"name":"TypeScript Changes","kind":"section_3","ident_start":9688,"ident_end":9706,"extent_start":9684,"extent_end":11856,"fully_qualified_name":"TypeScript Changes","ident_utf16":{"start":{"line_number":79,"utf16_col":4},"end":{"line_number":79,"utf16_col":22}},"extent_utf16":{"start":{"line_number":79,"utf16_col":0},"end":{"line_number":109,"utf16_col":0}}},{"name":"All Changes","kind":"section_3","ident_start":11860,"ident_end":11871,"extent_start":11856,"extent_end":45384,"fully_qualified_name":"All Changes","ident_utf16":{"start":{"line_number":109,"utf16_col":4},"end":{"line_number":109,"utf16_col":15}},"extent_utf16":{"start":{"line_number":109,"utf16_col":0},"end":{"line_number":272,"utf16_col":0}}},{"name":"React","kind":"section_4","ident_start":11878,"ident_end":11883,"extent_start":11873,"extent_end":25226,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":111,"utf16_col":5},"end":{"line_number":111,"utf16_col":10}},"extent_utf16":{"start":{"line_number":111,"utf16_col":0},"end":{"line_number":166,"utf16_col":0}}},{"name":"React DOM","kind":"section_4","ident_start":25231,"ident_end":25240,"extent_start":25226,"extent_end":34550,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":166,"utf16_col":5},"end":{"line_number":166,"utf16_col":14}},"extent_utf16":{"start":{"line_number":166,"utf16_col":0},"end":{"line_number":196,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_4","ident_start":34555,"ident_end":34571,"extent_start":34550,"extent_end":43632,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":196,"utf16_col":5},"end":{"line_number":196,"utf16_col":21}},"extent_utf16":{"start":{"line_number":196,"utf16_col":0},"end":{"line_number":251,"utf16_col":0}}},{"name":"ReactTestRenderer","kind":"section_4","ident_start":43637,"ident_end":43654,"extent_start":43632,"extent_end":44313,"fully_qualified_name":"ReactTestRenderer","ident_utf16":{"start":{"line_number":251,"utf16_col":5},"end":{"line_number":251,"utf16_col":22}},"extent_utf16":{"start":{"line_number":251,"utf16_col":0},"end":{"line_number":257,"utf16_col":0}}},{"name":"React Reconciler","kind":"section_4","ident_start":44318,"ident_end":44334,"extent_start":44313,"extent_end":44786,"fully_qualified_name":"React Reconciler","ident_utf16":{"start":{"line_number":257,"utf16_col":5},"end":{"line_number":257,"utf16_col":21}},"extent_utf16":{"start":{"line_number":257,"utf16_col":0},"end":{"line_number":262,"utf16_col":0}}},{"name":"React-Is","kind":"section_4","ident_start":44791,"ident_end":44799,"extent_start":44786,"extent_end":45058,"fully_qualified_name":"React-Is","ident_utf16":{"start":{"line_number":262,"utf16_col":5},"end":{"line_number":262,"utf16_col":13}},"extent_utf16":{"start":{"line_number":262,"utf16_col":0},"end":{"line_number":267,"utf16_col":0}}},{"name":"useSyncExternalStore","kind":"section_4","ident_start":45063,"ident_end":45083,"extent_start":45058,"extent_end":45384,"fully_qualified_name":"useSyncExternalStore","ident_utf16":{"start":{"line_number":267,"utf16_col":5},"end":{"line_number":267,"utf16_col":25}},"extent_utf16":{"start":{"line_number":267,"utf16_col":0},"end":{"line_number":272,"utf16_col":0}}},{"name":"18.3.1 (April 26, 2024)","kind":"section_2","ident_start":45387,"ident_end":45410,"extent_start":45384,"extent_end":45533,"fully_qualified_name":"18.3.1 (April 26, 2024)","ident_utf16":{"start":{"line_number":272,"utf16_col":3},"end":{"line_number":272,"utf16_col":26}},"extent_utf16":{"start":{"line_number":272,"utf16_col":0},"end":{"line_number":276,"utf16_col":0}}},{"name":"18.3.0 (April 25, 2024)","kind":"section_2","ident_start":45536,"ident_end":45559,"extent_start":45533,"extent_end":47084,"fully_qualified_name":"18.3.0 (April 25, 2024)","ident_utf16":{"start":{"line_number":276,"utf16_col":3},"end":{"line_number":276,"utf16_col":26}},"extent_utf16":{"start":{"line_number":276,"utf16_col":0},"end":{"line_number":297,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":45794,"ident_end":45799,"extent_start":45790,"extent_end":46826,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":282,"utf16_col":4},"end":{"line_number":282,"utf16_col":9}},"extent_utf16":{"start":{"line_number":282,"utf16_col":0},"end":{"line_number":293,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":46830,"ident_end":46839,"extent_start":46826,"extent_end":47084,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":293,"utf16_col":4},"end":{"line_number":293,"utf16_col":13}},"extent_utf16":{"start":{"line_number":293,"utf16_col":0},"end":{"line_number":297,"utf16_col":0}}},{"name":"18.2.0 (June 14, 2022)","kind":"section_2","ident_start":47087,"ident_end":47109,"extent_start":47084,"extent_end":49018,"fully_qualified_name":"18.2.0 (June 14, 2022)","ident_utf16":{"start":{"line_number":297,"utf16_col":3},"end":{"line_number":297,"utf16_col":25}},"extent_utf16":{"start":{"line_number":297,"utf16_col":0},"end":{"line_number":318,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":47115,"ident_end":47124,"extent_start":47111,"extent_end":47864,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":299,"utf16_col":4},"end":{"line_number":299,"utf16_col":13}},"extent_utf16":{"start":{"line_number":299,"utf16_col":0},"end":{"line_number":306,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":47868,"ident_end":47884,"extent_start":47864,"extent_end":48830,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":306,"utf16_col":4},"end":{"line_number":306,"utf16_col":20}},"extent_utf16":{"start":{"line_number":306,"utf16_col":0},"end":{"line_number":314,"utf16_col":0}}},{"name":"Server Components (Experimental)","kind":"section_3","ident_start":48834,"ident_end":48866,"extent_start":48830,"extent_end":49018,"fully_qualified_name":"Server Components (Experimental)","ident_utf16":{"start":{"line_number":314,"utf16_col":4},"end":{"line_number":314,"utf16_col":36}},"extent_utf16":{"start":{"line_number":314,"utf16_col":0},"end":{"line_number":318,"utf16_col":0}}},{"name":"18.1.0 (April 26, 2022)","kind":"section_2","ident_start":49021,"ident_end":49044,"extent_start":49018,"extent_end":51791,"fully_qualified_name":"18.1.0 (April 26, 2022)","ident_utf16":{"start":{"line_number":318,"utf16_col":3},"end":{"line_number":318,"utf16_col":26}},"extent_utf16":{"start":{"line_number":318,"utf16_col":0},"end":{"line_number":348,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":49050,"ident_end":49059,"extent_start":49046,"extent_end":50885,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":320,"utf16_col":4},"end":{"line_number":320,"utf16_col":13}},"extent_utf16":{"start":{"line_number":320,"utf16_col":0},"end":{"line_number":334,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":50889,"ident_end":50905,"extent_start":50885,"extent_end":51221,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":334,"utf16_col":4},"end":{"line_number":334,"utf16_col":20}},"extent_utf16":{"start":{"line_number":334,"utf16_col":0},"end":{"line_number":339,"utf16_col":0}}},{"name":"ESLint Plugin: React Hooks","kind":"section_3","ident_start":51225,"ident_end":51251,"extent_start":51221,"extent_end":51599,"fully_qualified_name":"ESLint Plugin: React Hooks","ident_utf16":{"start":{"line_number":339,"utf16_col":4},"end":{"line_number":339,"utf16_col":30}},"extent_utf16":{"start":{"line_number":339,"utf16_col":0},"end":{"line_number":344,"utf16_col":0}}},{"name":"Use Subscription","kind":"section_3","ident_start":51603,"ident_end":51619,"extent_start":51599,"extent_end":51791,"fully_qualified_name":"Use Subscription","ident_utf16":{"start":{"line_number":344,"utf16_col":4},"end":{"line_number":344,"utf16_col":20}},"extent_utf16":{"start":{"line_number":344,"utf16_col":0},"end":{"line_number":348,"utf16_col":0}}},{"name":"18.0.0 (March 29, 2022)","kind":"section_2","ident_start":51794,"ident_end":51817,"extent_start":51791,"extent_end":55191,"fully_qualified_name":"18.0.0 (March 29, 2022)","ident_utf16":{"start":{"line_number":348,"utf16_col":3},"end":{"line_number":348,"utf16_col":26}},"extent_utf16":{"start":{"line_number":348,"utf16_col":0},"end":{"line_number":381,"utf16_col":0}}},{"name":"New Features","kind":"section_3","ident_start":52100,"ident_end":52112,"extent_start":52096,"extent_end":52114,"fully_qualified_name":"New Features","ident_utf16":{"start":{"line_number":353,"utf16_col":4},"end":{"line_number":353,"utf16_col":16}},"extent_utf16":{"start":{"line_number":353,"utf16_col":0},"end":{"line_number":355,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":52118,"ident_end":52123,"extent_start":52114,"extent_end":54030,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":355,"utf16_col":4},"end":{"line_number":355,"utf16_col":9}},"extent_utf16":{"start":{"line_number":355,"utf16_col":0},"end":{"line_number":363,"utf16_col":0}}},{"name":"React DOM Client","kind":"section_3","ident_start":54034,"ident_end":54050,"extent_start":54030,"extent_end":54812,"fully_qualified_name":"React DOM Client","ident_utf16":{"start":{"line_number":363,"utf16_col":4},"end":{"line_number":363,"utf16_col":20}},"extent_utf16":{"start":{"line_number":363,"utf16_col":0},"end":{"line_number":372,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":54816,"ident_end":54832,"extent_start":54812,"extent_end":55191,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":372,"utf16_col":4},"end":{"line_number":372,"utf16_col":20}},"extent_utf16":{"start":{"line_number":372,"utf16_col":0},"end":{"line_number":381,"utf16_col":0}}},{"name":"Deprecations","kind":"section_2","ident_start":55194,"ident_end":55206,"extent_start":55191,"extent_end":55649,"fully_qualified_name":"Deprecations","ident_utf16":{"start":{"line_number":381,"utf16_col":3},"end":{"line_number":381,"utf16_col":15}},"extent_utf16":{"start":{"line_number":381,"utf16_col":0},"end":{"line_number":389,"utf16_col":0}}},{"name":"Breaking Changes","kind":"section_2","ident_start":55652,"ident_end":55668,"extent_start":55649,"extent_end":58490,"fully_qualified_name":"Breaking Changes","ident_utf16":{"start":{"line_number":389,"utf16_col":3},"end":{"line_number":389,"utf16_col":19}},"extent_utf16":{"start":{"line_number":389,"utf16_col":0},"end":{"line_number":405,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":55674,"ident_end":55679,"extent_start":55670,"extent_end":58417,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":391,"utf16_col":4},"end":{"line_number":391,"utf16_col":9}},"extent_utf16":{"start":{"line_number":391,"utf16_col":0},"end":{"line_number":401,"utf16_col":0}}},{"name":"Scheduler (Experimental)","kind":"section_3","ident_start":58421,"ident_end":58445,"extent_start":58417,"extent_end":58490,"fully_qualified_name":"Scheduler (Experimental)","ident_utf16":{"start":{"line_number":401,"utf16_col":4},"end":{"line_number":401,"utf16_col":28}},"extent_utf16":{"start":{"line_number":401,"utf16_col":0},"end":{"line_number":405,"utf16_col":0}}},{"name":"Notable Changes","kind":"section_2","ident_start":58493,"ident_end":58508,"extent_start":58490,"extent_end":60823,"fully_qualified_name":"Notable Changes","ident_utf16":{"start":{"line_number":405,"utf16_col":3},"end":{"line_number":405,"utf16_col":18}},"extent_utf16":{"start":{"line_number":405,"utf16_col":0},"end":{"line_number":420,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":58514,"ident_end":58519,"extent_start":58510,"extent_end":60268,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":407,"utf16_col":4},"end":{"line_number":407,"utf16_col":9}},"extent_utf16":{"start":{"line_number":407,"utf16_col":0},"end":{"line_number":415,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":60272,"ident_end":60288,"extent_start":60268,"extent_end":60823,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":415,"utf16_col":4},"end":{"line_number":415,"utf16_col":20}},"extent_utf16":{"start":{"line_number":415,"utf16_col":0},"end":{"line_number":420,"utf16_col":0}}},{"name":"All Changes","kind":"section_2","ident_start":60826,"ident_end":60837,"extent_start":60823,"extent_end":60839,"fully_qualified_name":"All Changes","ident_utf16":{"start":{"line_number":420,"utf16_col":3},"end":{"line_number":420,"utf16_col":14}},"extent_utf16":{"start":{"line_number":420,"utf16_col":0},"end":{"line_number":422,"utf16_col":0}}},{"name":"React","kind":"section_2","ident_start":60842,"ident_end":60847,"extent_start":60839,"extent_end":74271,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":422,"utf16_col":3},"end":{"line_number":422,"utf16_col":8}},"extent_utf16":{"start":{"line_number":422,"utf16_col":0},"end":{"line_number":500,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":67587,"ident_end":67596,"extent_start":67583,"extent_end":70587,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":454,"utf16_col":4},"end":{"line_number":454,"utf16_col":13}},"extent_utf16":{"start":{"line_number":454,"utf16_col":0},"end":{"line_number":465,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":70591,"ident_end":70607,"extent_start":70587,"extent_end":72290,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":465,"utf16_col":4},"end":{"line_number":465,"utf16_col":20}},"extent_utf16":{"start":{"line_number":465,"utf16_col":0},"end":{"line_number":475,"utf16_col":0}}},{"name":"React DOM Test Utils","kind":"section_3","ident_start":72294,"ident_end":72314,"extent_start":72290,"extent_end":73082,"fully_qualified_name":"React DOM Test Utils","ident_utf16":{"start":{"line_number":475,"utf16_col":4},"end":{"line_number":475,"utf16_col":24}},"extent_utf16":{"start":{"line_number":475,"utf16_col":0},"end":{"line_number":483,"utf16_col":0}}},{"name":"React Refresh","kind":"section_3","ident_start":73086,"ident_end":73099,"extent_start":73082,"extent_end":73385,"fully_qualified_name":"React Refresh","ident_utf16":{"start":{"line_number":483,"utf16_col":4},"end":{"line_number":483,"utf16_col":17}},"extent_utf16":{"start":{"line_number":483,"utf16_col":0},"end":{"line_number":488,"utf16_col":0}}},{"name":"Server Components (Experimental)","kind":"section_3","ident_start":73389,"ident_end":73421,"extent_start":73385,"extent_end":74099,"fully_qualified_name":"Server Components (Experimental)","ident_utf16":{"start":{"line_number":488,"utf16_col":4},"end":{"line_number":488,"utf16_col":36}},"extent_utf16":{"start":{"line_number":488,"utf16_col":0},"end":{"line_number":496,"utf16_col":0}}},{"name":"Scheduler (Experimental)","kind":"section_3","ident_start":74103,"ident_end":74127,"extent_start":74099,"extent_end":74271,"fully_qualified_name":"Scheduler (Experimental)","ident_utf16":{"start":{"line_number":496,"utf16_col":4},"end":{"line_number":496,"utf16_col":28}},"extent_utf16":{"start":{"line_number":496,"utf16_col":0},"end":{"line_number":500,"utf16_col":0}}},{"name":"17.0.2 (March 22, 2021)","kind":"section_2","ident_start":74274,"ident_end":74297,"extent_start":74271,"extent_end":74735,"fully_qualified_name":"17.0.2 (March 22, 2021)","ident_utf16":{"start":{"line_number":500,"utf16_col":3},"end":{"line_number":500,"utf16_col":26}},"extent_utf16":{"start":{"line_number":500,"utf16_col":0},"end":{"line_number":506,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":74303,"ident_end":74312,"extent_start":74299,"extent_end":74735,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":502,"utf16_col":4},"end":{"line_number":502,"utf16_col":13}},"extent_utf16":{"start":{"line_number":502,"utf16_col":0},"end":{"line_number":506,"utf16_col":0}}},{"name":"17.0.1 (October 22, 2020)","kind":"section_2","ident_start":74738,"ident_end":74763,"extent_start":74735,"extent_end":74903,"fully_qualified_name":"17.0.1 (October 22, 2020)","ident_utf16":{"start":{"line_number":506,"utf16_col":3},"end":{"line_number":506,"utf16_col":28}},"extent_utf16":{"start":{"line_number":506,"utf16_col":0},"end":{"line_number":512,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":74769,"ident_end":74778,"extent_start":74765,"extent_end":74903,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":508,"utf16_col":4},"end":{"line_number":508,"utf16_col":13}},"extent_utf16":{"start":{"line_number":508,"utf16_col":0},"end":{"line_number":512,"utf16_col":0}}},{"name":"17.0.0 (October 20, 2020)","kind":"section_2","ident_start":74906,"ident_end":74931,"extent_start":74903,"extent_end":86352,"fully_qualified_name":"17.0.0 (October 20, 2020)","ident_utf16":{"start":{"line_number":512,"utf16_col":3},"end":{"line_number":512,"utf16_col":28}},"extent_utf16":{"start":{"line_number":512,"utf16_col":0},"end":{"line_number":601,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":75109,"ident_end":75114,"extent_start":75105,"extent_end":76016,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":518,"utf16_col":4},"end":{"line_number":518,"utf16_col":9}},"extent_utf16":{"start":{"line_number":518,"utf16_col":0},"end":{"line_number":526,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":76020,"ident_end":76029,"extent_start":76016,"extent_end":82013,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":526,"utf16_col":4},"end":{"line_number":526,"utf16_col":13}},"extent_utf16":{"start":{"line_number":526,"utf16_col":0},"end":{"line_number":566,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":82017,"ident_end":82033,"extent_start":82013,"extent_end":82381,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":566,"utf16_col":4},"end":{"line_number":566,"utf16_col":20}},"extent_utf16":{"start":{"line_number":566,"utf16_col":0},"end":{"line_number":571,"utf16_col":0}}},{"name":"React Test Renderer","kind":"section_3","ident_start":82385,"ident_end":82404,"extent_start":82381,"extent_end":82554,"fully_qualified_name":"React Test Renderer","ident_utf16":{"start":{"line_number":571,"utf16_col":4},"end":{"line_number":571,"utf16_col":23}},"extent_utf16":{"start":{"line_number":571,"utf16_col":0},"end":{"line_number":575,"utf16_col":0}}},{"name":"Concurrent Mode (Experimental)","kind":"section_3","ident_start":82558,"ident_end":82588,"extent_start":82554,"extent_end":86352,"fully_qualified_name":"Concurrent Mode (Experimental)","ident_utf16":{"start":{"line_number":575,"utf16_col":4},"end":{"line_number":575,"utf16_col":34}},"extent_utf16":{"start":{"line_number":575,"utf16_col":0},"end":{"line_number":601,"utf16_col":0}}},{"name":"16.14.0 (October 14, 2020)","kind":"section_2","ident_start":86355,"ident_end":86381,"extent_start":86352,"extent_end":86615,"fully_qualified_name":"16.14.0 (October 14, 2020)","ident_utf16":{"start":{"line_number":601,"utf16_col":3},"end":{"line_number":601,"utf16_col":29}},"extent_utf16":{"start":{"line_number":601,"utf16_col":0},"end":{"line_number":607,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":86387,"ident_end":86392,"extent_start":86383,"extent_end":86615,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":603,"utf16_col":4},"end":{"line_number":603,"utf16_col":9}},"extent_utf16":{"start":{"line_number":603,"utf16_col":0},"end":{"line_number":607,"utf16_col":0}}},{"name":"16.13.1 (March 19, 2020)","kind":"section_2","ident_start":86618,"ident_end":86642,"extent_start":86615,"extent_end":87205,"fully_qualified_name":"16.13.1 (March 19, 2020)","ident_utf16":{"start":{"line_number":607,"utf16_col":3},"end":{"line_number":607,"utf16_col":27}},"extent_utf16":{"start":{"line_number":607,"utf16_col":0},"end":{"line_number":614,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":86648,"ident_end":86657,"extent_start":86644,"extent_end":87205,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":609,"utf16_col":4},"end":{"line_number":609,"utf16_col":13}},"extent_utf16":{"start":{"line_number":609,"utf16_col":0},"end":{"line_number":614,"utf16_col":0}}},{"name":"16.13.0 (February 26, 2020)","kind":"section_2","ident_start":87208,"ident_end":87235,"extent_start":87205,"extent_end":90634,"fully_qualified_name":"16.13.0 (February 26, 2020)","ident_utf16":{"start":{"line_number":614,"utf16_col":3},"end":{"line_number":614,"utf16_col":30}},"extent_utf16":{"start":{"line_number":614,"utf16_col":0},"end":{"line_number":644,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":87241,"ident_end":87246,"extent_start":87237,"extent_end":87570,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":616,"utf16_col":4},"end":{"line_number":616,"utf16_col":9}},"extent_utf16":{"start":{"line_number":616,"utf16_col":0},"end":{"line_number":621,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":87574,"ident_end":87583,"extent_start":87570,"extent_end":88946,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":621,"utf16_col":4},"end":{"line_number":621,"utf16_col":13}},"extent_utf16":{"start":{"line_number":621,"utf16_col":0},"end":{"line_number":632,"utf16_col":0}}},{"name":"Concurrent Mode (Experimental)","kind":"section_3","ident_start":88950,"ident_end":88980,"extent_start":88946,"extent_end":90634,"fully_qualified_name":"Concurrent Mode (Experimental)","ident_utf16":{"start":{"line_number":632,"utf16_col":4},"end":{"line_number":632,"utf16_col":34}},"extent_utf16":{"start":{"line_number":632,"utf16_col":0},"end":{"line_number":644,"utf16_col":0}}},{"name":"16.12.0 (November 14, 2019)","kind":"section_2","ident_start":90637,"ident_end":90664,"extent_start":90634,"extent_end":91040,"fully_qualified_name":"16.12.0 (November 14, 2019)","ident_utf16":{"start":{"line_number":644,"utf16_col":3},"end":{"line_number":644,"utf16_col":30}},"extent_utf16":{"start":{"line_number":644,"utf16_col":0},"end":{"line_number":654,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":90670,"ident_end":90679,"extent_start":90666,"extent_end":90854,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":646,"utf16_col":4},"end":{"line_number":646,"utf16_col":13}},"extent_utf16":{"start":{"line_number":646,"utf16_col":0},"end":{"line_number":650,"utf16_col":0}}},{"name":"React Is","kind":"section_3","ident_start":90858,"ident_end":90866,"extent_start":90854,"extent_end":91040,"fully_qualified_name":"React Is","ident_utf16":{"start":{"line_number":650,"utf16_col":4},"end":{"line_number":650,"utf16_col":12}},"extent_utf16":{"start":{"line_number":650,"utf16_col":0},"end":{"line_number":654,"utf16_col":0}}},{"name":"16.11.0 (October 22, 2019)","kind":"section_2","ident_start":91043,"ident_end":91069,"extent_start":91040,"extent_end":91530,"fully_qualified_name":"16.11.0 (October 22, 2019)","ident_utf16":{"start":{"line_number":654,"utf16_col":3},"end":{"line_number":654,"utf16_col":29}},"extent_utf16":{"start":{"line_number":654,"utf16_col":0},"end":{"line_number":661,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":91075,"ident_end":91084,"extent_start":91071,"extent_end":91530,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":656,"utf16_col":4},"end":{"line_number":656,"utf16_col":13}},"extent_utf16":{"start":{"line_number":656,"utf16_col":0},"end":{"line_number":661,"utf16_col":0}}},{"name":"16.10.2 (October 3, 2019)","kind":"section_2","ident_start":91533,"ident_end":91558,"extent_start":91530,"extent_end":91771,"fully_qualified_name":"16.10.2 (October 3, 2019)","ident_utf16":{"start":{"line_number":661,"utf16_col":3},"end":{"line_number":661,"utf16_col":28}},"extent_utf16":{"start":{"line_number":661,"utf16_col":0},"end":{"line_number":667,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":91564,"ident_end":91573,"extent_start":91560,"extent_end":91771,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":663,"utf16_col":4},"end":{"line_number":663,"utf16_col":13}},"extent_utf16":{"start":{"line_number":663,"utf16_col":0},"end":{"line_number":667,"utf16_col":0}}},{"name":"16.10.1 (September 28, 2019)","kind":"section_2","ident_start":91774,"ident_end":91802,"extent_start":91771,"extent_end":92027,"fully_qualified_name":"16.10.1 (September 28, 2019)","ident_utf16":{"start":{"line_number":667,"utf16_col":3},"end":{"line_number":667,"utf16_col":31}},"extent_utf16":{"start":{"line_number":667,"utf16_col":0},"end":{"line_number":673,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":91808,"ident_end":91817,"extent_start":91804,"extent_end":92027,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":669,"utf16_col":4},"end":{"line_number":669,"utf16_col":13}},"extent_utf16":{"start":{"line_number":669,"utf16_col":0},"end":{"line_number":673,"utf16_col":0}}},{"name":"16.10.0 (September 27, 2019)","kind":"section_2","ident_start":92030,"ident_end":92058,"extent_start":92027,"extent_end":93719,"fully_qualified_name":"16.10.0 (September 27, 2019)","ident_utf16":{"start":{"line_number":673,"utf16_col":3},"end":{"line_number":673,"utf16_col":31}},"extent_utf16":{"start":{"line_number":673,"utf16_col":0},"end":{"line_number":694,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":92064,"ident_end":92073,"extent_start":92060,"extent_end":93062,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":675,"utf16_col":4},"end":{"line_number":675,"utf16_col":13}},"extent_utf16":{"start":{"line_number":675,"utf16_col":0},"end":{"line_number":685,"utf16_col":0}}},{"name":"Scheduler (Experimental)","kind":"section_3","ident_start":93066,"ident_end":93090,"extent_start":93062,"extent_end":93507,"fully_qualified_name":"Scheduler (Experimental)","ident_utf16":{"start":{"line_number":685,"utf16_col":4},"end":{"line_number":685,"utf16_col":28}},"extent_utf16":{"start":{"line_number":685,"utf16_col":0},"end":{"line_number":690,"utf16_col":0}}},{"name":"useSubscription","kind":"section_3","ident_start":93511,"ident_end":93526,"extent_start":93507,"extent_end":93719,"fully_qualified_name":"useSubscription","ident_utf16":{"start":{"line_number":690,"utf16_col":4},"end":{"line_number":690,"utf16_col":19}},"extent_utf16":{"start":{"line_number":690,"utf16_col":0},"end":{"line_number":694,"utf16_col":0}}},{"name":"16.9.0 (August 8, 2019)","kind":"section_2","ident_start":93722,"ident_end":93745,"extent_start":93719,"extent_end":97728,"fully_qualified_name":"16.9.0 (August 8, 2019)","ident_utf16":{"start":{"line_number":694,"utf16_col":3},"end":{"line_number":694,"utf16_col":26}},"extent_utf16":{"start":{"line_number":694,"utf16_col":0},"end":{"line_number":733,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":93751,"ident_end":93756,"extent_start":93747,"extent_end":94113,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":696,"utf16_col":4},"end":{"line_number":696,"utf16_col":9}},"extent_utf16":{"start":{"line_number":696,"utf16_col":0},"end":{"line_number":701,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":94117,"ident_end":94126,"extent_start":94113,"extent_end":96505,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":701,"utf16_col":4},"end":{"line_number":701,"utf16_col":13}},"extent_utf16":{"start":{"line_number":701,"utf16_col":0},"end":{"line_number":718,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":96509,"ident_end":96525,"extent_start":96505,"extent_end":96689,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":718,"utf16_col":4},"end":{"line_number":718,"utf16_col":20}},"extent_utf16":{"start":{"line_number":718,"utf16_col":0},"end":{"line_number":722,"utf16_col":0}}},{"name":"React Test Utilities and Test Renderer","kind":"section_3","ident_start":96693,"ident_end":96731,"extent_start":96689,"extent_end":97544,"fully_qualified_name":"React Test Utilities and Test Renderer","ident_utf16":{"start":{"line_number":722,"utf16_col":4},"end":{"line_number":722,"utf16_col":42}},"extent_utf16":{"start":{"line_number":722,"utf16_col":0},"end":{"line_number":729,"utf16_col":0}}},{"name":"ESLint Plugin: React Hooks","kind":"section_3","ident_start":97548,"ident_end":97574,"extent_start":97544,"extent_end":97728,"fully_qualified_name":"ESLint Plugin: React Hooks","ident_utf16":{"start":{"line_number":729,"utf16_col":4},"end":{"line_number":729,"utf16_col":30}},"extent_utf16":{"start":{"line_number":729,"utf16_col":0},"end":{"line_number":733,"utf16_col":0}}},{"name":"16.8.6 (March 27, 2019)","kind":"section_2","ident_start":97731,"ident_end":97754,"extent_start":97728,"extent_end":98391,"fully_qualified_name":"16.8.6 (March 27, 2019)","ident_utf16":{"start":{"line_number":733,"utf16_col":3},"end":{"line_number":733,"utf16_col":26}},"extent_utf16":{"start":{"line_number":733,"utf16_col":0},"end":{"line_number":742,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":97760,"ident_end":97769,"extent_start":97756,"extent_end":98391,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":735,"utf16_col":4},"end":{"line_number":735,"utf16_col":13}},"extent_utf16":{"start":{"line_number":735,"utf16_col":0},"end":{"line_number":742,"utf16_col":0}}},{"name":"16.8.5 (March 22, 2019)","kind":"section_2","ident_start":98394,"ident_end":98417,"extent_start":98391,"extent_end":99624,"fully_qualified_name":"16.8.5 (March 22, 2019)","ident_utf16":{"start":{"line_number":742,"utf16_col":3},"end":{"line_number":742,"utf16_col":26}},"extent_utf16":{"start":{"line_number":742,"utf16_col":0},"end":{"line_number":760,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":98423,"ident_end":98432,"extent_start":98419,"extent_end":98941,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":744,"utf16_col":4},"end":{"line_number":744,"utf16_col":13}},"extent_utf16":{"start":{"line_number":744,"utf16_col":0},"end":{"line_number":750,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":98945,"ident_end":98961,"extent_start":98941,"extent_end":99134,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":750,"utf16_col":4},"end":{"line_number":750,"utf16_col":20}},"extent_utf16":{"start":{"line_number":750,"utf16_col":0},"end":{"line_number":754,"utf16_col":0}}},{"name":"React Shallow Renderer","kind":"section_3","ident_start":99138,"ident_end":99160,"extent_start":99134,"extent_end":99624,"fully_qualified_name":"React Shallow Renderer","ident_utf16":{"start":{"line_number":754,"utf16_col":4},"end":{"line_number":754,"utf16_col":26}},"extent_utf16":{"start":{"line_number":754,"utf16_col":0},"end":{"line_number":760,"utf16_col":0}}},{"name":"16.8.4 (March 5, 2019)","kind":"section_2","ident_start":99627,"ident_end":99649,"extent_start":99624,"extent_end":99895,"fully_qualified_name":"16.8.4 (March 5, 2019)","ident_utf16":{"start":{"line_number":760,"utf16_col":3},"end":{"line_number":760,"utf16_col":25}},"extent_utf16":{"start":{"line_number":760,"utf16_col":0},"end":{"line_number":766,"utf16_col":0}}},{"name":"React DOM and other renderers","kind":"section_3","ident_start":99655,"ident_end":99684,"extent_start":99651,"extent_end":99895,"fully_qualified_name":"React DOM and other renderers","ident_utf16":{"start":{"line_number":762,"utf16_col":4},"end":{"line_number":762,"utf16_col":33}},"extent_utf16":{"start":{"line_number":762,"utf16_col":0},"end":{"line_number":766,"utf16_col":0}}},{"name":"16.8.3 (February 21, 2019)","kind":"section_2","ident_start":99898,"ident_end":99924,"extent_start":99895,"extent_end":100717,"fully_qualified_name":"16.8.3 (February 21, 2019)","ident_utf16":{"start":{"line_number":766,"utf16_col":3},"end":{"line_number":766,"utf16_col":29}},"extent_utf16":{"start":{"line_number":766,"utf16_col":0},"end":{"line_number":780,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":99930,"ident_end":99939,"extent_start":99926,"extent_end":100270,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":768,"utf16_col":4},"end":{"line_number":768,"utf16_col":13}},"extent_utf16":{"start":{"line_number":768,"utf16_col":0},"end":{"line_number":773,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":100274,"ident_end":100290,"extent_start":100270,"extent_end":100534,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":773,"utf16_col":4},"end":{"line_number":773,"utf16_col":20}},"extent_utf16":{"start":{"line_number":773,"utf16_col":0},"end":{"line_number":776,"utf16_col":0}}},{"name":"ESLint Plugin for React Hooks","kind":"section_3","ident_start":100538,"ident_end":100567,"extent_start":100534,"extent_end":100717,"fully_qualified_name":"ESLint Plugin for React Hooks","ident_utf16":{"start":{"line_number":776,"utf16_col":4},"end":{"line_number":776,"utf16_col":33}},"extent_utf16":{"start":{"line_number":776,"utf16_col":0},"end":{"line_number":780,"utf16_col":0}}},{"name":"16.8.2 (February 14, 2019)","kind":"section_2","ident_start":100720,"ident_end":100746,"extent_start":100717,"extent_end":101770,"fully_qualified_name":"16.8.2 (February 14, 2019)","ident_utf16":{"start":{"line_number":780,"utf16_col":3},"end":{"line_number":780,"utf16_col":29}},"extent_utf16":{"start":{"line_number":780,"utf16_col":0},"end":{"line_number":794,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":100752,"ident_end":100761,"extent_start":100748,"extent_end":101560,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":782,"utf16_col":4},"end":{"line_number":782,"utf16_col":13}},"extent_utf16":{"start":{"line_number":782,"utf16_col":0},"end":{"line_number":790,"utf16_col":0}}},{"name":"React Test Utils and React Test Renderer","kind":"section_3","ident_start":101564,"ident_end":101604,"extent_start":101560,"extent_end":101770,"fully_qualified_name":"React Test Utils and React Test Renderer","ident_utf16":{"start":{"line_number":790,"utf16_col":4},"end":{"line_number":790,"utf16_col":44}},"extent_utf16":{"start":{"line_number":790,"utf16_col":0},"end":{"line_number":794,"utf16_col":0}}},{"name":"16.8.1 (February 6, 2019)","kind":"section_2","ident_start":101773,"ident_end":101798,"extent_start":101770,"extent_end":102173,"fully_qualified_name":"16.8.1 (February 6, 2019)","ident_utf16":{"start":{"line_number":794,"utf16_col":3},"end":{"line_number":794,"utf16_col":28}},"extent_utf16":{"start":{"line_number":794,"utf16_col":0},"end":{"line_number":804,"utf16_col":0}}},{"name":"React DOM and React Test Renderer","kind":"section_3","ident_start":101804,"ident_end":101837,"extent_start":101800,"extent_end":102004,"fully_qualified_name":"React DOM and React Test Renderer","ident_utf16":{"start":{"line_number":796,"utf16_col":4},"end":{"line_number":796,"utf16_col":37}},"extent_utf16":{"start":{"line_number":796,"utf16_col":0},"end":{"line_number":800,"utf16_col":0}}},{"name":"React Test Utils","kind":"section_3","ident_start":102008,"ident_end":102024,"extent_start":102004,"extent_end":102173,"fully_qualified_name":"React Test Utils","ident_utf16":{"start":{"line_number":800,"utf16_col":4},"end":{"line_number":800,"utf16_col":20}},"extent_utf16":{"start":{"line_number":800,"utf16_col":0},"end":{"line_number":804,"utf16_col":0}}},{"name":"16.8.0 (February 6, 2019)","kind":"section_2","ident_start":102176,"ident_end":102201,"extent_start":102173,"extent_end":105196,"fully_qualified_name":"16.8.0 (February 6, 2019)","ident_utf16":{"start":{"line_number":804,"utf16_col":3},"end":{"line_number":804,"utf16_col":28}},"extent_utf16":{"start":{"line_number":804,"utf16_col":0},"end":{"line_number":834,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":102207,"ident_end":102212,"extent_start":102203,"extent_end":102607,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":806,"utf16_col":4},"end":{"line_number":806,"utf16_col":9}},"extent_utf16":{"start":{"line_number":806,"utf16_col":0},"end":{"line_number":811,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":102611,"ident_end":102620,"extent_start":102607,"extent_end":104007,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":811,"utf16_col":4},"end":{"line_number":811,"utf16_col":13}},"extent_utf16":{"start":{"line_number":811,"utf16_col":0},"end":{"line_number":821,"utf16_col":0}}},{"name":"React Test Renderer and Test Utils","kind":"section_3","ident_start":104011,"ident_end":104045,"extent_start":104007,"extent_end":104642,"fully_qualified_name":"React Test Renderer and Test Utils","ident_utf16":{"start":{"line_number":821,"utf16_col":4},"end":{"line_number":821,"utf16_col":38}},"extent_utf16":{"start":{"line_number":821,"utf16_col":0},"end":{"line_number":828,"utf16_col":0}}},{"name":"ESLint Plugin: React Hooks","kind":"section_3","ident_start":104646,"ident_end":104672,"extent_start":104642,"extent_end":105196,"fully_qualified_name":"ESLint Plugin: React Hooks","ident_utf16":{"start":{"line_number":828,"utf16_col":4},"end":{"line_number":828,"utf16_col":30}},"extent_utf16":{"start":{"line_number":828,"utf16_col":0},"end":{"line_number":834,"utf16_col":0}}},{"name":"16.7.0 (December 19, 2018)","kind":"section_2","ident_start":105199,"ident_end":105225,"extent_start":105196,"extent_end":106487,"fully_qualified_name":"16.7.0 (December 19, 2018)","ident_utf16":{"start":{"line_number":834,"utf16_col":3},"end":{"line_number":834,"utf16_col":29}},"extent_utf16":{"start":{"line_number":834,"utf16_col":0},"end":{"line_number":851,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":105231,"ident_end":105240,"extent_start":105227,"extent_end":105901,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":836,"utf16_col":4},"end":{"line_number":836,"utf16_col":13}},"extent_utf16":{"start":{"line_number":836,"utf16_col":0},"end":{"line_number":843,"utf16_col":0}}},{"name":"Scheduler (Experimental)","kind":"section_3","ident_start":105905,"ident_end":105929,"extent_start":105901,"extent_end":106487,"fully_qualified_name":"Scheduler (Experimental)","ident_utf16":{"start":{"line_number":843,"utf16_col":4},"end":{"line_number":843,"utf16_col":28}},"extent_utf16":{"start":{"line_number":843,"utf16_col":0},"end":{"line_number":851,"utf16_col":0}}},{"name":"16.6.3 (November 12, 2018)","kind":"section_2","ident_start":106490,"ident_end":106516,"extent_start":106487,"extent_end":107618,"fully_qualified_name":"16.6.3 (November 12, 2018)","ident_utf16":{"start":{"line_number":851,"utf16_col":3},"end":{"line_number":851,"utf16_col":29}},"extent_utf16":{"start":{"line_number":851,"utf16_col":0},"end":{"line_number":865,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":106522,"ident_end":106531,"extent_start":106518,"extent_end":107252,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":853,"utf16_col":4},"end":{"line_number":853,"utf16_col":13}},"extent_utf16":{"start":{"line_number":853,"utf16_col":0},"end":{"line_number":860,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":107256,"ident_end":107272,"extent_start":107252,"extent_end":107618,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":860,"utf16_col":4},"end":{"line_number":860,"utf16_col":20}},"extent_utf16":{"start":{"line_number":860,"utf16_col":0},"end":{"line_number":865,"utf16_col":0}}},{"name":"16.6.2 (November 12, 2018)","kind":"section_2","ident_start":107621,"ident_end":107647,"extent_start":107618,"extent_end":107718,"fully_qualified_name":"16.6.2 (November 12, 2018)","ident_utf16":{"start":{"line_number":865,"utf16_col":3},"end":{"line_number":865,"utf16_col":29}},"extent_utf16":{"start":{"line_number":865,"utf16_col":0},"end":{"line_number":869,"utf16_col":0}}},{"name":"16.6.1 (November 6, 2018)","kind":"section_2","ident_start":107721,"ident_end":107746,"extent_start":107718,"extent_end":108794,"fully_qualified_name":"16.6.1 (November 6, 2018)","ident_utf16":{"start":{"line_number":869,"utf16_col":3},"end":{"line_number":869,"utf16_col":28}},"extent_utf16":{"start":{"line_number":869,"utf16_col":0},"end":{"line_number":884,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":107752,"ident_end":107761,"extent_start":107748,"extent_end":108611,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":871,"utf16_col":4},"end":{"line_number":871,"utf16_col":13}},"extent_utf16":{"start":{"line_number":871,"utf16_col":0},"end":{"line_number":879,"utf16_col":0}}},{"name":"Scheduler (Experimental)","kind":"section_3","ident_start":108615,"ident_end":108639,"extent_start":108611,"extent_end":108794,"fully_qualified_name":"Scheduler (Experimental)","ident_utf16":{"start":{"line_number":879,"utf16_col":4},"end":{"line_number":879,"utf16_col":28}},"extent_utf16":{"start":{"line_number":879,"utf16_col":0},"end":{"line_number":884,"utf16_col":0}}},{"name":"16.6.0 (October 23, 2018)","kind":"section_2","ident_start":108797,"ident_end":108822,"extent_start":108794,"extent_end":112299,"fully_qualified_name":"16.6.0 (October 23, 2018)","ident_utf16":{"start":{"line_number":884,"utf16_col":3},"end":{"line_number":884,"utf16_col":28}},"extent_utf16":{"start":{"line_number":884,"utf16_col":0},"end":{"line_number":918,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":108828,"ident_end":108833,"extent_start":108824,"extent_end":109920,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":886,"utf16_col":4},"end":{"line_number":886,"utf16_col":9}},"extent_utf16":{"start":{"line_number":886,"utf16_col":0},"end":{"line_number":895,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":109924,"ident_end":109933,"extent_start":109920,"extent_end":110824,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":895,"utf16_col":4},"end":{"line_number":895,"utf16_col":13}},"extent_utf16":{"start":{"line_number":895,"utf16_col":0},"end":{"line_number":903,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":110828,"ident_end":110844,"extent_start":110824,"extent_end":111183,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":903,"utf16_col":4},"end":{"line_number":903,"utf16_col":20}},"extent_utf16":{"start":{"line_number":903,"utf16_col":0},"end":{"line_number":908,"utf16_col":0}}},{"name":"Scheduler (Experimental)","kind":"section_3","ident_start":111187,"ident_end":111211,"extent_start":111183,"extent_end":112299,"fully_qualified_name":"Scheduler (Experimental)","ident_utf16":{"start":{"line_number":908,"utf16_col":4},"end":{"line_number":908,"utf16_col":28}},"extent_utf16":{"start":{"line_number":908,"utf16_col":0},"end":{"line_number":918,"utf16_col":0}}},{"name":"16.5.2 (September 18, 2018)","kind":"section_2","ident_start":112302,"ident_end":112329,"extent_start":112299,"extent_end":113200,"fully_qualified_name":"16.5.2 (September 18, 2018)","ident_utf16":{"start":{"line_number":918,"utf16_col":3},"end":{"line_number":918,"utf16_col":30}},"extent_utf16":{"start":{"line_number":918,"utf16_col":0},"end":{"line_number":931,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":112335,"ident_end":112344,"extent_start":112331,"extent_end":112681,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":920,"utf16_col":4},"end":{"line_number":920,"utf16_col":13}},"extent_utf16":{"start":{"line_number":920,"utf16_col":0},"end":{"line_number":925,"utf16_col":0}}},{"name":"Schedule (Experimental)","kind":"section_3","ident_start":112685,"ident_end":112708,"extent_start":112681,"extent_end":113200,"fully_qualified_name":"Schedule (Experimental)","ident_utf16":{"start":{"line_number":925,"utf16_col":4},"end":{"line_number":925,"utf16_col":27}},"extent_utf16":{"start":{"line_number":925,"utf16_col":0},"end":{"line_number":931,"utf16_col":0}}},{"name":"16.5.1 (September 13, 2018)","kind":"section_2","ident_start":113203,"ident_end":113230,"extent_start":113200,"extent_end":114553,"fully_qualified_name":"16.5.1 (September 13, 2018)","ident_utf16":{"start":{"line_number":931,"utf16_col":3},"end":{"line_number":931,"utf16_col":30}},"extent_utf16":{"start":{"line_number":931,"utf16_col":0},"end":{"line_number":949,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":113236,"ident_end":113241,"extent_start":113232,"extent_end":113447,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":933,"utf16_col":4},"end":{"line_number":933,"utf16_col":9}},"extent_utf16":{"start":{"line_number":933,"utf16_col":0},"end":{"line_number":937,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":113451,"ident_end":113460,"extent_start":113447,"extent_end":114349,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":937,"utf16_col":4},"end":{"line_number":937,"utf16_col":13}},"extent_utf16":{"start":{"line_number":937,"utf16_col":0},"end":{"line_number":945,"utf16_col":0}}},{"name":"Schedule (Experimental)","kind":"section_3","ident_start":114353,"ident_end":114376,"extent_start":114349,"extent_end":114553,"fully_qualified_name":"Schedule (Experimental)","ident_utf16":{"start":{"line_number":945,"utf16_col":4},"end":{"line_number":945,"utf16_col":27}},"extent_utf16":{"start":{"line_number":945,"utf16_col":0},"end":{"line_number":949,"utf16_col":0}}},{"name":"16.5.0 (September 5, 2018)","kind":"section_2","ident_start":114556,"ident_end":114582,"extent_start":114553,"extent_end":122866,"fully_qualified_name":"16.5.0 (September 5, 2018)","ident_utf16":{"start":{"line_number":949,"utf16_col":3},"end":{"line_number":949,"utf16_col":29}},"extent_utf16":{"start":{"line_number":949,"utf16_col":0},"end":{"line_number":1016,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":114588,"ident_end":114593,"extent_start":114584,"extent_end":115129,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":951,"utf16_col":4},"end":{"line_number":951,"utf16_col":9}},"extent_utf16":{"start":{"line_number":951,"utf16_col":0},"end":{"line_number":957,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":115133,"ident_end":115142,"extent_start":115129,"extent_end":121370,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":957,"utf16_col":4},"end":{"line_number":957,"utf16_col":13}},"extent_utf16":{"start":{"line_number":957,"utf16_col":0},"end":{"line_number":996,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":121374,"ident_end":121390,"extent_start":121370,"extent_end":121748,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":996,"utf16_col":4},"end":{"line_number":996,"utf16_col":20}},"extent_utf16":{"start":{"line_number":996,"utf16_col":0},"end":{"line_number":1001,"utf16_col":0}}},{"name":"React Test Renderer and Test Utils","kind":"section_3","ident_start":121752,"ident_end":121786,"extent_start":121748,"extent_end":122441,"fully_qualified_name":"React Test Renderer and Test Utils","ident_utf16":{"start":{"line_number":1001,"utf16_col":4},"end":{"line_number":1001,"utf16_col":38}},"extent_utf16":{"start":{"line_number":1001,"utf16_col":0},"end":{"line_number":1008,"utf16_col":0}}},{"name":"React ART","kind":"section_3","ident_start":122445,"ident_end":122454,"extent_start":122441,"extent_end":122591,"fully_qualified_name":"React ART","ident_utf16":{"start":{"line_number":1008,"utf16_col":4},"end":{"line_number":1008,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1008,"utf16_col":0},"end":{"line_number":1012,"utf16_col":0}}},{"name":"Schedule (Experimental)","kind":"section_3","ident_start":122595,"ident_end":122618,"extent_start":122591,"extent_end":122866,"fully_qualified_name":"Schedule (Experimental)","ident_utf16":{"start":{"line_number":1012,"utf16_col":4},"end":{"line_number":1012,"utf16_col":27}},"extent_utf16":{"start":{"line_number":1012,"utf16_col":0},"end":{"line_number":1016,"utf16_col":0}}},{"name":"16.4.2 (August 1, 2018)","kind":"section_2","ident_start":122869,"ident_end":122892,"extent_start":122866,"extent_end":123596,"fully_qualified_name":"16.4.2 (August 1, 2018)","ident_utf16":{"start":{"line_number":1016,"utf16_col":3},"end":{"line_number":1016,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1016,"utf16_col":0},"end":{"line_number":1024,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":122898,"ident_end":122914,"extent_start":122894,"extent_end":123596,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":1018,"utf16_col":4},"end":{"line_number":1018,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1018,"utf16_col":0},"end":{"line_number":1024,"utf16_col":0}}},{"name":"16.4.1 (June 13, 2018)","kind":"section_2","ident_start":123599,"ident_end":123621,"extent_start":123596,"extent_end":125545,"fully_qualified_name":"16.4.1 (June 13, 2018)","ident_utf16":{"start":{"line_number":1024,"utf16_col":3},"end":{"line_number":1024,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1024,"utf16_col":0},"end":{"line_number":1048,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":123627,"ident_end":123632,"extent_start":123623,"extent_end":123813,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1026,"utf16_col":4},"end":{"line_number":1026,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1026,"utf16_col":0},"end":{"line_number":1030,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":123817,"ident_end":123826,"extent_start":123813,"extent_end":124869,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1030,"utf16_col":4},"end":{"line_number":1030,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1030,"utf16_col":0},"end":{"line_number":1039,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":124873,"ident_end":124889,"extent_start":124869,"extent_end":125165,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":1039,"utf16_col":4},"end":{"line_number":1039,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1039,"utf16_col":0},"end":{"line_number":1043,"utf16_col":0}}},{"name":"React Test Renderer","kind":"section_3","ident_start":125169,"ident_end":125188,"extent_start":125165,"extent_end":125545,"fully_qualified_name":"React Test Renderer","ident_utf16":{"start":{"line_number":1043,"utf16_col":4},"end":{"line_number":1043,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1043,"utf16_col":0},"end":{"line_number":1048,"utf16_col":0}}},{"name":"16.4.0 (May 23, 2018)","kind":"section_2","ident_start":125548,"ident_end":125569,"extent_start":125545,"extent_end":129524,"fully_qualified_name":"16.4.0 (May 23, 2018)","ident_utf16":{"start":{"line_number":1048,"utf16_col":3},"end":{"line_number":1048,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1048,"utf16_col":0},"end":{"line_number":1087,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":125575,"ident_end":125580,"extent_start":125571,"extent_end":125813,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1050,"utf16_col":4},"end":{"line_number":1050,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1050,"utf16_col":0},"end":{"line_number":1054,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":125817,"ident_end":125826,"extent_start":125813,"extent_end":127923,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1054,"utf16_col":4},"end":{"line_number":1054,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1054,"utf16_col":0},"end":{"line_number":1068,"utf16_col":0}}},{"name":"React Test Renderer","kind":"section_3","ident_start":127927,"ident_end":127946,"extent_start":127923,"extent_end":128693,"fully_qualified_name":"React Test Renderer","ident_utf16":{"start":{"line_number":1068,"utf16_col":4},"end":{"line_number":1068,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1068,"utf16_col":0},"end":{"line_number":1075,"utf16_col":0}}},{"name":"React ART","kind":"section_3","ident_start":128697,"ident_end":128706,"extent_start":128693,"extent_end":128875,"fully_qualified_name":"React ART","ident_utf16":{"start":{"line_number":1075,"utf16_col":4},"end":{"line_number":1075,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1075,"utf16_col":0},"end":{"line_number":1079,"utf16_col":0}}},{"name":"React Call Return (Experimental)","kind":"section_3","ident_start":128879,"ident_end":128911,"extent_start":128875,"extent_end":129175,"fully_qualified_name":"React Call Return (Experimental)","ident_utf16":{"start":{"line_number":1079,"utf16_col":4},"end":{"line_number":1079,"utf16_col":36}},"extent_utf16":{"start":{"line_number":1079,"utf16_col":0},"end":{"line_number":1083,"utf16_col":0}}},{"name":"React Reconciler (Experimental)","kind":"section_3","ident_start":129179,"ident_end":129210,"extent_start":129175,"extent_end":129524,"fully_qualified_name":"React Reconciler (Experimental)","ident_utf16":{"start":{"line_number":1083,"utf16_col":4},"end":{"line_number":1083,"utf16_col":35}},"extent_utf16":{"start":{"line_number":1083,"utf16_col":0},"end":{"line_number":1087,"utf16_col":0}}},{"name":"16.3.3 (August 1, 2018)","kind":"section_2","ident_start":129527,"ident_end":129550,"extent_start":129524,"extent_end":130021,"fully_qualified_name":"16.3.3 (August 1, 2018)","ident_utf16":{"start":{"line_number":1087,"utf16_col":3},"end":{"line_number":1087,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1087,"utf16_col":0},"end":{"line_number":1093,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":129556,"ident_end":129572,"extent_start":129552,"extent_end":130021,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":1089,"utf16_col":4},"end":{"line_number":1089,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1089,"utf16_col":0},"end":{"line_number":1093,"utf16_col":0}}},{"name":"16.3.2 (April 16, 2018)","kind":"section_2","ident_start":130024,"ident_end":130047,"extent_start":130021,"extent_end":131225,"fully_qualified_name":"16.3.2 (April 16, 2018)","ident_utf16":{"start":{"line_number":1093,"utf16_col":3},"end":{"line_number":1093,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1093,"utf16_col":0},"end":{"line_number":1111,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":130053,"ident_end":130058,"extent_start":130049,"extent_end":130250,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1095,"utf16_col":4},"end":{"line_number":1095,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1095,"utf16_col":0},"end":{"line_number":1099,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":130254,"ident_end":130263,"extent_start":130250,"extent_end":131081,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1099,"utf16_col":4},"end":{"line_number":1099,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1099,"utf16_col":0},"end":{"line_number":1107,"utf16_col":0}}},{"name":"React Test Renderer","kind":"section_3","ident_start":131085,"ident_end":131104,"extent_start":131081,"extent_end":131225,"fully_qualified_name":"React Test Renderer","ident_utf16":{"start":{"line_number":1107,"utf16_col":4},"end":{"line_number":1107,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1107,"utf16_col":0},"end":{"line_number":1111,"utf16_col":0}}},{"name":"16.3.1 (April 3, 2018)","kind":"section_2","ident_start":131228,"ident_end":131250,"extent_start":131225,"extent_end":132732,"fully_qualified_name":"16.3.1 (April 3, 2018)","ident_utf16":{"start":{"line_number":1111,"utf16_col":3},"end":{"line_number":1111,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1111,"utf16_col":0},"end":{"line_number":1131,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":131256,"ident_end":131261,"extent_start":131252,"extent_end":131725,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1113,"utf16_col":4},"end":{"line_number":1113,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1113,"utf16_col":0},"end":{"line_number":1119,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":131729,"ident_end":131738,"extent_start":131725,"extent_end":132399,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1119,"utf16_col":4},"end":{"line_number":1119,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1119,"utf16_col":0},"end":{"line_number":1126,"utf16_col":0}}},{"name":"Create Subscription","kind":"section_3","ident_start":132403,"ident_end":132422,"extent_start":132399,"extent_end":132732,"fully_qualified_name":"Create Subscription","ident_utf16":{"start":{"line_number":1126,"utf16_col":4},"end":{"line_number":1126,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1126,"utf16_col":0},"end":{"line_number":1131,"utf16_col":0}}},{"name":"16.3.0 (March 29, 2018)","kind":"section_2","ident_start":132735,"ident_end":132758,"extent_start":132732,"extent_end":140534,"fully_qualified_name":"16.3.0 (March 29, 2018)","ident_utf16":{"start":{"line_number":1131,"utf16_col":3},"end":{"line_number":1131,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1131,"utf16_col":0},"end":{"line_number":1202,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":132764,"ident_end":132769,"extent_start":132760,"extent_end":133812,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1133,"utf16_col":4},"end":{"line_number":1133,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1133,"utf16_col":0},"end":{"line_number":1142,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":133816,"ident_end":133825,"extent_start":133812,"extent_end":137281,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1142,"utf16_col":4},"end":{"line_number":1142,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1142,"utf16_col":0},"end":{"line_number":1165,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":137285,"ident_end":137301,"extent_start":137281,"extent_end":137975,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":1165,"utf16_col":4},"end":{"line_number":1165,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1165,"utf16_col":0},"end":{"line_number":1172,"utf16_col":0}}},{"name":"React Test Renderer","kind":"section_3","ident_start":137979,"ident_end":137998,"extent_start":137975,"extent_end":138757,"fully_qualified_name":"React Test Renderer","ident_utf16":{"start":{"line_number":1172,"utf16_col":4},"end":{"line_number":1172,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1172,"utf16_col":0},"end":{"line_number":1179,"utf16_col":0}}},{"name":"React Is (New)","kind":"section_3","ident_start":138761,"ident_end":138775,"extent_start":138757,"extent_end":139237,"fully_qualified_name":"React Is (New)","ident_utf16":{"start":{"line_number":1179,"utf16_col":4},"end":{"line_number":1179,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1179,"utf16_col":0},"end":{"line_number":1184,"utf16_col":0}}},{"name":"React Lifecycles Compat (New)","kind":"section_3","ident_start":139241,"ident_end":139270,"extent_start":139237,"extent_end":139523,"fully_qualified_name":"React Lifecycles Compat (New)","ident_utf16":{"start":{"line_number":1184,"utf16_col":4},"end":{"line_number":1184,"utf16_col":33}},"extent_utf16":{"start":{"line_number":1184,"utf16_col":0},"end":{"line_number":1188,"utf16_col":0}}},{"name":"Create Subscription (New)","kind":"section_3","ident_start":139527,"ident_end":139552,"extent_start":139523,"extent_end":139831,"fully_qualified_name":"Create Subscription (New)","ident_utf16":{"start":{"line_number":1188,"utf16_col":4},"end":{"line_number":1188,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1188,"utf16_col":0},"end":{"line_number":1192,"utf16_col":0}}},{"name":"React Reconciler (Experimental)","kind":"section_3","ident_start":139835,"ident_end":139866,"extent_start":139831,"extent_end":140368,"fully_qualified_name":"React Reconciler (Experimental)","ident_utf16":{"start":{"line_number":1192,"utf16_col":4},"end":{"line_number":1192,"utf16_col":35}},"extent_utf16":{"start":{"line_number":1192,"utf16_col":0},"end":{"line_number":1198,"utf16_col":0}}},{"name":"React Call Return (Experimental)","kind":"section_3","ident_start":140372,"ident_end":140404,"extent_start":140368,"extent_end":140534,"fully_qualified_name":"React Call Return (Experimental)","ident_utf16":{"start":{"line_number":1198,"utf16_col":4},"end":{"line_number":1198,"utf16_col":36}},"extent_utf16":{"start":{"line_number":1198,"utf16_col":0},"end":{"line_number":1202,"utf16_col":0}}},{"name":"16.2.1 (August 1, 2018)","kind":"section_2","ident_start":140537,"ident_end":140560,"extent_start":140534,"extent_end":141031,"fully_qualified_name":"16.2.1 (August 1, 2018)","ident_utf16":{"start":{"line_number":1202,"utf16_col":3},"end":{"line_number":1202,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1202,"utf16_col":0},"end":{"line_number":1208,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":140566,"ident_end":140582,"extent_start":140562,"extent_end":141031,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":1204,"utf16_col":4},"end":{"line_number":1204,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1204,"utf16_col":0},"end":{"line_number":1208,"utf16_col":0}}},{"name":"16.2.0 (November 28, 2017)","kind":"section_2","ident_start":141034,"ident_end":141060,"extent_start":141031,"extent_end":142334,"fully_qualified_name":"16.2.0 (November 28, 2017)","ident_utf16":{"start":{"line_number":1208,"utf16_col":3},"end":{"line_number":1208,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1208,"utf16_col":0},"end":{"line_number":1232,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":141066,"ident_end":141071,"extent_start":141062,"extent_end":141387,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1210,"utf16_col":4},"end":{"line_number":1210,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1210,"utf16_col":0},"end":{"line_number":1215,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":141391,"ident_end":141400,"extent_start":141387,"extent_end":141750,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1215,"utf16_col":4},"end":{"line_number":1215,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1215,"utf16_col":0},"end":{"line_number":1220,"utf16_col":0}}},{"name":"React Test Renderer","kind":"section_3","ident_start":141754,"ident_end":141773,"extent_start":141750,"extent_end":141965,"fully_qualified_name":"React Test Renderer","ident_utf16":{"start":{"line_number":1220,"utf16_col":4},"end":{"line_number":1220,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1220,"utf16_col":0},"end":{"line_number":1224,"utf16_col":0}}},{"name":"React Reconciler","kind":"section_3","ident_start":141969,"ident_end":141985,"extent_start":141965,"extent_end":142169,"fully_qualified_name":"React Reconciler","ident_utf16":{"start":{"line_number":1224,"utf16_col":4},"end":{"line_number":1224,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1224,"utf16_col":0},"end":{"line_number":1228,"utf16_col":0}}},{"name":"Internal Changes","kind":"section_3","ident_start":142173,"ident_end":142189,"extent_start":142169,"extent_end":142334,"fully_qualified_name":"Internal Changes","ident_utf16":{"start":{"line_number":1228,"utf16_col":4},"end":{"line_number":1228,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1228,"utf16_col":0},"end":{"line_number":1232,"utf16_col":0}}},{"name":"16.1.2 (August 1, 2018)","kind":"section_2","ident_start":142337,"ident_end":142360,"extent_start":142334,"extent_end":142831,"fully_qualified_name":"16.1.2 (August 1, 2018)","ident_utf16":{"start":{"line_number":1232,"utf16_col":3},"end":{"line_number":1232,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1232,"utf16_col":0},"end":{"line_number":1238,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":142366,"ident_end":142382,"extent_start":142362,"extent_end":142831,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":1234,"utf16_col":4},"end":{"line_number":1234,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1234,"utf16_col":0},"end":{"line_number":1238,"utf16_col":0}}},{"name":"16.1.1 (November 13, 2017)","kind":"section_2","ident_start":142834,"ident_end":142860,"extent_start":142831,"extent_end":143709,"fully_qualified_name":"16.1.1 (November 13, 2017)","ident_utf16":{"start":{"line_number":1238,"utf16_col":3},"end":{"line_number":1238,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1238,"utf16_col":0},"end":{"line_number":1257,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":142866,"ident_end":142871,"extent_start":142862,"extent_end":143027,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1240,"utf16_col":4},"end":{"line_number":1240,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1240,"utf16_col":0},"end":{"line_number":1244,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":143031,"ident_end":143040,"extent_start":143027,"extent_end":143205,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1244,"utf16_col":4},"end":{"line_number":1244,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1244,"utf16_col":0},"end":{"line_number":1248,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":143209,"ident_end":143225,"extent_start":143205,"extent_end":143528,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":1248,"utf16_col":4},"end":{"line_number":1248,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1248,"utf16_col":0},"end":{"line_number":1253,"utf16_col":0}}},{"name":"React Reconciler","kind":"section_3","ident_start":143532,"ident_end":143548,"extent_start":143528,"extent_end":143709,"fully_qualified_name":"React Reconciler","ident_utf16":{"start":{"line_number":1253,"utf16_col":4},"end":{"line_number":1253,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1253,"utf16_col":0},"end":{"line_number":1257,"utf16_col":0}}},{"name":"16.1.0 (November 9, 2017)","kind":"section_2","ident_start":143712,"ident_end":143737,"extent_start":143709,"extent_end":151226,"fully_qualified_name":"16.1.0 (November 9, 2017)","ident_utf16":{"start":{"line_number":1257,"utf16_col":3},"end":{"line_number":1257,"utf16_col":28}},"extent_utf16":{"start":{"line_number":1257,"utf16_col":0},"end":{"line_number":1328,"utf16_col":0}}},{"name":"Discontinuing Bower Releases","kind":"section_3","ident_start":143743,"ident_end":143771,"extent_start":143739,"extent_end":144082,"fully_qualified_name":"Discontinuing Bower Releases","ident_utf16":{"start":{"line_number":1259,"utf16_col":4},"end":{"line_number":1259,"utf16_col":32}},"extent_utf16":{"start":{"line_number":1259,"utf16_col":0},"end":{"line_number":1263,"utf16_col":0}}},{"name":"All Packages","kind":"section_3","ident_start":144086,"ident_end":144098,"extent_start":144082,"extent_end":144261,"fully_qualified_name":"All Packages","ident_utf16":{"start":{"line_number":1263,"utf16_col":4},"end":{"line_number":1263,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1263,"utf16_col":0},"end":{"line_number":1267,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":144265,"ident_end":144270,"extent_start":144261,"extent_end":144790,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1267,"utf16_col":4},"end":{"line_number":1267,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1267,"utf16_col":0},"end":{"line_number":1273,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":144794,"ident_end":144803,"extent_start":144790,"extent_end":148398,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1273,"utf16_col":4},"end":{"line_number":1273,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1273,"utf16_col":0},"end":{"line_number":1298,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":148402,"ident_end":148418,"extent_start":148398,"extent_end":149248,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":1298,"utf16_col":4},"end":{"line_number":1298,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1298,"utf16_col":0},"end":{"line_number":1306,"utf16_col":0}}},{"name":"React Test Renderer and Test Utils","kind":"section_3","ident_start":149252,"ident_end":149286,"extent_start":149248,"extent_end":150166,"fully_qualified_name":"React Test Renderer and Test Utils","ident_utf16":{"start":{"line_number":1306,"utf16_col":4},"end":{"line_number":1306,"utf16_col":38}},"extent_utf16":{"start":{"line_number":1306,"utf16_col":0},"end":{"line_number":1314,"utf16_col":0}}},{"name":"React ART","kind":"section_3","ident_start":150170,"ident_end":150179,"extent_start":150166,"extent_end":150498,"fully_qualified_name":"React ART","ident_utf16":{"start":{"line_number":1314,"utf16_col":4},"end":{"line_number":1314,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1314,"utf16_col":0},"end":{"line_number":1319,"utf16_col":0}}},{"name":"React Reconciler (Experimental)","kind":"section_3","ident_start":150502,"ident_end":150533,"extent_start":150498,"extent_end":150934,"fully_qualified_name":"React Reconciler (Experimental)","ident_utf16":{"start":{"line_number":1319,"utf16_col":4},"end":{"line_number":1319,"utf16_col":35}},"extent_utf16":{"start":{"line_number":1319,"utf16_col":0},"end":{"line_number":1324,"utf16_col":0}}},{"name":"React Call Return (Experimental)","kind":"section_3","ident_start":150938,"ident_end":150970,"extent_start":150934,"extent_end":151226,"fully_qualified_name":"React Call Return (Experimental)","ident_utf16":{"start":{"line_number":1324,"utf16_col":4},"end":{"line_number":1324,"utf16_col":36}},"extent_utf16":{"start":{"line_number":1324,"utf16_col":0},"end":{"line_number":1328,"utf16_col":0}}},{"name":"16.0.1 (August 1, 2018)","kind":"section_2","ident_start":151229,"ident_end":151252,"extent_start":151226,"extent_end":151723,"fully_qualified_name":"16.0.1 (August 1, 2018)","ident_utf16":{"start":{"line_number":1328,"utf16_col":3},"end":{"line_number":1328,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1328,"utf16_col":0},"end":{"line_number":1334,"utf16_col":0}}},{"name":"React DOM Server","kind":"section_3","ident_start":151258,"ident_end":151274,"extent_start":151254,"extent_end":151723,"fully_qualified_name":"React DOM Server","ident_utf16":{"start":{"line_number":1330,"utf16_col":4},"end":{"line_number":1330,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1330,"utf16_col":0},"end":{"line_number":1334,"utf16_col":0}}},{"name":"16.0.0 (September 26, 2017)","kind":"section_2","ident_start":151726,"ident_end":151753,"extent_start":151723,"extent_end":158567,"fully_qualified_name":"16.0.0 (September 26, 2017)","ident_utf16":{"start":{"line_number":1334,"utf16_col":3},"end":{"line_number":1334,"utf16_col":30}},"extent_utf16":{"start":{"line_number":1334,"utf16_col":0},"end":{"line_number":1379,"utf16_col":0}}},{"name":"New JS Environment Requirements","kind":"section_3","ident_start":151759,"ident_end":151790,"extent_start":151755,"extent_end":152342,"fully_qualified_name":"New JS Environment Requirements","ident_utf16":{"start":{"line_number":1336,"utf16_col":4},"end":{"line_number":1336,"utf16_col":35}},"extent_utf16":{"start":{"line_number":1336,"utf16_col":0},"end":{"line_number":1340,"utf16_col":0}}},{"name":"New Features","kind":"section_3","ident_start":152346,"ident_end":152358,"extent_start":152342,"extent_end":153739,"fully_qualified_name":"New Features","ident_utf16":{"start":{"line_number":1340,"utf16_col":4},"end":{"line_number":1340,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1340,"utf16_col":0},"end":{"line_number":1347,"utf16_col":0}}},{"name":"Breaking Changes","kind":"section_3","ident_start":153743,"ident_end":153759,"extent_start":153739,"extent_end":157859,"fully_qualified_name":"Breaking Changes","ident_utf16":{"start":{"line_number":1347,"utf16_col":4},"end":{"line_number":1347,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1347,"utf16_col":0},"end":{"line_number":1374,"utf16_col":0}}},{"name":"Removed Deprecations","kind":"section_3","ident_start":157863,"ident_end":157883,"extent_start":157859,"extent_end":158567,"fully_qualified_name":"Removed Deprecations","ident_utf16":{"start":{"line_number":1374,"utf16_col":4},"end":{"line_number":1374,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1374,"utf16_col":0},"end":{"line_number":1379,"utf16_col":0}}},{"name":"15.7.0 (October 14, 2020)","kind":"section_2","ident_start":158570,"ident_end":158595,"extent_start":158567,"extent_end":158943,"fully_qualified_name":"15.7.0 (October 14, 2020)","ident_utf16":{"start":{"line_number":1379,"utf16_col":3},"end":{"line_number":1379,"utf16_col":28}},"extent_utf16":{"start":{"line_number":1379,"utf16_col":0},"end":{"line_number":1385,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":158601,"ident_end":158606,"extent_start":158597,"extent_end":158943,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1381,"utf16_col":4},"end":{"line_number":1381,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1381,"utf16_col":0},"end":{"line_number":1385,"utf16_col":0}}},{"name":"15.6.2 (September 25, 2017)","kind":"section_2","ident_start":158946,"ident_end":158973,"extent_start":158943,"extent_end":160313,"fully_qualified_name":"15.6.2 (September 25, 2017)","ident_utf16":{"start":{"line_number":1385,"utf16_col":3},"end":{"line_number":1385,"utf16_col":30}},"extent_utf16":{"start":{"line_number":1385,"utf16_col":0},"end":{"line_number":1400,"utf16_col":0}}},{"name":"All Packages","kind":"section_3","ident_start":158979,"ident_end":158991,"extent_start":158975,"extent_end":159036,"fully_qualified_name":"All Packages","ident_utf16":{"start":{"line_number":1387,"utf16_col":4},"end":{"line_number":1387,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1387,"utf16_col":0},"end":{"line_number":1390,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":159040,"ident_end":159049,"extent_start":159036,"extent_end":160313,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1390,"utf16_col":4},"end":{"line_number":1390,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1390,"utf16_col":0},"end":{"line_number":1400,"utf16_col":0}}},{"name":"15.6.1 (June 14, 2017)","kind":"section_2","ident_start":160316,"ident_end":160338,"extent_start":160313,"extent_end":160629,"fully_qualified_name":"15.6.1 (June 14, 2017)","ident_utf16":{"start":{"line_number":1400,"utf16_col":3},"end":{"line_number":1400,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1400,"utf16_col":0},"end":{"line_number":1407,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":160344,"ident_end":160353,"extent_start":160340,"extent_end":160629,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1402,"utf16_col":4},"end":{"line_number":1402,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1402,"utf16_col":0},"end":{"line_number":1407,"utf16_col":0}}},{"name":"15.6.0 (June 13, 2017)","kind":"section_2","ident_start":160632,"ident_end":160654,"extent_start":160629,"extent_end":163345,"fully_qualified_name":"15.6.0 (June 13, 2017)","ident_utf16":{"start":{"line_number":1407,"utf16_col":3},"end":{"line_number":1407,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1407,"utf16_col":0},"end":{"line_number":1434,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":160660,"ident_end":160665,"extent_start":160656,"extent_end":161396,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1409,"utf16_col":4},"end":{"line_number":1409,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1409,"utf16_col":0},"end":{"line_number":1416,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":161400,"ident_end":161409,"extent_start":161396,"extent_end":162351,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1416,"utf16_col":4},"end":{"line_number":1416,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1416,"utf16_col":0},"end":{"line_number":1425,"utf16_col":0}}},{"name":"React Addons","kind":"section_3","ident_start":162355,"ident_end":162367,"extent_start":162351,"extent_end":163345,"fully_qualified_name":"React Addons","ident_utf16":{"start":{"line_number":1425,"utf16_col":4},"end":{"line_number":1425,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1425,"utf16_col":0},"end":{"line_number":1434,"utf16_col":0}}},{"name":"15.5.4 (April 11, 2017)","kind":"section_2","ident_start":163348,"ident_end":163371,"extent_start":163345,"extent_end":164051,"fully_qualified_name":"15.5.4 (April 11, 2017)","ident_utf16":{"start":{"line_number":1434,"utf16_col":3},"end":{"line_number":1434,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1434,"utf16_col":0},"end":{"line_number":1443,"utf16_col":0}}},{"name":"React Addons","kind":"section_3","ident_start":163377,"ident_end":163389,"extent_start":163373,"extent_end":163810,"fully_qualified_name":"React Addons","ident_utf16":{"start":{"line_number":1436,"utf16_col":4},"end":{"line_number":1436,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1436,"utf16_col":0},"end":{"line_number":1440,"utf16_col":0}}},{"name":"React Test Renderer","kind":"section_3","ident_start":163814,"ident_end":163833,"extent_start":163810,"extent_end":164051,"fully_qualified_name":"React Test Renderer","ident_utf16":{"start":{"line_number":1440,"utf16_col":4},"end":{"line_number":1440,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1440,"utf16_col":0},"end":{"line_number":1443,"utf16_col":0}}},{"name":"15.5.3 (April 7, 2017)","kind":"section_2","ident_start":164054,"ident_end":164076,"extent_start":164051,"extent_end":164555,"fully_qualified_name":"15.5.3 (April 7, 2017)","ident_utf16":{"start":{"line_number":1443,"utf16_col":3},"end":{"line_number":1443,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1443,"utf16_col":0},"end":{"line_number":1451,"utf16_col":0}}},{"name":"React Addons","kind":"section_3","ident_start":164182,"ident_end":164194,"extent_start":164178,"extent_end":164555,"fully_qualified_name":"React Addons","ident_utf16":{"start":{"line_number":1447,"utf16_col":4},"end":{"line_number":1447,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1447,"utf16_col":0},"end":{"line_number":1451,"utf16_col":0}}},{"name":"15.5.2 (April 7, 2017)","kind":"section_2","ident_start":164558,"ident_end":164580,"extent_start":164555,"extent_end":165193,"fully_qualified_name":"15.5.2 (April 7, 2017)","ident_utf16":{"start":{"line_number":1451,"utf16_col":3},"end":{"line_number":1451,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1451,"utf16_col":0},"end":{"line_number":1460,"utf16_col":0}}},{"name":"React Addons","kind":"section_3","ident_start":164686,"ident_end":164698,"extent_start":164682,"extent_end":165193,"fully_qualified_name":"React Addons","ident_utf16":{"start":{"line_number":1455,"utf16_col":4},"end":{"line_number":1455,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1455,"utf16_col":0},"end":{"line_number":1460,"utf16_col":0}}},{"name":"15.5.1 (April 7, 2017)","kind":"section_2","ident_start":165196,"ident_end":165218,"extent_start":165193,"extent_end":165511,"fully_qualified_name":"15.5.1 (April 7, 2017)","ident_utf16":{"start":{"line_number":1460,"utf16_col":3},"end":{"line_number":1460,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1460,"utf16_col":0},"end":{"line_number":1467,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":165324,"ident_end":165329,"extent_start":165320,"extent_end":165511,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1464,"utf16_col":4},"end":{"line_number":1464,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1464,"utf16_col":0},"end":{"line_number":1467,"utf16_col":0}}},{"name":"15.5.0 (April 7, 2017)","kind":"section_2","ident_start":165514,"ident_end":165536,"extent_start":165511,"extent_end":168097,"fully_qualified_name":"15.5.0 (April 7, 2017)","ident_utf16":{"start":{"line_number":1467,"utf16_col":3},"end":{"line_number":1467,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1467,"utf16_col":0},"end":{"line_number":1493,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":165642,"ident_end":165647,"extent_start":165638,"extent_end":166710,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1471,"utf16_col":4},"end":{"line_number":1471,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1471,"utf16_col":0},"end":{"line_number":1479,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":166714,"ident_end":166723,"extent_start":166710,"extent_end":166989,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1479,"utf16_col":4},"end":{"line_number":1479,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1479,"utf16_col":0},"end":{"line_number":1483,"utf16_col":0}}},{"name":"React Test Renderer","kind":"section_3","ident_start":166993,"ident_end":167012,"extent_start":166989,"extent_end":167289,"fully_qualified_name":"React Test Renderer","ident_utf16":{"start":{"line_number":1483,"utf16_col":4},"end":{"line_number":1483,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1483,"utf16_col":0},"end":{"line_number":1487,"utf16_col":0}}},{"name":"React Addons","kind":"section_3","ident_start":167293,"ident_end":167305,"extent_start":167289,"extent_end":168097,"fully_qualified_name":"React Addons","ident_utf16":{"start":{"line_number":1487,"utf16_col":4},"end":{"line_number":1487,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1487,"utf16_col":0},"end":{"line_number":1493,"utf16_col":0}}},{"name":"15.4.2 (January 6, 2017)","kind":"section_2","ident_start":168100,"ident_end":168124,"extent_start":168097,"extent_end":169609,"fully_qualified_name":"15.4.2 (January 6, 2017)","ident_utf16":{"start":{"line_number":1493,"utf16_col":3},"end":{"line_number":1493,"utf16_col":27}},"extent_utf16":{"start":{"line_number":1493,"utf16_col":0},"end":{"line_number":1510,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":168130,"ident_end":168135,"extent_start":168126,"extent_end":168836,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1495,"utf16_col":4},"end":{"line_number":1495,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1495,"utf16_col":0},"end":{"line_number":1501,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":168840,"ident_end":168849,"extent_start":168836,"extent_end":169294,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1501,"utf16_col":4},"end":{"line_number":1501,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1501,"utf16_col":0},"end":{"line_number":1506,"utf16_col":0}}},{"name":"React Addons","kind":"section_3","ident_start":169298,"ident_end":169310,"extent_start":169294,"extent_end":169609,"fully_qualified_name":"React Addons","ident_utf16":{"start":{"line_number":1506,"utf16_col":4},"end":{"line_number":1506,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1506,"utf16_col":0},"end":{"line_number":1510,"utf16_col":0}}},{"name":"15.4.1 (November 22, 2016)","kind":"section_2","ident_start":169612,"ident_end":169638,"extent_start":169609,"extent_end":170131,"fully_qualified_name":"15.4.1 (November 22, 2016)","ident_utf16":{"start":{"line_number":1510,"utf16_col":3},"end":{"line_number":1510,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1510,"utf16_col":0},"end":{"line_number":1519,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":169644,"ident_end":169649,"extent_start":169640,"extent_end":169810,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1512,"utf16_col":4},"end":{"line_number":1512,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1512,"utf16_col":0},"end":{"line_number":1515,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":169814,"ident_end":169823,"extent_start":169810,"extent_end":170131,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1515,"utf16_col":4},"end":{"line_number":1515,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1515,"utf16_col":0},"end":{"line_number":1519,"utf16_col":0}}},{"name":"15.4.0 (November 16, 2016)","kind":"section_2","ident_start":170134,"ident_end":170160,"extent_start":170131,"extent_end":173027,"fully_qualified_name":"15.4.0 (November 16, 2016)","ident_utf16":{"start":{"line_number":1519,"utf16_col":3},"end":{"line_number":1519,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1519,"utf16_col":0},"end":{"line_number":1546,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":170166,"ident_end":170171,"extent_start":170162,"extent_end":170765,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1521,"utf16_col":4},"end":{"line_number":1521,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1521,"utf16_col":0},"end":{"line_number":1526,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":170769,"ident_end":170778,"extent_start":170765,"extent_end":171961,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1526,"utf16_col":4},"end":{"line_number":1526,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1526,"utf16_col":0},"end":{"line_number":1535,"utf16_col":0}}},{"name":"React Perf","kind":"section_3","ident_start":171965,"ident_end":171975,"extent_start":171961,"extent_end":172189,"fully_qualified_name":"React Perf","ident_utf16":{"start":{"line_number":1535,"utf16_col":4},"end":{"line_number":1535,"utf16_col":14}},"extent_utf16":{"start":{"line_number":1535,"utf16_col":0},"end":{"line_number":1538,"utf16_col":0}}},{"name":"React Test Utils","kind":"section_3","ident_start":172193,"ident_end":172209,"extent_start":172189,"extent_end":172438,"fully_qualified_name":"React Test Utils","ident_utf16":{"start":{"line_number":1538,"utf16_col":4},"end":{"line_number":1538,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1538,"utf16_col":0},"end":{"line_number":1541,"utf16_col":0}}},{"name":"React Test Renderer","kind":"section_3","ident_start":172442,"ident_end":172461,"extent_start":172438,"extent_end":173027,"fully_qualified_name":"React Test Renderer","ident_utf16":{"start":{"line_number":1541,"utf16_col":4},"end":{"line_number":1541,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1541,"utf16_col":0},"end":{"line_number":1546,"utf16_col":0}}},{"name":"15.3.2 (September 19, 2016)","kind":"section_2","ident_start":173030,"ident_end":173057,"extent_start":173027,"extent_end":175444,"fully_qualified_name":"15.3.2 (September 19, 2016)","ident_utf16":{"start":{"line_number":1546,"utf16_col":3},"end":{"line_number":1546,"utf16_col":30}},"extent_utf16":{"start":{"line_number":1546,"utf16_col":0},"end":{"line_number":1571,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":173063,"ident_end":173068,"extent_start":173059,"extent_end":173242,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1548,"utf16_col":4},"end":{"line_number":1548,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1548,"utf16_col":0},"end":{"line_number":1551,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":173246,"ident_end":173255,"extent_start":173242,"extent_end":174882,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1551,"utf16_col":4},"end":{"line_number":1551,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1551,"utf16_col":0},"end":{"line_number":1563,"utf16_col":0}}},{"name":"React Test Renderer","kind":"section_3","ident_start":174886,"ident_end":174905,"extent_start":174882,"extent_end":175274,"fully_qualified_name":"React Test Renderer","ident_utf16":{"start":{"line_number":1563,"utf16_col":4},"end":{"line_number":1563,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1563,"utf16_col":0},"end":{"line_number":1567,"utf16_col":0}}},{"name":"React Perf Add-on","kind":"section_3","ident_start":175278,"ident_end":175295,"extent_start":175274,"extent_end":175444,"fully_qualified_name":"React Perf Add-on","ident_utf16":{"start":{"line_number":1567,"utf16_col":4},"end":{"line_number":1567,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1567,"utf16_col":0},"end":{"line_number":1571,"utf16_col":0}}},{"name":"15.3.1 (August 19, 2016)","kind":"section_2","ident_start":175447,"ident_end":175471,"extent_start":175444,"extent_end":178287,"fully_qualified_name":"15.3.1 (August 19, 2016)","ident_utf16":{"start":{"line_number":1571,"utf16_col":3},"end":{"line_number":1571,"utf16_col":27}},"extent_utf16":{"start":{"line_number":1571,"utf16_col":0},"end":{"line_number":1596,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":175477,"ident_end":175482,"extent_start":175473,"extent_end":176751,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1573,"utf16_col":4},"end":{"line_number":1573,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1573,"utf16_col":0},"end":{"line_number":1581,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":176755,"ident_end":176764,"extent_start":176751,"extent_end":177885,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1581,"utf16_col":4},"end":{"line_number":1581,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1581,"utf16_col":0},"end":{"line_number":1589,"utf16_col":0}}},{"name":"React Test Renderer","kind":"section_3","ident_start":177889,"ident_end":177908,"extent_start":177885,"extent_end":178074,"fully_qualified_name":"React Test Renderer","ident_utf16":{"start":{"line_number":1589,"utf16_col":4},"end":{"line_number":1589,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1589,"utf16_col":0},"end":{"line_number":1592,"utf16_col":0}}},{"name":"React Native Renderer","kind":"section_3","ident_start":178078,"ident_end":178099,"extent_start":178074,"extent_end":178287,"fully_qualified_name":"React Native Renderer","ident_utf16":{"start":{"line_number":1592,"utf16_col":4},"end":{"line_number":1592,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1592,"utf16_col":0},"end":{"line_number":1596,"utf16_col":0}}},{"name":"15.3.0 (July 29, 2016)","kind":"section_2","ident_start":178290,"ident_end":178312,"extent_start":178287,"extent_end":181648,"fully_qualified_name":"15.3.0 (July 29, 2016)","ident_utf16":{"start":{"line_number":1596,"utf16_col":3},"end":{"line_number":1596,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1596,"utf16_col":0},"end":{"line_number":1627,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":178318,"ident_end":178323,"extent_start":178314,"extent_end":180020,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1598,"utf16_col":4},"end":{"line_number":1598,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1598,"utf16_col":0},"end":{"line_number":1610,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":180024,"ident_end":180033,"extent_start":180020,"extent_end":180666,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1610,"utf16_col":4},"end":{"line_number":1610,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1610,"utf16_col":0},"end":{"line_number":1616,"utf16_col":0}}},{"name":"React Test Renderer","kind":"section_3","ident_start":180670,"ident_end":180689,"extent_start":180666,"extent_end":181063,"fully_qualified_name":"React Test Renderer","ident_utf16":{"start":{"line_number":1616,"utf16_col":4},"end":{"line_number":1616,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1616,"utf16_col":0},"end":{"line_number":1619,"utf16_col":0}}},{"name":"React Perf Add-on","kind":"section_3","ident_start":181067,"ident_end":181084,"extent_start":181063,"extent_end":181276,"fully_qualified_name":"React Perf Add-on","ident_utf16":{"start":{"line_number":1619,"utf16_col":4},"end":{"line_number":1619,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1619,"utf16_col":0},"end":{"line_number":1622,"utf16_col":0}}},{"name":"React TestUtils Add-on","kind":"section_3","ident_start":181280,"ident_end":181302,"extent_start":181276,"extent_end":181648,"fully_qualified_name":"React TestUtils Add-on","ident_utf16":{"start":{"line_number":1622,"utf16_col":4},"end":{"line_number":1622,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1622,"utf16_col":0},"end":{"line_number":1627,"utf16_col":0}}},{"name":"15.2.1 (July 8, 2016)","kind":"section_2","ident_start":181651,"ident_end":181672,"extent_start":181648,"extent_end":183992,"fully_qualified_name":"15.2.1 (July 8, 2016)","ident_utf16":{"start":{"line_number":1627,"utf16_col":3},"end":{"line_number":1627,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1627,"utf16_col":0},"end":{"line_number":1653,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":181678,"ident_end":181683,"extent_start":181674,"extent_end":182087,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1629,"utf16_col":4},"end":{"line_number":1629,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1629,"utf16_col":0},"end":{"line_number":1633,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":182091,"ident_end":182100,"extent_start":182087,"extent_end":183409,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1633,"utf16_col":4},"end":{"line_number":1633,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1633,"utf16_col":0},"end":{"line_number":1643,"utf16_col":0}}},{"name":"React Perf Add-on","kind":"section_3","ident_start":183413,"ident_end":183430,"extent_start":183409,"extent_end":183597,"fully_qualified_name":"React Perf Add-on","ident_utf16":{"start":{"line_number":1643,"utf16_col":4},"end":{"line_number":1643,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1643,"utf16_col":0},"end":{"line_number":1646,"utf16_col":0}}},{"name":"React CSSTransitionGroup Add-on","kind":"section_3","ident_start":183601,"ident_end":183632,"extent_start":183597,"extent_end":183798,"fully_qualified_name":"React CSSTransitionGroup Add-on","ident_utf16":{"start":{"line_number":1646,"utf16_col":4},"end":{"line_number":1646,"utf16_col":35}},"extent_utf16":{"start":{"line_number":1646,"utf16_col":0},"end":{"line_number":1649,"utf16_col":0}}},{"name":"React Native Renderer","kind":"section_3","ident_start":183802,"ident_end":183823,"extent_start":183798,"extent_end":183992,"fully_qualified_name":"React Native Renderer","ident_utf16":{"start":{"line_number":1649,"utf16_col":4},"end":{"line_number":1649,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1649,"utf16_col":0},"end":{"line_number":1653,"utf16_col":0}}},{"name":"15.2.0 (July 1, 2016)","kind":"section_2","ident_start":183995,"ident_end":184016,"extent_start":183992,"extent_end":189220,"fully_qualified_name":"15.2.0 (July 1, 2016)","ident_utf16":{"start":{"line_number":1653,"utf16_col":3},"end":{"line_number":1653,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1653,"utf16_col":0},"end":{"line_number":1696,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":184022,"ident_end":184027,"extent_start":184018,"extent_end":185697,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1655,"utf16_col":4},"end":{"line_number":1655,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1655,"utf16_col":0},"end":{"line_number":1666,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":185701,"ident_end":185710,"extent_start":185697,"extent_end":188070,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1666,"utf16_col":4},"end":{"line_number":1666,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1666,"utf16_col":0},"end":{"line_number":1682,"utf16_col":0}}},{"name":"React Perf Add-on","kind":"section_3","ident_start":188074,"ident_end":188091,"extent_start":188070,"extent_end":188820,"fully_qualified_name":"React Perf Add-on","ident_utf16":{"start":{"line_number":1682,"utf16_col":4},"end":{"line_number":1682,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1682,"utf16_col":0},"end":{"line_number":1689,"utf16_col":0}}},{"name":"React CSSTransitionGroup Add-on","kind":"section_3","ident_start":188824,"ident_end":188855,"extent_start":188820,"extent_end":188997,"fully_qualified_name":"React CSSTransitionGroup Add-on","ident_utf16":{"start":{"line_number":1689,"utf16_col":4},"end":{"line_number":1689,"utf16_col":35}},"extent_utf16":{"start":{"line_number":1689,"utf16_col":0},"end":{"line_number":1692,"utf16_col":0}}},{"name":"React Native Renderer","kind":"section_3","ident_start":189001,"ident_end":189022,"extent_start":188997,"extent_end":189220,"fully_qualified_name":"React Native Renderer","ident_utf16":{"start":{"line_number":1692,"utf16_col":4},"end":{"line_number":1692,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1692,"utf16_col":0},"end":{"line_number":1696,"utf16_col":0}}},{"name":"15.1.0 (May 20, 2016)","kind":"section_2","ident_start":189223,"ident_end":189244,"extent_start":189220,"extent_end":191658,"fully_qualified_name":"15.1.0 (May 20, 2016)","ident_utf16":{"start":{"line_number":1696,"utf16_col":3},"end":{"line_number":1696,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1696,"utf16_col":0},"end":{"line_number":1720,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":189250,"ident_end":189255,"extent_start":189246,"extent_end":189890,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1698,"utf16_col":4},"end":{"line_number":1698,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1698,"utf16_col":0},"end":{"line_number":1703,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":189894,"ident_end":189903,"extent_start":189890,"extent_end":190922,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1703,"utf16_col":4},"end":{"line_number":1703,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1703,"utf16_col":0},"end":{"line_number":1711,"utf16_col":0}}},{"name":"React Perf Add-on","kind":"section_3","ident_start":190926,"ident_end":190943,"extent_start":190922,"extent_end":191181,"fully_qualified_name":"React Perf Add-on","ident_utf16":{"start":{"line_number":1711,"utf16_col":4},"end":{"line_number":1711,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1711,"utf16_col":0},"end":{"line_number":1714,"utf16_col":0}}},{"name":"React Native Renderer","kind":"section_3","ident_start":191185,"ident_end":191206,"extent_start":191181,"extent_end":191658,"fully_qualified_name":"React Native Renderer","ident_utf16":{"start":{"line_number":1714,"utf16_col":4},"end":{"line_number":1714,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1714,"utf16_col":0},"end":{"line_number":1720,"utf16_col":0}}},{"name":"15.0.2 (April 29, 2016)","kind":"section_2","ident_start":191661,"ident_end":191684,"extent_start":191658,"extent_end":193527,"fully_qualified_name":"15.0.2 (April 29, 2016)","ident_utf16":{"start":{"line_number":1720,"utf16_col":3},"end":{"line_number":1720,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1720,"utf16_col":0},"end":{"line_number":1744,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":191690,"ident_end":191695,"extent_start":191686,"extent_end":191985,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1722,"utf16_col":4},"end":{"line_number":1722,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1722,"utf16_col":0},"end":{"line_number":1726,"utf16_col":0}}},{"name":"ReactDOM","kind":"section_3","ident_start":191989,"ident_end":191997,"extent_start":191985,"extent_end":192849,"fully_qualified_name":"ReactDOM","ident_utf16":{"start":{"line_number":1726,"utf16_col":4},"end":{"line_number":1726,"utf16_col":12}},"extent_utf16":{"start":{"line_number":1726,"utf16_col":0},"end":{"line_number":1733,"utf16_col":0}}},{"name":"React TestUtils Add-on","kind":"section_3","ident_start":192853,"ident_end":192875,"extent_start":192849,"extent_end":193208,"fully_qualified_name":"React TestUtils Add-on","ident_utf16":{"start":{"line_number":1733,"utf16_col":4},"end":{"line_number":1733,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1733,"utf16_col":0},"end":{"line_number":1737,"utf16_col":0}}},{"name":"React Perf Add-on","kind":"section_3","ident_start":193212,"ident_end":193229,"extent_start":193208,"extent_end":193392,"fully_qualified_name":"React Perf Add-on","ident_utf16":{"start":{"line_number":1737,"utf16_col":4},"end":{"line_number":1737,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1737,"utf16_col":0},"end":{"line_number":1740,"utf16_col":0}}},{"name":"React Native Renderer","kind":"section_3","ident_start":193396,"ident_end":193417,"extent_start":193392,"extent_end":193527,"fully_qualified_name":"React Native Renderer","ident_utf16":{"start":{"line_number":1740,"utf16_col":4},"end":{"line_number":1740,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1740,"utf16_col":0},"end":{"line_number":1744,"utf16_col":0}}},{"name":"15.0.1 (April 8, 2016)","kind":"section_2","ident_start":193530,"ident_end":193552,"extent_start":193527,"extent_end":193989,"fully_qualified_name":"15.0.1 (April 8, 2016)","ident_utf16":{"start":{"line_number":1744,"utf16_col":3},"end":{"line_number":1744,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1744,"utf16_col":0},"end":{"line_number":1753,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":193558,"ident_end":193563,"extent_start":193554,"extent_end":193798,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1746,"utf16_col":4},"end":{"line_number":1746,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1746,"utf16_col":0},"end":{"line_number":1749,"utf16_col":0}}},{"name":"ReactDOM","kind":"section_3","ident_start":193802,"ident_end":193810,"extent_start":193798,"extent_end":193989,"fully_qualified_name":"ReactDOM","ident_utf16":{"start":{"line_number":1749,"utf16_col":4},"end":{"line_number":1749,"utf16_col":12}},"extent_utf16":{"start":{"line_number":1749,"utf16_col":0},"end":{"line_number":1753,"utf16_col":0}}},{"name":"15.0.0 (April 7, 2016)","kind":"section_2","ident_start":193992,"ident_end":194014,"extent_start":193989,"extent_end":210244,"fully_qualified_name":"15.0.0 (April 7, 2016)","ident_utf16":{"start":{"line_number":1753,"utf16_col":3},"end":{"line_number":1753,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1753,"utf16_col":0},"end":{"line_number":1836,"utf16_col":0}}},{"name":"Major changes","kind":"section_3","ident_start":194020,"ident_end":194033,"extent_start":194016,"extent_end":197159,"fully_qualified_name":"Major changes","ident_utf16":{"start":{"line_number":1755,"utf16_col":4},"end":{"line_number":1755,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1755,"utf16_col":0},"end":{"line_number":1764,"utf16_col":0}}},{"name":"Breaking changes","kind":"section_3","ident_start":197163,"ident_end":197179,"extent_start":197159,"extent_end":199921,"fully_qualified_name":"Breaking changes","ident_utf16":{"start":{"line_number":1764,"utf16_col":4},"end":{"line_number":1764,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1764,"utf16_col":0},"end":{"line_number":1781,"utf16_col":0}}},{"name":"Removed deprecations","kind":"section_4","ident_start":198350,"ident_end":198370,"extent_start":198345,"extent_end":199921,"fully_qualified_name":"Removed deprecations","ident_utf16":{"start":{"line_number":1770,"utf16_col":5},"end":{"line_number":1770,"utf16_col":25}},"extent_utf16":{"start":{"line_number":1770,"utf16_col":0},"end":{"line_number":1781,"utf16_col":0}}},{"name":"New deprecations, introduced with a warning","kind":"section_3","ident_start":199925,"ident_end":199968,"extent_start":199921,"extent_end":201182,"fully_qualified_name":"New deprecations, introduced with a warning","ident_utf16":{"start":{"line_number":1781,"utf16_col":4},"end":{"line_number":1781,"utf16_col":47}},"extent_utf16":{"start":{"line_number":1781,"utf16_col":0},"end":{"line_number":1789,"utf16_col":0}}},{"name":"New helpful warnings","kind":"section_3","ident_start":201186,"ident_end":201206,"extent_start":201182,"extent_end":204514,"fully_qualified_name":"New helpful warnings","ident_utf16":{"start":{"line_number":1789,"utf16_col":4},"end":{"line_number":1789,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1789,"utf16_col":0},"end":{"line_number":1806,"utf16_col":0}}},{"name":"Notable bug fixes","kind":"section_3","ident_start":204518,"ident_end":204535,"extent_start":204514,"extent_end":208804,"fully_qualified_name":"Notable bug fixes","ident_utf16":{"start":{"line_number":1806,"utf16_col":4},"end":{"line_number":1806,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1806,"utf16_col":0},"end":{"line_number":1826,"utf16_col":0}}},{"name":"Other improvements","kind":"section_3","ident_start":208808,"ident_end":208826,"extent_start":208804,"extent_end":210244,"fully_qualified_name":"Other improvements","ident_utf16":{"start":{"line_number":1826,"utf16_col":4},"end":{"line_number":1826,"utf16_col":22}},"extent_utf16":{"start":{"line_number":1826,"utf16_col":0},"end":{"line_number":1836,"utf16_col":0}}},{"name":"0.14.10 (October 14, 2020)","kind":"section_2","ident_start":210247,"ident_end":210273,"extent_start":210244,"extent_end":210623,"fully_qualified_name":"0.14.10 (October 14, 2020)","ident_utf16":{"start":{"line_number":1836,"utf16_col":3},"end":{"line_number":1836,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1836,"utf16_col":0},"end":{"line_number":1842,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":210279,"ident_end":210284,"extent_start":210275,"extent_end":210623,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1838,"utf16_col":4},"end":{"line_number":1838,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1838,"utf16_col":0},"end":{"line_number":1842,"utf16_col":0}}},{"name":"0.14.8 (March 29, 2016)","kind":"section_2","ident_start":210626,"ident_end":210649,"extent_start":210623,"extent_end":210711,"fully_qualified_name":"0.14.8 (March 29, 2016)","ident_utf16":{"start":{"line_number":1842,"utf16_col":3},"end":{"line_number":1842,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1842,"utf16_col":0},"end":{"line_number":1847,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":210655,"ident_end":210660,"extent_start":210651,"extent_end":210711,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1844,"utf16_col":4},"end":{"line_number":1844,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1844,"utf16_col":0},"end":{"line_number":1847,"utf16_col":0}}},{"name":"0.14.7 (January 28, 2016)","kind":"section_2","ident_start":210714,"ident_end":210739,"extent_start":210711,"extent_end":210986,"fully_qualified_name":"0.14.7 (January 28, 2016)","ident_utf16":{"start":{"line_number":1847,"utf16_col":3},"end":{"line_number":1847,"utf16_col":28}},"extent_utf16":{"start":{"line_number":1847,"utf16_col":0},"end":{"line_number":1857,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":210745,"ident_end":210750,"extent_start":210741,"extent_end":210868,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1849,"utf16_col":4},"end":{"line_number":1849,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1849,"utf16_col":0},"end":{"line_number":1853,"utf16_col":0}}},{"name":"React TestUtils Add-on","kind":"section_3","ident_start":210872,"ident_end":210894,"extent_start":210868,"extent_end":210986,"fully_qualified_name":"React TestUtils Add-on","ident_utf16":{"start":{"line_number":1853,"utf16_col":4},"end":{"line_number":1853,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1853,"utf16_col":0},"end":{"line_number":1857,"utf16_col":0}}},{"name":"0.14.6 (January 6, 2016)","kind":"section_2","ident_start":210989,"ident_end":211013,"extent_start":210986,"extent_end":211115,"fully_qualified_name":"0.14.6 (January 6, 2016)","ident_utf16":{"start":{"line_number":1857,"utf16_col":3},"end":{"line_number":1857,"utf16_col":27}},"extent_utf16":{"start":{"line_number":1857,"utf16_col":0},"end":{"line_number":1863,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":211019,"ident_end":211024,"extent_start":211015,"extent_end":211115,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1859,"utf16_col":4},"end":{"line_number":1859,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1859,"utf16_col":0},"end":{"line_number":1863,"utf16_col":0}}},{"name":"0.14.5 (December 29, 2015)","kind":"section_2","ident_start":211118,"ident_end":211144,"extent_start":211115,"extent_end":211231,"fully_qualified_name":"0.14.5 (December 29, 2015)","ident_utf16":{"start":{"line_number":1863,"utf16_col":3},"end":{"line_number":1863,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1863,"utf16_col":0},"end":{"line_number":1869,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":211150,"ident_end":211155,"extent_start":211146,"extent_end":211231,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1865,"utf16_col":4},"end":{"line_number":1865,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1865,"utf16_col":0},"end":{"line_number":1869,"utf16_col":0}}},{"name":"0.14.4 (December 29, 2015)","kind":"section_2","ident_start":211234,"ident_end":211260,"extent_start":211231,"extent_end":211691,"fully_qualified_name":"0.14.4 (December 29, 2015)","ident_utf16":{"start":{"line_number":1869,"utf16_col":3},"end":{"line_number":1869,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1869,"utf16_col":0},"end":{"line_number":1882,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":211266,"ident_end":211271,"extent_start":211262,"extent_end":211341,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":1871,"utf16_col":4},"end":{"line_number":1871,"utf16_col":9}},"extent_utf16":{"start":{"line_number":1871,"utf16_col":0},"end":{"line_number":1874,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":211345,"ident_end":211354,"extent_start":211341,"extent_end":211579,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1874,"utf16_col":4},"end":{"line_number":1874,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1874,"utf16_col":0},"end":{"line_number":1878,"utf16_col":0}}},{"name":"React Perf Add-on","kind":"section_3","ident_start":211583,"ident_end":211600,"extent_start":211579,"extent_end":211691,"fully_qualified_name":"React Perf Add-on","ident_utf16":{"start":{"line_number":1878,"utf16_col":4},"end":{"line_number":1878,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1878,"utf16_col":0},"end":{"line_number":1882,"utf16_col":0}}},{"name":"0.14.3 (November 18, 2015)","kind":"section_2","ident_start":211694,"ident_end":211720,"extent_start":211691,"extent_end":212212,"fully_qualified_name":"0.14.3 (November 18, 2015)","ident_utf16":{"start":{"line_number":1882,"utf16_col":3},"end":{"line_number":1882,"utf16_col":29}},"extent_utf16":{"start":{"line_number":1882,"utf16_col":0},"end":{"line_number":1898,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":211726,"ident_end":211735,"extent_start":211722,"extent_end":211874,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1884,"utf16_col":4},"end":{"line_number":1884,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1884,"utf16_col":0},"end":{"line_number":1888,"utf16_col":0}}},{"name":"React TestUtils Add-on","kind":"section_3","ident_start":211878,"ident_end":211900,"extent_start":211874,"extent_end":211955,"fully_qualified_name":"React TestUtils Add-on","ident_utf16":{"start":{"line_number":1888,"utf16_col":4},"end":{"line_number":1888,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1888,"utf16_col":0},"end":{"line_number":1891,"utf16_col":0}}},{"name":"React CSSTransitionGroup Add-on","kind":"section_3","ident_start":211959,"ident_end":211990,"extent_start":211955,"extent_end":212082,"fully_qualified_name":"React CSSTransitionGroup Add-on","ident_utf16":{"start":{"line_number":1891,"utf16_col":4},"end":{"line_number":1891,"utf16_col":35}},"extent_utf16":{"start":{"line_number":1891,"utf16_col":0},"end":{"line_number":1894,"utf16_col":0}}},{"name":"React on Bower","kind":"section_3","ident_start":212086,"ident_end":212100,"extent_start":212082,"extent_end":212212,"fully_qualified_name":"React on Bower","ident_utf16":{"start":{"line_number":1894,"utf16_col":4},"end":{"line_number":1894,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1894,"utf16_col":0},"end":{"line_number":1898,"utf16_col":0}}},{"name":"0.14.2 (November 2, 2015)","kind":"section_2","ident_start":212215,"ident_end":212240,"extent_start":212212,"extent_end":212748,"fully_qualified_name":"0.14.2 (November 2, 2015)","ident_utf16":{"start":{"line_number":1898,"utf16_col":3},"end":{"line_number":1898,"utf16_col":28}},"extent_utf16":{"start":{"line_number":1898,"utf16_col":0},"end":{"line_number":1908,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":212246,"ident_end":212255,"extent_start":212242,"extent_end":212748,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1900,"utf16_col":4},"end":{"line_number":1900,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1900,"utf16_col":0},"end":{"line_number":1908,"utf16_col":0}}},{"name":"0.14.1 (October 28, 2015)","kind":"section_2","ident_start":212751,"ident_end":212776,"extent_start":212748,"extent_end":213451,"fully_qualified_name":"0.14.1 (October 28, 2015)","ident_utf16":{"start":{"line_number":1908,"utf16_col":3},"end":{"line_number":1908,"utf16_col":28}},"extent_utf16":{"start":{"line_number":1908,"utf16_col":0},"end":{"line_number":1927,"utf16_col":0}}},{"name":"React DOM","kind":"section_3","ident_start":212782,"ident_end":212791,"extent_start":212778,"extent_end":213173,"fully_qualified_name":"React DOM","ident_utf16":{"start":{"line_number":1910,"utf16_col":4},"end":{"line_number":1910,"utf16_col":13}},"extent_utf16":{"start":{"line_number":1910,"utf16_col":0},"end":{"line_number":1917,"utf16_col":0}}},{"name":"React TestUtils Add-on","kind":"section_3","ident_start":213177,"ident_end":213199,"extent_start":213173,"extent_end":213267,"fully_qualified_name":"React TestUtils Add-on","ident_utf16":{"start":{"line_number":1917,"utf16_col":4},"end":{"line_number":1917,"utf16_col":26}},"extent_utf16":{"start":{"line_number":1917,"utf16_col":0},"end":{"line_number":1920,"utf16_col":0}}},{"name":"React CSSTransitionGroup Add-on","kind":"section_3","ident_start":213271,"ident_end":213302,"extent_start":213267,"extent_end":213359,"fully_qualified_name":"React CSSTransitionGroup Add-on","ident_utf16":{"start":{"line_number":1920,"utf16_col":4},"end":{"line_number":1920,"utf16_col":35}},"extent_utf16":{"start":{"line_number":1920,"utf16_col":0},"end":{"line_number":1923,"utf16_col":0}}},{"name":"React on Bower","kind":"section_3","ident_start":213363,"ident_end":213377,"extent_start":213359,"extent_end":213451,"fully_qualified_name":"React on Bower","ident_utf16":{"start":{"line_number":1923,"utf16_col":4},"end":{"line_number":1923,"utf16_col":18}},"extent_utf16":{"start":{"line_number":1923,"utf16_col":0},"end":{"line_number":1927,"utf16_col":0}}},{"name":"0.14.0 (October 7, 2015)","kind":"section_2","ident_start":213454,"ident_end":213478,"extent_start":213451,"extent_end":223430,"fully_qualified_name":"0.14.0 (October 7, 2015)","ident_utf16":{"start":{"line_number":1927,"utf16_col":3},"end":{"line_number":1927,"utf16_col":27}},"extent_utf16":{"start":{"line_number":1927,"utf16_col":0},"end":{"line_number":2001,"utf16_col":0}}},{"name":"Major changes","kind":"section_3","ident_start":213484,"ident_end":213497,"extent_start":213480,"extent_end":215034,"fully_qualified_name":"Major changes","ident_utf16":{"start":{"line_number":1929,"utf16_col":4},"end":{"line_number":1929,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1929,"utf16_col":0},"end":{"line_number":1937,"utf16_col":0}}},{"name":"Breaking changes","kind":"section_3","ident_start":215038,"ident_end":215054,"extent_start":215034,"extent_end":216136,"fully_qualified_name":"Breaking changes","ident_utf16":{"start":{"line_number":1937,"utf16_col":4},"end":{"line_number":1937,"utf16_col":20}},"extent_utf16":{"start":{"line_number":1937,"utf16_col":0},"end":{"line_number":1946,"utf16_col":0}}},{"name":"Deprecations","kind":"section_3","ident_start":216140,"ident_end":216152,"extent_start":216136,"extent_end":217344,"fully_qualified_name":"Deprecations","ident_utf16":{"start":{"line_number":1946,"utf16_col":4},"end":{"line_number":1946,"utf16_col":16}},"extent_utf16":{"start":{"line_number":1946,"utf16_col":0},"end":{"line_number":1955,"utf16_col":0}}},{"name":"Notable enhancements","kind":"section_3","ident_start":217348,"ident_end":217368,"extent_start":217344,"extent_end":220496,"fully_qualified_name":"Notable enhancements","ident_utf16":{"start":{"line_number":1955,"utf16_col":4},"end":{"line_number":1955,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1955,"utf16_col":0},"end":{"line_number":1971,"utf16_col":0}}},{"name":"New helpful warnings","kind":"section_3","ident_start":220500,"ident_end":220520,"extent_start":220496,"extent_end":220970,"fully_qualified_name":"New helpful warnings","ident_utf16":{"start":{"line_number":1971,"utf16_col":4},"end":{"line_number":1971,"utf16_col":24}},"extent_utf16":{"start":{"line_number":1971,"utf16_col":0},"end":{"line_number":1977,"utf16_col":0}}},{"name":"Notable bug fixes","kind":"section_3","ident_start":220974,"ident_end":220991,"extent_start":220970,"extent_end":222204,"fully_qualified_name":"Notable bug fixes","ident_utf16":{"start":{"line_number":1977,"utf16_col":4},"end":{"line_number":1977,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1977,"utf16_col":0},"end":{"line_number":1989,"utf16_col":0}}},{"name":"React Tools / Babel","kind":"section_3","ident_start":222208,"ident_end":222227,"extent_start":222204,"extent_end":223430,"fully_qualified_name":"React Tools / Babel","ident_utf16":{"start":{"line_number":1989,"utf16_col":4},"end":{"line_number":1989,"utf16_col":23}},"extent_utf16":{"start":{"line_number":1989,"utf16_col":0},"end":{"line_number":2001,"utf16_col":0}}},{"name":"Breaking Changes","kind":"section_4","ident_start":222234,"ident_end":222250,"extent_start":222229,"extent_end":222605,"fully_qualified_name":"Breaking Changes","ident_utf16":{"start":{"line_number":1991,"utf16_col":5},"end":{"line_number":1991,"utf16_col":21}},"extent_utf16":{"start":{"line_number":1991,"utf16_col":0},"end":{"line_number":1995,"utf16_col":0}}},{"name":"New Features","kind":"section_4","ident_start":222610,"ident_end":222622,"extent_start":222605,"extent_end":223430,"fully_qualified_name":"New Features","ident_utf16":{"start":{"line_number":1995,"utf16_col":5},"end":{"line_number":1995,"utf16_col":17}},"extent_utf16":{"start":{"line_number":1995,"utf16_col":0},"end":{"line_number":2001,"utf16_col":0}}},{"name":"0.13.3 (May 8, 2015)","kind":"section_2","ident_start":223433,"ident_end":223453,"extent_start":223430,"extent_end":223968,"fully_qualified_name":"0.13.3 (May 8, 2015)","ident_utf16":{"start":{"line_number":2001,"utf16_col":3},"end":{"line_number":2001,"utf16_col":23}},"extent_utf16":{"start":{"line_number":2001,"utf16_col":0},"end":{"line_number":2023,"utf16_col":0}}},{"name":"React Core","kind":"section_3","ident_start":223459,"ident_end":223469,"extent_start":223455,"extent_end":223839,"fully_qualified_name":"React Core","ident_utf16":{"start":{"line_number":2003,"utf16_col":4},"end":{"line_number":2003,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2003,"utf16_col":0},"end":{"line_number":2016,"utf16_col":0}}},{"name":"New Features","kind":"section_4","ident_start":223476,"ident_end":223488,"extent_start":223471,"extent_end":223603,"fully_qualified_name":"New Features","ident_utf16":{"start":{"line_number":2005,"utf16_col":5},"end":{"line_number":2005,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2005,"utf16_col":0},"end":{"line_number":2010,"utf16_col":0}}},{"name":"Bug Fixes","kind":"section_4","ident_start":223608,"ident_end":223617,"extent_start":223603,"extent_end":223839,"fully_qualified_name":"Bug Fixes","ident_utf16":{"start":{"line_number":2010,"utf16_col":5},"end":{"line_number":2010,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2010,"utf16_col":0},"end":{"line_number":2016,"utf16_col":0}}},{"name":"React with Add-ons","kind":"section_3","ident_start":223843,"ident_end":223861,"extent_start":223839,"extent_end":223863,"fully_qualified_name":"React with Add-ons","ident_utf16":{"start":{"line_number":2016,"utf16_col":4},"end":{"line_number":2016,"utf16_col":22}},"extent_utf16":{"start":{"line_number":2016,"utf16_col":0},"end":{"line_number":2018,"utf16_col":0}}},{"name":"Bug Fixes","kind":"section_3","ident_start":223867,"ident_end":223876,"extent_start":223863,"extent_end":223968,"fully_qualified_name":"Bug Fixes","ident_utf16":{"start":{"line_number":2018,"utf16_col":4},"end":{"line_number":2018,"utf16_col":13}},"extent_utf16":{"start":{"line_number":2018,"utf16_col":0},"end":{"line_number":2023,"utf16_col":0}}},{"name":"0.13.2 (April 18, 2015)","kind":"section_2","ident_start":223971,"ident_end":223994,"extent_start":223968,"extent_end":224783,"fully_qualified_name":"0.13.2 (April 18, 2015)","ident_utf16":{"start":{"line_number":2023,"utf16_col":3},"end":{"line_number":2023,"utf16_col":26}},"extent_utf16":{"start":{"line_number":2023,"utf16_col":0},"end":{"line_number":2053,"utf16_col":0}}},{"name":"React Core","kind":"section_3","ident_start":224000,"ident_end":224010,"extent_start":223996,"extent_end":224606,"fully_qualified_name":"React Core","ident_utf16":{"start":{"line_number":2025,"utf16_col":4},"end":{"line_number":2025,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2025,"utf16_col":0},"end":{"line_number":2042,"utf16_col":0}}},{"name":"New Features","kind":"section_4","ident_start":224017,"ident_end":224029,"extent_start":224012,"extent_end":224331,"fully_qualified_name":"New Features","ident_utf16":{"start":{"line_number":2027,"utf16_col":5},"end":{"line_number":2027,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2027,"utf16_col":0},"end":{"line_number":2035,"utf16_col":0}}},{"name":"Bug Fixes","kind":"section_4","ident_start":224336,"ident_end":224345,"extent_start":224331,"extent_end":224606,"fully_qualified_name":"Bug Fixes","ident_utf16":{"start":{"line_number":2035,"utf16_col":5},"end":{"line_number":2035,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2035,"utf16_col":0},"end":{"line_number":2042,"utf16_col":0}}},{"name":"React with Add-Ons","kind":"section_3","ident_start":224610,"ident_end":224628,"extent_start":224606,"extent_end":224724,"fully_qualified_name":"React with Add-Ons","ident_utf16":{"start":{"line_number":2042,"utf16_col":4},"end":{"line_number":2042,"utf16_col":22}},"extent_utf16":{"start":{"line_number":2042,"utf16_col":0},"end":{"line_number":2048,"utf16_col":0}}},{"name":"Bug Fixes","kind":"section_4","ident_start":224635,"ident_end":224644,"extent_start":224630,"extent_end":224724,"fully_qualified_name":"Bug Fixes","ident_utf16":{"start":{"line_number":2044,"utf16_col":5},"end":{"line_number":2044,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2044,"utf16_col":0},"end":{"line_number":2048,"utf16_col":0}}},{"name":"React Tools","kind":"section_3","ident_start":224728,"ident_end":224739,"extent_start":224724,"extent_end":224783,"fully_qualified_name":"React Tools","ident_utf16":{"start":{"line_number":2048,"utf16_col":4},"end":{"line_number":2048,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2048,"utf16_col":0},"end":{"line_number":2053,"utf16_col":0}}},{"name":"0.13.1 (March 16, 2015)","kind":"section_2","ident_start":224786,"ident_end":224809,"extent_start":224783,"extent_end":225301,"fully_qualified_name":"0.13.1 (March 16, 2015)","ident_utf16":{"start":{"line_number":2053,"utf16_col":3},"end":{"line_number":2053,"utf16_col":26}},"extent_utf16":{"start":{"line_number":2053,"utf16_col":0},"end":{"line_number":2077,"utf16_col":0}}},{"name":"React Core","kind":"section_3","ident_start":224815,"ident_end":224825,"extent_start":224811,"extent_end":224962,"fully_qualified_name":"React Core","ident_utf16":{"start":{"line_number":2055,"utf16_col":4},"end":{"line_number":2055,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2055,"utf16_col":0},"end":{"line_number":2062,"utf16_col":0}}},{"name":"Bug Fixes","kind":"section_4","ident_start":224832,"ident_end":224841,"extent_start":224827,"extent_end":224962,"fully_qualified_name":"Bug Fixes","ident_utf16":{"start":{"line_number":2057,"utf16_col":5},"end":{"line_number":2057,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2057,"utf16_col":0},"end":{"line_number":2062,"utf16_col":0}}},{"name":"React with Add-Ons","kind":"section_3","ident_start":224966,"ident_end":224984,"extent_start":224962,"extent_end":225216,"fully_qualified_name":"React with Add-Ons","ident_utf16":{"start":{"line_number":2062,"utf16_col":4},"end":{"line_number":2062,"utf16_col":22}},"extent_utf16":{"start":{"line_number":2062,"utf16_col":0},"end":{"line_number":2070,"utf16_col":0}}},{"name":"Bug Fixes","kind":"section_4","ident_start":224991,"ident_end":225000,"extent_start":224986,"extent_end":225216,"fully_qualified_name":"Bug Fixes","ident_utf16":{"start":{"line_number":2064,"utf16_col":5},"end":{"line_number":2064,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2064,"utf16_col":0},"end":{"line_number":2070,"utf16_col":0}}},{"name":"React Tools","kind":"section_3","ident_start":225220,"ident_end":225231,"extent_start":225216,"extent_end":225301,"fully_qualified_name":"React Tools","ident_utf16":{"start":{"line_number":2070,"utf16_col":4},"end":{"line_number":2070,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2070,"utf16_col":0},"end":{"line_number":2077,"utf16_col":0}}},{"name":"Bug Fixes","kind":"section_4","ident_start":225238,"ident_end":225247,"extent_start":225233,"extent_end":225301,"fully_qualified_name":"Bug Fixes","ident_utf16":{"start":{"line_number":2072,"utf16_col":5},"end":{"line_number":2072,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2072,"utf16_col":0},"end":{"line_number":2077,"utf16_col":0}}},{"name":"0.13.0 (March 10, 2015)","kind":"section_2","ident_start":225304,"ident_end":225327,"extent_start":225301,"extent_end":229982,"fully_qualified_name":"0.13.0 (March 10, 2015)","ident_utf16":{"start":{"line_number":2077,"utf16_col":3},"end":{"line_number":2077,"utf16_col":26}},"extent_utf16":{"start":{"line_number":2077,"utf16_col":0},"end":{"line_number":2141,"utf16_col":0}}},{"name":"React Core","kind":"section_3","ident_start":225333,"ident_end":225343,"extent_start":225329,"extent_end":228138,"fully_qualified_name":"React Core","ident_utf16":{"start":{"line_number":2079,"utf16_col":4},"end":{"line_number":2079,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2079,"utf16_col":0},"end":{"line_number":2105,"utf16_col":0}}},{"name":"Breaking Changes","kind":"section_4","ident_start":225350,"ident_end":225366,"extent_start":225345,"extent_end":226620,"fully_qualified_name":"Breaking Changes","ident_utf16":{"start":{"line_number":2081,"utf16_col":5},"end":{"line_number":2081,"utf16_col":21}},"extent_utf16":{"start":{"line_number":2081,"utf16_col":0},"end":{"line_number":2091,"utf16_col":0}}},{"name":"New Features","kind":"section_4","ident_start":226625,"ident_end":226637,"extent_start":226620,"extent_end":227821,"fully_qualified_name":"New Features","ident_utf16":{"start":{"line_number":2091,"utf16_col":5},"end":{"line_number":2091,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2091,"utf16_col":0},"end":{"line_number":2100,"utf16_col":0}}},{"name":"Deprecations","kind":"section_4","ident_start":227826,"ident_end":227838,"extent_start":227821,"extent_end":228138,"fully_qualified_name":"Deprecations","ident_utf16":{"start":{"line_number":2100,"utf16_col":5},"end":{"line_number":2100,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2100,"utf16_col":0},"end":{"line_number":2105,"utf16_col":0}}},{"name":"React with Add-Ons","kind":"section_3","ident_start":228142,"ident_end":228160,"extent_start":228138,"extent_end":228692,"fully_qualified_name":"React with Add-Ons","ident_utf16":{"start":{"line_number":2105,"utf16_col":4},"end":{"line_number":2105,"utf16_col":22}},"extent_utf16":{"start":{"line_number":2105,"utf16_col":0},"end":{"line_number":2116,"utf16_col":0}}},{"name":"New Features","kind":"section_4","ident_start":228167,"ident_end":228179,"extent_start":228162,"extent_end":228317,"fully_qualified_name":"New Features","ident_utf16":{"start":{"line_number":2107,"utf16_col":5},"end":{"line_number":2107,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2107,"utf16_col":0},"end":{"line_number":2111,"utf16_col":0}}},{"name":"Deprecations","kind":"section_4","ident_start":228322,"ident_end":228334,"extent_start":228317,"extent_end":228692,"fully_qualified_name":"Deprecations","ident_utf16":{"start":{"line_number":2111,"utf16_col":5},"end":{"line_number":2111,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2111,"utf16_col":0},"end":{"line_number":2116,"utf16_col":0}}},{"name":"React Tools","kind":"section_3","ident_start":228696,"ident_end":228707,"extent_start":228692,"extent_end":229394,"fully_qualified_name":"React Tools","ident_utf16":{"start":{"line_number":2116,"utf16_col":4},"end":{"line_number":2116,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2116,"utf16_col":0},"end":{"line_number":2129,"utf16_col":0}}},{"name":"Breaking Changes","kind":"section_4","ident_start":228714,"ident_end":228730,"extent_start":228709,"extent_end":228950,"fully_qualified_name":"Breaking Changes","ident_utf16":{"start":{"line_number":2118,"utf16_col":5},"end":{"line_number":2118,"utf16_col":21}},"extent_utf16":{"start":{"line_number":2118,"utf16_col":0},"end":{"line_number":2122,"utf16_col":0}}},{"name":"New Features","kind":"section_4","ident_start":228955,"ident_end":228967,"extent_start":228950,"extent_end":229394,"fully_qualified_name":"New Features","ident_utf16":{"start":{"line_number":2122,"utf16_col":5},"end":{"line_number":2122,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2122,"utf16_col":0},"end":{"line_number":2129,"utf16_col":0}}},{"name":"JSXTransformer","kind":"section_3","ident_start":229398,"ident_end":229412,"extent_start":229394,"extent_end":229562,"fully_qualified_name":"JSXTransformer","ident_utf16":{"start":{"line_number":2129,"utf16_col":4},"end":{"line_number":2129,"utf16_col":18}},"extent_utf16":{"start":{"line_number":2129,"utf16_col":0},"end":{"line_number":2135,"utf16_col":0}}},{"name":"Breaking Changes","kind":"section_4","ident_start":229419,"ident_end":229435,"extent_start":229414,"extent_end":229562,"fully_qualified_name":"Breaking Changes","ident_utf16":{"start":{"line_number":2131,"utf16_col":5},"end":{"line_number":2131,"utf16_col":21}},"extent_utf16":{"start":{"line_number":2131,"utf16_col":0},"end":{"line_number":2135,"utf16_col":0}}},{"name":"JSX","kind":"section_3","ident_start":229566,"ident_end":229569,"extent_start":229562,"extent_end":229982,"fully_qualified_name":"JSX","ident_utf16":{"start":{"line_number":2135,"utf16_col":4},"end":{"line_number":2135,"utf16_col":7}},"extent_utf16":{"start":{"line_number":2135,"utf16_col":0},"end":{"line_number":2141,"utf16_col":0}}},{"name":"Breaking Changes","kind":"section_4","ident_start":229576,"ident_end":229592,"extent_start":229571,"extent_end":229982,"fully_qualified_name":"Breaking Changes","ident_utf16":{"start":{"line_number":2137,"utf16_col":5},"end":{"line_number":2137,"utf16_col":21}},"extent_utf16":{"start":{"line_number":2137,"utf16_col":0},"end":{"line_number":2141,"utf16_col":0}}},{"name":"0.12.2 (December 18, 2014)","kind":"section_2","ident_start":229985,"ident_end":230011,"extent_start":229982,"extent_end":230512,"fully_qualified_name":"0.12.2 (December 18, 2014)","ident_utf16":{"start":{"line_number":2141,"utf16_col":3},"end":{"line_number":2141,"utf16_col":29}},"extent_utf16":{"start":{"line_number":2141,"utf16_col":0},"end":{"line_number":2155,"utf16_col":0}}},{"name":"React Core","kind":"section_3","ident_start":230017,"ident_end":230027,"extent_start":230013,"extent_end":230411,"fully_qualified_name":"React Core","ident_utf16":{"start":{"line_number":2143,"utf16_col":4},"end":{"line_number":2143,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2143,"utf16_col":0},"end":{"line_number":2150,"utf16_col":0}}},{"name":"React Tools","kind":"section_3","ident_start":230415,"ident_end":230426,"extent_start":230411,"extent_end":230512,"fully_qualified_name":"React Tools","ident_utf16":{"start":{"line_number":2150,"utf16_col":4},"end":{"line_number":2150,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2150,"utf16_col":0},"end":{"line_number":2155,"utf16_col":0}}},{"name":"0.12.1 (November 18, 2014)","kind":"section_2","ident_start":230515,"ident_end":230541,"extent_start":230512,"extent_end":230767,"fully_qualified_name":"0.12.1 (November 18, 2014)","ident_utf16":{"start":{"line_number":2155,"utf16_col":3},"end":{"line_number":2155,"utf16_col":29}},"extent_utf16":{"start":{"line_number":2155,"utf16_col":0},"end":{"line_number":2164,"utf16_col":0}}},{"name":"React Tools","kind":"section_3","ident_start":230547,"ident_end":230558,"extent_start":230543,"extent_end":230767,"fully_qualified_name":"React Tools","ident_utf16":{"start":{"line_number":2157,"utf16_col":4},"end":{"line_number":2157,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2157,"utf16_col":0},"end":{"line_number":2164,"utf16_col":0}}},{"name":"0.12.0 (October 28, 2014)","kind":"section_2","ident_start":230770,"ident_end":230795,"extent_start":230767,"extent_end":233632,"fully_qualified_name":"0.12.0 (October 28, 2014)","ident_utf16":{"start":{"line_number":2164,"utf16_col":3},"end":{"line_number":2164,"utf16_col":28}},"extent_utf16":{"start":{"line_number":2164,"utf16_col":0},"end":{"line_number":2239,"utf16_col":0}}},{"name":"React Core","kind":"section_3","ident_start":230801,"ident_end":230811,"extent_start":230797,"extent_end":232807,"fully_qualified_name":"React Core","ident_utf16":{"start":{"line_number":2166,"utf16_col":4},"end":{"line_number":2166,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2166,"utf16_col":0},"end":{"line_number":2208,"utf16_col":0}}},{"name":"Breaking Changes","kind":"section_4","ident_start":230818,"ident_end":230834,"extent_start":230813,"extent_end":231347,"fully_qualified_name":"Breaking Changes","ident_utf16":{"start":{"line_number":2168,"utf16_col":5},"end":{"line_number":2168,"utf16_col":21}},"extent_utf16":{"start":{"line_number":2168,"utf16_col":0},"end":{"line_number":2176,"utf16_col":0}}},{"name":"New Features","kind":"section_4","ident_start":231352,"ident_end":231364,"extent_start":231347,"extent_end":231523,"fully_qualified_name":"New Features","ident_utf16":{"start":{"line_number":2176,"utf16_col":5},"end":{"line_number":2176,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2176,"utf16_col":0},"end":{"line_number":2181,"utf16_col":0}}},{"name":"Deprecations","kind":"section_4","ident_start":231528,"ident_end":231540,"extent_start":231523,"extent_end":232210,"fully_qualified_name":"Deprecations","ident_utf16":{"start":{"line_number":2181,"utf16_col":5},"end":{"line_number":2181,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2181,"utf16_col":0},"end":{"line_number":2195,"utf16_col":0}}},{"name":"Bug Fixes","kind":"section_4","ident_start":232215,"ident_end":232224,"extent_start":232210,"extent_end":232807,"fully_qualified_name":"Bug Fixes","ident_utf16":{"start":{"line_number":2195,"utf16_col":5},"end":{"line_number":2195,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2195,"utf16_col":0},"end":{"line_number":2208,"utf16_col":0}}},{"name":"React With Addons","kind":"section_3","ident_start":232811,"ident_end":232828,"extent_start":232807,"extent_end":233171,"fully_qualified_name":"React With Addons","ident_utf16":{"start":{"line_number":2208,"utf16_col":4},"end":{"line_number":2208,"utf16_col":21}},"extent_utf16":{"start":{"line_number":2208,"utf16_col":0},"end":{"line_number":2222,"utf16_col":0}}},{"name":"New Features","kind":"section_4","ident_start":232835,"ident_end":232847,"extent_start":232830,"extent_end":232925,"fully_qualified_name":"New Features","ident_utf16":{"start":{"line_number":2210,"utf16_col":5},"end":{"line_number":2210,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2210,"utf16_col":0},"end":{"line_number":2214,"utf16_col":0}}},{"name":"Breaking Changes","kind":"section_4","ident_start":232930,"ident_end":232946,"extent_start":232925,"extent_end":233113,"fully_qualified_name":"Breaking Changes","ident_utf16":{"start":{"line_number":2214,"utf16_col":5},"end":{"line_number":2214,"utf16_col":21}},"extent_utf16":{"start":{"line_number":2214,"utf16_col":0},"end":{"line_number":2218,"utf16_col":0}}},{"name":"Bug Fixes","kind":"section_4","ident_start":233118,"ident_end":233127,"extent_start":233113,"extent_end":233171,"fully_qualified_name":"Bug Fixes","ident_utf16":{"start":{"line_number":2218,"utf16_col":5},"end":{"line_number":2218,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2218,"utf16_col":0},"end":{"line_number":2222,"utf16_col":0}}},{"name":"JSX","kind":"section_3","ident_start":233175,"ident_end":233178,"extent_start":233171,"extent_end":233632,"fully_qualified_name":"JSX","ident_utf16":{"start":{"line_number":2222,"utf16_col":4},"end":{"line_number":2222,"utf16_col":7}},"extent_utf16":{"start":{"line_number":2222,"utf16_col":0},"end":{"line_number":2239,"utf16_col":0}}},{"name":"Breaking Changes","kind":"section_4","ident_start":233185,"ident_end":233201,"extent_start":233180,"extent_end":233397,"fully_qualified_name":"Breaking Changes","ident_utf16":{"start":{"line_number":2224,"utf16_col":5},"end":{"line_number":2224,"utf16_col":21}},"extent_utf16":{"start":{"line_number":2224,"utf16_col":0},"end":{"line_number":2229,"utf16_col":0}}},{"name":"New Features","kind":"section_4","ident_start":233402,"ident_end":233414,"extent_start":233397,"extent_end":233523,"fully_qualified_name":"New Features","ident_utf16":{"start":{"line_number":2229,"utf16_col":5},"end":{"line_number":2229,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2229,"utf16_col":0},"end":{"line_number":2234,"utf16_col":0}}},{"name":"Bug Fixes","kind":"section_4","ident_start":233528,"ident_end":233537,"extent_start":233523,"extent_end":233632,"fully_qualified_name":"Bug Fixes","ident_utf16":{"start":{"line_number":2234,"utf16_col":5},"end":{"line_number":2234,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2234,"utf16_col":0},"end":{"line_number":2239,"utf16_col":0}}},{"name":"0.11.2 (September 16, 2014)","kind":"section_2","ident_start":233635,"ident_end":233662,"extent_start":233632,"extent_end":234328,"fully_qualified_name":"0.11.2 (September 16, 2014)","ident_utf16":{"start":{"line_number":2239,"utf16_col":3},"end":{"line_number":2239,"utf16_col":30}},"extent_utf16":{"start":{"line_number":2239,"utf16_col":0},"end":{"line_number":2260,"utf16_col":0}}},{"name":"React Core","kind":"section_3","ident_start":233668,"ident_end":233678,"extent_start":233664,"extent_end":233983,"fully_qualified_name":"React Core","ident_utf16":{"start":{"line_number":2241,"utf16_col":4},"end":{"line_number":2241,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2241,"utf16_col":0},"end":{"line_number":2250,"utf16_col":0}}},{"name":"New Features","kind":"section_4","ident_start":233685,"ident_end":233697,"extent_start":233680,"extent_end":233983,"fully_qualified_name":"New Features","ident_utf16":{"start":{"line_number":2243,"utf16_col":5},"end":{"line_number":2243,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2243,"utf16_col":0},"end":{"line_number":2250,"utf16_col":0}}},{"name":"JSX","kind":"section_3","ident_start":233987,"ident_end":233990,"extent_start":233983,"extent_end":234046,"fully_qualified_name":"JSX","ident_utf16":{"start":{"line_number":2250,"utf16_col":4},"end":{"line_number":2250,"utf16_col":7}},"extent_utf16":{"start":{"line_number":2250,"utf16_col":0},"end":{"line_number":2254,"utf16_col":0}}},{"name":"React Tools","kind":"section_3","ident_start":234050,"ident_end":234061,"extent_start":234046,"extent_end":234328,"fully_qualified_name":"React Tools","ident_utf16":{"start":{"line_number":2254,"utf16_col":4},"end":{"line_number":2254,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2254,"utf16_col":0},"end":{"line_number":2260,"utf16_col":0}}},{"name":"0.11.1 (July 24, 2014)","kind":"section_2","ident_start":234331,"ident_end":234353,"extent_start":234328,"extent_end":234859,"fully_qualified_name":"0.11.1 (July 24, 2014)","ident_utf16":{"start":{"line_number":2260,"utf16_col":3},"end":{"line_number":2260,"utf16_col":25}},"extent_utf16":{"start":{"line_number":2260,"utf16_col":0},"end":{"line_number":2275,"utf16_col":0}}},{"name":"React Core","kind":"section_3","ident_start":234359,"ident_end":234369,"extent_start":234355,"extent_end":234761,"fully_qualified_name":"React Core","ident_utf16":{"start":{"line_number":2262,"utf16_col":4},"end":{"line_number":2262,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2262,"utf16_col":0},"end":{"line_number":2271,"utf16_col":0}}},{"name":"Bug Fixes","kind":"section_4","ident_start":234376,"ident_end":234385,"extent_start":234371,"extent_end":234761,"fully_qualified_name":"Bug Fixes","ident_utf16":{"start":{"line_number":2264,"utf16_col":5},"end":{"line_number":2264,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2264,"utf16_col":0},"end":{"line_number":2271,"utf16_col":0}}},{"name":"JSX","kind":"section_3","ident_start":234765,"ident_end":234768,"extent_start":234761,"extent_end":234859,"fully_qualified_name":"JSX","ident_utf16":{"start":{"line_number":2271,"utf16_col":4},"end":{"line_number":2271,"utf16_col":7}},"extent_utf16":{"start":{"line_number":2271,"utf16_col":0},"end":{"line_number":2275,"utf16_col":0}}},{"name":"0.11.0 (July 17, 2014)","kind":"section_2","ident_start":234862,"ident_end":234884,"extent_start":234859,"extent_end":237630,"fully_qualified_name":"0.11.0 (July 17, 2014)","ident_utf16":{"start":{"line_number":2275,"utf16_col":3},"end":{"line_number":2275,"utf16_col":25}},"extent_utf16":{"start":{"line_number":2275,"utf16_col":0},"end":{"line_number":2329,"utf16_col":0}}},{"name":"React Core","kind":"section_3","ident_start":234890,"ident_end":234900,"extent_start":234886,"extent_end":236553,"fully_qualified_name":"React Core","ident_utf16":{"start":{"line_number":2277,"utf16_col":4},"end":{"line_number":2277,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2277,"utf16_col":0},"end":{"line_number":2305,"utf16_col":0}}},{"name":"Breaking Changes","kind":"section_4","ident_start":234907,"ident_end":234923,"extent_start":234902,"extent_end":235259,"fully_qualified_name":"Breaking Changes","ident_utf16":{"start":{"line_number":2279,"utf16_col":5},"end":{"line_number":2279,"utf16_col":21}},"extent_utf16":{"start":{"line_number":2279,"utf16_col":0},"end":{"line_number":2285,"utf16_col":0}}},{"name":"New Features","kind":"section_4","ident_start":235264,"ident_end":235276,"extent_start":235259,"extent_end":235510,"fully_qualified_name":"New Features","ident_utf16":{"start":{"line_number":2285,"utf16_col":5},"end":{"line_number":2285,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2285,"utf16_col":0},"end":{"line_number":2291,"utf16_col":0}}},{"name":"Bug Fixes","kind":"section_4","ident_start":235515,"ident_end":235524,"extent_start":235510,"extent_end":236553,"fully_qualified_name":"Bug Fixes","ident_utf16":{"start":{"line_number":2291,"utf16_col":5},"end":{"line_number":2291,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2291,"utf16_col":0},"end":{"line_number":2305,"utf16_col":0}}},{"name":"React With Addons","kind":"section_3","ident_start":236557,"ident_end":236574,"extent_start":236553,"extent_end":236810,"fully_qualified_name":"React With Addons","ident_utf16":{"start":{"line_number":2305,"utf16_col":4},"end":{"line_number":2305,"utf16_col":21}},"extent_utf16":{"start":{"line_number":2305,"utf16_col":0},"end":{"line_number":2311,"utf16_col":0}}},{"name":"React NPM Module","kind":"section_3","ident_start":236814,"ident_end":236830,"extent_start":236810,"extent_end":236960,"fully_qualified_name":"React NPM Module","ident_utf16":{"start":{"line_number":2311,"utf16_col":4},"end":{"line_number":2311,"utf16_col":20}},"extent_utf16":{"start":{"line_number":2311,"utf16_col":0},"end":{"line_number":2315,"utf16_col":0}}},{"name":"JSX","kind":"section_3","ident_start":236964,"ident_end":236967,"extent_start":236960,"extent_end":237357,"fully_qualified_name":"JSX","ident_utf16":{"start":{"line_number":2315,"utf16_col":4},"end":{"line_number":2315,"utf16_col":7}},"extent_utf16":{"start":{"line_number":2315,"utf16_col":0},"end":{"line_number":2322,"utf16_col":0}}},{"name":"React Tools Module","kind":"section_3","ident_start":237361,"ident_end":237379,"extent_start":237357,"extent_end":237630,"fully_qualified_name":"React Tools Module","ident_utf16":{"start":{"line_number":2322,"utf16_col":4},"end":{"line_number":2322,"utf16_col":22}},"extent_utf16":{"start":{"line_number":2322,"utf16_col":0},"end":{"line_number":2329,"utf16_col":0}}},{"name":"0.10.0 (March 21, 2014)","kind":"section_2","ident_start":237633,"ident_end":237656,"extent_start":237630,"extent_end":238745,"fully_qualified_name":"0.10.0 (March 21, 2014)","ident_utf16":{"start":{"line_number":2329,"utf16_col":3},"end":{"line_number":2329,"utf16_col":26}},"extent_utf16":{"start":{"line_number":2329,"utf16_col":0},"end":{"line_number":2353,"utf16_col":0}}},{"name":"React Core","kind":"section_3","ident_start":237662,"ident_end":237672,"extent_start":237658,"extent_end":238366,"fully_qualified_name":"React Core","ident_utf16":{"start":{"line_number":2331,"utf16_col":4},"end":{"line_number":2331,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2331,"utf16_col":0},"end":{"line_number":2345,"utf16_col":0}}},{"name":"New Features","kind":"section_4","ident_start":237679,"ident_end":237691,"extent_start":237674,"extent_end":238163,"fully_qualified_name":"New Features","ident_utf16":{"start":{"line_number":2333,"utf16_col":5},"end":{"line_number":2333,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2333,"utf16_col":0},"end":{"line_number":2340,"utf16_col":0}}},{"name":"Bug Fixes","kind":"section_4","ident_start":238168,"ident_end":238177,"extent_start":238163,"extent_end":238366,"fully_qualified_name":"Bug Fixes","ident_utf16":{"start":{"line_number":2340,"utf16_col":5},"end":{"line_number":2340,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2340,"utf16_col":0},"end":{"line_number":2345,"utf16_col":0}}},{"name":"Addons","kind":"section_3","ident_start":238370,"ident_end":238376,"extent_start":238366,"extent_end":238482,"fully_qualified_name":"Addons","ident_utf16":{"start":{"line_number":2345,"utf16_col":4},"end":{"line_number":2345,"utf16_col":10}},"extent_utf16":{"start":{"line_number":2345,"utf16_col":0},"end":{"line_number":2349,"utf16_col":0}}},{"name":"react-tools","kind":"section_3","ident_start":238486,"ident_end":238497,"extent_start":238482,"extent_end":238745,"fully_qualified_name":"react-tools","ident_utf16":{"start":{"line_number":2349,"utf16_col":4},"end":{"line_number":2349,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2349,"utf16_col":0},"end":{"line_number":2353,"utf16_col":0}}},{"name":"0.9.0 (February 20, 2014)","kind":"section_2","ident_start":238748,"ident_end":238773,"extent_start":238745,"extent_end":244268,"fully_qualified_name":"0.9.0 (February 20, 2014)","ident_utf16":{"start":{"line_number":2353,"utf16_col":3},"end":{"line_number":2353,"utf16_col":28}},"extent_utf16":{"start":{"line_number":2353,"utf16_col":0},"end":{"line_number":2435,"utf16_col":0}}},{"name":"React Core","kind":"section_3","ident_start":238779,"ident_end":238789,"extent_start":238775,"extent_end":242974,"fully_qualified_name":"React Core","ident_utf16":{"start":{"line_number":2355,"utf16_col":4},"end":{"line_number":2355,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2355,"utf16_col":0},"end":{"line_number":2415,"utf16_col":0}}},{"name":"Breaking Changes","kind":"section_4","ident_start":238796,"ident_end":238812,"extent_start":238791,"extent_end":239813,"fully_qualified_name":"Breaking Changes","ident_utf16":{"start":{"line_number":2357,"utf16_col":5},"end":{"line_number":2357,"utf16_col":21}},"extent_utf16":{"start":{"line_number":2357,"utf16_col":0},"end":{"line_number":2369,"utf16_col":0}}},{"name":"New Features","kind":"section_4","ident_start":239818,"ident_end":239830,"extent_start":239813,"extent_end":241269,"fully_qualified_name":"New Features","ident_utf16":{"start":{"line_number":2369,"utf16_col":5},"end":{"line_number":2369,"utf16_col":17}},"extent_utf16":{"start":{"line_number":2369,"utf16_col":0},"end":{"line_number":2394,"utf16_col":0}}},{"name":"Bug Fixes","kind":"section_4","ident_start":241274,"ident_end":241283,"extent_start":241269,"extent_end":242974,"fully_qualified_name":"Bug Fixes","ident_utf16":{"start":{"line_number":2394,"utf16_col":5},"end":{"line_number":2394,"utf16_col":14}},"extent_utf16":{"start":{"line_number":2394,"utf16_col":0},"end":{"line_number":2415,"utf16_col":0}}},{"name":"React with Addons","kind":"section_3","ident_start":242978,"ident_end":242995,"extent_start":242974,"extent_end":243592,"fully_qualified_name":"React with Addons","ident_utf16":{"start":{"line_number":2415,"utf16_col":4},"end":{"line_number":2415,"utf16_col":21}},"extent_utf16":{"start":{"line_number":2415,"utf16_col":0},"end":{"line_number":2426,"utf16_col":0}}},{"name":"JSX Compiler and react-tools Package","kind":"section_3","ident_start":243596,"ident_end":243632,"extent_start":243592,"extent_end":244268,"fully_qualified_name":"JSX Compiler and react-tools Package","ident_utf16":{"start":{"line_number":2426,"utf16_col":4},"end":{"line_number":2426,"utf16_col":40}},"extent_utf16":{"start":{"line_number":2426,"utf16_col":0},"end":{"line_number":2435,"utf16_col":0}}},{"name":"0.8.0 (December 19, 2013)","kind":"section_2","ident_start":244271,"ident_end":244296,"extent_start":244268,"extent_end":244947,"fully_qualified_name":"0.8.0 (December 19, 2013)","ident_utf16":{"start":{"line_number":2435,"utf16_col":3},"end":{"line_number":2435,"utf16_col":28}},"extent_utf16":{"start":{"line_number":2435,"utf16_col":0},"end":{"line_number":2463,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":244302,"ident_end":244307,"extent_start":244298,"extent_end":244641,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":2437,"utf16_col":4},"end":{"line_number":2437,"utf16_col":9}},"extent_utf16":{"start":{"line_number":2437,"utf16_col":0},"end":{"line_number":2448,"utf16_col":0}}},{"name":"React with Addons","kind":"section_3","ident_start":244645,"ident_end":244662,"extent_start":244641,"extent_end":244763,"fully_qualified_name":"React with Addons","ident_utf16":{"start":{"line_number":2448,"utf16_col":4},"end":{"line_number":2448,"utf16_col":21}},"extent_utf16":{"start":{"line_number":2448,"utf16_col":0},"end":{"line_number":2453,"utf16_col":0}}},{"name":"react-tools","kind":"section_3","ident_start":244767,"ident_end":244778,"extent_start":244763,"extent_end":244823,"fully_qualified_name":"react-tools","ident_utf16":{"start":{"line_number":2453,"utf16_col":4},"end":{"line_number":2453,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2453,"utf16_col":0},"end":{"line_number":2457,"utf16_col":0}}},{"name":"JSXTransformer","kind":"section_3","ident_start":244827,"ident_end":244841,"extent_start":244823,"extent_end":244947,"fully_qualified_name":"JSXTransformer","ident_utf16":{"start":{"line_number":2457,"utf16_col":4},"end":{"line_number":2457,"utf16_col":18}},"extent_utf16":{"start":{"line_number":2457,"utf16_col":0},"end":{"line_number":2463,"utf16_col":0}}},{"name":"0.5.2, 0.4.2 (December 18, 2013)","kind":"section_2","ident_start":244950,"ident_end":244982,"extent_start":244947,"extent_end":245148,"fully_qualified_name":"0.5.2, 0.4.2 (December 18, 2013)","ident_utf16":{"start":{"line_number":2463,"utf16_col":3},"end":{"line_number":2463,"utf16_col":35}},"extent_utf16":{"start":{"line_number":2463,"utf16_col":0},"end":{"line_number":2470,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":244988,"ident_end":244993,"extent_start":244984,"extent_end":245148,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":2465,"utf16_col":4},"end":{"line_number":2465,"utf16_col":9}},"extent_utf16":{"start":{"line_number":2465,"utf16_col":0},"end":{"line_number":2470,"utf16_col":0}}},{"name":"0.5.1 (October 29, 2013)","kind":"section_2","ident_start":245151,"ident_end":245175,"extent_start":245148,"extent_end":245511,"fully_qualified_name":"0.5.1 (October 29, 2013)","ident_utf16":{"start":{"line_number":2470,"utf16_col":3},"end":{"line_number":2470,"utf16_col":27}},"extent_utf16":{"start":{"line_number":2470,"utf16_col":0},"end":{"line_number":2484,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":245181,"ident_end":245186,"extent_start":245177,"extent_end":245427,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":2472,"utf16_col":4},"end":{"line_number":2472,"utf16_col":9}},"extent_utf16":{"start":{"line_number":2472,"utf16_col":0},"end":{"line_number":2479,"utf16_col":0}}},{"name":"React with Addons","kind":"section_3","ident_start":245431,"ident_end":245448,"extent_start":245427,"extent_end":245511,"fully_qualified_name":"React with Addons","ident_utf16":{"start":{"line_number":2479,"utf16_col":4},"end":{"line_number":2479,"utf16_col":21}},"extent_utf16":{"start":{"line_number":2479,"utf16_col":0},"end":{"line_number":2484,"utf16_col":0}}},{"name":"0.5.0 (October 16, 2013)","kind":"section_2","ident_start":245514,"ident_end":245538,"extent_start":245511,"extent_end":247968,"fully_qualified_name":"0.5.0 (October 16, 2013)","ident_utf16":{"start":{"line_number":2484,"utf16_col":3},"end":{"line_number":2484,"utf16_col":27}},"extent_utf16":{"start":{"line_number":2484,"utf16_col":0},"end":{"line_number":2519,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":245544,"ident_end":245549,"extent_start":245540,"extent_end":247254,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":2486,"utf16_col":4},"end":{"line_number":2486,"utf16_col":9}},"extent_utf16":{"start":{"line_number":2486,"utf16_col":0},"end":{"line_number":2507,"utf16_col":0}}},{"name":"React with Addons (New!)","kind":"section_3","ident_start":247258,"ident_end":247282,"extent_start":247254,"extent_end":247542,"fully_qualified_name":"React with Addons (New!)","ident_utf16":{"start":{"line_number":2507,"utf16_col":4},"end":{"line_number":2507,"utf16_col":28}},"extent_utf16":{"start":{"line_number":2507,"utf16_col":0},"end":{"line_number":2511,"utf16_col":0}}},{"name":"JSX","kind":"section_3","ident_start":247546,"ident_end":247549,"extent_start":247542,"extent_end":247968,"fully_qualified_name":"JSX","ident_utf16":{"start":{"line_number":2511,"utf16_col":4},"end":{"line_number":2511,"utf16_col":7}},"extent_utf16":{"start":{"line_number":2511,"utf16_col":0},"end":{"line_number":2519,"utf16_col":0}}},{"name":"0.4.1 (July 26, 2013)","kind":"section_2","ident_start":247971,"ident_end":247992,"extent_start":247968,"extent_end":248565,"fully_qualified_name":"0.4.1 (July 26, 2013)","ident_utf16":{"start":{"line_number":2519,"utf16_col":3},"end":{"line_number":2519,"utf16_col":24}},"extent_utf16":{"start":{"line_number":2519,"utf16_col":0},"end":{"line_number":2535,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":247998,"ident_end":248003,"extent_start":247994,"extent_end":248463,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":2521,"utf16_col":4},"end":{"line_number":2521,"utf16_col":9}},"extent_utf16":{"start":{"line_number":2521,"utf16_col":0},"end":{"line_number":2530,"utf16_col":0}}},{"name":"JSXTransformer","kind":"section_3","ident_start":248467,"ident_end":248481,"extent_start":248463,"extent_end":248565,"fully_qualified_name":"JSXTransformer","ident_utf16":{"start":{"line_number":2530,"utf16_col":4},"end":{"line_number":2530,"utf16_col":18}},"extent_utf16":{"start":{"line_number":2530,"utf16_col":0},"end":{"line_number":2535,"utf16_col":0}}},{"name":"0.4.0 (July 17, 2013)","kind":"section_2","ident_start":248568,"ident_end":248589,"extent_start":248565,"extent_end":250941,"fully_qualified_name":"0.4.0 (July 17, 2013)","ident_utf16":{"start":{"line_number":2535,"utf16_col":3},"end":{"line_number":2535,"utf16_col":24}},"extent_utf16":{"start":{"line_number":2535,"utf16_col":0},"end":{"line_number":2563,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":248595,"ident_end":248600,"extent_start":248591,"extent_end":250300,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":2537,"utf16_col":4},"end":{"line_number":2537,"utf16_col":9}},"extent_utf16":{"start":{"line_number":2537,"utf16_col":0},"end":{"line_number":2549,"utf16_col":0}}},{"name":"JSX","kind":"section_3","ident_start":250304,"ident_end":250307,"extent_start":250300,"extent_end":250801,"fully_qualified_name":"JSX","ident_utf16":{"start":{"line_number":2549,"utf16_col":4},"end":{"line_number":2549,"utf16_col":7}},"extent_utf16":{"start":{"line_number":2549,"utf16_col":0},"end":{"line_number":2557,"utf16_col":0}}},{"name":"react-tools","kind":"section_3","ident_start":250805,"ident_end":250816,"extent_start":250801,"extent_end":250941,"fully_qualified_name":"react-tools","ident_utf16":{"start":{"line_number":2557,"utf16_col":4},"end":{"line_number":2557,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2557,"utf16_col":0},"end":{"line_number":2563,"utf16_col":0}}},{"name":"0.3.3 (June 20, 2013)","kind":"section_2","ident_start":250944,"ident_end":250965,"extent_start":250941,"extent_end":251695,"fully_qualified_name":"0.3.3 (June 20, 2013)","ident_utf16":{"start":{"line_number":2563,"utf16_col":3},"end":{"line_number":2563,"utf16_col":24}},"extent_utf16":{"start":{"line_number":2563,"utf16_col":0},"end":{"line_number":2580,"utf16_col":0}}},{"name":"React","kind":"section_3","ident_start":250971,"ident_end":250976,"extent_start":250967,"extent_end":251148,"fully_qualified_name":"React","ident_utf16":{"start":{"line_number":2565,"utf16_col":4},"end":{"line_number":2565,"utf16_col":9}},"extent_utf16":{"start":{"line_number":2565,"utf16_col":0},"end":{"line_number":2569,"utf16_col":0}}},{"name":"JSX","kind":"section_3","ident_start":251152,"ident_end":251155,"extent_start":251148,"extent_end":251326,"fully_qualified_name":"JSX","ident_utf16":{"start":{"line_number":2569,"utf16_col":4},"end":{"line_number":2569,"utf16_col":7}},"extent_utf16":{"start":{"line_number":2569,"utf16_col":0},"end":{"line_number":2573,"utf16_col":0}}},{"name":"react-tools","kind":"section_3","ident_start":251330,"ident_end":251341,"extent_start":251326,"extent_end":251695,"fully_qualified_name":"react-tools","ident_utf16":{"start":{"line_number":2573,"utf16_col":4},"end":{"line_number":2573,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2573,"utf16_col":0},"end":{"line_number":2580,"utf16_col":0}}},{"name":"0.3.2 (May 31, 2013)","kind":"section_2","ident_start":251698,"ident_end":251718,"extent_start":251695,"extent_end":252031,"fully_qualified_name":"0.3.2 (May 31, 2013)","ident_utf16":{"start":{"line_number":2580,"utf16_col":3},"end":{"line_number":2580,"utf16_col":23}},"extent_utf16":{"start":{"line_number":2580,"utf16_col":0},"end":{"line_number":2591,"utf16_col":0}}},{"name":"JSX","kind":"section_3","ident_start":251724,"ident_end":251727,"extent_start":251720,"extent_end":251838,"fully_qualified_name":"JSX","ident_utf16":{"start":{"line_number":2582,"utf16_col":4},"end":{"line_number":2582,"utf16_col":7}},"extent_utf16":{"start":{"line_number":2582,"utf16_col":0},"end":{"line_number":2586,"utf16_col":0}}},{"name":"react-tools","kind":"section_3","ident_start":251842,"ident_end":251853,"extent_start":251838,"extent_end":252031,"fully_qualified_name":"react-tools","ident_utf16":{"start":{"line_number":2586,"utf16_col":4},"end":{"line_number":2586,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2586,"utf16_col":0},"end":{"line_number":2591,"utf16_col":0}}},{"name":"0.3.1 (May 30, 2013)","kind":"section_2","ident_start":252034,"ident_end":252054,"extent_start":252031,"extent_end":252126,"fully_qualified_name":"0.3.1 (May 30, 2013)","ident_utf16":{"start":{"line_number":2591,"utf16_col":3},"end":{"line_number":2591,"utf16_col":23}},"extent_utf16":{"start":{"line_number":2591,"utf16_col":0},"end":{"line_number":2598,"utf16_col":0}}},{"name":"react-tools","kind":"section_3","ident_start":252060,"ident_end":252071,"extent_start":252056,"extent_end":252126,"fully_qualified_name":"react-tools","ident_utf16":{"start":{"line_number":2593,"utf16_col":4},"end":{"line_number":2593,"utf16_col":15}},"extent_utf16":{"start":{"line_number":2593,"utf16_col":0},"end":{"line_number":2598,"utf16_col":0}}},{"name":"0.3.0 (May 29, 2013)","kind":"section_2","ident_start":252129,"ident_end":252149,"extent_start":252126,"extent_end":252176,"fully_qualified_name":"0.3.0 (May 29, 2013)","ident_utf16":{"start":{"line_number":2598,"utf16_col":3},"end":{"line_number":2598,"utf16_col":23}},"extent_utf16":{"start":{"line_number":2598,"utf16_col":0},"end":{"line_number":2601,"utf16_col":0}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"csrf_tokens":{"/facebook/react/branches":{"post":"5y-qUBqwhVWjYNSvsa7Vb6wq78LiK8qilIAgoIBcqcyZqdPpP2x5PlVAODPfu0Ko9mmvSiMPBpS6v2Vw13fXBA"},"/repos/preferences":{"post":"4MuDdi78G4gaJdxIDSejvlxMZzKxfLt6jOGeeUZm2bgZrr-J5Dxd4nYIBK1nsWE3xUdfAvJcd6qa--h67yYh6A"}}},"title":"react/CHANGELOG.md at main · facebook/react","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-7d7eb7c71814.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-96e76d5fdb2c.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"overview_shared_code_dropdown_button":false,"react_blob_overlay":false,"accessible_code_button":true,"github_models_repo_integration":false}}}</script> <div data-target="react-app.reactRoot"></div> </react-app> </turbo-frame> </div> </turbo-frame> </main> </div> </div> <footer class="footer pt-8 pb-6 f6 color-fg-muted p-responsive" role="contentinfo" > <h2 class='sr-only'>Footer</h2> <div class="d-flex flex-justify-center flex-items-center flex-column-reverse flex-lg-row flex-wrap flex-lg-nowrap"> <div class="d-flex flex-items-center flex-shrink-0 mx-2"> <a aria-label="Homepage" title="GitHub" class="footer-octicon mr-2" href="https://github.com"> <svg aria-hidden="true" height="24" viewBox="0 0 24 24" version="1.1" width="24" data-view-component="true" class="octicon octicon-mark-github"> <path d="M12 1C5.9225 1 1 5.9225 1 12C1 16.8675 4.14875 20.9787 8.52125 22.4362C9.07125 22.5325 9.2775 22.2025 9.2775 21.9137C9.2775 21.6525 9.26375 20.7862 9.26375 19.865C6.5 20.3737 5.785 19.1912 5.565 18.5725C5.44125 18.2562 4.905 17.28 4.4375 17.0187C4.0525 16.8125 3.5025 16.3037 4.42375 16.29C5.29 16.2762 5.90875 17.0875 6.115 17.4175C7.105 19.0812 8.68625 18.6137 9.31875 18.325C9.415 17.61 9.70375 17.1287 10.02 16.8537C7.5725 16.5787 5.015 15.63 5.015 11.4225C5.015 10.2262 5.44125 9.23625 6.1425 8.46625C6.0325 8.19125 5.6475 7.06375 6.2525 5.55125C6.2525 5.55125 7.17375 5.2625 9.2775 6.67875C10.1575 6.43125 11.0925 6.3075 12.0275 6.3075C12.9625 6.3075 13.8975 6.43125 14.7775 6.67875C16.8813 5.24875 17.8025 5.55125 17.8025 5.55125C18.4075 7.06375 18.0225 8.19125 17.9125 8.46625C18.6138 9.23625 19.04 10.2125 19.04 11.4225C19.04 15.6437 16.4688 16.5787 14.0213 16.8537C14.42 17.1975 14.7638 17.8575 14.7638 18.8887C14.7638 20.36 14.75 21.5425 14.75 21.9137C14.75 22.2025 14.9563 22.5462 15.5063 22.4362C19.8513 20.9787 23 16.8537 23 12C23 5.9225 18.0775 1 12 1Z"></path> </svg> </a> <span> © 2025 GitHub, Inc. </span> </div> <nav aria-label="Footer"> <h3 class="sr-only" id="sr-footer-heading">Footer navigation</h3> <ul class="list-style-none d-flex flex-justify-center flex-wrap mb-2 mb-lg-0" aria-labelledby="sr-footer-heading"> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to Terms","label":"text:terms"}" href="https://docs.github.com/site-policy/github-terms/github-terms-of-service" data-view-component="true" class="Link--secondary Link">Terms</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to privacy","label":"text:privacy"}" href="https://docs.github.com/site-policy/privacy-policies/github-privacy-statement" data-view-component="true" class="Link--secondary Link">Privacy</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to security","label":"text:security"}" href="https://github.com/security" data-view-component="true" class="Link--secondary Link">Security</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to status","label":"text:status"}" href="https://www.githubstatus.com/" data-view-component="true" class="Link--secondary Link">Status</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to docs","label":"text:docs"}" href="https://docs.github.com/" data-view-component="true" class="Link--secondary Link">Docs</a> </li> <li class="mx-2"> <a data-analytics-event="{"category":"Footer","action":"go to contact","label":"text:contact"}" href="https://support.github.com?tags=dotcom-footer" data-view-component="true" class="Link--secondary Link">Contact</a> </li> <li class="mx-2" > <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{"location":"footer","action":"cookies","context":"subfooter","tag":"link","label":"cookies_link_subfooter_footer"}" > Manage cookies </button> </cookie-consent-link> </li> <li class="mx-2"> <cookie-consent-link> <button type="button" class="Link--secondary underline-on-hover border-0 p-0 color-bg-transparent" data-action="click:cookie-consent-link#showConsentManagement" data-analytics-event="{"location":"footer","action":"dont_share_info","context":"subfooter","tag":"link","label":"dont_share_info_link_subfooter_footer"}" > Do not share my personal information </button> </cookie-consent-link> </li> </ul> </nav> </div> </footer> <ghcc-consent id="ghcc" class="position-fixed bottom-0 left-0" style="z-index: 999999" data-initial-cookie-consent-allowed="" data-cookie-consent-required="false"></ghcc-consent> <div id="ajax-error-message" class="ajax-error-message flash flash-error" hidden> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-alert"> <path d="M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z"></path> </svg> <button type="button" class="flash-close js-ajax-error-dismiss" aria-label="Dismiss error"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> You can’t perform that action at this time. </div> <template id="site-details-dialog"> <details class="details-reset details-overlay details-overlay-dark lh-default color-fg-default hx_rsm" open> <summary role="button" aria-label="Close dialog"></summary> <details-dialog class="Box Box--overlay d-flex flex-column anim-fade-in fast hx_rsm-dialog hx_rsm-modal"> <button class="Box-btn-octicon m-0 btn-octicon position-absolute right-0 top-0" type="button" aria-label="Close dialog" data-close-dialog> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x"> <path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path> </svg> </button> <div class="octocat-spinner my-6 js-details-dialog-spinner"></div> </details-dialog> </details> </template> <div class="Popover js-hovercard-content position-absolute" style="display: none; outline: none;"> <div class="Popover-message Popover-message--bottom-left Popover-message--large Box color-shadow-large" style="width:360px;"> </div> </div> <template id="snippet-clipboard-copy-button"> <div class="zeroclipboard-container position-absolute right-0 top-0"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn js-clipboard-copy m-2 p-0" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon m-2"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none m-2"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> <template id="snippet-clipboard-copy-button-unpositioned"> <div class="zeroclipboard-container"> <clipboard-copy aria-label="Copy" class="ClipboardButton btn btn-invisible js-clipboard-copy m-2 p-0 d-flex flex-justify-center flex-items-center" data-copy-feedback="Copied!" data-tooltip-direction="w"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-copy js-clipboard-copy-icon"> <path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path> </svg> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-check js-clipboard-check-icon color-fg-success d-none"> <path d="M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z"></path> </svg> </clipboard-copy> </div> </template> </div> <div id="js-global-screen-reader-notice" class="sr-only mt-n1" aria-live="polite" aria-atomic="true" ></div> <div id="js-global-screen-reader-notice-assertive" class="sr-only mt-n1" aria-live="assertive" aria-atomic="true"></div> </body> </html>