Skip to content

v2.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 29 Apr 20:09
· 3 commits to main since this release

Highlights

This release modernizes the project after a long maintenance gap and moves the API to a current Python/FastAPI/Docker workflow.

Added

  • Added typed FastAPI response models for repositories, developers, health, and metadata.
  • Added /health endpoint for application and Docker health checks.
  • Added /metadata endpoint with API version, route links, cache TTL, and supported parameter metadata.
  • Added short in-memory caching for upstream GitHub Trending HTML responses.
  • Added mocked endpoint tests for repository and developer routes.
  • Added Docker healthcheck and non-root container runtime user.
  • Added Docker Hub release publishing documentation.

Changed

  • Upgraded the project to Python 3.13.
  • Modernized runtime and development dependencies.
  • Moved project metadata and tool configuration to pyproject.toml.
  • Replaced requirements-based development workflow with uv and uv.lock.
  • Replaced the lint/import hook stack with Ruff.
  • Modernized GitHub Actions for Python 3.13, pre-commit, tests, coverage, Docker builds, Docker Hub publishing, and GitHub releases.
  • Hardened GitHub Trending request handling with timeout, status checks, User-Agent, and controlled 502 errors.
  • Updated scraper article extraction to use BeautifulSoup selectors instead of string slicing.
  • Refactored duplicated route fetch/parse logic.
  • Refreshed README documentation for the current local, Docker, and release workflows.
  • Standardized project naming to GitHub Trending API.

Fixed

  • Fixed root route URL generation behind FastAPI TestClient and configurable base URLs.
  • Fixed language enum URL rendering for language-specific repository and developer routes.
  • Fixed scraper compatibility with updated GitHub Trending markup.

Removed

  • Removed Heroku deployment configuration.
  • Removed legacy requirements files.
  • Removed obsolete lint hooks that were replaced by Ruff.

Docker

The release workflow publishes:

  • niklastiede/github-trending-api:latest
  • niklastiede/github-trending-api:v2.0.0

Full Changelog

v1.0.2...v2.0.0