Skip to content

Commit 0d60511

Browse files
Merge release/26.2 into trunk (#24782)
* Bump version number * Update draft release notes for 26.2 * Update draft release notes for 26.2 * Release Notes: add new section for next version (26.3) * Update release notes for 26.2 * Update strings for localization * Update metadata strings * Update metadata strings --------- Co-authored-by: Oguz Kocer <oguz.kocer@automattic.com>
1 parent f089b3a commit 0d60511

8 files changed

Lines changed: 104 additions & 50 deletions

File tree

CLAUDE.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,73 @@ WordPress-iOS uses a modular architecture with the main app and separate Swift p
5151
- Branch from `trunk` (main branch)
5252
- PR target should be `trunk`
5353
- When writing commit messages, never include references to Claude
54+
55+
## Release Notes Compilation Process
56+
57+
### Overview
58+
Process for compiling release notes for new iOS versions, maintaining the established tone without App Store character limits.
59+
60+
### Step-by-Step Process
61+
62+
#### 1. Study Previous Release Notes Style
63+
Use `gh` to fetch releases and analyze professional editorialization patterns:
64+
- **Version 25.9**: Raw added in commits `ce08612ecc324e981ef9c5898c98bb267cf29721` & `30cd7073802feb8711b2aae8bb69f41fedba1d80`, editorialized in `bc3af0d2c0c8c3dec8556bb4eff7709f3c151c0d`
65+
- **Version 26.0**: Raw added in commits `8a9e79587924f85e6ac6756fe47d045f7db04ece` & `883acc3324abe45d0e121f3854dc84712b22b4cb`, editorialized in `2ef13c2898c5b58d09c8a3af9f109a47f0bd782c`
66+
67+
Commands: `gh release view 25.9`, `gh release view 26.0` (note: no 'v' prefix)
68+
69+
**Important**: GitHub releases only show WordPress release notes. For better Jetpack release notes, use:
70+
```bash
71+
gh api "repos/wordpress-mobile/WordPress-iOS/contents/WordPress/Jetpack/Resources/release_notes.txt?ref=<commit_hash>" --jq -r '.content' | base64 -d
72+
```
73+
74+
#### 2. Verify Release Branch and Get Last Release Hash
75+
- Verify current branch follows naming: `release/x.y` (where x.y = last_release + 0.1)
76+
- Get commit hash for last release: `gh release view <last_version> --json tagName,targetCommitish`
77+
- Confirm current branch is properly ahead of last release tag
78+
79+
#### 3. Identify Changes Since Last Release
80+
Compare current release branch against last release hash using GitHub API (since local commits may not exist due to squashing/rebasing):
81+
```bash
82+
gh api repos/wordpress-mobile/WordPress-iOS/compare/<last_release_hash>...HEAD --jq '.commits[] | "\(.sha[0:7]) \(.commit.message | split("\n")[0])"'
83+
```
84+
Focus on user-facing changes from squash commit messages. **Important**: When commit messages are unclear or technical, always investigate further:
85+
- Use `gh pr view <PR_number>` to read PR titles and descriptions
86+
- Look for keywords indicating user-facing changes: "feat:", new functionality, UI changes, user experience
87+
- Be especially careful with feature rollouts that may have technical-sounding commit messages but represent new user functionality
88+
- When in doubt, investigate the PR rather than excluding potentially important features
89+
90+
#### 4. Compile Raw Release Notes
91+
Create factual summary including:
92+
- **Always check RELEASE-NOTES.txt file** (note: hyphen, not underscore) for developer-authored release notes under the version number section. These notes start with `[*]`, `[**]`, or `[***]` (stars indicate importance) and **must be included** in the raw release notes
93+
- Only user-facing changes (exclude CI, refactoring, technical debt)
94+
- Prioritize: New features → Improvements → Performance enhancements
95+
- Use positive language (avoid "bug fix", prefer "improved", "enhanced", "resolved")
96+
- Mark changes as WordPress-specific, Jetpack-specific, or both
97+
98+
#### 5. User Confirmation
99+
Present raw notes to user for:
100+
- Accuracy verification
101+
- WordPress vs Jetpack feature classification
102+
- Any missing or incorrect changes
103+
- Approval to proceed with editorialization
104+
105+
#### 6. Editorialization
106+
Transform raw notes using established playful style:
107+
- Use engaging, user-friendly language
108+
- Reference previous release note styles from step 1
109+
- Create separate versions for WordPress and Jetpack apps
110+
- Focus on user benefits and experience improvements
111+
112+
#### 7. Update Release Notes Files
113+
Once user confirms the editorialized release notes, **replace** the contents of the following files (discard any existing content):
114+
- **WordPress release notes**: `WordPress/Resources/release_notes.txt`
115+
- **Jetpack release notes**: `WordPress/Jetpack/Resources/release_notes.txt`
116+
117+
Document any process refinements discovered during execution.
118+
119+
### Content Guidelines
120+
- **Include**: New features, UI improvements, performance enhancements, user experience changes
121+
- **Exclude**: CI changes, code refactoring, dependency updates, internal technical changes
122+
- **Language**: Positive sentiment, avoid "fix" terminology, focus on improvements and enhancements
123+
- **Priority Order**: New features → Improvements → Performance → Other user-facing changes

RELEASE-NOTES.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
26.3
2+
-----
3+
4+
15
26.3
26
-----
37
* [*] Fix an issue with Notification Settings button not working in the Reader Subscriptions context menus for subscriptions [#24778]

WordPress/Jetpack/Resources/AppStoreStrings.po

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -81,17 +81,11 @@ msgctxt "app_store_keywords"
8181
msgid "social,notes,jetpack,writing,geotagging,media,blog,website,blogging,journal"
8282
msgstr ""
8383

84-
msgctxt "v26.1-whats-new"
84+
msgctxt "v26.2-whats-new"
8585
msgid ""
86-
"We rebuilt Stats from the ground up, and it's absolutely stunning. This new experience features buttery-smooth 120fps animations, interactive charts you can tap and explore, hourly data views, and a completely customizable dashboard. You can rearrange everything, export your data, and even see your post analytics with email campaign metrics. It feels incredible to use—we keep opening it just to watch those beautiful animations. (Look for "Try New Stats" when you open Stats, or enable it anytime in Me > App Settings > Experimental Features.)\n"
87-
"\n"
88-
"We also made improvements to how you manage your content. You'll find a completely redesigned Post Settings screen that makes configuring your posts smoother and more intuitive, plus better VideoPress integration and improved authentication for private sites in our experimental editor.\n"
89-
"\n"
90-
"Finally, we squashed several bugs and made things more reliable.\n"
91-
"- The app won't hang anymore when you open your Posts or Pages. (We know how frustrating that was.)\n"
92-
"- We fixed a crash that happened when saving certain editor settings.\n"
93-
"- Those annoying error popups on your dashboard? Gone.\n"
94-
"- Application passwords now work more smoothly behind the scenes, and the Jetpack connection flow is more reliable.\n"
86+
"- Those gorgeous Stats charts just got even better—tap any bar for instant insights, explore weekly trends, and enjoy flawless dark mode. Your data deserves this level of elegance.\n"
87+
"- We've added mentions to the experimental editor—tag your collaborators and watch the magic happen.\n"
88+
"- iPad Split View now behaves beautifully in portrait mode. No more awkward layouts.\n"
9589
msgstr ""
9690

9791
#. translators: This is a promo message that will be attached on top of the first screenshot in the App Store.
Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,3 @@
1-
We rebuilt Stats from the ground up, and it's absolutely stunning. This new experience features buttery-smooth 120fps animations, interactive charts you can tap and explore, hourly data views, and a completely customizable dashboard. You can rearrange everything, export your data, and even see your post analytics with email campaign metrics. It feels incredible to use—we keep opening it just to watch those beautiful animations. (Look for "Try New Stats" when you open Stats, or enable it anytime in Me > App Settings > Experimental Features.)
2-
3-
We also made improvements to how you manage your content. You'll find a completely redesigned Post Settings screen that makes configuring your posts smoother and more intuitive, plus better VideoPress integration and improved authentication for private sites in our experimental editor.
4-
5-
Finally, we squashed several bugs and made things more reliable.
6-
- The app won't hang anymore when you open your Posts or Pages. (We know how frustrating that was.)
7-
- We fixed a crash that happened when saving certain editor settings.
8-
- Those annoying error popups on your dashboard? Gone.
9-
- Application passwords now work more smoothly behind the scenes, and the Jetpack connection flow is more reliable.
1+
- Those gorgeous Stats charts just got even better—tap any bar for instant insights, explore weekly trends, and enjoy flawless dark mode. Your data deserves this level of elegance.
2+
- We've added mentions to the experimental editor—tag your collaborators and watch the magic happen.
3+
- iPad Split View now behaves beautifully in portrait mode. No more awkward layouts.

WordPress/Resources/AppStoreStrings.po

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,17 +45,10 @@ msgctxt "app_store_keywords"
4545
msgid "blogger,writing,blogging,web,maker,online,store,business,make,create,write,blogs"
4646
msgstr ""
4747

48-
msgctxt "v26.1-whats-new"
48+
msgctxt "v26.2-whats-new"
4949
msgid ""
50-
"We made improvements to how you manage your content and work with media. You'll find a completely redesigned Post Settings screen that makes configuring your posts smoother and more intuitive.\n"
51-
"\n"
52-
"We also enhanced our experimental editor with better VideoPress integration and improved authentication for private sites. Your media will display properly now, no matter your site's privacy settings.\n"
53-
"\n"
54-
"Finally, we squashed several bugs and made things more reliable.\n"
55-
"- The app won't hang anymore when you open your Posts or Pages. (We know how frustrating that was.)\n"
56-
"- We fixed a crash that happened when saving certain editor settings.\n"
57-
"- Those annoying error popups on your dashboard? Gone.\n"
58-
"- Application passwords now work more smoothly behind the scenes.\n"
50+
"- We've added mentions to the experimental editor—tag your collaborators and watch the magic happen.\n"
51+
"- iPad Split View now behaves beautifully in portrait mode. No more awkward layouts.\n"
5952
msgstr ""
6053

6154
#. translators: This is a standard chunk of text used to tell a user what's new with a release when nothing major has changed.

WordPress/Resources/en.lproj/Localizable.strings

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4587,18 +4587,12 @@ Please install the %3$@ to use the app with this site.";
45874587
/* Top list option title */
45884588
"jetpackStats.addChart.topListOption" = "Top List";
45894589

4590-
/* Archive section for authors */
4591-
"jetpackStats.archiveSections.author" = "Authors";
4592-
45934590
/* Plural item count for archive sections. %1$d is the number. */
45944591
"jetpackStats.archiveSections.itemCount.plural" = "%1$d items";
45954592

45964593
/* Singular item count for archive sections. %1$d is the number. */
45974594
"jetpackStats.archiveSections.itemCount.singular" = "%1$d item";
45984595

4599-
/* Archive section for other items */
4600-
"jetpackStats.archiveSections.other" = "Other";
4601-
46024596
/* Title for the author details screen */
46034597
"jetpackStats.authorDetails.title" = "Author";
46044598

@@ -4665,6 +4659,9 @@ Please install the %3$@ to use the app with this site.";
46654659
/* Last 12 months date range */
46664660
"jetpackStats.calendar.last12Months" = "Last 12 Months";
46674661

4662+
/* Last 12 weeks (84 days) date range */
4663+
"jetpackStats.calendar.last12Weeks" = "Last 12 Weeks";
4664+
46684665
/* Last 28 days date range */
46694666
"jetpackStats.calendar.last28Days" = "Last 28 Days";
46704667

@@ -4680,9 +4677,6 @@ Please install the %3$@ to use the app with this site.";
46804677
/* Last 7 days date range */
46814678
"jetpackStats.calendar.last7Days" = "Last 7 Days";
46824679

4683-
/* Last 90 days date range */
4684-
"jetpackStats.calendar.last90Days" = "Last 90 Days";
4685-
46864680
/* Month time period */
46874681
"jetpackStats.calendar.month" = "Month";
46884682

@@ -4846,7 +4840,7 @@ Please install the %3$@ to use the app with this site.";
48464840
"jetpackStats.datePicker.lastYear" = "Last Year";
48474841

48484842
/* Menu item for more date period options */
4849-
"jetpackStats.datePicker.morePeriods" = "More Periods…";
4843+
"jetpackStats.datePicker.more" = "More…";
48504844

48514845
/* Compare with preceding period option */
48524846
"jetpackStats.datePicker.precedingPeriod" = "Preceding Period";
@@ -4863,6 +4857,12 @@ Please install the %3$@ to use the app with this site.";
48634857
/* To date label */
48644858
"jetpackStats.datePicker.to" = "To";
48654859

4860+
/* Message explaining how to use the date range control */
4861+
"jetpackStats.dateRangeTip.message" = "View recent days, weeks, months, years, or select custom date ranges.";
4862+
4863+
/* Title for stats date range control tip */
4864+
"jetpackStats.dateRangeTip.title" = "Navigate Through Time";
4865+
48664866
/* Section title for the list of child links */
48674867
"jetpackStats.externalLinkDetails.childLinks" = "Sub-links";
48684868

@@ -10784,6 +10784,12 @@ Feel free to replace it with other bracket types that you think looks better for
1078410784
/* Tip for site picker */
1078510785
"tips.sitePickerTip.title" = "Your Sites";
1078610786

10787+
/* Message explaining how to use the date range control */
10788+
"tips.statsDateRange.message" = "Use the calendar to select days, weeks, months, years, or choose custom date ranges to view your stats.";
10789+
10790+
/* Title for stats date range control tip */
10791+
"tips.statsDateRange.title" = "Navigate Through Time";
10792+
1078710793
/* Accessibility label for web page preview title
1078810794
Label for list of stats by content title.
1078910795
Noun. Label for the title of a media asset (image / video)
Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,2 @@
1-
We made improvements to how you manage your content and work with media. You'll find a completely redesigned Post Settings screen that makes configuring your posts smoother and more intuitive.
2-
3-
We also enhanced our experimental editor with better VideoPress integration and improved authentication for private sites. Your media will display properly now, no matter your site's privacy settings.
4-
5-
Finally, we squashed several bugs and made things more reliable.
6-
- The app won't hang anymore when you open your Posts or Pages. (We know how frustrating that was.)
7-
- We fixed a crash that happened when saving certain editor settings.
8-
- Those annoying error popups on your dashboard? Gone.
9-
- Application passwords now work more smoothly behind the scenes.
1+
- We've added mentions to the experimental editor—tag your collaborators and watch the magic happen.
2+
- iPad Split View now behaves beautifully in portrait mode. No more awkward layouts.

config/Version.public.xcconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
VERSION_LONG = 26.1.2.0
2-
VERSION_SHORT = 26.1.2
1+
VERSION_LONG = 26.2.0.0
2+
VERSION_SHORT = 26.2

0 commit comments

Comments
 (0)