Releases: nkaaf/git-profiles
Release list
0.3.0 (Beta) – DevContainer support, ty type‑checker, tox removed, major CI‑action upgrades & fresh dependency set
TL;DR
- Runtime (User) → pydantic, filelock, platformdirs & typing‑extensions have been bumped.
- Development (Developer) →
tyreplacesmypy;tox/tox‑uvhave been dropped in favour ofpoethepoettasks; a whole raft of dev‑tools (ruff, faker, pytest, …) have moved to newer minor/patch releases. - CI → All GitHub‑Actions used in the workflow have been upgraded to the latest major versions (checkout 7, codeql 4.37, etc.).
- Other → Relative imports, a new
pyproject.tomlmetadata block, and full DevContainer support have been added.
1️⃣ User (runtime)
Only packages that end up inside the published wheel are listed here.
| Dependency | From → To | PR / Commit (last) | Comment |
|---|---|---|---|
| pydantic | 2.12.4 → 2.13.4 | #40 | Minor release – no breaking changes. |
| filelock | 3.20.0 → 3.29.7 | Commit 6056873f |
Security‑focused patch. |
| platformdirs | 4.5.0 → 4.10.0 | Same commit as above | Minor bump. |
| typing‑extensions | 4.15.0 → 4.16.0 | Same commit as above | No API change. |
2️⃣ Developer (dev‑dependencies & tooling)
Everything that is only needed to build, test or lint the project.
| Action | From → To | PR / Commit (last) | Why / What changed |
|---|---|---|---|
| Add | ty (type‑checker) | – → 0.0.58 | Replaces mypy. PR [#71] – commit 071e74 |
| Remove | tox & tox‑uv |
– | Replaced by poethepoet tasks. Commit 8aded1b |
| faker | 38.0.0 → 40.28.1 | Commit 6056873f |
Updated through PR #36 → #75. |
| ruff | 0.14.5 → 0.15.21 | Commit 8aded1b | New lint rules; still compatible. |
| pre‑commit | 4.4.0 → 4.5.1 | #33 → #66 | Updated hooks (added autofix, no‑sort‑keys, fix for ruff‑check). |
| poethepoet | 0.37.0 → 0.48.0 | Commit 8aded1b | Provides task runner that replaces tox. |
| uv‑build | 0.9.10 → 0.9.24 | #34 → #80 | Small bug‑fix releases. |
| uv | 0.9.10 → 0.11.6 | #93 | Major bump – used only for builds. |
| virtualenv | 20.35.4 → 20.36.1 | #84 | Patch. |
| pytest | 9.0.1 → 9.1.1 | Commit 8aded1b | Minor feature release. |
| pytest‑cov | 7.0.0 → 7.1.0 | Same commit as above | Updated coverage integration. |
| pygments | 2.19.2 → 2.20.0 | #92 | Patch. |
| DevContainer (VS Code) | – → added | Commit 8dc942 | Provides a ready‑to‑run container for contributors. |
Project metadata (URL fields, version → 0.3.0) |
– | Commit cfef4b1 | Improves packaging info. |
| Relative imports (instead of absolute) | – | Commit 97ed2c | Cleaner import paths. |
Pre‑commit hook tweaks (pretty‑format‑json, ruff‑check) |
– | e3db1a, 071e74 | Added autofix / fix behaviours. |
| setup‑uv: removed default values for inputs | – | Commit 925a95 | Simpler action usage. |
Code‑coverage token removed / deprecated codecov/test‑results-action fixed |
– | 3dc34a, 6f3809 | Security & deprecation fixes. |
| pre‑commit.ci auto‑updates | – | PR #37, #44, #52, #60, #69, #76 | Keeps all pre‑commit hooks on the latest versions. |
3️⃣ CI (GitHub Actions)
All actions that drive the workflow have been upgraded to their latest major releases (or a grouped bump).
| Action | From → To | PR (group) | Note |
|---|---|---|---|
| github/codeql-action | 4.31.2 → 4.37.0 | #105 | Whole CI group bump. |
| astral‑sh/setup‑uv | 7.1.2 → 8.3.2 | #105 | Includes all intermediate bumps. |
| actions/checkout | 5.0.0 → 7.0.0 | #105 | Major version jump. |
| actions/setup‑python | 6.0.0 → 6.3.0 | #105 | Minor bump. |
| actions/cache | 4.3.0 → 5.0.1 | #57 | First major release. |
| actions/download‑artifact | 6.0.0 → 8.0.1 | #105 | Two major steps merged. |
| codecov/codecov-action | 5.5.1 → 7.0.0 | #105 | Major release. |
| actions/upload‑artifact | 5.0.0 → 7.0.1 | #105 | Major release. |
| awalsh128/cache‑apt‑pkgs-action | 1.6.0 → 1.6.3 | #105 | Minor bump. |
| pypa/gh‑action‑pypi‑publish | 1.13.0 → 1.14.0 | #105 | Minor bump. |
| pre‑commit.ci (autoupdates) | – | #37, #44, #52, #60, #69, #76 | Keeps all pre‑commit hooks current. |
📜 Full changelog
All commits, PRs, and intermediate bumps that are not listed above are available in the complete diff:
0.2.0 (Beta) – New Features, Performance Enhancements, and Fixes
git-profiles 0.2.0 (Beta) – Elevating Git Profile Management 🚀
We’re thrilled to introduce version 0.2.0 of git-profiles! This release brings a mix of internal architecture improvements, performance boosts, and bug fixes that streamline your experience. Though still in beta, v0.2.0 is a solid step toward making profile management even more reliable and user-friendly.
✨ Notable Changes
Performance and Efficiency
- Dynamic Storage Initialization: Storage is now only built when needed, reducing overhead for simple commands (like
git profiles version).
Bug Fixes and Usability
- Profile Merging Fix: Fixed issues with merging profiles, ensuring that configurations are applied correctly and consistently.
- Improved Profile Listing: If no profiles exist, the
git profiles listcommand will no longer trigger an error, making it more intuitive and error-resistant.
Improved Error Handling and Stability
- File Locker: A new file locker mechanism prevents simultaneous access to config files from multiple processes, ensuring smooth operation even when multiple instances of git-profiles are running.
- Transactional Storage: Storage operations are now transactional, enhancing data integrity and ensuring safer profile updates.
- Error Propagation: Errors from handlers are now correctly propagated to the main app for a more unified error management experience, making debugging easier.
Developer Experience and Testing
- Updated Pytest: The minimal required version of pytest is now bumped to leverage subtests for cleaner and more organized testing.
- Inline Documentation: We’ve enhanced inline documentation to provide better clarity, making it easier for contributors to work with the codebase.
📦 Installation
See the Installation section in the README for detailed instructions.
⚠️ Beta release: Some APIs and commands may change in future versions. Feedback and contributions are welcome!
0.1.0 (Beta) – First Public Release
git-profiles 0.1.0 (Beta) – First Public Release 🚀
We’re excited to announce the first public beta of git-profiles, a CLI tool for managing multiple Git configuration profiles. Easily switch between identities, apply profiles to repositories, and manage configs with confidence.
✨ Highlights
- Create, update, delete, and duplicate Git profiles
- Set/unset key-value pairs (
user.name,user.email, etc.) - Apply profiles to local repositories with a single command
- Git alias support:
git profiles <command>⚡ - Cross-platform storage and input validation
- Pre-commit hooks for linting and code quality 🛠️
📦 Installation
See the Installation section in the README for detailed instructions.
⚠️ Beta release: Some APIs and commands may change in future versions. Feedback and contributions are welcome!