Description
doc/source/api_types.rst explains why numbered interfaces exist, but it does not distinguish the installed package version from the imported interface version with a concrete support table. It also does not show how v0, v1, v2, and v3 differ or how to migrate between them. Users must inspect compatibility adapters and release history to discover differences such as v2 worker defaults, v1's legacy raw_api constructor argument and return types, and v0's raw list/delete responses.
Steps to reproduce
from b2sdk.v1 import B2Api as V1B2Api
from b2sdk.v3 import B2Api as V3B2Api
# The documentation does not provide a migration checklist between these APIs.
Expected behavior
Documentation should distinguish package versions such as 2.12.0 from interface imports such as b2sdk.v3. It should provide a support matrix and migration notes for each transition, organized around changed imports, constructor and method signatures, defaults, return values, exception types, and removed or renamed helpers. Each transition should include a minimal before-and-after example and point to the tests that preserve the old behavior.
Actual behavior
The compatibility concept is documented, but users cannot answer practical questions such as "what must change when moving from v1 to v3?" or "can I upgrade the installed package while retaining a v1 import?" from a single authoritative page. That increases migration risk and encourages indefinite use of older interfaces.
Environment
- Python version: Any supported version
- b2sdk version:
master at f3ab7b71
- OS: Any
Description
doc/source/api_types.rstexplains why numbered interfaces exist, but it does not distinguish the installed package version from the imported interface version with a concrete support table. It also does not show how v0, v1, v2, and v3 differ or how to migrate between them. Users must inspect compatibility adapters and release history to discover differences such as v2 worker defaults, v1's legacyraw_apiconstructor argument and return types, and v0's raw list/delete responses.Steps to reproduce
Expected behavior
Documentation should distinguish package versions such as
2.12.0from interface imports such asb2sdk.v3. It should provide a support matrix and migration notes for each transition, organized around changed imports, constructor and method signatures, defaults, return values, exception types, and removed or renamed helpers. Each transition should include a minimal before-and-after example and point to the tests that preserve the old behavior.Actual behavior
The compatibility concept is documented, but users cannot answer practical questions such as "what must change when moving from v1 to v3?" or "can I upgrade the installed package while retaining a v1 import?" from a single authoritative page. That increases migration risk and encourages indefinite use of older interfaces.
Environment
masteratf3ab7b71