Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
179669a
doc: Add security warning to NewClient
google-labs-jules[bot] Jan 11, 2026
7409d8e
Merge pull request #1 from merchantmoh-debug/bolt-sentinel-client-imp…
merchantmoh-debug Jan 11, 2026
0e9371b
perf: Optimize Stringify for strings and add NewClient warning
google-labs-jules[bot] Jan 12, 2026
d555072
Merge pull request #2 from merchantmoh-debug/bolt-sentinel-client-imp…
merchantmoh-debug Jan 12, 2026
40cff67
perf: Optimize Stringify with sync.Pool and strconv
google-labs-jules[bot] Jan 12, 2026
73595b0
Merge pull request #3 from merchantmoh-debug/bolt-sentinel-client-imp…
merchantmoh-debug Jan 13, 2026
b7c8b07
Merge branch 'master' into master
merchantmoh-debug Jan 13, 2026
db3eeab
perf: Optimize Stringify allocations (~2x faster) and document NewCli…
google-labs-jules[bot] Jan 13, 2026
0bbd06c
perf: Optimize Stringify with sync.Pool and strconv
google-labs-jules[bot] Jan 13, 2026
7d04b79
Merge pull request #4 from merchantmoh-debug/bolt-sentinel-client-imp…
merchantmoh-debug Jan 13, 2026
32c23fd
perf: Optimize Stringify with sync.Pool and strconv
google-labs-jules[bot] Jan 13, 2026
6412c34
Merge pull request #5 from merchantmoh-debug/bolt-sentinel-client-imp…
merchantmoh-debug Jan 13, 2026
40745a1
perf: Optimize Stringify allocations (~2x faster) and document NewCli…
google-labs-jules[bot] Jan 13, 2026
5188281
Merge branch 'master' into bolt-sentinel-client-improvement-109997907…
merchantmoh-debug Jan 13, 2026
2aa01e8
Merge pull request #6 from merchantmoh-debug/bolt-sentinel-client-imp…
merchantmoh-debug Jan 13, 2026
c2ad584
perf: Optimize Stringify allocations (~2x faster) and document NewCli…
google-labs-jules[bot] Jan 13, 2026
2b59c71
perf: Optimize Stringify with sync.Pool and strconv
google-labs-jules[bot] Jan 13, 2026
83b688b
Merge branch 'master' into bolt-sentinel-client-improvement-109997907…
merchantmoh-debug Jan 13, 2026
edb05e9
Merge pull request #7 from merchantmoh-debug/bolt-sentinel-client-imp…
merchantmoh-debug Jan 13, 2026
fdc6608
Merge branch 'master' into master
merchantmoh-debug Jan 14, 2026
99b5282
perf: Optimize Stringify allocations (~2x faster) and document NewCli…
google-labs-jules[bot] Jan 14, 2026
7fd5e97
Merge branch 'master' into bolt-sentinel-client-improvement-109997907…
merchantmoh-debug Jan 14, 2026
dc3fb8c
Merge pull request #8 from merchantmoh-debug/bolt-sentinel-client-imp…
merchantmoh-debug Jan 14, 2026
54ddc93
perf: Optimize Stringify allocations (~2x faster) and document NewCli…
google-labs-jules[bot] Jan 14, 2026
069fb9d
Merge branch 'master' into bolt-sentinel-client-improvement-109997907…
merchantmoh-debug Jan 14, 2026
dff2b91
Merge pull request #9 from merchantmoh-debug/bolt-sentinel-client-imp…
merchantmoh-debug Jan 14, 2026
ea23ae6
Merge branch 'master' into master
merchantmoh-debug Jan 15, 2026
a25ab37
Revert "perf: Optimize Stringify with recursion safety and tests"
google-labs-jules[bot] Jan 15, 2026
99d3d92
Merge pull request #10 from merchantmoh-debug/bolt-sentinel-client-im…
merchantmoh-debug Jan 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ vendor/
# golangci-lint -v custom generates the following local file:
custom-gcl
custom-gcl.exe
gen-iterators
12 changes: 6 additions & 6 deletions example/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ require (
github.com/gofri/go-github-ratelimit/v2 v2.0.2
github.com/google/go-github/v81 v81.0.0
github.com/sigstore/sigstore-go v0.6.1
golang.org/x/crypto v0.47.0
golang.org/x/term v0.39.0
golang.org/x/crypto v0.46.0
golang.org/x/term v0.38.0
google.golang.org/appengine v1.6.8
)

Expand Down Expand Up @@ -87,11 +87,11 @@ require (
go.uber.org/multierr v1.11.0 // indirect
go.uber.org/zap v1.27.0 // indirect
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 // indirect
golang.org/x/mod v0.31.0 // indirect
golang.org/x/net v0.48.0 // indirect
golang.org/x/mod v0.30.0 // indirect
golang.org/x/net v0.47.0 // indirect
golang.org/x/sync v0.19.0 // indirect
golang.org/x/sys v0.40.0 // indirect
golang.org/x/text v0.33.0 // indirect
golang.org/x/sys v0.39.0 // indirect
golang.org/x/text v0.32.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240520151616-dc85e6b867a5 // indirect
google.golang.org/protobuf v1.34.2 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
Expand Down
24 changes: 12 additions & 12 deletions example/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -355,18 +355,18 @@ go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.47.0 h1:V6e3FRj+n4dbpw86FJ8Fv7XVOql7TEwpHapKoMJ/GO8=
golang.org/x/crypto v0.47.0/go.mod h1:ff3Y9VzzKbwSSEzWqJsJVBnWmRwRSHt/6Op5n9bQc4A=
golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU=
golang.org/x/crypto v0.46.0/go.mod h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0=
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3 h1:hNQpMuAJe5CtcUqCXaWga3FHu+kQvCqcsoVaQgSV60o=
golang.org/x/exp v0.0.0-20240112132812-db7319d0e0e3/go.mod h1:idGWGoKP1toJGkd5/ig9ZLuPcZBC3ewk7SzmH0uou08=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.31.0 h1:HaW9xtz0+kOcWKwli0ZXy79Ix+UW/vOfmWI5QVd2tgI=
golang.org/x/mod v0.31.0/go.mod h1:43JraMp9cGx1Rx3AqioxrbrhNsLl2l/iNAvuBkrezpg=
golang.org/x/mod v0.30.0 h1:fDEXFVZ/fmCKProc/yAXXUijritrDzahmwwefnjoPFk=
golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU=
golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY=
golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY=
golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU=
golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE=
golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
Expand All @@ -378,18 +378,18 @@ golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ=
golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk=
golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.39.0 h1:RclSuaJf32jOqZz74CkPA9qFuVTX7vhLlpfj/IGWlqY=
golang.org/x/term v0.39.0/go.mod h1:yxzUCTP/U+FzoxfdKmLaA0RV1WgE0VY7hXBwKtY/4ww=
golang.org/x/term v0.38.0 h1:PQ5pkm/rLO6HnxFR7N2lJHOZX6Kez5Y1gDSJla6jo7Q=
golang.org/x/term v0.38.0/go.mod h1:bSEAKrOT1W+VSu9TSCMtoGEOUcKxOKgl3LE5QEF/xVg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.33.0 h1:B3njUFyqtHDUI5jMn1YIr5B0IE2U0qck04r6d4KPAxE=
golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8=
golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU=
golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY=
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
Expand Down
8 changes: 4 additions & 4 deletions github/enterprise_properties_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ func TestEnterpriseService_GetAllCustomProperties(t *testing.T) {
PropertyName: Ptr("name"),
ValueType: PropertyValueTypeSingleSelect,
Required: Ptr(true),
DefaultValue: "production",
DefaultValue: Ptr("production"),
Description: Ptr("Prod or dev environment"),
AllowedValues: []string{"production", "development"},
ValuesEditableBy: Ptr("org_actors"),
Expand Down Expand Up @@ -178,7 +178,7 @@ func TestEnterpriseService_GetCustomProperty(t *testing.T) {
PropertyName: Ptr("name"),
ValueType: PropertyValueTypeSingleSelect,
Required: Ptr(true),
DefaultValue: "production",
DefaultValue: Ptr("production"),
Description: Ptr("Prod or dev environment"),
AllowedValues: []string{"production", "development"},
ValuesEditableBy: Ptr("org_actors"),
Expand Down Expand Up @@ -222,7 +222,7 @@ func TestEnterpriseService_CreateOrUpdateCustomProperty(t *testing.T) {
property, _, err := client.Enterprise.CreateOrUpdateCustomProperty(ctx, "e", "name", &CustomProperty{
ValueType: PropertyValueTypeSingleSelect,
Required: Ptr(true),
DefaultValue: "production",
DefaultValue: Ptr("production"),
Description: Ptr("Prod or dev environment"),
AllowedValues: []string{"production", "development"},
ValuesEditableBy: Ptr("org_actors"),
Expand All @@ -235,7 +235,7 @@ func TestEnterpriseService_CreateOrUpdateCustomProperty(t *testing.T) {
PropertyName: Ptr("name"),
ValueType: PropertyValueTypeSingleSelect,
Required: Ptr(true),
DefaultValue: "production",
DefaultValue: Ptr("production"),
Description: Ptr("Prod or dev environment"),
AllowedValues: []string{"production", "development"},
ValuesEditableBy: Ptr("org_actors"),
Expand Down
2 changes: 1 addition & 1 deletion github/event_types_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13732,7 +13732,7 @@ func TestCustomPropertyEvent_Marshal(t *testing.T) {
ValueType: PropertyValueTypeSingleSelect,
SourceType: Ptr("enterprise"),
Required: Ptr(true),
DefaultValue: "production",
DefaultValue: Ptr("production"),
Description: Ptr("Prod or dev environment"),
AllowedValues: []string{"production", "development"},
ValuesEditableBy: Ptr("org_actors"),
Expand Down
29 changes: 29 additions & 0 deletions github/example_iterators_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
// Copyright 2025 The go-github AUTHORS. All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package github_test

import (
"context"
"fmt"
"log"

"github.com/google/go-github/v81/github"
)

func ExampleRepositoriesService_ListByUserIter() {
client := github.NewClient(nil)
ctx := context.Background()

// List all repositories for a user using the iterator.
// This automatically handles pagination.
opts := &github.RepositoryListByUserOptions{Type: "public"}
for repo, err := range client.Repositories.ListByUserIter(ctx, "octocat", opts) {
if err != nil {
log.Fatalf("Error listing repos: %v", err)
}
fmt.Println(repo.GetName())
}
}
Loading
Loading