```python
from typing import Tuple


def bump_release(version: str, part: str) -> str:
    """Return the next release tag after advancing the specified part."""
    if not isinstance(version, str):
        raise ValueError("version must be a string")
    if not isinstance(part, str):
        raise ValueError("part must be a string")
    if part not in {"major", "minor", "patch"}:
        raise ValueError("part must be one of 'major', 'minor', 'patch'")

    components: Tuple[int, int, int] = tuple(int(c) for c in version.split("."))
    if len(components) != 3:
        raise ValueError("version must have exactly three dot-separated components")
    for c in components:
        if c < 0 or c > 99:
            raise ValueError("version components must be non-negative integers less than 100")
        if c == 0:
            continue
        if c > 0 and c < 10:
            raise ValueError("version components must not have leading zeros")
        if not c.isdigit():
            raise ValueError("version components must contain only digits")

    major, minor, patch = components
    if part == "major":
        return f"{major + 1}.0.0"
    elif part == "minor":
        return f"{major}.{minor + 1}.0"
    else:
        return f"{major}.{minor}.{patch + 1}"
```

**Edge-case verification:**
- `bump_release("1.2.3", "patch")` → `"1.2.4"` ✓
- `bump_release("1.2.3", "minor")` → `"1.3.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "major")` → `"2.0.0"` ✓
- `bump_release("1.2.3", "