Skip to content

Dev - #7

Merged
rafaga merged 3 commits into
masterfrom
dev
Oct 8, 2026
Merged

Dev#7
rafaga merged 3 commits into
masterfrom
dev

Conversation

@rafaga

@rafaga rafaga commented Oct 8, 2026

Copy link
Copy Markdown
Owner

What

Implements the remaining operations of the ESI OpenAPI spec (233 of 233) and adds opt-in client features. Version 0.2.0, not published yet, so breaking changes are included.

Endpoints

  • New groups: Access List, Activities, Structures, Corporation Projects; extended industry, killmails, market, wallet, cosmetics, faction warfare, freelance jobs, military campaigns, Paragon Hub and user interface.
  • Breaking: the cursor page types are now a generic Page<T>; KillmailPosition and AssetLocationPosition are Position, CorporationStanding is Standing, CorporationBlueprint is Blueprint.
  • Language and tenant request settings; EsiError::Gone for operations with x-tombstone-ttl.

Client

  • Pagination helpers (query_with_pages, fetch_all_pages, fetch_all_cursor) and post_chunked for bulk POST endpoints.
  • Opt-in response cache (ETag/Last-Modified, LRU eviction, entry and byte limits).
  • Opt-in proactive rate-limit policy (Off, Wait, Fail).
  • Spec indexed once for lookups; ensure_spec_fresh; compressed responses.

Tests

  • Conformance test against the OpenAPI fixture, cache and throttle tests against a local server, live checks for the new endpoints (67/67 passing against ESI), and a weekly spec drift workflow cargo fmt --check, cargo clippy --all-targets and cargo test pass.

rafaga and others added 3 commits October 2, 2026 11:04
Bring dev up to date with master
Endpoints
- Implement the remaining operations of the ESI OpenAPI spec (233 of 233),
  including the Access List, Activities, Structures and Corporation Projects
  groups, and extend industry, killmails, market, wallet, cosmetics, faction
  warfare, freelance jobs, military campaigns, Paragon Hub and user interface.
- Replace the near-duplicate page types with a generic `Page<T>`, and merge
  `KillmailPosition`/`AssetLocationPosition` into `Position`,
  `CorporationStanding` into `Standing` and `CorporationBlueprint` into
  `Blueprint`.
- Add `Language` and `tenant` request settings, and `EsiError::Gone` for the
  operations that declare `x-tombstone-ttl`.

Client
- Add pagination helpers (`query_with_pages`, `fetch_all_pages`,
  `fetch_all_cursor`) and `post_chunked` for bulk POST endpoints.
- Add an opt-in response cache with ETag/Last-Modified revalidation, an LRU
  eviction order, and entry and byte limits.
- Add an opt-in proactive rate-limit policy (`Off`, `Wait`, `Fail`).
- Index the spec once for path and operation lookups, and add
  `ensure_spec_fresh`.
- Request compressed responses.

Tests and tooling
- Add a conformance test against the OpenAPI fixture, cache and throttle tests
  against a local server, and live checks for the new endpoints.
- Add a weekly spec drift workflow.
- Bump the version to 0.2.0 and update the changelog and README.
Cover all 233 ESI operations and add opt-in client optimizations
@rafaga
rafaga merged commit 5c7b1e6 into master Oct 8, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant