Skip to content

fix: bump version strings to 0.9.0#207

Merged
abbudjoe merged 1 commit intomainfrom
fix/version-strings
Feb 10, 2026
Merged

fix: bump version strings to 0.9.0#207
abbudjoe merged 1 commit intomainfrom
fix/version-strings

Conversation

@abbudjoe
Copy link
Copy Markdown
Owner

Problem

Two version strings were stale:

  1. src/tribalmemory/__init__.py had __version__ = "0.7.1" instead of "0.9.0"
  2. src/tribalmemory/server/app.py had version="0.1.0" hardcoded in the FastAPI app and root endpoint

Solution

  • Updated __version__ to 0.9.0 in __init__.py
  • Modified app.py to import and use __version__ from the package instead of hardcoding
  • Added comprehensive test suite in tests/test_version.py to:
    • Validate semver format
    • Check against known stale versions
    • Verify FastAPI app uses package version
    • Verify root endpoint returns correct version

Testing

All new version tests pass:

tests/test_version.py::test_version_format PASSED
tests/test_version.py::test_version_not_stale PASSED
tests/test_version.py::test_server_uses_package_version PASSED
tests/test_version.py::test_root_endpoint_version PASSED

Server and service tests also pass (53 tests).

- Update __version__ in src/tribalmemory/__init__.py from 0.7.1 to 0.9.0
- Import and use __version__ in FastAPI app instead of hardcoded "0.1.0"
- Add comprehensive version validation tests
@abbudjoe
Copy link
Copy Markdown
Owner Author

@claude review this PR

@claude
Copy link
Copy Markdown

claude bot commented Feb 10, 2026

Claude finished @abbudjoe's task in 42s —— View job


Code Review Complete ✓

  • Read changed files
  • Review version bump implementation
  • Review test suite
  • Provide comprehensive feedback

Summary

This PR successfully updates version strings from stale values (0.7.1 and 0.1.0) to 0.9.0 and adds comprehensive test coverage. The implementation is clean and follows best practices by:

  1. ✅ Using a single source of truth (__version__ in __init__.py)
  2. ✅ Importing and reusing this version string throughout the codebase
  3. ✅ Adding regression tests to prevent future staleness

Review Feedback

✅ Strengths

  1. Single source of truth: The PR correctly establishes __version__ in __init__.py as the canonical version reference
  2. DRY principle: Both app.py locations (FastAPI app config and root endpoint) now import and use __version__ instead of hardcoding
  3. Comprehensive test coverage: The new test suite covers:
    • Semver format validation
    • Known stale version detection
    • FastAPI app version consistency
    • Root endpoint version consistency
  4. Good test quality: Tests are well-structured, include clear docstrings, and have helpful assertion messages

🔍 Observations

  1. Import location (src/tribalmemory/server/app.py:14): The import from tribalmemory import __version__ is placed correctly at the top-level imports section, separated from relative imports. This is clean and follows standard Python conventions.

  2. Test coverage is comprehensive: The test suite validates the version string from multiple angles:

    • Format validation (semver pattern)
    • Staleness check against known old versions
    • Runtime verification of FastAPI app configuration
    • Integration test of the actual HTTP endpoint
  3. Async test usage: The root endpoint test properly uses pytest.mark.asyncio and httpx.AsyncClient with ASGITransport to test the FastAPI app without starting a real server. This is the correct approach.

✨ Suggestions

None - the implementation is solid and complete. The PR achieves its stated goals cleanly and adds appropriate test coverage to prevent regression.

Verdict

LGTM - This PR is ready to merge. The version string updates are correct, the implementation follows Python best practices, and the test suite provides strong regression protection.


@abbudjoe
Copy link
Copy Markdown
Owner Author

@abbudjoe ready for merge

@abbudjoe abbudjoe merged commit b19b2bb into main Feb 10, 2026
2 checks passed
@abbudjoe abbudjoe deleted the fix/version-strings branch February 10, 2026 21:27
abbudjoe added a commit that referenced this pull request Feb 10, 2026
PR #207 missed the HealthResponse model default in models.py.
Now all three version references use __version__ from __init__.py.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant