Skip to content

Latest commit

 

History

History
31 lines (27 loc) · 1.23 KB

File metadata and controls

31 lines (27 loc) · 1.23 KB

Changelog

[1.1.0] - 2026-06-08

Added

  • GitHub Actions CI pipeline (build + test on PRs to develop/main).
  • Per-endpoint rate limiting with Bucket4j (X-RateLimit-* headers, 429 responses).
  • Provider fallback chains: IP lookup (ip-api → ipinfo), reverse geocoding (Nominatim → BigDataCloud).
  • In-memory response caching with Caffeine, configurable TTL per endpoint.
  • Request validation for IP format, city name length, and coordinate ranges.

Changed

  • Internal provider error details hidden from API responses.
  • Timeout now configurable via application.yml (external.timeout-ms).

Fixed

  • Coordinates endpoint accepted invalid ranges (lat=999, lon=999).
  • City endpoint accepted empty or excessively long strings.

[1.0.0] - 2025-11-16

Added

  • Initial stable release of GeoLocateAPI.
  • IP → Location lookup.
  • Coordinates → Reverse geocoding.
  • City → Coordinates search.
  • Clean Architecture with domain/application/infrastructure/presentation layers.
  • Hexagonal adapters for provider integration.
  • Swagger/OpenAPI auto-generated documentation.
  • WireMock integration tests and MockMvc controller tests.
  • Global exception handling with structured error responses.
  • Architecture diagram (PlantUML + SVG).
  • MIT License.