github

Change log

This page always mirrors the latest release. Every version also has its own permanent page linked in the version list.

v0.1.0

Latest

Adds release and rate-limit reads, full tag pagination, a configurable timeout, and typed error handling to the github module.

Added New API

  • getAllTags() — returns every tag as a CompletableFuture<List<GitHubTag>>, following the Link header across pages.
  • getLatestRelease() with the read-only GitHubRelease interface (getName(), getTagName(), getBody()).
  • getRateLimit() with the read-only GitHubRateLimit interface (getLimit(), getRemaining(), getReset()).
  • Optional Duration constructor argument to configure the HTTP timeout (default 30 seconds).

Changed API refinements

  • Renamed CompareVersion(String) to compareVersion(String) to follow Java naming conventions.
  • Tag reads now follow pagination, so getLatestTag(), getTag(String), and compareVersion(String) search the full tag set rather than only the first 100.
  • Non-success responses other than 404 now throw GitHubApiException, which exposes the HTTP status code and response body, replacing the generic IllegalStateException.

Notes Build & constraints

  • Java 21 toolchain, built with Gradle (Groovy DSL).
  • Still no third-party dependencies; only the Java Platform.
  • Migration: update calls from CompareVersion to compareVersion.

Permanent link to v0.1.0 →