You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update docs for v1.4.0: PAT support and performance
Added changelog and README updates for v1.4.0, highlighting new personal access token support, advanced token caching, high-performance HTTP client, and significant performance optimizations. Documentation now reflects new features and improvements for production readiness and efficiency.
@@ -122,14 +150,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
122
150
123
151
## About This Project
124
152
125
-
`go-githubauth` is a Go package that provides utilities for GitHub authentication, including generating and using GitHub App tokensand installation tokens. It implements the `TokenSource` interface from the `golang.org/x/oauth2` package for seamless integration with existing OAuth2 workflows.
153
+
`go-githubauth` is a Go package that provides utilities for GitHub authentication, including generating and using GitHub App tokens, installation tokens, and personal access tokens. It implements the `TokenSource` interface from the `golang.org/x/oauth2` package for seamless integration with existing OAuth2 workflows.
126
154
127
155
### Key Features
128
156
129
157
- Generate GitHub Application JWT tokens
130
-
- Obtain GitHub App installation tokens
158
+
- Obtain GitHub App installation tokens
159
+
- Personal Access Token support (classic and fine-grained)
160
+
- Advanced token caching with automatic refresh
161
+
- High-performance HTTP clients with connection pooling
131
162
- RS256-signed JWTs with proper clock drift protection
132
163
- Full OAuth2 compatibility
133
164
- GitHub Enterprise Server support
165
+
- Production-ready performance optimizations
134
166
135
167
For more information, see the [README](README.md).
Copy file name to clipboardExpand all lines: README.md
+14-2Lines changed: 14 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@
7
7
8
8
`go-githubauth` is a Go package that provides utilities for GitHub authentication, including generating and using GitHub App tokens, installation tokens, and personal access tokens.
9
9
10
-
**v1.3.0** introduces Go generics support for unified authentication with both numeric App IDs and alphanumeric Client IDs in a single, type-safe API.
10
+
**v1.4.0** introduces personal access token support and significant performance optimizations with intelligent token caching and high-performance HTTP clients.
11
11
12
12
---
13
13
@@ -25,7 +25,17 @@
25
25
26
26
`go-githubauth` package provides implementations of the `TokenSource` interface from the `golang.org/x/oauth2` package. This interface has a single method, Token, which returns an *oauth2.Token.
27
27
28
-
### v1.3.0 Features
28
+
### v1.4.0 Features
29
+
30
+
-**🔐 Personal Access Token Support**: Native support for both classic and fine-grained personal access tokens
31
+
-**⚡ Advanced Token Caching**: Dual-layer caching system for optimal performance
32
+
- JWT tokens cached until expiration (up to 10 minutes)
33
+
- Installation tokens cached until expiration (defined by GitHub response)
34
+
-**🚀 High-Performance HTTP Client**: Production-ready HTTP client with connection pooling
35
+
-**📈 Performance Optimizations**: Up to 99% reduction in unnecessary GitHub API calls
36
+
-**🏗️ Production Ready**: Optimized for high-throughput and enterprise applications
37
+
38
+
### Previous Features
29
39
30
40
-**🔥 Go Generics Support**: Single `NewApplicationTokenSource` function supports both `int64` App IDs and `string` Client IDs
31
41
-**🛡️ Type Safety**: Compile-time verification of identifier types through generic constraints
@@ -39,6 +49,8 @@
39
49
- Authenticate with Personal Access Tokens (classic and fine-grained) [Managing your personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens)
40
50
- RS256-signed JWTs with proper clock drift protection
41
51
- Support for both legacy App IDs and modern Client IDs (recommended by GitHub)
52
+
- Intelligent token caching with automatic refresh for optimal performance
53
+
- Clean HTTP clients with connection pooling and no shared state
0 commit comments