Skip to content

Commit 38035ee

Browse files
authored
Merge pull request #338 from lbedner/v0.4.0
v0.4.0
2 parents f85f4e7 + f6ca56d commit 38035ee

6 files changed

Lines changed: 80 additions & 44 deletions

File tree

.github/workflows/release.yml

Lines changed: 16 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -72,27 +72,19 @@ jobs:
7272
uses: softprops/action-gh-release@v2
7373
with:
7474
name: "v${{ steps.version.outputs.VERSION }} (Release Candidate)"
75+
draft: true
76+
generate_release_notes: true
7577
body: |
76-
## 🧪 Test Release Published to TestPyPI
77-
78-
This is a pre-release version for testing. Install and test with:
78+
## Test Release (TestPyPI)
7979
8080
```bash
81-
# Test the CLI
82-
uvx --index-url https://test.pypi.org/simple/ aegis-stack --version
83-
84-
# Test project generation
85-
uvx --index-url https://test.pypi.org/simple/ aegis-stack init test-project --no-interactive
86-
cd test-project
87-
make check
81+
uvx --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ --index-strategy unsafe-best-match aegis-stack@${{ steps.version.outputs.VERSION }} init test-project
8882
```
8983
90-
**⚠️ This is a test release from TestPyPI - not for production use!**
91-
92-
If testing is successful, promote to production with:
84+
Not for production use. If testing passes, promote with:
9385
```bash
94-
git tag v${{ steps.version.outputs.VERSION }}
95-
git push --tags
86+
git tag v<version>
87+
git push origin v<version>
9688
```
9789
prerelease: true
9890
files: dist/*
@@ -128,44 +120,28 @@ jobs:
128120
id: version
129121
run: echo "VERSION=${GITHUB_REF#refs/tags/v}" >> $GITHUB_OUTPUT
130122

131-
- name: Extract changelog for this version
132-
id: changelog
133-
run: |
134-
# Extract changelog section for this version (if CHANGELOG.md exists)
135-
if [ -f CHANGELOG.md ]; then
136-
# Try to extract the section for this version
137-
VERSION="${{ steps.version.outputs.VERSION }}"
138-
CHANGELOG=$(awk "/## \[${VERSION}\]|## ${VERSION}/,/## \[|## [0-9]/" CHANGELOG.md | sed '1d;$d' || echo "See CHANGELOG.md for details")
139-
echo "CHANGELOG<<EOF" >> $GITHUB_OUTPUT
140-
echo "$CHANGELOG" >> $GITHUB_OUTPUT
141-
echo "EOF" >> $GITHUB_OUTPUT
142-
else
143-
echo "CHANGELOG=See commit history for details" >> $GITHUB_OUTPUT
144-
fi
145-
146123
- name: Create GitHub Release
147124
uses: softprops/action-gh-release@v2
148125
with:
149126
name: "v${{ steps.version.outputs.VERSION }}"
127+
draft: true
128+
generate_release_notes: true
150129
body: |
151-
## 🚀 Released to PyPI
130+
## Installation
152131
153-
Install with:
154132
```bash
155-
pip install --upgrade aegis-stack
133+
pip install aegis-stack==${{ steps.version.outputs.VERSION }}
156134
```
157135
158-
Or use directly with `uvx`:
136+
Or run directly:
159137
```bash
160138
uvx aegis-stack init my-project
161139
```
162140
163-
## 📦 Package Information
164-
- **PyPI**: https://pypi.org/project/aegis-stack/${{ steps.version.outputs.VERSION }}/
165-
- **Documentation**: https://lbedner.github.io/aegis-stack/
166-
167-
## 📝 Changes
141+
## Links
168142
169-
${{ steps.changelog.outputs.CHANGELOG }}
143+
- [PyPI](https://pypi.org/project/aegis-stack/${{ steps.version.outputs.VERSION }}/)
144+
- [Documentation](https://lbedner.github.io/aegis-stack/)
145+
- [Changelog](https://github.com/lbedner/aegis-stack/blob/main/CHANGELOG.md)
170146
files: dist/*
171147
prerelease: false

CHANGELOG.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,61 @@
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.4.0] - 2025-12-07
9+
10+
### Added
11+
12+
#### TaskIQ Worker Backend
13+
- Alternative worker backend using TaskIQ: `uvx aegis-stack init my-app --components "worker[taskiq]"`
14+
- Full feature parity with arq backend
15+
- TaskIQ-specific pool management, registry, and queue implementations
16+
- Load testing support for TaskIQ workers
17+
- Health monitoring integration for TaskIQ
18+
19+
### Fixed
20+
21+
- Windows compatibility: Removed Jinja2 conditional syntax from template filenames
22+
- Files with `{% if %}` in names caused OS Error 123 on Windows
23+
- Affected: `tasks.py` and `scheduler.py` in Cookiecutter templates
24+
25+
### Changed
26+
27+
- Release workflow now creates draft releases with auto-generated notes
28+
29+
---
30+
31+
## [0.3.4] - 2025-12-03
32+
33+
### Changed
34+
35+
- Docker build optimization: only build image for one service instead of all
36+
37+
---
38+
39+
## [0.3.3] - 2025-12-03
40+
41+
### Changed
42+
43+
- Version bump and dependency updates
44+
45+
---
46+
47+
## [0.3.2] - 2025-12-03
48+
49+
### Changed
50+
51+
- Version updates
52+
53+
---
54+
55+
## [0.3.1] - 2025-12-03
56+
57+
### Fixed
58+
59+
- Fixed `make serve` command by refactoring magic string handling
60+
61+
---
62+
863
## [0.3.0] - 2025-12-01
964

1065
### Major Features
@@ -266,6 +321,11 @@
266321
- Worker (arq/Redis) - Optional
267322
- Scheduler (APScheduler) - Optional
268323

324+
[0.4.0]: https://github.com/lbedner/aegis-stack/compare/v0.3.4...v0.4.0
325+
[0.3.4]: https://github.com/lbedner/aegis-stack/compare/v0.3.3...v0.3.4
326+
[0.3.3]: https://github.com/lbedner/aegis-stack/compare/v0.3.2...v0.3.3
327+
[0.3.2]: https://github.com/lbedner/aegis-stack/compare/v0.3.1...v0.3.2
328+
[0.3.1]: https://github.com/lbedner/aegis-stack/compare/v0.3.0...v0.3.1
269329
[0.3.0]: https://github.com/lbedner/aegis-stack/compare/v0.2.1...v0.3.0
270330
[0.2.1]: https://github.com/lbedner/aegis-stack/compare/v0.2.0...v0.2.1
271331
[0.2.0]: https://github.com/lbedner/aegis-stack/compare/v0.1.0...v0.2.0

aegis/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
Aegis Stack CLI - Component generation and project management tools.
33
"""
44

5-
__version__ = "0.4.0-rc1"
5+
__version__ = "0.4.0"

copier.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# - Update support
77

88
_min_copier_version: "9.0.0"
9-
_version: "0.4.0-rc1"
9+
_version: "0.4.0"
1010

1111
# IMPORTANT: Template content is in subdirectory
1212
# This allows the template to be recognized as git-tracked (aegis-stack repo root has .git)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "aegis-stack"
3-
version = "0.4.0-rc1"
3+
version = "0.4.0"
44
description = "A production-ready Python foundation for builders who refuse to wait. Try: uvx aegis-stack init my-project"
55
readme = "README.md"
66
requires-python = ">=3.11,<3.14"

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)