|
1 | | -Thank you for opening a new pick-request for React Native. |
2 | | -Those are the criterias we follow when accepting/rejecting a pick request ([source](https://github.com/reactwg/react-native-releases/blob/main/docs/support.md)). |
| 1 | +Thank you for opening a new React Native Pick Request. |
3 | 2 |
|
4 | | -If your pick does not satisfy the criteria below, please close it as it will not be considered. |
| 3 | +These are the criteria we follow when accepting or rejecting a code change into a React Native release branch ([source](https://github.com/reactwg/react-native-releases/blob/main/docs/support.md)). |
| 4 | + |
| 5 | +If your Pick Request does not satisfy the criteria below, please close it as it will not be considered. |
5 | 6 |
|
6 | 7 | <details> |
7 | | -<summary>✅ Which pick requests we accept</summary> |
| 8 | +<summary>✅ Which Pick Requests we accept</summary> |
8 | 9 |
|
9 | 10 | 1. ✅ Fixes for regressions to core APIs. Examples: |
10 | | - * A core component is behaving differently between version 0.X and 0.X-1 |
11 | | - * The TurboModule.getEnforcing function is throwing an assertion error which is not expected. |
12 | | -2. ✅ Fixes to bugs in the core React Native’s experience. Examples: |
| 11 | + * A core component is behaving differently between versions 0.X and 0.X-1 |
| 12 | + * The `TurboModule.getEnforcing` function is throwing an unexpected assertion error. |
| 13 | +2. ✅ Fixes to bugs in core React Native. Examples: |
13 | 14 | * Breakpoints in React Native DevTools not working correctly in the debugger |
14 | 15 | * Fast Refresh not working as expected |
15 | 16 | * Metro bundler not starting properly or ignoring the configuration file |
16 | 17 | * Buttons that are not clickable |
17 | | -3. ✅ Fixes to APIs used by 3P libraries and Out-of-tree platforms. Examples: |
18 | | - * An API that is used by `react-native-macos` is not behaving as expected or regressing |
| 18 | +3. ✅ Fixes to APIs used by third-party libraries and out-of-tree platforms. Examples: |
| 19 | + * An API used by `react-native-macos` is not behaving as expected or is regressing |
19 | 20 | 4. ✅ Bump of patch version of dependencies. Example: |
20 | 21 | * Bump Gradle from 8.11.0 to 8.11.1 |
21 | | -5. ✅ Fixes for Low/High Security Vulnerability. Example: |
22 | | - * Bump Gradle from 8.11.0 to 8.12.0 if there is a security vulnerability in 8.11 and there is no version 8.11.x which would contain the same fix. |
| 22 | +5. ✅ Fixes for low/high severity security vulnerabilities. Example: |
| 23 | + * Bump Gradle from 8.11.0 to 8.12.0 if there is a security vulnerability in 8.11 and no 8.11.x version contains the same fix. |
23 | 24 | 6. ✅ Fixes and reverts of accidental breaking changes. Example: |
24 | | - * Reverting or fix-forwarding a migration to Kotlin of a file (say `ReactRootView.java` ) if that is causing a breaking change for the whole React Native ecosystem. |
25 | | -7. ✅ Performance improvements picks. Examples: |
26 | | - * Fixing unnecessary rendering on FlatList. |
27 | | -8. ✅ Any pick if the release is still in RC0 (after RC1 the previous listed criteria applies) |
| 25 | + * Reverting or fix-forwarding a Kotlin migration of a file (e.g. `ReactRootView.java`) if it is causing a breaking change for the React Native ecosystem. |
| 26 | +7. ✅ Performance improvements. Examples: |
| 27 | + * Fixing unnecessary re-renders in FlatList. |
| 28 | +8. ✅ Any Pick Request if the release is still in RC0 (after RC1, the previously listed criteria apply) |
28 | 29 | </details> |
29 | 30 |
|
30 | 31 | <details> |
31 | | -<summary>❌ Which pick requests we don’t accept</summary> |
| 32 | +<summary>❌ Which Pick Requests we don't accept</summary> |
32 | 33 |
|
33 | | -9. ❌ Any pick that will introduce a breaking change after RC1. Example: |
| 34 | +9. ❌ Any Pick Request that introduces a breaking change after RC1. Example: |
34 | 35 | * A bugfix that contains a refactoring, resulting in changes to the public API of a class |
35 | | -10. ❌ Any pick that introduces a new feature after RC1. Example: |
| 36 | +10. ❌ Any Pick Request that introduces a new feature after RC1. Example: |
36 | 37 | * A commit that introduces a new API or a specific feature for a component. |
37 | | -11. ❌ Bump of major/minor version of dependencies. Example: |
| 38 | +11. ❌ Bump of major or minor version of dependencies. Examples: |
38 | 39 | * Bump Gradle from 8.11.0 to 8.12.0 |
39 | 40 | * Bump Gradle from 8.11.0 to 9.0.0 |
40 | | -12. ❌Bump of a dependency to a non stable/alpha/beta version. Example: |
| 41 | +12. ❌ Bump of a dependency to a pre-release version. Example: |
41 | 42 | * Bump Gradle from 8.11.0 to 8.11.1-beta.1 |
42 | | -13. ❌Any pick that introduces changes to the testing infrastructure of React Native after RC1. Examples: |
43 | | - * Changes to the GitHub Actions workflows to optimize it, even if they’re on main. |
| 43 | +13. ❌ Any Pick Request that introduces changes to the React Native testing infrastructure after RC1. Examples: |
| 44 | + * Changes to GitHub Actions workflows to optimize them, even if they are on main. |
44 | 45 | * Changes to the logic used to publish packages to NPM or Maven Central |
45 | | -14. ❌ Pick composed by various commits that has several merge conflicts |
46 | | - * If your pick is too complicated to apply on the release branch, we’re going to reject it. |
47 | | -15. ❌ Any other non-critical improvement that landed on main. |
48 | | - * In general those will ship in the following version unless they fit in one of the criteria above |
49 | | -16. ❌ Any other pick which is considered “small enough” to make it into a release. |
50 | | - * If your pick is a one liner but is a ‘nice to have’, we won’t be picking it, as it has the risk of destabilizing the release and further delaying the release. |
| 46 | +14. ❌ Pick Request composed of multiple commits that have several merge conflicts. |
| 47 | + * If your Pick Request is too complex to apply to the release branch, it will be rejected. |
| 48 | +15. ❌ Any non-critical improvement that landed on main. |
| 49 | + * These will generally ship in the following version unless they fit one of the criteria above. |
| 50 | +16. ❌ Any Pick Request considered a "nice to have". |
| 51 | + * Even one-line changes carry a risk of destabilizing and further delaying the release. |
51 | 52 | </details> |
52 | 53 |
|
53 | 54 | <details> |
54 | | -<summary>ℹ️ What makes for a good pick</summary> |
| 55 | +<summary>ℹ️ What makes for a good Pick Request</summary> |
55 | 56 |
|
56 | | -In order for your pick to be considered, please do the following: |
| 57 | +In order for your Pick Request to be considered, please do the following: |
57 | 58 |
|
58 | | -* ℹ️ Have a pick that contains only one commit from `main`, or only one PR against the release branch. |
59 | | -* ℹ️ Have a clear explanation of why your pick should be considered, ideally referencing one of the criteria above. |
60 | | -* ℹ️ Target only one minor version of React Native (e.g. [0.76]). If you want your pick to be applied to more versions, please open different picks. |
61 | | -</details> |
| 59 | +* ℹ️ Limit your Pick Request to one commit from `main`, or one PR against the release branch. |
| 60 | +* ℹ️ Include a clear explanation of why your Pick Request should be considered, ideally referencing one of the criteria above. |
| 61 | +* ℹ️ Target only one minor version of React Native (e.g. [0.76]). To have your Pick Request applied to more versions, please open separate Pick Requests. |
| 62 | +</details> |
0 commit comments