Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RNW 0.65 Release Status #7679

Closed
28 of 30 tasks
NickGerleman opened this issue Apr 28, 2021 · 14 comments
Closed
28 of 30 tasks

RNW 0.65 Release Status #7679

NickGerleman opened this issue Apr 28, 2021 · 14 comments
Milestone

Comments

@NickGerleman
Copy link
Collaborator

NickGerleman commented Apr 28, 2021

Changelog: #7679 (comment)
Upstream issue: react-native-community/releases#223

The milestones below are based on those set for the upstream release and are subject to change.

Milestones

  1. Upstream RC: Week of May 25th
  2. Release 0.65.0-preview.1: Week of May 25th
  3. Changes in 0.65-stable require triage: June 4th
  4. Release target: ???

Important Issues

0.65 issues: https://github.com/microsoft/react-native-windows/issues?q=is%3Aopen+is%3Aissue+milestone%3A0.65

Blocking

  • None 😀

Commits of Interest (Breakage Potential)

Checklist

Before Preview

  • Draft GitHub release notes from commit log (NickGerleman)
  • Snap Hermes-Windows release (mganandraj)
  • Promote canary build to preview using wiki instructions (NickGerleman)
  • Push build to 0.65-stable branch and publish (NickGerleman)
  • Update GitHub release notes to use manually curated notes instead of a changelog (NickGerleman)
  • Post release notes internally (NickGerleman)

After Preview

  • Send mail to the team reminding of dates + restrictions (NickGerleman)
  • Move most issues targeting 0.65 to 0.66 (chrisglein)
  • Test updated gallery app (chiara)
  • Do a pass on API Docs (???)
  • Integrate patch/prerelease releases for React Native (NickGerleman)
  • Modify CODEOWNERS to require changes go through @microsoft/react-native-windows-backport-triage (NickGerleman)
  • Send reminder mail to the team about backport triage (NickGerleman)

Before Release

  • Ensure any community typing changes happen (NickGerleman)
  • Ensure doc issues are addressed (???)
  • Promote latest build to legacy using wiki instructions (NickGerleman)
  • Ensure all issues marked with "Blocking Label" are fixed (chrisglein)

Release

  • Update preview release notes with any changes from cherry-picked PRs (NickGerleman)
  • Update sample repos to new version (jonthysell), see upgrade procedure
  • Update gallery to a new version (chiara)
  • Promote preview build to latest using wiki instructions (NickGerleman)
  • Update GitHub release notes to use manually curated notes instead of a changelog (NickGerleman)
  • Flip docs site to 0.65 (???)
  • Update the CI to tell the API doc generation tool to use the 0.65 prefix
  • Send out internal release announcement (NickGerleman)
  • Tweet/social (stmoy)
@ghost ghost added the Needs: Triage 🔍 New issue that needs to be reviewed by the issue management team (label applied by bot) label Apr 28, 2021
@NickGerleman NickGerleman pinned this issue Apr 28, 2021
@Khalef1 Khalef1 added this to the 0.65 milestone Apr 28, 2021
@chrisglein chrisglein added enhancement and removed Needs: Triage 🔍 New issue that needs to be reviewed by the issue management team (label applied by bot) labels May 3, 2021
@dannyvv
Copy link
Member

dannyvv commented May 6, 2021

Added more fine grained steps for setting up the release pipelines when creating the forked branch:

@asklar
Copy link
Member

asklar commented May 6, 2021

  • Update the CI to tell the API doc generation tool to use the 0.65 prefix

@NickGerleman
Copy link
Collaborator Author

  • Update the CI to tell the API doc generation tool to use the 0.65 prefix

Where does this happen, and can we change the pipelines logic to not need it? I did a pass a while back to remove hardcoded versions, or move any release-cutting bits into the @rnw-scripts/promote-release script. Would be great to continue the tradition.

@asklar
Copy link
Member

asklar commented May 17, 2021

for 0.64 this happens here
for 0.65 you'd just add /apiVersion 0.65 to the command line

@NickGerleman
Copy link
Collaborator Author

Assigned an issue over to you. I am hoping to cut the branch end of week if you want to manually update it, but I would highly recommend using one of the available solutions to not need to make manual edits every time we cut a release.

@NickGerleman
Copy link
Collaborator Author

NickGerleman commented May 21, 2021

Current changelog draft below:


We're excited to release React Native Windows 0.65.0, targeting React Native 0.65.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
React Native 0.65 announcement

How to upgrade

You can now view the differences between different versions of C++ applications using a special version of React Native Upgrade Helper.

Upgrade helper does not yet support C# projects or projects using experimental features. It is recommended to generate a new project using react-native-windows-init for projects not supported by Upgrade Helper.

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.6: We upgraded from WinUI 2.3 to WinUI 2.6, offering more refined native controls.

  • Hermes support for C# applications: You can now create a C# application that uses Hermes. See how to use Hermes here.

  • 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.

@acoates-ms
Copy link
Contributor

Do we want to point people to https://github.com/acoates-ms/rnw-diff for the update diff?

And is HERMES_ENABLE_DEBUGGER set by default in debug builds of the nuget? Or is debugging not possible when using the nuget

@NickGerleman
Copy link
Collaborator Author

I confirmed with AndnadrajHERMES_ENABLE_DEBUGGER is defined by the Hermes-Windows NuGet package, and does not need to be manually set.

Hermes + experimental NuGet package are not compatible in general at the moment.

@NickGerleman
Copy link
Collaborator Author

Pointing folks to rnw-diff seems like a good idea.

@NickGerleman
Copy link
Collaborator Author

NickGerleman commented May 29, 2021

I tentatively made a slightly controversial change to the checklist. I removed the manual validation checklist 😮

Realistically I do not think it has been providing value compared to time put in. I haven't seen breaks over the last 2-3 releases, with the last bug I know of being an issue with yarn and the evergeeen react-native-windows-init when we had much less usage.

If we see a break, we should try to categorize it as "we need test coverage" or "the feedback systems are working".

@NickGerleman
Copy link
Collaborator Author

This could be an egg on our face moment, but I think we have enough systems at this point to prevent that from reaching our final release. We will have to see.

@chrisglein
Copy link
Member

RN core has released! v0.65.0 🍾

@NickGerleman
Copy link
Collaborator Author

@NickGerleman
Copy link
Collaborator Author

All of the remaining work is in flight or has new issues, so I'm going to close this out!

@NickGerleman NickGerleman unpinned this issue Aug 25, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants