react-native-windows

A framework for building native Windows apps with React.

OTHER License

Downloads
1.3M
Stars
16.3K
Committers
209

Bot releases are hidden (Show)

react-native-windows - React Native Windows 0.76.0-preview.1

Published by jonthysell 16 days ago

We're excited to release React Native Windows 0.76.0-preview.1 targeting React Native 0.76.0-rc.0. There have been many changes to both react-native-windows and react-native itself, and we would love your feedback on anything that doesn't work as expected. This release includes the commits to React Native Windows from 6/20/2024 – 9/26/2024.

How to upgrade
You can view the changes made to the default new React Native Windows applications for C++ and C# using React Native Upgrade Helper. See this document for more details.

Reliability

New Features

Breaking Changes

react-native-windows - React Native Windows 0.75.4

Published by jonthysell 17 days ago

This is patch release of react-native-windows, fixing bugs or adding non-breaking enhancements. To see a summary of changes in this major release, see release notes for React Native Windows 0.75.0.

New changes

react-native-windows - React Native Windows 0.75.3

Published by jonthysell about 1 month ago

This is patch release of react-native-windows, fixing bugs or adding non-breaking enhancements. To see a summary of changes in this major release, see release notes for React Native Windows 0.75.0.

New changes

  • not avai Bump @react-native-windows/cli to v0.75.3 (beachball)
react-native-windows - React Native Windows 0.73.0-preview.1

Published by TatianaKapos almost 1 year ago

We're excited to release React Native Windows 0.73.0-preview.1 targeting React Native 0.73.0-rc.1. There have been many changes to both react-native-windows and react-native itself, and we would love your feedback on anything that doesn't work as expected. This release includes the commits to React Native Windows from 6/23/2023 – 10/12/2023.

How to upgrade

You can view the changes made to the default new React Native Windows applications for C++ and C# using React Native Upgrade Helper. See this document for more details.

What's new from React Native Windows

Reliability

Accessibility

New Features

Breaking Changes

react-native-windows - React Native Windows 0.68.0-preview.1

Published by NickGerleman over 2 years ago

We're excited to release our first preview of react-native-windows targeting React Native 0.68. There have been many changes to both react-native-windows and react-native itself and we would love your feedback on anything that doesn't work as expected.

How to upgrade

You can view the changes made to the default new React Native Windows applications for C++ and C# using React Native Upgrade Helper. See this document for more details.

What's New

  • PackageReference for C++ projects: New C++ projects use recently added MSBuild support for PackageReference based NuGet restoration. This change lays the foundation for simplified build logic, smaller downloads, and always up-to-date references to libraries (such as the RNW NuGet
    package).

  • Native animation driver improvements: There have been many improvements to the native animation driver, around both correctness and reliability.

  • onMouseEnter/onMouseLeave on arbitrary native components: We previously exposed onMouseEnter and onMouseLeave callbacks on <View>. These are now exposed to all native components (e.g. <Text>).

  • editable support for <TextInput> with secureTextEntry: <TextInput> components that are marked as secureTextEntry now correctly respect the editable prop.

  • Debug variant NuGet packages: We now publish binaries for the debug builds of Microsoft.ReactNative, that can be used in place of the default release-mode binaries. E.g. by using the Microsoft.ReactNative.Debug Nuget package in place of Microsoft.ReactNative.

  • run-windows architecture selection: run-windows previously would always default to building x86 applications. It now defaults to the system architecture (e.g. x64 or ARM64).

  • Automatic PCH selection: We've enabled large PCH's by default on machines with more than 7GB of memory per-thread. This can help to significantly reduce build time on pools with high-memory hardware.

  • Other bug-fixes and improvements: We've made many more fixes across the platform. Expect less crashes, more correct behavior, and quality of life improvements for developers.

Breaking Changes

  • packages.config projects: Projects using packages.config, either directly, or transitively through community modules, may need to be modified. run-windows, and Visual Studio using the default project, restore both packages.config and PackageReference dependencies, but you may need to restore packages.config projects explicitly if using MSBuild directly. This requirement may be removed before the final release of RNW 0.68.

  • Node 14: react-native 0.68 now requires Node 14 or later to be used.

Known Issues

  • NuGet package mismatch: A publishing issue with our first preview led to an NPM package version of 0.68.0-preview.1 but a NuGet package version of 0.68.0-preview.0 This will be resolved for 0.68.0-preview.2.
react-native-windows - React Native Windows 0.65.0-preview.1

Published by NickGerleman over 3 years ago

We're excited to release our first preview build of react-native-windows 0.65! There have been many changes to both react-native-windows and react-native itself and we would love your feedback on anything that doesn't work as expected.

What's New

  • Hermes debugging and profiling: You can now debug and profile the heap-usage of your JavaScript code running on Hermes. See this document for details.

  • New component capabilities: We've added Windows support for some existing, and some all new properties, including:

    • <Button>: tabIndex
    • <Pressable>: onKeyDown/onKeyUp
    • <TextInput>: autoFocus, clearTextOnSubmit, submitKeyEvents
    • <Image>: SVG data URI in source
  • TraceLogging based ETW events: We now expose the ability to record ETW events for various framework actions. See Event Tracing in React Native for Windows for details.

  • Hermes 0.8.0 with Improved Garbage Collector: Hermes 0.8.0 introduces The Hades Garbage Collector, which dramatically reduces GC pause times.

  • More consistent styling for <Button>: The stock <Button> component has been updated with a look-and-feel consistent with other Windows controls.

  • WinUI 2.5: We upgraded from WinUI 2.3 to WinUI 2.5, offering more refined native controls.

  • FlatList performance improvements: Several performance issues causing excessive renders when using FlatList have been fixed.

  • Opt-in fast builds: Set the RNW_FASTBUILD environment variable to true to enables building with larger PCH's. This leads to a much faster build, at the expense of higher system requirements to build successfully.

  • IViewManagerCreateWithProperties: View managers may implement IViewManagerCreateWithProperties to receive properties at the time of view creation, simplifying cases where different properties may lead to different native views.

  • Bug-fixes and improvements: The above just scratches the surface of the work that has been happening! We've been continually making bug fixes and improvements across the project.

Breaking Changes

  • Legacy WebSocket implementation: We introduced a new WebSocket stack in 0.64, along with the QuirkSettings::SetUseLegacyWebSocketModule function to opt-out of it. This setting is now removed, and the new implementation is always used.

  • 32-bit ARM support: We removed support for 32-bit ARM processors, which are used on some Windows IoT Core devices.

  • WinUI 3 Islands: React Native Windows now targets WinUI 3 preview 4 when set to use WinUI 3. This requires changes for applications using WinUI 3 with XAML Islands.

How to upgrade

We've made it easier to upgrade to newer versions of react-native-windows!

While we are working to bring Windows support to React Native Upgrade Helper, you can see a diff explaining how to update your project using https://github.com/acoates-ms/rnw-diff. The below example shows the comparison between 0.63.0 and 0.64.0-preview.1:

During the preview period of 0.65 you will have to declare a dependency on [email protected] in your package.json file. When we release, this version will be replaced with react-native@^0.65.

...
"dependencies":  {
  "react-native": "0.0.0-7e05480cc"
}
...
react-native-windows - React Native Windows 0.64.0

Published by NickGerleman over 3 years ago

We're excited to release React Native Windows 0.64.0, targeting React Native 0.64.0. There have been more new features, bugfixes, and enhancements than we can count, with some of the significant ones listed below.

Getting Started documentation here
Release notes for React Native 0.64 here

What's new

  • Easy opt-in to Hermes: It's easier than ever to try Hermes! We expect projects trying Hermes to see performance increases in most cases. While there are teams using Hermes in production, its support is still experimental, and we do not yet support Hermes debugger or Hermes in C# applications. We would still love to know if you try Hermes and run into any issues.

  • Improved API parity: More component properties supported by other platforms now work on Windows, such as Text backgroundColor, border, and textTransform. An initial version of AccessibilityInfo is now available. Platform.version is now implemented.

  • React 17 and faster startup by default: React Native 0.64 brings the latest version of React, and changes the default metro configuration to enable "inline requires", allowing for faster startup by default.

  • Community module templates: A new workflow makes it easier to create community modules for Windows by using a built-in template.

  • Instance lifecycle events: Native code can now respond to the react native instance being created, loaded, or destroyed.

  • A brand new WebSocket stack: The existing WebSocket stack has been replaced with an all new, more-correct, production-hardened implementation.

  • Bug-fixes and improvements: The above just scratches the surface on the work that has been happening! We've been continually making bug fixes and improvements across the project.

Experimental Features

  • Access to the JSI runtime: C++ applications can now directly interface with the JSI runtime using the winrt::Microsoft::ReactNative::ExecuteJSI API. This will work anywhere a ReactContext is available and web-debugging is not in use.

  • TurboModule compatibility: Existing C++ TurboModules can be used with react-native-windows. Code generation is not yet exposed.

Deprecations

  • 32-bit ARM is deprecated: Some Windows IoT Core devices run 32-bit ARM processors. These devices are rare, and have not been tested with react-native-windows. We will be removing support for ARM32 in a future release. ARM64 remains supported.

Breaking Changes

  • Native module thread affinity: A bug was discovered which led to custom native modules often being invoked on the UI thread. This was unintentional and has been changed. We recognize that this may break existing modules in cases where affinity was relied upon without explicitly queuing to the UI thread. Please let us know if you run into broken community modules.

  • acceptsKeyboardFocus is removed: In 0.63 we started warning on usage of acceptsKeyboardFocus that the property would be replaced by the built-in and type-safe focusable. In 0.64 we removed support from the property, redboxing if it is passed to a view and ignoring the property on touchables.

  • AppTheme API reconciliation with Appearance: React Native 0.62 introduced Appearance and useColorScheme hooks to respond to changes in light/dark mode. This functionality supersedes several APIs in the react-native-windows specific AppTheme library. AppTheme functions that warned about removal in 0.63 are removed in 0.64. See more here on how to write components that adapt to theme.

  • Setting accessibility props no longer makes controls focusable: Previous behavior made any view focusable with accessibility properties set. This is often not the desired effect, and focusable now controls this.

  • EmitJSEvent parameter passing: Calls to EmitJSEvent on the ReactContext previously wrapped the event object in a JavaScript array instead of passing it 1:1. This was fixed in 0.64, but any existing consumption of events fired by EmitJSEvent must be updated.

  • ref.focus() focus visuals: Calling focus() on a component ref will now show native focus visuals by default. If you don't want focus visuals around your component, you can set the property enableFocusRing={false}.

  • Synchronous native module returns: Native module methods marked as synchronous would previously have their results wrapped in an array. This is no longer the case.

Upgrading

The most surefire way to upgrade from 0.62 or 0.63 is to generate a new project targeting 0.64 using react-native-windows-init and copy over your project content. In the future we would like to provide diffs to help make this easier in the style of react-native-upgrade-helper.

react-native-windows - React Native Windows 0.64.0-preview.15

Published by NickGerleman over 3 years ago

react-native-windows - React Native Windows 0.63.23

Published by dannyvv over 3 years ago

react-native-windows - React Native Windows 0.63.22

Published by dannyvv over 3 years ago

react-native-windows - React Native Windows 0.63.20

Published by dannyvv over 3 years ago

react-native-windows - React Native Windows 0.62.22

Published by dannyvv over 3 years ago

react-native-windows - React Native Windows 0.63.19

Published by dannyvv over 3 years ago

react-native-windows - React Native Windows 0.63.18

Published by dannyvv over 3 years ago

react-native-windows - React Native Windows 0.62.21

Published by dannyvv almost 4 years ago

react-native-windows - React Native Windows 0.63.17

Published by dannyvv almost 4 years ago

react-native-windows - React Native Windows 0.62.20

Published by dannyvv almost 4 years ago

react-native-windows - React Native Windows 0.62.19

Published by dannyvv almost 4 years ago

react-native-windows - React Native Windows 0.63.15

Published by dannyvv almost 4 years ago

react-native-windows - React Native Windows 0.63.14

Published by dannyvv almost 4 years ago