Paper 6.0.0: merge order, ground rules and decisions
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- react-native, typescript
- Lĩnh vực
- release
Hướng nghiên cứu
Start with the linked 6.x getting-started guide, then test 6.0.0-alpha.1 in a real app; the issue says 6.x needs React 19 and the New Architecture. If you find a bug or missing migration note, open a separate issue with “6.0.0-alpha.1” in the title and include your platform and React Native and Expo versions. Done means the report has those details so maintainers can reproduce it.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
This issue is the map to react-native-paper 6.0.0: the order PRs merge in, the rules every PR follows, and the decisions that shape the release. The roadmap conversation stays in #4949. This issue is updated at each phase change; each PR's own state lives on the PR.
Where we are
- 6.0.0-alpha.1 is on npm under
alpha:npm install react-native-paper@alpha. It is the first prerelease since 6.0.0-alpha.0 in June, with 41 commits, 11 of them breaking. Release notes. - We are in Phase 1, Foundations.
- There is no target date. Each phase ends when its gate passes. Review and merge throughput, not the code, sets the pace, so the plan is built on order and gates.
Phases and gates
| Phase | What lands | Gate |
|---|---|---|
| 0. Unblock ✅ | The release pipeline fix (#5149), 6.0.0-alpha.1, quick wins, overdue PRs closed | Met on 2026-10-29: alpha.1 on npm under alpha, and the example app's store pipeline green |
| 1. Foundations (now) | The five lanes below | Every lane merged |
| 2. Breaking changes | The component rewrites below | Every PR merged or deferred to 7.0, the supported versions declared, known bugs re-tested on main, an Expo smoke test on the latest SDK. Then 6.0.0-beta.0 and the breaking-change freeze |
| 3. Release readiness | Docs, the example app, the migration guide, release notes | The go/no-go list passes. Then 6.0.0 on latest |
| After 6.0 | New components and other additions, on the 6.1.0 milestone |
Merge order
PRs merge lane by lane, top to bottom, and lanes run side by side. If your PR is in a lane, rebase only when it is next. We will ping you, so nobody rebases twice.
Phase 1: Foundations
Checkbox follow-up
- #5104
Button and styles
The Button API that Card, Dialog and later components build on.
- #5097
- #5114
- #5148
Touch targets and focus
All of these touch TouchableRipple.
- #5108
- #5071
- #5107
- #5046
Overlays
- #5127
- #5129
Theme merge
- #5136
- #5027
Phase 2: Breaking changes
Small rewrites, smallest first
- #5110
- #5102
- #5065
- #5111
- #5007
- #5089
- #5020
- #5135
- #5103
- #5081
Avatar, Banner and DataTable
- #5016
- #5058
- #5056
- #5082
Button consumers
These build on #5097.
- #5116
- #5072
- #5075
- #5064
Decide first, then merge
Each follows a decision below.
- #4996
- #4997
- #5006
- #5143
- #5121 (its dynamic-theme fix only, see D6)
- #5122
- #5051
- #5073
- #4994
- #5052
- #5112
Phase 3: Release readiness
- #5069
- #5053
- #5059 (the final pass)
- The docs sweep, #4991
- The docs switch: 6.x becomes the default docs version on release day
- Hand-written 6.0.0 release notes, reviewed in a PR
After 6.0
New components and other additions wait on the 6.1.0 milestone. They stay open there rather than being closed (D8).
Ground rules
- Breaking changes land before 6.0.0 or wait for 7.0. The breaking-change freeze starts at 6.0.0-beta.0.
- New components ship in 6.1 or later, with no exceptions in 6.0. Deprecations can land in a minor release.
- PRs merge in the lane order above, and an author rebases only when their PR is next.
- A PR branched from a
mainolder than 2026-09-02 gets a rebase and a fresh CI run before it merges, even if its checks are green. - A breaking PR carries
!in its title, aBREAKING CHANGE:footer in the squash message, and its own section in the migration guide (docs/6.x/docs/guides/migration.md). - A prerelease goes out each time a lane of breaking changes lands, so you can follow along.
- 5.x, on the
5.0branch, keeps getting crash and critical fixes, and every 5.x fix gets checked againstmain.
Reviews, waiting PRs and closing
- Reviews. Every PR gets two reviews: a first pass that lists only what blocks it, in one comment, and then a maintainer's line-by-line pass after the rebase.
- Waiting PRs. After 14 days without an author response to a review, we ping once and name the blocker. After 21 days, a maintainer or another contributor may take the PR over, keeping the original commits and crediting the author, with both PRs linked.
- Closing. Duplicates, superseded and empty PRs, and PRs stale 30 days after a review. Each close says why and where the work continues, and the door stays open.
- CI. Runs from forks wait for a maintainer to approve them. We approve them at the weekly triage, on Mondays.
Decisions
| Decision | Status | |
|---|---|---|
| D1 | Supported versions: peerDependencies stay at *, so release candidates and forks install. Before beta, the getting-started guide names the minimum React, React Native and Expo versions, with a smoke test on the matching Expo SDK (#4996) |
Decided |
| D2 | Bottom navigation: #5006 (NavigationBar, which replaces BottomNavigation) for 6.0; #5120 closed | Decided |
| D3 | Progress indicators: ProgressBar and ActivityIndicator stay in 6.0 with no react-native-svg dependency, which can regress performance. #4995 closed; new indicators come later, and only without react-native-svg |
Decided |
| D4 | The stateLayerPressed token is removed before 6.0.0, keeping today's default look (#4997, which needs a new owner) |
Decided |
| D5 | No per-component rippleColor: Material 3 has no theme-level state layer color. #5097 drops the one it re-adds; a prop can come back in 6.x if needed |
Decided |
| D6 | Menu: #5073 uses the Material 3 Expressive container role (surfaceContainerLow); #5121 keeps only its dynamic-theme fix; #5122 and #5051 land before #5073; a container prop waits for 6.1 |
Decided |
| D7 | Appbar keeps its compound API in 6.0, built on context, with the Expressive variants as props. The bottom app bar stays, deprecated, until Toolbar lands in 6.1 (#5075) | Decided |
| D8 | New components ship in 6.1 or later, Toolbar (#5043) and ConnectedButtonGroup (#5074) included. SegmentedButtons is deprecated in 6.1 and removed in 7.0 | Decided |
| D9 | Theme merge: PaperProvider keeps its shallow merge (only colors merge over the defaults), and the theming guide says a key such as fonts must be complete. #5047 closed; #5136, then #5027 |
Decided |
| D10 | Who merges: one merger for now, after the final pass; more reviewers and mergers will follow | Decided |
| D11 | The FAB variant rename lands in 6.0, without the branded variant (#5110) | Decided |
| D12 | PaperProvider stays required in 6.0, as the docs have always said | Decided |
| D13 | Before the freeze: RadioButtonAndroidProps and RadioButtonIOSProps go (with #5007), and so does the unused theme.elevation key. useReduceMotion and ThemeProp stay unexported for now |
Decided |
| D14 | The release notes preset switches from angular to conventionalcommits, which reads the ! in breaking PR titles |
Decided |
| D15 | Sliders: 6.1, with one owner (#5000, #5132); #5033 closed | Decided |
| D16 | Policies: takeovers and closing as in the ground rules above; apps built with Paper go in #5155 instead of pull requests to the Showcase page; the 5.x support window is set after 6.0 | Decided |
| D17 | The docs landing page (#5138): after 6.0 | Decided |
A decision is posted on each PR it changes. To weigh in on one, comment on that PR or in #4949.
How to help
- Test 6.0.0-alpha.1 in a real app. Set up from the 6.x getting-started guide. 6.x needs React 19 and the New Architecture. Open an issue with
6.0.0-alpha.1in the title, your platform and your React Native and Expo versions. Missing migration notes count too. - Review. Take the next PR in a lane and do a first pass: does the scope match the title, did CI run on the latest commit, does it overlap with another open PR, and how does it behave on a device?
- Keep your PR ready for its turn. Check the lane it is in, and rebase when it is next.
- Milestones: 6.0.0 · 6.1.0
- Ngôn ngữ chính
- TypeScript
- Star
- 14.5k
- Fork
- 2.3k
- Merge trung bình
- 3 ngày 8 giờ
- Pull request đã merge (30 ngày)
- 13
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của callstack/react-native-paper
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
callstack/react-native-paper#5146 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Tooltip: onPress event object is not propagated to parent component on nativeCó thể đã có người làm @aliyilmaztech đã nhận 84 ngày trước. Đang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
callstack/react-native-paper#5003 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Snackbar stays mounted after `visible=false` under new architecture (iOS + Android)Có thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
callstack/react-native-paper#4951 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
callstack/react-native-paper#4881 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
feature request
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
callstack/react-native-paper#4863 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của callstack/react-native-paper
Issue tương tự
-
needs-area-label
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Website: the hero tip's video play() has no catch, so a refused play is an unhandled rejectionĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
liberation-data/drivine#615 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
backend bug ready-for-agent
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
geolens-io/geolens#3639 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
radius-project/ai-extensions#1196 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
good first issue
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 88/100