diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index b76c2c7..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,44 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [3.0.0] - 2026-01-25 - -### Breaking Changes - -- **Python 3.10+ required** - Dropped support for Python 2.7, 3.8, and 3.9 -- Removed deprecated Python 2 compatibility code -- Changed from `setup.py` to `pyproject.toml` for modern packaging - -### Added - -- **API Key Authentication** - New `--tr-api-key` option for secure API key authentication (recommended over password) -- **Pagination Support** - Full support for TestRail API pagination (TestRail 6.7+) -- **Custom Exception Classes** - New exception hierarchy for better error handling: - - `TestRailError` - Base exception - - `TestRailAPIError` - API-related errors - - `TestRailAuthenticationError` - Authentication failures - - `TestRailRateLimitError` - Rate limiting (HTTP 429) -- **Connection Pooling** - Uses `requests.Session` for better performance -- **Automatic Retry** - Retries on rate limiting and network errors -- **Type Hints** - Full type annotations throughout the codebase -- **Logging** - Proper logging instead of print statements - -### Changed - -- Migrated from `setup.py` to `pyproject.toml` with hatchling build system -- Migrated from tox to uv for dependency management and testing -- Updated CI/CD to use GitHub Actions with uv -- Modernized test suite using `unittest.mock` -- Use timezone-aware `datetime.now(timezone.utc)` instead of deprecated `utcnow()` - -### Removed - -- Python 2.7, 3.8, 3.9 support -- `setup.py`, `setup.cfg`, `MANIFEST.ini` -- `requirements/` directory (dependencies now in `pyproject.toml`) -- `tox.ini` (replaced by uv) -- `Makefile` diff --git a/pyproject.toml b/pyproject.toml index 6e264ad..0a76c1a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,7 +50,7 @@ Homepage = "https://github.com/allankp/pytest-testrail" Repository = "https://github.com/allankp/pytest-testrail" Documentation = "https://github.com/allankp/pytest-testrail#readme" Issues = "https://github.com/allankp/pytest-testrail/issues" -Changelog = "https://github.com/allankp/pytest-testrail/blob/main/CHANGELOG.md" +Changelog = "https://github.com/allankp/pytest-testrail/releases" [project.entry-points.pytest11] pytest-testrail = "pytest_testrail.conftest" @@ -64,7 +64,6 @@ include = [ "/tests", "/README.rst", "/LICENSE", - "/CHANGELOG.md", ] [tool.ruff] @@ -122,11 +121,6 @@ branch = "master" build_command = "uv build" commit_message = "chore(release): {version}\n\nAutomatically generated by python-semantic-release" -[tool.semantic_release.changelog] -# Updated config path for semantic-release v10+ -[tool.semantic_release.changelog.default_templates] -changelog_file = "CHANGELOG.md" - [tool.semantic_release.commit_parser_options] allowed_tags = ["build", "chore", "ci", "docs", "feat", "fix", "perf", "refactor", "style", "test"] minor_tags = ["feat"] @@ -140,5 +134,4 @@ version_files = [ "pytest_testrail/__init__.py:__version__", ] tag_format = "v$version" -update_changelog_on_bump = true