Prepare and publish release 1.0.0
Parent release issue: #282
Depends on:
Why
Version 1.0.0 needs a controlled release process because it changes default HTTP behavior and establishes the stable public API contract for the 1.x series.
Scope
Prepare the final release branch, metadata, documentation, validation, pull request, tag, PyPI publication, public smoke test, and GitHub release.
Release preparation
Set package version to 1.0.0
Confirm README and release notes describe the breaking change accurately
Confirm docs/http-transport.md matches implementation
Confirm the supported public API list is final
Confirm CI watches release/1.0.0 while the branch is active
Review the complete main...release/1.0.0 diff
Required validation
Run:
poetry check
poetry run pytest tests/ --ignore=tests/external_tests -v
poetry build
python3 scripts/validate_release.py
poetry run twine check dist/*
git diff --check
Also run the relevant live MLB API suite and record the result.
Clean-install both artifacts separately:
python_mlb_statsapi-1.0.0-py3-none-any.whl
python_mlb_statsapi-1.0.0.tar.gz
Final pull request
Open:
The PR must clearly identify:
Strict HTTP behavior becoming the default
Preserved endpoint-specific 404 behavior
Explicit strict_http=False compatibility mode
Stable public API commitments
Migration guidance
Validation results
Use a merge commit so the release-branch history remains visible.
Publishing sequence
Merge the final release PR into main
Tag the exact merge commit as v1.0.0
Rebuild artifacts from the tagged commit
Rerun the release validator and twine check
Upload wheel and source distribution to PyPI
Install python-mlb-statsapi==1.0.0 from public PyPI with cache disabled
Run public imports and HTTP-mode construction smoke tests
Publish the GitHub release using docs/releases/1.0.0.md
Close completed release issues only after public verification
Public PyPI smoke test
Confirm at minimum:
Installed distribution version is 1.0.0
Mlb() constructs with strict behavior as the default
Mlb(strict_http=False) constructs successfully
create_retry_policy() returns a Retry
Structured exception classes import from the package root
MlbHttpCompatibilityWarning imports and inherits from FutureWarning
Library-created User-Agent reports python-mlb-statsapi/1.0.0
Acceptance criteria
All dependent issues are complete
Final PR CI passes on every supported Python version
Wheel and source distribution pass release validation
Both artifacts pass twine check
Both artifacts clean-install successfully
Tag v1.0.0 points to the exact release merge commit
PyPI publishes version 1.0.0
Public PyPI smoke tests pass
GitHub release v1.0.0 is published
Parent issue Release 1.0.0: Make strict HTTP behavior the default #282 is closed after verification
Suggested branch
Prepare and publish release 1.0.0
Parent release issue: #282
Depends on:
Why
Version 1.0.0 needs a controlled release process because it changes default HTTP behavior and establishes the stable public API contract for the 1.x series.
Scope
Prepare the final release branch, metadata, documentation, validation, pull request, tag, PyPI publication, public smoke test, and GitHub release.
Release preparation
1.0.0docs/http-transport.mdmatches implementationrelease/1.0.0while the branch is activemain...release/1.0.0diffRequired validation
Run:
poetry check poetry run pytest tests/ --ignore=tests/external_tests -v poetry build python3 scripts/validate_release.py poetry run twine check dist/* git diff --checkAlso run the relevant live MLB API suite and record the result.
Clean-install both artifacts separately:
Final pull request
Open:
The PR must clearly identify:
strict_http=Falsecompatibility modeUse a merge commit so the release-branch history remains visible.
Publishing sequence
mainv1.0.0twine checkpython-mlb-statsapi==1.0.0from public PyPI with cache disableddocs/releases/1.0.0.mdPublic PyPI smoke test
Confirm at minimum:
1.0.0Mlb()constructs with strict behavior as the defaultMlb(strict_http=False)constructs successfullycreate_retry_policy()returns aRetryMlbHttpCompatibilityWarningimports and inherits fromFutureWarningpython-mlb-statsapi/1.0.0Acceptance criteria
twine checkv1.0.0points to the exact release merge commit1.0.0v1.0.0is publishedSuggested branch