@@ -34,44 +34,31 @@ release-X.Y ●──●────●───●───●───●
3434 │
3535 first commit on release-X.Y:
3636 - versions (prev).dev → X.Y.0rc0
37- - dapr deps >=(prev).dev → >=X.Y.0rc0
3837 simultaneously on main:
3938 - versions (prev).dev → X.Y.0.dev
40- - dapr deps >=(prev).dev → >=X.Y.0.dev
4139```
4240
43- ## Version files
41+ Only tag pushes (` v* ` ) publish to PyPI. Pushes to ` main ` and release branches
42+ do not publish anything.
4443
45- Every package in this repository has one version file and, for extensions, one ` setup.cfg `
46- dependency line that must be kept in sync during a release .
44+ Users who need the development builds can install from git
45+ (see the [ README ] ( ./README.md#install-dapr-python-sdk ) ) .
4746
48- ** Version files** (set ` __version__ ` ):
49- - ` dapr/version/version.py `
50- - ` ext/dapr-ext-workflow/dapr/ext/workflow/version.py `
51- - ` ext/dapr-ext-grpc/dapr/ext/grpc/version.py `
52- - ` ext/dapr-ext-fastapi/dapr/ext/fastapi/version.py `
53- - ` ext/dapr-ext-langgraph/dapr/ext/langgraph/version.py `
54- - ` ext/dapr-ext-strands/dapr/ext/strands/version.py `
55- - ` ext/flask_dapr/flask_dapr/version.py `
47+ ## Version file
5648
57- ** Dependency lower bounds** in extension ` setup.cfg ` files (each has ` dapr >= <version> ` ):
58- - ` ext/dapr-ext-workflow/setup.cfg `
59- - ` ext/dapr-ext-grpc/setup.cfg `
60- - ` ext/dapr-ext-fastapi/setup.cfg `
61- - ` ext/dapr-ext-langgraph/setup.cfg `
62- - ` ext/dapr-ext-strands/setup.cfg `
63- - ` ext/flask_dapr/setup.cfg `
49+ A single ` VERSION ` file at the repo root is the source of truth for all
50+ the packages. Each package's ` pyproject.toml ` reads from it.
6451
6552## Version string conventions
6653
67- | Stage | ` __version__ ` example | dep lower bound example |
68- | ---| ---| ---|
69- | Development (always on ` main ` ) | ` 1.17 .0.dev ` | ` dapr >= 1.17.0.dev ` |
70- | First RC (on ` release-X.Y ` ) | ` 1.17 .0rc0 ` | ` dapr >= 1.17.0rc0 ` |
71- | Subsequent RCs (on ` release-X.Y ` ) | ` 1.17 .0rc1 ` , ` 1.17 .0rc2 ` , … | ` dapr >= 1.17.0rc1 ` |
72- | Stable release | ` 1.17 .0 ` | ` dapr >= 1.17.0 ` |
73- | Patch release candidate | ` 1.17 .1rc1 ` | ` dapr >= 1.17.1rc1 ` |
74- | Stable patch release | ` 1.17 .1 ` | ` dapr >= 1.17.1 ` |
54+ | Stage | ` VERSION ` example |
55+ | ---------------------------------- | ----------------------------- |
56+ | Development (always on ` main ` ) | ` 1.18 .0.dev ` |
57+ | First RC (on ` release-X.Y ` ) | ` 1.18 .0rc0 ` |
58+ | Subsequent RCs (on ` release-X.Y ` ) | ` 1.18 .0rc1 ` , ` 1.18 .0rc2 ` , … |
59+ | Stable release | ` 1.18 .0 ` |
60+ | Patch release candidate | ` 1.18 .1rc1 ` |
61+ | Stable patch release | ` 1.18 .1 ` |
7562
7663## Remote convention
7764
@@ -92,19 +79,15 @@ git checkout -b release-X.Y
9279git push upstream release-X.Y
9380```
9481
95- ### 2. Bump versions on the release branch (first commit)
82+ ### 2. Bump VERSION on the release branch (first commit)
9683
97- On the newly created ` release-X.Y ` branch, open a PR ** targeting ` release-X.Y ` ** that does:
84+ On the newly created ` release-X.Y ` branch, open a PR ** targeting ` release-X.Y ` ** that
85+ changes the ` VERSION ` file from ` X.Y.0.dev ` → ` X.Y.0rc0 ` .
9886
99- - In all seven version files: change ` X.Y.0.dev ` → ` X.Y.0rc0 `
100- - In all six extension ` setup.cfg ` files: change ` dapr >= X.Y.0.dev ` → ` dapr >= X.Y.0rc0 `
87+ ### 3. Bump VERSION on ` main ` (second commit)
10188
102- ### 3. Bump versions on ` main ` (second commit)
103-
104- Open a PR targeting ` main ` to align it with the new release version:
105-
106- - In all seven version files: change the previous dev version to ` X.Y.0.dev `
107- - In all six extension ` setup.cfg ` files: change the previous ` dapr >= ...dev ` to ` dapr >= X.Y.0.dev `
89+ Open a PR targeting ` main ` that changes ` VERSION ` from the previous dev version to
90+ ` X.Y.0.dev ` .
10891
10992### 4. Push the tag
11093
@@ -125,12 +108,9 @@ all packages to PyPI.
125108
126109Perform this when you want to publish ` X.Y.0rcN ` (N ≥ 1) from an existing ` release-X.Y ` branch.
127110
128- ### 1. Bump versions on the release branch
111+ ### 1. Bump VERSION on the release branch
129112
130- Open a PR ** targeting ` release-X.Y ` ** that does:
131-
132- - In all seven version files: change ` X.Y.0rc(N-1) ` → ` X.Y.0rcN `
133- - In all six extension ` setup.cfg ` files: change ` dapr >= X.Y.0rc(N-1) ` → ` dapr >= X.Y.0rcN `
113+ Open a PR ** targeting ` release-X.Y ` ** that changes ` VERSION ` from ` X.Y.0rc(N-1) ` → ` X.Y.0rcN ` .
134114
135115### 2. Push the tag
136116
@@ -148,12 +128,10 @@ git tag vX.Y.0rcN && git push upstream vX.Y.0rcN
148128Perform this when ` release-X.Y ` is ready to ship a stable version — whether that is the
149129initial ` X.Y.0 ` or a patch release (` X.Y.1 ` , ` X.Y.2 ` , …).
150130
151- ### 1. Bump versions on the release branch
152-
153- Open a PR ** targeting ` release-X.Y ` ** that does:
131+ ### 1. Bump VERSION on the release branch
154132
155- - In all seven version files: change ` X.Y.ZrcN ` → ` X.Y.Z ` (drop the ` rcN ` suffix)
156- - In all six extension ` setup.cfg ` files: change ` dapr >= X.Y.ZrcN` → ` dapr >= X.Y.Z`
133+ Open a PR ** targeting ` release- X.Y` ** that drops the ` rcN ` suffix in ` VERSION ` :
134+ ` X.Y.ZrcN ` → ` X.Y.Z ` .
157135
158136### 2. Push the tag
159137
0 commit comments