Skip to content

v0.4.0

Latest

Choose a tag to compare

@ronaldvdmeer ronaldvdmeer released this 29 Mar 19:30
· 5 commits to main since this release
a91b21e

What's new

New endpoint

  • async_get_killmails() — fetch a character's recent killmails (requires esi-killmails.read_killmails.v1 scope)

Automatic pagination

  • async_get_wallet_journal(), async_get_contacts(), and async_get_killmails() now automatically fetch all pages and return a single combined list
  • No API changes required — callers always receive the complete dataset

TTL/Expires caching

  • The client now respects the ESI Expires header: if a cached response has not yet expired, the HTTP request is skipped entirely and the cached data is returned immediately
  • Combined with existing ETag/304 caching, this gives two layers of cache protection

Integration tests

  • Integration test suite expanded to 27 tests covering all major endpoints
  • New tests: test_corporation_public_live, test_killmails_live, test_etag_caching_round_trip_live, test_etag_cache_populated_after_request_live, test_expires_header_sets_ttl_in_cache_live

Documentation

  • Endpoint count corrected to 23
  • Authentication scope table completed (all scopes listed)
  • New pagination and request caching reference sections in docs/endpoints.md and docs/quickstart.md

Stats

  • 172 tests, 98.04% coverage
  • pylint 10.00/10, ruff clean, mypy clean