Skip to content

Commit f73b715

Browse files
daohoangsonclaude
andauthored
chore: Release v0.17.2 (#1571)
* [core] v0.17.2 * [fwfh_webview] v0.15.7 * [enhanced] v0.17.2 Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 9f517d2 commit f73b715

9 files changed

Lines changed: 165 additions & 7 deletions

File tree

docs/runbook/release.md

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
# Release Runbook
2+
3+
## Overview
4+
5+
This monorepo contains multiple packages that are versioned and released independently.
6+
A release is prepared as a single PR with one commit per bumped package, followed by an "Update files" commit.
7+
8+
## Packages (publish order)
9+
10+
Packages must be published in dependency order (core first, enhanced last):
11+
12+
1. `packages/core``flutter_widget_from_html_core`
13+
2. `packages/fwfh_cached_network_image`
14+
3. `packages/fwfh_chewie`
15+
4. `packages/fwfh_just_audio`
16+
5. `packages/fwfh_svg`
17+
6. `packages/fwfh_url_launcher`
18+
7. `packages/fwfh_webview`
19+
8. `packages/enhanced``flutter_widget_from_html`
20+
21+
## Step 1: Identify what changed
22+
23+
Find the most recent release tag:
24+
25+
```sh
26+
git tag --sort=-creatordate | head -5
27+
```
28+
29+
For each package, check for changes since that tag:
30+
31+
```sh
32+
git log <tag>..origin/master --oneline -- packages/<package>/
33+
```
34+
35+
Skip docs-only and formatting-only commits (they don't affect the published package).
36+
37+
## Step 2: Create the release branch
38+
39+
```sh
40+
git checkout -b prepare/v<version> origin/master
41+
```
42+
43+
The branch name uses the enhanced package version (the "main" package).
44+
45+
## Step 3: Bump each changed package
46+
47+
Create **one commit per package**, in dependency order. Each commit includes:
48+
49+
| File | Change |
50+
| -------------------------------- | -------------------------------------------- |
51+
| `packages/<pkg>/pubspec.yaml` | Bump `version:` |
52+
| `packages/<pkg>/CHANGELOG.md` | Add new version section at the top |
53+
| `packages/<pkg>/README.md` | Update version in the `pubspec.yaml` snippet |
54+
| `packages/enhanced/pubspec.yaml` | Bump dependency constraint for the package |
55+
56+
### Commit message format
57+
58+
```
59+
[<package_short_name>] v<version>
60+
```
61+
62+
Examples: `[core] v0.17.2`, `[fwfh_webview] v0.15.7`, `[enhanced] v0.17.2`
63+
64+
### Changelog conventions
65+
66+
- List features first, then fixes
67+
- Reference PR/issue numbers: `(#1234)`
68+
- Credit external contributors: `(#1234, authored by @username)`
69+
- Do not include docs-only or formatting-only changes
70+
71+
Example:
72+
73+
```markdown
74+
## 0.17.2
75+
76+
- Add `text-emphasis` / `text-emphasis-style` support (#1561, authored by @CaptainDario)
77+
- Fix border-radius with background-color for inline elements (#1569)
78+
```
79+
80+
### Dependency constraints
81+
82+
When bumping a package, update the `^` constraint in downstream packages even if the old
83+
constraint technically covers the new version. For example, if core goes from `0.17.1` to
84+
`0.17.2`, update enhanced's `flutter_widget_from_html_core: ^0.17.1` to `^0.17.2`.
85+
86+
## Step 4: Update demo app files
87+
88+
```sh
89+
./tool/update-demo_app-files.sh
90+
```
91+
92+
This recreates the demo app's platform files and pubspec.lock. Commit the result:
93+
94+
```
95+
Update files
96+
```
97+
98+
## Step 5: Publish to pub.dev
99+
100+
Publish **before** pushing the PR. Some backward compatibility CI checks depend on
101+
the new versions being available on pub.dev.
102+
103+
Requires `yq` (`brew install yq`).
104+
105+
```sh
106+
./tool/pub-publish.sh
107+
```
108+
109+
This script:
110+
111+
1. Checks each package for uncommitted changes
112+
2. Skips packages whose version already exists on pub.dev
113+
3. Removes `dependency_overrides`, runs `flutter pub get` and tests
114+
4. Publishes via `flutter pub publish`
115+
5. Reverts local changes after publishing
116+
117+
Packages are published in dependency order (core first, enhanced last).
118+
119+
## Step 6: Create the PR
120+
121+
```sh
122+
git push -u origin prepare/v<version>
123+
gh pr create --title "Prepare v<version> releases" --body ""
124+
```
125+
126+
Previous release PRs have empty bodies. The per-commit messages are sufficient.
127+
128+
## Step 7: Merge and tag
129+
130+
After CI passes, merge the PR. Then tag:
131+
132+
```sh
133+
git tag v<version>
134+
git push origin v<version>
135+
```

packages/core/CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
## 0.17.2
2+
3+
- Add `text-emphasis` / `text-emphasis-style` support (#1561, authored by @CaptainDario)
4+
- Add CSS `text-decoration-style: wavy` support (#1559, authored by @CaptainDario)
5+
- Enhanced CSS `list-style-type` (#1558, authored by @CaptainDario)
6+
- Fix dart2wasm compilation error in Flutter 3.38+ (#1529, authored by @lemz90)
7+
- Fix `customStylesBuilder` text-decoration not overriding anchor underline (#1548)
8+
- Fix border-radius with background-color for inline elements (#1569)
9+
110
## 0.17.0
211

312
- Requires Flutter 3.32 (#1475)

packages/core/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Add this to your app's `pubspec.yaml` file:
1717

1818
```yaml
1919
dependencies:
20-
flutter_widget_from_html_core: ^0.17.0
20+
flutter_widget_from_html_core: ^0.17.2
2121
```
2222
2323
## Usage

packages/core/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: flutter_widget_from_html_core
2-
version: 0.17.0
2+
version: 0.17.2
33
description: Flutter package to render html as widgets that focuses on correctness and extensibility.
44
homepage: https://github.com/daohoangson/flutter_widget_from_html/tree/master/packages/core
55

packages/enhanced/CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
## 0.17.2
2+
3+
- Add `text-emphasis` / `text-emphasis-style` support (#1561, authored by @CaptainDario)
4+
- Add CSS `text-decoration-style: wavy` support (#1559, authored by @CaptainDario)
5+
- Enhanced CSS `list-style-type` (#1558, authored by @CaptainDario)
6+
- Forward `allowfullscreen` and `allow` iframe attributes to WebView (#1566)
7+
- Fix dart2wasm compilation error in Flutter 3.38+ (#1529, authored by @lemz90)
8+
- Fix `customStylesBuilder` text-decoration not overriding anchor underline (#1548)
9+
- Fix border-radius with background-color for inline elements (#1569)
10+
111
## 0.17.1
212

313
- Add support for Flutter 3.35 (#1498)

packages/enhanced/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Add this to your app's `pubspec.yaml` file:
2727

2828
```yaml
2929
dependencies:
30-
flutter_widget_from_html: ^0.17.0
30+
flutter_widget_from_html: ^0.17.2
3131
```
3232
3333
### Platform specific configuration

packages/enhanced/pubspec.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: flutter_widget_from_html
2-
version: 0.17.1
2+
version: 0.17.2
33
description: Flutter package to render html as widgets that supports hyperlink, image, audio, video, iframe and many other tags.
44
homepage: https://github.com/daohoangson/flutter_widget_from_html
55

@@ -10,13 +10,13 @@ environment:
1010
dependencies:
1111
flutter:
1212
sdk: flutter
13-
flutter_widget_from_html_core: ^0.17.0
13+
flutter_widget_from_html_core: ^0.17.2
1414
fwfh_cached_network_image: ^0.16.1
1515
fwfh_chewie: ^0.16.1
1616
fwfh_just_audio: ^0.17.0
1717
fwfh_svg: ^0.16.1
1818
fwfh_url_launcher: ^0.16.1
19-
fwfh_webview: ^0.15.6
19+
fwfh_webview: ^0.15.7
2020
html: ^0.15.0
2121

2222
dependency_overrides:

packages/fwfh_webview/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
## 0.15.7
2+
3+
- Forward `allowfullscreen` and `allow` iframe attributes to WebView (#1566)
4+
15
## 0.15.6
26

37
- Add support for webview_flutter_android@4.8 (#1498)

packages/fwfh_webview/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: fwfh_webview
2-
version: 0.15.6
2+
version: 0.15.7
33
description: WidgetFactory extension to render IFRAME with the official WebView plugin.
44
homepage: https://github.com/daohoangson/flutter_widget_from_html
55

0 commit comments

Comments
 (0)