Skip to content

Commit 22eb5fb

Browse files
JacobCoffeeclaude
andauthored
release: prepare bunenv 1.0.0 stable release (#8)
Bump version to 1.0.0 and prepare for stable release: **Version Updates:** - pyproject.toml: 0.1.0 → 1.0.0 - src/bunenv/__init__.py: bunenv_version = "1.0.0" **New Files:** - CHANGELOG.md: Comprehensive 1.0 release notes - GitHub Action feature - Documentation improvements - Testing & quality enhancements - Real-world validation (byte project) **Cleanup:** - Removed testpypi index from pyproject.toml - Removed publish-to-testpypi job from publish workflow - Production-only PyPI publishing **1.0 Highlights:** ✅ GitHub Action for CI/CD workflows ✅ Comprehensive Sphinx documentation ✅ 98%+ test coverage ✅ Cross-platform support (Ubuntu, macOS, Windows) ✅ Python 3.10-3.13 support ✅ Real-world validation in byte project ✅ Zero runtime dependencies **Breaking Changes:** None - fully backward compatible Ready for stable 1.0.0 release and production use. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude <noreply@anthropic.com>
1 parent 7c0c6b2 commit 22eb5fb

File tree

5 files changed

+95
-31
lines changed

5 files changed

+95
-31
lines changed

.github/workflows/publish.yml

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -56,26 +56,3 @@ jobs:
5656

5757
- name: Publish to PyPI
5858
run: uv publish
59-
60-
publish-to-testpypi:
61-
name: Publish to TestPyPI
62-
needs: build
63-
runs-on: ubuntu-latest
64-
environment:
65-
name: testpypi
66-
url: https://test.pypi.org/p/bunenv
67-
permissions:
68-
id-token: write
69-
70-
steps:
71-
- name: Install uv
72-
uses: astral-sh/setup-uv@v4
73-
74-
- name: Download all the dists
75-
uses: actions/download-artifact@v4
76-
with:
77-
name: python-package-distributions
78-
path: dist/
79-
80-
- name: Publish to TestPyPI
81-
run: uv publish --index testpypi

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,4 @@ docs/source/api/generated/
7676
# uv
7777
.uv/
7878
nodeenv/
79+
test-env/

CHANGELOG.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
# Changelog
2+
3+
All notable changes to bunenv will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [1.0.0] - 2025-11-24
9+
10+
### Added
11+
12+
#### GitHub Action
13+
- **GitHub Action for CI/CD** - Official `JacobCoffee/bunenv` action for easy Bun setup in workflows
14+
- Simple one-line setup: `uses: JacobCoffee/bunenv@v1`
15+
- Automatic caching for faster runs
16+
- Cross-platform support (Ubuntu, macOS, Windows)
17+
- Inputs: `bun-version`, `variant`, `github-token`, `cache`, `python-version`
18+
- Outputs: `bun-version`, `bunenv-path`
19+
- Complete documentation in `ACTION.md`
20+
- Validated in production by byte project (#136)
21+
22+
#### Documentation
23+
- **Comprehensive Sphinx Documentation** - Professional docs with Shibuya theme
24+
- Complete API reference with examples
25+
- User guides: quickstart, workflows, configuration, troubleshooting
26+
- Advanced topics: variants, GitHub API, security
27+
- Comparison with nodeenv, asdf, mise
28+
- Migration guides from nodeenv and other tools
29+
- Hosted at GitHub Pages
30+
31+
- **Makefile for Documentation** - Easy documentation builds
32+
- `make docs` - Build HTML documentation
33+
- `make docs-serve` - Live preview with auto-rebuild
34+
- `make docs-clean` - Remove build artifacts
35+
36+
#### Testing & Quality
37+
- **Comprehensive Test Suite** - 98%+ coverage
38+
- Cross-platform tests (Ubuntu, macOS, Windows)
39+
- Python 3.10, 3.11, 3.12, 3.13 support
40+
- Integration tests with real Bun installations
41+
- Smoke tests for all platforms
42+
- Mocked tests for offline validation
43+
44+
- **Modern Tooling**
45+
- `ruff` for linting and formatting
46+
- `ty` for type checking
47+
- `prek` for git hooks
48+
- `codespell` for spelling
49+
- `pytest` with coverage reporting
50+
- Automated CI/CD via GitHub Actions
51+
52+
#### Development
53+
- **Python 3.10+ Modernization**
54+
- Type hints throughout codebase
55+
- Pattern matching for cleaner code
56+
- Union types with `|` operator
57+
- Simplified Optional handling
58+
- Better error messages
59+
60+
### Changed
61+
- **Version bump to 1.0.0** - Stable release!
62+
- **Updated README** - Added GitHub Action usage examples
63+
- **Improved CI/CD** - More comprehensive testing matrix
64+
65+
### Fixed
66+
- **Documentation Build Warnings** - All Sphinx warnings resolved
67+
- **Cross-Platform Compatibility** - Validated on all major platforms
68+
69+
### Validated
70+
- **Real-World Usage** - Successfully migrated byte project from nodeenv
71+
- Production validation in https://github.com/JacobCoffee/byte
72+
- Zero breaking changes from nodeenv migration
73+
- CI passing with bunenv in production
74+
75+
---
76+
77+
## [0.1.0] - 2025-11-23
78+
79+
### Added
80+
- Initial release of bunenv
81+
- Core Bun virtual environment functionality
82+
- Adapted from nodeenv architecture
83+
- GitHub Releases API integration
84+
- Cross-platform support (macOS, Linux, Windows)
85+
- Python virtualenv integration
86+
- Variant support (baseline, musl, profile)
87+
- Configuration file support (~/.bunenvrc, .bun-version)
88+
- Activation scripts for multiple shells
89+
- Zero runtime dependencies
90+
91+
[1.0.0]: https://github.com/JacobCoffee/bunenv/compare/v0.1.0...v1.0.0
92+
[0.1.0]: https://github.com/JacobCoffee/bunenv/releases/tag/v0.1.0

pyproject.toml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[project]
22
name = "bunenv"
3-
version = "0.1.0"
3+
version = "1.0.0"
44
description = "Bun virtual environment builder"
55
readme = "README.md"
66
authors = [
@@ -43,12 +43,6 @@ bunenv = "bunenv:main"
4343
requires = ["uv_build>=0.9.11,<0.10.0"]
4444
build-backend = "uv_build"
4545

46-
[[tool.uv.index]]
47-
name = "testpypi"
48-
url = "https://test.pypi.org/simple/"
49-
publish-url = "https://test.pypi.org/legacy/"
50-
explicit = true
51-
5246
[dependency-groups]
5347
dev = [
5448
"ruff>=0.14.6",

src/bunenv/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232

3333
IncompleteRead = http.client.IncompleteRead
3434

35-
bunenv_version: str = "0.1.0"
35+
bunenv_version: str = "1.0.0"
3636

3737
join: Callable[..., str] = os.path.join
3838
abspath: Callable[[str], str] = os.path.abspath

0 commit comments

Comments
 (0)