Skip to content

Enforce exact dependency versions in backend/requirements.txt to ensure consistent deployments #8

@chigwell

Description

@chigwell

User Story
As a software developer,
I want to pin exact dependency versions in backend/requirements.txt using == syntax
so that deployments remain consistent and avoid unexpected breaking changes from dependency updates.

Background
The current backend/requirements.txt uses loose versioning (e.g., fastapi==0.75.0 is pinned, but future additions might omit this). This risks pulling incompatible dependency versions during rebuilds or new deployments, especially when Docker images are recreated. For example, the docker-compose.yml rebuilds the backend service using requirements.txt, and unpinned dependencies could introduce silent failures in app/main.py or runtime errors in the FastAPI server. This technical debt directly impacts deployment reliability.

Acceptance Criteria

  • Modify backend/requirements.txt to enforce exact versioning for all dependencies using ==.
  • Verify no dependencies in requirements.txt use unpinned or range-based specifiers (e.g., >=, ~=).
  • Test by rebuilding the backend Docker container (docker-compose down -v && docker-compose up --build backend) and confirming the application starts without errors.
  • Document the version-pinning policy in README.md under a "Dependency Management" section to prevent regression.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions