---
title: "Releases"
description: "Release process and version management"
keywords: [releases, versioning, deployment, changelog]
---

# Releases

Process for creating and managing TraceRTM releases.

## Release Process

### 1. Prepare Release

```bash
# Update version
# In pyproject.toml or package.json
version = "2.4.1"

# Update CHANGELOG.md
# Add release notes
```

### 2. Create Release Branch

```bash
git checkout -b release/2.4.1
git push origin release/2.4.1
```

### 3. Run Tests

```bash
# Run all tests
pytest

# Run E2E tests
pytest tests/e2e/

# Check coverage
pytest --cov=tracertm --cov-report=term-missing
```

### 4. Create Release

```bash
# Tag release
git tag -a v2.4.1 -m "Release 2.4.1"
git push origin v2.4.1

# Or use GitHub releases
# Create release on GitHub with tag v2.4.1
```

## Version Numbering

### Semantic Versioning

Follow [SemVer](https://semver.org/):

- **MAJOR**: Breaking changes
- **MINOR**: New features (backward compatible)
- **PATCH**: Bug fixes (backward compatible)

Examples:
- `2.4.0` → `2.4.1` (patch)
- `2.4.0` → `2.5.0` (minor)
- `2.4.0` → `3.0.0` (major)

## Release Checklist

- [ ] All tests pass
- [ ] Version updated
- [ ] CHANGELOG updated
- [ ] Documentation updated
- [ ] Release notes written
- [ ] Tag created
- [ ] Release published

## Related Documentation

- [Versioning](./06a-versioning) - Version management
- [Changelog](./06b-changelog) - Changelog format
