Skip to content

Releases: ConductorOne/baton-github

v0.2.19

24 Apr 11:21

Choose a tag to compare

v0.2.18

15 Apr 18:48

Choose a tag to compare

What's Changed

  • Refactor to use StaticEntitlements for standard resource types by @btipling in #145

Full Changelog: v0.2.17...v0.2.18

v0.2.17

15 Apr 00:52
04c230d

Choose a tag to compare

Changes

  • Add --direct-collaborators-only config flag for large org sync optimization
    • Switches ListCollaborators from "all" to "direct" affiliation (~97% fewer API calls for large orgs)
    • Adds org→repo grant expansion for org base permission and admin access
    • Skips per-team GetTeamByID calls when enabled (N+1 elimination)
    • All optimizations are opt-in, default behavior unchanged

v0.2.16

12 Apr 14:40

Choose a tag to compare

What's Changed

  • OPS-440: Fix N+1 GetTeamByID per team in List() by @arreyder in #130
  • Revert "OPS-440: Fix N+1 GetTeamByID per team in List()" by @btipling in #142

New Contributors

Full Changelog: v0.2.15...v0.2.16

v0.2.15-test-conn

10 Apr 18:58

Choose a tag to compare

v0.2.15

09 Apr 04:08
58fc63c

Choose a tag to compare

Changelog

  • 58fc63c fix: gracefully skip enterprise features when using GitHub App auth (#141)

v0.2.14

08 Apr 17:44
c8b04dd

Choose a tag to compare

Changelog

  • c8b04dd fix: use session-based check for enterprise SAML fetch to survive warm restarts (#140)
  • b513a57 Update README.md with new flags and options (#110)

v0.2.13

07 Apr 20:36

Choose a tag to compare

What's Changed

  • Fix: Remove enterpriseLicensesAvailable gate from ResourceSyncers() — the SDK calls it before Validate(), so the gate was always false and enterprises were never passed to builders

Full Changelog: v0.2.12...v0.2.13

v0.2.12

07 Apr 16:14
fed1b4a

Choose a tag to compare

What's Changed

Enterprise SAML Fallback & Graceful Degradation

  • SAML state machine: Replace mutable *bool with per-org samlState enum (samlStateOrgEnabled, samlStateEnterprise, samlStateDisabled) for cleaner SAML detection across mixed enterprise/org configurations
  • Graceful degradation: When enterprise consumed-licenses API is inaccessible (e.g., GitHub App auth), log at Debug level and skip enterprise SAML enrichment + enterprise role sync instead of failing the entire sync
  • Batched session store: Use SetManyJSON/GetManyJSON for enterprise SAML mappings instead of per-user session calls
  • Pagination fix: Start consumed-licenses API at page 1 (not 0) to avoid duplicate data
  • Fix incorrect error wrapping: Remove blanket PermissionDenied wrapping in enterprise_role.go that masked the real error type for timeouts, rate limits, and context cancellations
  • Dead code cleanup: Remove unused orgSAMLEnabled field, hasSamlEnabled parameter, and old fallback methods

Full Changelog: v0.2.11...v0.2.12

v0.2.11

25 Mar 10:31
7918622

Choose a tag to compare

What's Changed

  • [CXP-372] Add diagnostic logging for GitHub API errors

When a sync fails with "Resource not accessible by integration", logs now identify the exact API endpoint, HTTP status, and GitHub error details. Changes include:

  • gitHubErrorMessage() helper to extract method, URL, and sub-errors from GitHub API responses
  • Enriched auth/permission error messages in wrapGitHubError()
  • Structured warn logging on graceful-skip paths (403 handling)
  • Warn logging for enterprise consumed licenses API, GraphQL SAML queries, and GitHub App installation token paths