Skip to content
This repository was archived by the owner on Feb 26, 2026. It is now read-only.

Commit 72ede97

Browse files
committed
chore(release): package:win32_runner v0.2.4
1 parent b17ccac commit 72ede97

18 files changed

Lines changed: 1064 additions & 692 deletions

.github/workflows/publish.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
11
name: Publish
22

33
on:
4+
pull_request:
5+
branches: [main]
46
push:
5-
tags: ['v[0-9]+.[0-9]+.[0-9]+*']
7+
tags: ['[A-z0-9]+-v[0-9]+.[0-9]+.[0-9]+*']
68

79
jobs:
810
publish:
11+
if: ${{ github.repository_owner == 'halildurmus' }}
912
name: Publish to pub.dev
1013
permissions:
1114
id-token: write
12-
uses: dart-lang/setup-dart/.github/workflows/publish.yml@main
15+
pull-requests: write
16+
uses: dart-lang/ecosystem/.github/workflows/publish.yaml@main
17+
with:
18+
write-comments: false

.github/workflows/release.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,15 @@ jobs:
2424
- name: 🔍 Check if There is a Release Commit
2525
id: check_release
2626
run: |
27-
latest_commit_msg=$(git log -1 --pretty=format:%s)
28-
echo "📜 Latest commit: $latest_commit_msg"
27+
msg=$(git log -1 --pretty=format:%s)
28+
echo "📜 Latest commit: $msg"
2929
30-
if [[ "$latest_commit_msg" =~ ^chore\(release\):\ v.* ]]; then
31-
echo "🎉 Release commit detected. Proceeding with the publish step."
30+
if [[ "$msg" =~ chore\(release\):[[:space:]]+.*package:([a-zA-Z0-9_]+).*v ]]; then
31+
pkg="${BASH_REMATCH[1]}"
32+
echo "🎯 Package: $pkg"
3233
echo "should_publish=true" >> $GITHUB_OUTPUT
3334
else
34-
echo "❌ No release commit detected. Skipping the publish step."
35+
echo "❌ Not a release commit"
3536
echo "should_publish=false" >> $GITHUB_OUTPUT
3637
fi
3738

.vscode/settings.json

Lines changed: 0 additions & 6 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
## [0.2.4] - 2026-02-23
6+
7+
### 📦 Dependencies
8+
9+
- Bumped minimum required Dart SDK version to `3.11.0`.
10+
11+
[0.2.4]: https://github.com/halildurmus/win32_runner/compare/v0.2.3...win32_runner-v0.2.4
12+
113
## 0.2.3
214

315
- Bump minimum required Dart SDK version to `3.4.0`

CONTRIBUTING.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Contributing
22

3-
Thank you for your interest in contributing to **win32_runner**!
3+
Thank you for your interest in contributing to `package:win32_runner`!
44

55
This guide provides everything you need to get started and make your
66
contributions effective and rewarding.
@@ -22,18 +22,18 @@ We strive to maintain a welcoming and inclusive community, so please read our
2222
- **🐛 Report Bugs**: Found a bug? Let us know on our [GitHub Issues] page.
2323
- **📝 Improve Documentation**: High-quality documentation is crucial. Help us
2424
improve it by refining the existing docs or adding new content.
25-
- **💬 Give Feedback**: Share your experience using **win32_runner**, what
25+
- **💬 Give Feedback**: Share your experience using `win32_runner`, what
2626
features you’d like, and what works well on [GitHub Discussions].
27-
- **📢 Share win32_runner**: Spread the word about this project to reach more
28-
users.
27+
- **📢 Share `win32_runner`**: Spread the word about this project to reach
28+
more users.
2929
- **💻 Contribute to the Codebase**: Work on new features or tackle
3030
[open issues][GitHub Issues] — all contributions are highly appreciated!
3131

3232
## 🛠️ Setting Up the Environment
3333

3434
### ⚙️ Requirements
3535

36-
- [Dart](https://dart.dev) version `3.5` or higher
36+
- [Dart](https://dart.dev) version `3.11` or higher
3737
- [git-cliff](https://git-cliff.org) for generating changelogs
3838
- [Lefthook](https://github.com/evilmartians/lefthook) for managing Git hooks
3939

@@ -70,7 +70,7 @@ before commits.
7070

7171
### ✅ Running Tests
7272

73-
To run tests for **win32_runner**, use:
73+
To run tests for the `package:win32_runner`, use:
7474

7575
```cmd
7676
dart test
@@ -128,7 +128,7 @@ automatically, and our maintainers will review it.
128128
Please use the pull request template to provide details about your changes,
129129
ensuring a smoother review process.
130130

131-
Thank you for contributing to **win32_runner**! 🎉
131+
Thank you for contributing to `package:win32_runner`! 🎉
132132

133133
[Code of Conduct]: https://github.com/halildurmus/win32_runner/blob/main/CODE_OF_CONDUCT.md
134134
[Conventional Commits]: https://www.conventionalcommits.org/en/v1.0.0/

PUBLISHING.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,15 @@ Go to the [GitHub Actions] tab and trigger the [Prepare Release] workflow.
99
This workflow will:
1010

1111
- 🔼 **Bump** the `version` in the `pubspec.yaml` file based on commit messages
12-
_(e.g., `6.0.0` ➡️ `6.1.0`)_.
12+
_(e.g., `0.2.3` ➡️ `0.2.4`)_.
1313
- 📝 **Update** the `CHANGELOG.md` file with the latest changes.
1414

15-
After making these changes, the workflow will create a pull request (PR)
16-
_(e.g., **`chore(release): v6.1.0`**)_.
15+
After making these changes, the workflow will create a pull request (PR) with
16+
title:
17+
18+
```text
19+
chore(release): `package:win32_runner` v0.2.4
20+
```
1721

1822
## 2️⃣ Review and Merge the PR
1923

README.md

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,72 +4,77 @@
44
[![Language: Dart][language_badge]][language_link]
55
[![License: BSD-3-Clause][license_badge]][license_link]
66

7-
An *experimental* package that allows you to run Flutter apps from a Dart runner
8-
instead of the default C++ runner that is provided when you create a new Flutter
9-
project using `flutter create`.
7+
**A Dart runner for Flutter Windows apps — no C++ compiler required.**
108

11-
This package is particularly useful if you want to create a Windows Flutter app
12-
without the need for a C++ compiler on your system.
9+
`package:win32_runner` is an *experimental* package that replaces the default
10+
C++ runner generated by `flutter create` with a pure Dart alternative, letting
11+
you build and run Flutter Windows apps without a C++ toolchain installed.
1312

14-
**Important Note:** This package is currently in an *experimental* stage and
15-
should not be used for production applications. It is primarily a
16-
proof-of-concept, and as such, it has some limitations. For example, it does not
17-
support plugins.
13+
> ⚠️ **Experimental:** This package is a proof-of-concept and is **not suitable
14+
> for production use**. Plugin support is not yet implemented.
1815
19-
## Usage
16+
## 🚀 Getting Started
2017

21-
You can use the sample app in the [example] subdirectory to run an existing
22-
Flutter app on Windows using the Dart runner:
18+
The [example] subdirectory contains a ready-to-use sample. Follow the steps
19+
below to run an existing Flutter app on Windows using the Dart runner.
2320

24-
1. Clone the repository:
21+
**1. Clone the repository**
2522

2623
```console
2724
C:\src> git clone https://github.com/halildurmus/win32_runner.git
2825
C:\src> cd win32_runner
2926
```
3027

31-
2. Install dependencies:
28+
**2. Install dependencies**
3229

3330
```console
3431
C:\src\win32_runner> dart pub get
3532
```
3633

37-
3. Create a sample app:
34+
**3. Create a sample Flutter app**
3835

3936
```console
4037
C:\src\win32_runner> cd ..
4138
C:\src> flutter create simpleapp
4239
C:\src> cd simpleapp
4340
```
4441

45-
4. Compile Flutter code and assets to the `build\` subdirectory:
42+
**4. Compile the Dart runner**
4643

4744
```console
48-
C:\src\simpleapp> flutter assemble -dTargetPlatform=windows-x64 --output=build -dBuildMode=release release_bundle_windows-x64_assets
45+
C:\src\simpleapp> dart build cli -t ..\win32_runner\example\win32_runner.dart -o build
4946
```
5047

51-
5. Compile Dart runner:
48+
**5. Compile Flutter code and assets**
5249

5350
```console
54-
C:\src\simpleapp> dart compile exe ..\win32_runner\example\win32_runner.dart -o win32_runner.exe
51+
C:\src\simpleapp> flutter assemble -dTargetPlatform=windows-x64 --output=build -dBuildMode=release release_bundle_windows-x64_assets
5552
```
5653

57-
6. Run Flutter app:
54+
**6. Run your Flutter app**
5855

5956
```console
60-
C:\src\simpleapp> .\win32_runner
57+
C:\src\simpleapp> .\build\bundle\bin\win32_runner.exe
6158
```
6259

63-
Once you've followed these steps, you should see your Flutter app running on
64-
Windows using the Dart runner:
60+
You should now see your Flutter app running via the Dart runner:
6561

6662
![demo][demo_image_link]
6763

68-
## Feature requests and bugs
64+
## 📝 Documentation
65+
66+
Full API reference is available here:
67+
68+
👉 [API Reference][api_reference_link].
69+
70+
Additional usage examples are located in the [example] directory.
71+
72+
## 🐞 Features and Bugs
6973

70-
Please file feature requests and bugs at the
71-
[issue tracker][issue_tracker_link].
74+
If you encounter bugs or need additional functionality, please
75+
[file an issue][issue_tracker_link].
7276

77+
[api_reference_link]: https://pub.dev/documentation/win32_runner/latest/
7378
[ci_badge]: https://github.com/halildurmus/win32_runner/actions/workflows/win32_runner.yml/badge.svg
7479
[ci_link]: https://github.com/halildurmus/win32_runner/actions/workflows/win32_runner.yml
7580
[demo_image_link]: https://raw.githubusercontent.com/halildurmus/win32_runner/main/screenshots/demo.png

analysis_options.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
include: package:lints/dart.yaml
1+
include: package:halildurmus_lints/dart.yaml

cliff.toml

Lines changed: 31 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,24 @@ All notable changes to this project will be documented in this file.\n
1515
# https://keats.github.io/tera/docs/#introduction
1616
body = """
1717
{% macro print_commit(commit) -%}
18-
- {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
19-
{% if commit.breaking %}[**breaking**] {% endif %}\
20-
{{ commit.message | upper_first }} - \
21-
([{{ commit.id | truncate(length=7, end="") }}](<REPO>/commit/{{ commit.id }}))\
18+
- {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
19+
{% if commit.breaking %}[**breaking**] {% endif %}\
20+
{{ commit.message | split(pat="\n") | first | upper_first | trim }}\
21+
{% if commit.remote.username %} by @{{ commit.remote.username }}{%- endif -%}
22+
{% if commit.remote.pr_number %} in \
23+
[#{{ commit.remote.pr_number }}](<REPO>/pull/{{ commit.remote.pr_number }}) \
24+
{%- endif -%}
2225
{% endmacro -%}
2326
24-
{% macro print_username(username) -%}
25-
[@{{ username }}](<GITHUB>/{{ username }})
27+
{% macro print_contributor(contributor) -%}
28+
- @{{ contributor.username }} made their first contribution
29+
{%- if contributor.pr_number %} in \
30+
[#{{ contributor.pr_number }}](<REPO>/pull/{{ contributor.pr_number }}) \
31+
{%- endif %}
2632
{% endmacro -%}
2733
2834
{% if version %}\
29-
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
35+
## [{{ version | trim_start_matches(pat="win32_runner-v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
3036
{% else %}\
3137
## [unreleased]
3238
{% endif %}\
@@ -46,29 +52,26 @@ body = """
4652
{% endfor -%}
4753
{%- if github -%}
4854
{% if github.contributors | filter(attribute="is_first_time", value=true) | length != 0 %}
49-
## New Contributors ❤️
55+
### New Contributors ❤️
5056
{% endif %}\
5157
{% for contributor in github.contributors | filter(attribute="is_first_time", value=true) %}
52-
* {{ self::print_username(username=contributor.username) }} \
53-
made their first contribution
54-
{%- if contributor.pr_number %} in \
55-
[#{{ contributor.pr_number }}](<REPO>/pull/{{ contributor.pr_number }}) \
56-
{%- endif %}
57-
{%- endfor -%}
58+
{{ self::print_contributor(contributor=contributor) }}
59+
{%- endfor %}\n
5860
{%- endif %}\n
5961
"""
6062
# template for the changelog footer
6163
footer = """
6264
{% for release in releases -%}
6365
{% if release.version -%}
6466
{% if release.previous.version -%}
65-
[{{ release.version | trim_start_matches(pat="v") }}]: \
67+
[{{ release.version | trim_start_matches(pat="win32_runner-v") }}]: \
6668
<REPO>/compare/{{ release.previous.version }}..{{ release.version }}
6769
{% endif -%}
6870
{% else -%}
6971
[unreleased]: <REPO>/compare/{{ release.previous.version }}..HEAD
7072
{% endif -%}
71-
{% endfor %}"""
73+
{% endfor %}
74+
"""
7275
# remove the leading and trailing s
7376
trim = true
7477
# postprocessors
@@ -88,22 +91,29 @@ filter_unconventional = true
8891
split_commits = false
8992
# regex for preprocessing the commit messages
9093
commit_preprocessors = [
91-
# Replace issue numbers
92-
{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))" },
94+
# remove issue numbers from commits
95+
{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "" },
9396
]
9497
# regex for parsing and grouping commits
9598
commit_parsers = [
9699
{ message = "^feat", group = "<!-- 0 -->🚀 Features" },
97100
{ message = "^fix", group = "<!-- 1 -->🐛 Bug Fixes" },
98-
{ message = "^perf", group = "<!-- 2 -->⚡ Performance Improvements" },
99-
{ message = "^refactor", group = "<!-- 3 -->🧹 Refactors" },
101+
{ message = "^perf", group = "<!-- 2 -->⚡ Performance" },
102+
{ message = "^refactor", group = "<!-- 3 -->🧹 Refactor" },
103+
{ message = "^docs", group = "<!-- 4 -->📝 Documentation" },
104+
{ message = "^test", group = "<!-- 5 -->🧪 Testing" },
105+
{ message = "^style", group = "<!-- 6 -->🎨 Styling" },
106+
{ message = "^chore\\(deps\\)", group = "<!-- 7 -->📦 Dependencies" },
107+
{ message = "^chore\\(release\\): v", skip = true },
108+
{ message = "^chore|^ci", group = "<!-- 8 -->⚙️ Miscellaneous Tasks" },
109+
{ body = ".*security", group = "<!-- 9 -->🛡️ Security" },
100110
]
101111
# protect breaking changes from being skipped due to matching a skipping commit_parser
102112
protect_breaking_commits = false
103113
# filter out the commits that are not matched by commit parsers
104114
filter_commits = true
105115
# regex for matching git tags
106-
tag_pattern = "v[0-9].*"
116+
tag_pattern = "win32_runner-v[0-9].*"
107117
# regex for skipping tags
108118
skip_tags = ""
109119
# regex for ignoring tags

0 commit comments

Comments
 (0)