|
2 | 2 |
|
3 | 3 | ## [Unreleased] |
4 | 4 |
|
5 | | -### Added |
6 | | -- GitHub App authentication (JWT generation, installation tokens, manifest flow) |
7 | | -- OAuth delegated authentication (Authorization Code + PKCE, device code fallback) |
8 | | -- Scope-aware credential resolution chain (8 sources, rate limit + scope fallback) |
9 | | -- `ScopeRegistry` for caching credential-to-owner/repo authorization status |
10 | | -- `CredentialFallback` Faraday middleware (transparent 403/429 retry with next credential) |
11 | | -- `RateLimit` Faraday middleware with automatic credential exhaustion tracking |
12 | | -- `ScopeProbe` Faraday middleware for passive scope learning from API responses |
13 | | -- `Helpers::Cache` for two-tier API response caching (global Redis + local in-memory) |
14 | | -- `Helpers::TokenCache` for token lifecycle management with per-installation keying |
15 | | -- `App::Runners::Auth` (JWT generation, installation token exchange) |
16 | | -- `App::Runners::Webhooks` (signature verification, event parsing, scope invalidation) |
17 | | -- `App::Runners::Manifest` (GitHub App manifest flow) |
18 | | -- `App::Runners::Installations` (list, get, suspend, unsuspend, delete) |
19 | | -- `App::Runners::CredentialStore` (Vault persistence after manifest flow) |
20 | | -- `OAuth::Runners::Auth` (authorize_url, exchange_code, refresh, device_code, revoke) |
21 | | -- `Runners::Actions` (GitHub Actions workflow management) |
22 | | -- `Runners::Checks` (check runs and check suites) |
23 | | -- `Runners::Releases` (release and asset management) |
24 | | -- `Runners::Deployments` (deployment and status management) |
25 | | -- `Runners::RepositoryWebhooks` (programmatic webhook management) |
26 | | -- `Helpers::CallbackServer` for standalone OAuth redirect handling |
27 | | -- `Helpers::BrowserAuth` for browser-based OAuth with PKCE |
28 | | -- `CLI::Auth` for `legion lex exec github auth login/status` |
29 | | -- `CLI::App` for `legion lex exec github app setup` |
30 | | -- `RateLimitError`, `AuthorizationError`, `ScopeDeniedError` error classes |
31 | | -- `jwt` (~> 2.7) and `base64` (>= 0.1) runtime dependencies |
| 5 | +## [0.3.1] - 2026-03-30 |
32 | 6 |
|
33 | 7 | ### Changed |
34 | | -- `Helpers::Client` now uses scope-aware credential resolution (`owner:`, `repo:` context) |
35 | | -- All existing runners forward `owner:` and `repo:` to `connection()` for scope-aware resolution |
36 | | -- All existing runners now include `Helpers::Cache` for two-tier API response caching |
37 | | -- `Client` class includes App and OAuth runner modules |
38 | | -- Version bump to 0.3.0 |
| 8 | +- Unpin jwt dependency from `~> 2.7` to `>= 2.7` to resolve conflict with jwt 3.x |
39 | 9 |
|
40 | 10 | ## [0.3.0] - 2026-03-30 |
41 | 11 |
|
|
0 commit comments