New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add crypto.Signer option to CommitOptions. #996
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What would the verification counterpart of this look like? As we also do have a built-in functionality for this, which would need to be updated at some point.
(I very much like this approach by the way, just looking at the full picture). |
+1 on the approach. We just need to also agree on the API for the verification so that the user experience from an API perspective is coherent. |
Verification ends up being a different beast, mostly because what you want to get out of verification differs wildly based on the type of signing that was done. The main thing I want to focus on is making sure that signers and verifiers don't need to be aware of how commit marshaling needs to be done - ideally they should only need to work on []bytes and whatever impl specific parameters they need to operate. There is no standard lib verify interface, so we have to define our own. If you only care about whether a signature is valid, then a simple interface like this would be sufficient: type SignatureVerifier interface {
Verify(message, signature []byte, opts ...VerifyOption) error
} (This is similar to Sigstore's Verifier interface) But often callers want to inspect data about the signer after it's been verified. Today for GPG signing, we return the Entity, for x509 you probably want the Certificate, for gitsign you probably want the Certificate + Rekor entry. I don't think there's an easy way to try and abstract these return types away unless you use generics or any: type SignatureVerifier[T any] interface {
Verify(message, body []byte, opts ...VerifyOption) (T, error)
} And if you're trying to verify multiple signature types at once (which notably git itself doesn't really support well), I think you're mostly stuck with any + type assertion anyway. I'm also okay with something like Entity proposed in #705 as well, but we'd have to be careful about what fields we try to generalize across signing types, and most applications would likely end up falling back to type assertion anyway. 🤷 From there, I think we can follow what #705 does with ObjectVerifier - same as before, we can either return a generic or Entity. The only difference is I think ObjectVerifier should be a struct to encapsulate the commit marshaling: // ObjectVerifier is capable of verifying the signature of a VerifiableObject.
type ObjectVerifier struct {
verifier SignatureVerifier
}
func (v *ObjectVerifier) Verify(o VerifiableObject) (Entity, error) {
// Extract signature.
signature := []byte{t.PGPSignature}
encoded := &plumbing.MemoryObject{}
// Encode tag components, excluding signature and get a reader object.
if err := t.EncodeWithoutSignature(encoded); err != nil {
return nil, err
}
er, err := encoded.Reader()
if err != nil {
return nil, err
}
b, err := io.ReadAll(er)
if err != nil {
return nil, err
}
return v.verifier(b, signature)
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks @wlynch 🙇
This change adds a new crypto.Signer option to CommitOptions as an alternative to SignKey to allow alternative commit signers to be used. This change byitself does not add other signing methods (e.g. ssh, x509, gitsign), but gives callers the ability to add their own. This roughly follows git's sign_buffer approach where go-git handles the commit message body encoding, and hands off the encoded []byte to the signing implementation for the signature to be returned. Signed-off-by: Billy Lynch <billy@chainguard.dev>
Updated commit message to match the expected format! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@wlynch thanks for working on this. 🙇
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/go-git/go-git/v5](https://togithub.com/go-git/go-git) | `v5.11.0` -> `v5.12.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-git%2fgo-git%2fv5/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-git%2fgo-git%2fv5/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-git%2fgo-git%2fv5/v5.11.0/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-git%2fgo-git%2fv5/v5.11.0/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>go-git/go-git (github.com/go-git/go-git/v5)</summary> ### [`v5.12.0`](https://togithub.com/go-git/go-git/releases/tag/v5.12.0) [Compare Source](https://togithub.com/go-git/go-git/compare/v5.11.0...v5.12.0) #### What's Changed - git: Worktree.AddWithOptions: add skipStatus option when providing a specific path by [@​moranCohen26](https://togithub.com/moranCohen26) in [go-git/go-git#994 - git: Signer: fix usage of crypto.Signer interface by [@​wlynch](https://togithub.com/wlynch) in [go-git/go-git#1029 - git: Remote, fetch, adds the prune option. by [@​juliens](https://togithub.com/juliens) in [go-git/go-git#366 - git: Add crypto.Signer option to CommitOptions. by [@​wlynch](https://togithub.com/wlynch) in [go-git/go-git#996 - git: Worktree checkout tag hash id ([#​959](https://togithub.com/go-git/go-git/issues/959)) by [@​aymanbagabas](https://togithub.com/aymanbagabas) in [go-git/go-git#966 - git: Worktree, Don't panic on empty or root path when checking if it is valid by [@​tim775](https://togithub.com/tim775) in [go-git/go-git#1042 - git: Add commit validation for Reset by [@​pjbgf](https://togithub.com/pjbgf) in [go-git/go-git#1048 - git: worktree_commit, Fix amend commit to apply changes. Fixes [#​1024](https://togithub.com/go-git/go-git/issues/1024) by [@​onee-only](https://togithub.com/onee-only) in [go-git/go-git#1045 - git: Implement Merge function with initial `FastForwardMerge` support by [@​pjbgf](https://togithub.com/pjbgf) in [go-git/go-git#1044 - plumbing: object, Make first commit visible on logs filtered with filename. Fixes [#​191](https://togithub.com/go-git/go-git/issues/191) by [@​onee-only](https://togithub.com/onee-only) in [go-git/go-git#1036 - plumbing: no panic in printStats function. Fixes [#​177](https://togithub.com/go-git/go-git/issues/177) by [@​nodivbyzero](https://togithub.com/nodivbyzero) in [go-git/go-git#971 - plumbing: object, Optimize logging with file. by [@​onee-only](https://togithub.com/onee-only) in [go-git/go-git#1046 - plumbing: object, check legitimacy in (\*Tree).Encode by [@​niukuo](https://togithub.com/niukuo) in [go-git/go-git#967 - plumbing: format/gitattributes, close file in ReadAttributesFile by [@​prskr](https://togithub.com/prskr) in [go-git/go-git#1018 - plumbing: check setAuth error. Fixes [#​185](https://togithub.com/go-git/go-git/issues/185) by [@​nodivbyzero](https://togithub.com/nodivbyzero) in [go-git/go-git#969 - plumbing: object, fix variable defaultUtf8CommitMessageEncoding name spell error by [@​Jerry-yz](https://togithub.com/Jerry-yz) in [go-git/go-git#987 - utils: merkletrie, calculate filesystem node's hash lazily. by [@​candid82](https://togithub.com/candid82) in [go-git/go-git#825 - utils: update comment in node.go's Hash() by [@​codablock](https://togithub.com/codablock) in [go-git/go-git#992 - \_example: fix 404 link and added ssh-agent clone link by [@​grinish21](https://togithub.com/grinish21) in [go-git/go-git#1022 - \_example: checkout-branch example by [@​dlambda](https://togithub.com/dlambda) in [go-git/go-git#446 - \_example: example for git clone using ssh-agent by [@​pjbgf](https://togithub.com/pjbgf) in [go-git/go-git#998 #### New Contributors - [@​candid82](https://togithub.com/candid82) made their first contribution in [go-git/go-git#825 - [@​codablock](https://togithub.com/codablock) made their first contribution in [go-git/go-git#992 - [@​Jerry-yz](https://togithub.com/Jerry-yz) made their first contribution in [go-git/go-git#987 - [@​wlynch](https://togithub.com/wlynch) made their first contribution in [go-git/go-git#996 - [@​moranCohen26](https://togithub.com/moranCohen26) made their first contribution in [go-git/go-git#994 - [@​grinish21](https://togithub.com/grinish21) made their first contribution in [go-git/go-git#1022 - [@​prskr](https://togithub.com/prskr) made their first contribution in [go-git/go-git#1018 - [@​dlambda](https://togithub.com/dlambda) made their first contribution in [go-git/go-git#446 - [@​juliens](https://togithub.com/juliens) made their first contribution in [go-git/go-git#366 - [@​onee-only](https://togithub.com/onee-only) made their first contribution in [go-git/go-git#1036 - [@​tim775](https://togithub.com/tim775) made their first contribution in [go-git/go-git#1042 - [@​niukuo](https://togithub.com/niukuo) made their first contribution in [go-git/go-git#967 - [@​avoidalone](https://togithub.com/avoidalone) made their first contribution in [go-git/go-git#1047 **Full Changelog**: go-git/go-git@v5.11.0...v5.12.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/anoriqq/qpm). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | Type | Update | |---|---|---|---|---|---|---|---| | [github.com/aws/aws-sdk-go](https://togithub.com/aws/aws-sdk-go) | `v1.51.6` -> `v1.51.11` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2faws%2faws-sdk-go/v1.51.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2faws%2faws-sdk-go/v1.51.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2faws%2faws-sdk-go/v1.51.6/v1.51.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2faws%2faws-sdk-go/v1.51.6/v1.51.11?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | patch | | [github.com/cenkalti/backoff/v4](https://togithub.com/cenkalti/backoff) | `v4.2.1` -> `v4.3.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fcenkalti%2fbackoff%2fv4/v4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fcenkalti%2fbackoff%2fv4/v4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fcenkalti%2fbackoff%2fv4/v4.2.1/v4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fcenkalti%2fbackoff%2fv4/v4.2.1/v4.3.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | minor | | [github.com/cerbos/cloud-api](https://togithub.com/cerbos/cloud-api) | `ffe3a67` -> `d106081` | | | | | require | digest | | [github.com/go-git/go-git/v5](https://togithub.com/go-git/go-git) | `v5.11.0` -> `v5.12.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-git%2fgo-git%2fv5/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-git%2fgo-git%2fv5/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-git%2fgo-git%2fv5/v5.11.0/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-git%2fgo-git%2fv5/v5.11.0/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | minor | | [github.com/go-sql-driver/mysql](https://togithub.com/go-sql-driver/mysql) | `v1.8.0` -> `v1.8.1` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-sql-driver%2fmysql/v1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-sql-driver%2fmysql/v1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-sql-driver%2fmysql/v1.8.0/v1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-sql-driver%2fmysql/v1.8.0/v1.8.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | require | patch | | golang.org/x/exp | `a85f2c6` -> `a685a6e` | | | | | require | digest | | [google.golang.org/genproto/googleapis/api](https://togithub.com/googleapis/go-genproto) | `94a12d6` -> `454cdb8` | | | | | require | digest | --- ### Release Notes <details> <summary>aws/aws-sdk-go (github.com/aws/aws-sdk-go)</summary> ### [`v1.51.11`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v15111-2024-03-29) [Compare Source](https://togithub.com/aws/aws-sdk-go/compare/v1.51.10...v1.51.11) \=== ##### Service Client Updates - `service/b2bi`: Updates service API and documentation - `service/codebuild`: Updates service API - Add new fleet status code for Reserved Capacity. - `service/codeconnections`: Adds new service - `service/internetmonitor`: Updates service API and documentation - `service/iotwireless`: Updates service API and documentation - `service/marketplace-catalog`: Updates service API and documentation - `service/sagemaker`: Updates service API and documentation - This release adds support for custom images for the CodeEditor App on SageMaker Studio ### [`v1.51.10`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v15110-2024-03-28) [Compare Source](https://togithub.com/aws/aws-sdk-go/compare/v1.51.9...v1.51.10) \=== ##### Service Client Updates - `service/compute-optimizer`: Updates service API and documentation - `service/ec2`: Updates service API - Amazon EC2 C7gd, M7gd and R7gd metal instances with up to 3.8 TB of local NVMe-based SSD block-level storage have up to 45% improved real-time NVMe storage performance than comparable Graviton2-based instances. - `service/eks`: Updates service API - `service/guardduty`: Updates service API and documentation - Add EC2 support for GuardDuty Runtime Monitoring auto management. - `service/oam`: Updates service API - `service/quicksight`: Updates service API and documentation - Amazon QuickSight: Adds support for setting up VPC Endpoint restrictions for accessing QuickSight Website. ### [`v1.51.9`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v1519-2024-03-27) [Compare Source](https://togithub.com/aws/aws-sdk-go/compare/v1.51.8...v1.51.9) \=== ##### Service Client Updates - `service/batch`: Updates service API and documentation - This feature allows AWS Batch to support configuration of imagePullSecrets and allowPrivilegeEscalation for jobs running on EKS - `service/bedrock-agent`: Updates service API and documentation - `service/bedrock-agent-runtime`: Updates service API and documentation - `service/elasticache`: Updates service API and documentation - Added minimum capacity to Amazon ElastiCache Serverless. This feature allows customer to ensure minimum capacity even without current load - `service/secretsmanager`: Updates service documentation - Documentation updates for Secrets Manager ### [`v1.51.8`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v1518-2024-03-26) [Compare Source](https://togithub.com/aws/aws-sdk-go/compare/v1.51.7...v1.51.8) \=== ##### Service Client Updates - `service/bedrock-agent-runtime`: Updates service API and documentation - `service/ce`: Updates service API, documentation, and paginators - `service/ec2`: Updates service API and documentation - Documentation updates for Elastic Compute Cloud (EC2). - `service/ecs`: Updates service documentation - This is a documentation update for Amazon ECS. - `service/finspace`: Updates service API and documentation ### [`v1.51.7`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v1517-2024-03-25) [Compare Source](https://togithub.com/aws/aws-sdk-go/compare/v1.51.6...v1.51.7) \=== ##### Service Client Updates - `service/codebuild`: Updates service API and documentation - Supporting GitLab and GitLab Self Managed as source types in AWS CodeBuild. - `service/ec2`: Updates service API and documentation - Added support for ModifyInstanceMetadataDefaults and GetInstanceMetadataDefaults to set Instance Metadata Service account defaults - `service/ecs`: Updates service documentation - Documentation only update for Amazon ECS. - `service/emr-containers`: Updates service API - `service/globalaccelerator`: Updates service API and documentation - `service/medialive`: Updates service API and documentation - Exposing TileMedia H265 options - `service/sagemaker`: Updates service API - Introduced support for the following new instance types on SageMaker Studio for JupyterLab and CodeEditor applications: m6i, m6id, m7i, c6i, c6id, c7i, r6i, r6id, r7i, and p5 </details> <details> <summary>cenkalti/backoff (github.com/cenkalti/backoff/v4)</summary> ### [`v4.3.0`](https://togithub.com/cenkalti/backoff/compare/v4.2.1...v4.3.0) [Compare Source](https://togithub.com/cenkalti/backoff/compare/v4.2.1...v4.3.0) </details> <details> <summary>go-git/go-git (github.com/go-git/go-git/v5)</summary> ### [`v5.12.0`](https://togithub.com/go-git/go-git/releases/tag/v5.12.0) [Compare Source](https://togithub.com/go-git/go-git/compare/v5.11.0...v5.12.0) #### What's Changed - git: Worktree.AddWithOptions: add skipStatus option when providing a specific path by [@​moranCohen26](https://togithub.com/moranCohen26) in [go-git/go-git#994 - git: Signer: fix usage of crypto.Signer interface by [@​wlynch](https://togithub.com/wlynch) in [go-git/go-git#1029 - git: Remote, fetch, adds the prune option. by [@​juliens](https://togithub.com/juliens) in [go-git/go-git#366 - git: Add crypto.Signer option to CommitOptions. by [@​wlynch](https://togithub.com/wlynch) in [go-git/go-git#996 - git: Worktree checkout tag hash id ([#​959](https://togithub.com/go-git/go-git/issues/959)) by [@​aymanbagabas](https://togithub.com/aymanbagabas) in [go-git/go-git#966 - git: Worktree, Don't panic on empty or root path when checking if it is valid by [@​tim775](https://togithub.com/tim775) in [go-git/go-git#1042 - git: Add commit validation for Reset by [@​pjbgf](https://togithub.com/pjbgf) in [go-git/go-git#1048 - git: worktree_commit, Fix amend commit to apply changes. Fixes [#​1024](https://togithub.com/go-git/go-git/issues/1024) by [@​onee-only](https://togithub.com/onee-only) in [go-git/go-git#1045 - git: Implement Merge function with initial `FastForwardMerge` support by [@​pjbgf](https://togithub.com/pjbgf) in [go-git/go-git#1044 - plumbing: object, Make first commit visible on logs filtered with filename. Fixes [#​191](https://togithub.com/go-git/go-git/issues/191) by [@​onee-only](https://togithub.com/onee-only) in [go-git/go-git#1036 - plumbing: no panic in printStats function. Fixes [#​177](https://togithub.com/go-git/go-git/issues/177) by [@​nodivbyzero](https://togithub.com/nodivbyzero) in [go-git/go-git#971 - plumbing: object, Optimize logging with file. by [@​onee-only](https://togithub.com/onee-only) in [go-git/go-git#1046 - plumbing: object, check legitimacy in (\*Tree).Encode by [@​niukuo](https://togithub.com/niukuo) in [go-git/go-git#967 - plumbing: format/gitattributes, close file in ReadAttributesFile by [@​prskr](https://togithub.com/prskr) in [go-git/go-git#1018 - plumbing: check setAuth error. Fixes [#​185](https://togithub.com/go-git/go-git/issues/185) by [@​nodivbyzero](https://togithub.com/nodivbyzero) in [go-git/go-git#969 - plumbing: object, fix variable defaultUtf8CommitMessageEncoding name spell error by [@​Jerry-yz](https://togithub.com/Jerry-yz) in [go-git/go-git#987 - utils: merkletrie, calculate filesystem node's hash lazily. by [@​candid82](https://togithub.com/candid82) in [go-git/go-git#825 - utils: update comment in node.go's Hash() by [@​codablock](https://togithub.com/codablock) in [go-git/go-git#992 - \_example: fix 404 link and added ssh-agent clone link by [@​grinish21](https://togithub.com/grinish21) in [go-git/go-git#1022 - \_example: checkout-branch example by [@​dlambda](https://togithub.com/dlambda) in [go-git/go-git#446 - \_example: example for git clone using ssh-agent by [@​pjbgf](https://togithub.com/pjbgf) in [go-git/go-git#998 #### New Contributors - [@​candid82](https://togithub.com/candid82) made their first contribution in [go-git/go-git#825 - [@​codablock](https://togithub.com/codablock) made their first contribution in [go-git/go-git#992 - [@​Jerry-yz](https://togithub.com/Jerry-yz) made their first contribution in [go-git/go-git#987 - [@​wlynch](https://togithub.com/wlynch) made their first contribution in [go-git/go-git#996 - [@​moranCohen26](https://togithub.com/moranCohen26) made their first contribution in [go-git/go-git#994 - [@​grinish21](https://togithub.com/grinish21) made their first contribution in [go-git/go-git#1022 - [@​prskr](https://togithub.com/prskr) made their first contribution in [go-git/go-git#1018 - [@​dlambda](https://togithub.com/dlambda) made their first contribution in [go-git/go-git#446 - [@​juliens](https://togithub.com/juliens) made their first contribution in [go-git/go-git#366 - [@​onee-only](https://togithub.com/onee-only) made their first contribution in [go-git/go-git#1036 - [@​tim775](https://togithub.com/tim775) made their first contribution in [go-git/go-git#1042 - [@​niukuo](https://togithub.com/niukuo) made their first contribution in [go-git/go-git#967 - [@​avoidalone](https://togithub.com/avoidalone) made their first contribution in [go-git/go-git#1047 **Full Changelog**: go-git/go-git@v5.11.0...v5.12.0 </details> <details> <summary>go-sql-driver/mysql (github.com/go-sql-driver/mysql)</summary> ### [`v1.8.1`](https://togithub.com/go-sql-driver/mysql/releases/tag/v1.8.1) [Compare Source](https://togithub.com/go-sql-driver/mysql/compare/v1.8.0...v1.8.1) #### What's Changed Bugfixes: - fix race condition when context is canceled in [#​1562](https://togithub.com/go-sql-driver/mysql/pull/1562) and [#​1570](https://togithub.com/go-sql-driver/mysql/pull/1570) **Full Changelog**: go-sql-driver/mysql@v1.8.0...v1.8.1 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/cerbos/cerbos). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Signed-off-by: Oğuzhan Durgun <oguzhandurgun95@gmail.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [github.com/go-git/go-git/v5](https://togithub.com/go-git/go-git) | `v5.11.0` -> `v5.12.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-git%2fgo-git%2fv5/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-git%2fgo-git%2fv5/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-git%2fgo-git%2fv5/v5.11.0/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-git%2fgo-git%2fv5/v5.11.0/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>go-git/go-git (github.com/go-git/go-git/v5)</summary> ### [`v5.12.0`](https://togithub.com/go-git/go-git/releases/tag/v5.12.0) [Compare Source](https://togithub.com/go-git/go-git/compare/v5.11.0...v5.12.0) #### What's Changed - git: Worktree.AddWithOptions: add skipStatus option when providing a specific path by [@​moranCohen26](https://togithub.com/moranCohen26) in [go-git/go-git#994 - git: Signer: fix usage of crypto.Signer interface by [@​wlynch](https://togithub.com/wlynch) in [go-git/go-git#1029 - git: Remote, fetch, adds the prune option. by [@​juliens](https://togithub.com/juliens) in [go-git/go-git#366 - git: Add crypto.Signer option to CommitOptions. by [@​wlynch](https://togithub.com/wlynch) in [go-git/go-git#996 - git: Worktree checkout tag hash id ([#​959](https://togithub.com/go-git/go-git/issues/959)) by [@​aymanbagabas](https://togithub.com/aymanbagabas) in [go-git/go-git#966 - git: Worktree, Don't panic on empty or root path when checking if it is valid by [@​tim775](https://togithub.com/tim775) in [go-git/go-git#1042 - git: Add commit validation for Reset by [@​pjbgf](https://togithub.com/pjbgf) in [go-git/go-git#1048 - git: worktree_commit, Fix amend commit to apply changes. Fixes [#​1024](https://togithub.com/go-git/go-git/issues/1024) by [@​onee-only](https://togithub.com/onee-only) in [go-git/go-git#1045 - git: Implement Merge function with initial `FastForwardMerge` support by [@​pjbgf](https://togithub.com/pjbgf) in [go-git/go-git#1044 - plumbing: object, Make first commit visible on logs filtered with filename. Fixes [#​191](https://togithub.com/go-git/go-git/issues/191) by [@​onee-only](https://togithub.com/onee-only) in [go-git/go-git#1036 - plumbing: no panic in printStats function. Fixes [#​177](https://togithub.com/go-git/go-git/issues/177) by [@​nodivbyzero](https://togithub.com/nodivbyzero) in [go-git/go-git#971 - plumbing: object, Optimize logging with file. by [@​onee-only](https://togithub.com/onee-only) in [go-git/go-git#1046 - plumbing: object, check legitimacy in (\*Tree).Encode by [@​niukuo](https://togithub.com/niukuo) in [go-git/go-git#967 - plumbing: format/gitattributes, close file in ReadAttributesFile by [@​prskr](https://togithub.com/prskr) in [go-git/go-git#1018 - plumbing: check setAuth error. Fixes [#​185](https://togithub.com/go-git/go-git/issues/185) by [@​nodivbyzero](https://togithub.com/nodivbyzero) in [go-git/go-git#969 - plumbing: object, fix variable defaultUtf8CommitMessageEncoding name spell error by [@​Jerry-yz](https://togithub.com/Jerry-yz) in [go-git/go-git#987 - utils: merkletrie, calculate filesystem node's hash lazily. by [@​candid82](https://togithub.com/candid82) in [go-git/go-git#825 - utils: update comment in node.go's Hash() by [@​codablock](https://togithub.com/codablock) in [go-git/go-git#992 - \_example: fix 404 link and added ssh-agent clone link by [@​grinish21](https://togithub.com/grinish21) in [go-git/go-git#1022 - \_example: checkout-branch example by [@​dlambda](https://togithub.com/dlambda) in [go-git/go-git#446 - \_example: example for git clone using ssh-agent by [@​pjbgf](https://togithub.com/pjbgf) in [go-git/go-git#998 #### New Contributors - [@​candid82](https://togithub.com/candid82) made their first contribution in [go-git/go-git#825 - [@​codablock](https://togithub.com/codablock) made their first contribution in [go-git/go-git#992 - [@​Jerry-yz](https://togithub.com/Jerry-yz) made their first contribution in [go-git/go-git#987 - [@​wlynch](https://togithub.com/wlynch) made their first contribution in [go-git/go-git#996 - [@​moranCohen26](https://togithub.com/moranCohen26) made their first contribution in [go-git/go-git#994 - [@​grinish21](https://togithub.com/grinish21) made their first contribution in [go-git/go-git#1022 - [@​prskr](https://togithub.com/prskr) made their first contribution in [go-git/go-git#1018 - [@​dlambda](https://togithub.com/dlambda) made their first contribution in [go-git/go-git#446 - [@​juliens](https://togithub.com/juliens) made their first contribution in [go-git/go-git#366 - [@​onee-only](https://togithub.com/onee-only) made their first contribution in [go-git/go-git#1036 - [@​tim775](https://togithub.com/tim775) made their first contribution in [go-git/go-git#1042 - [@​niukuo](https://togithub.com/niukuo) made their first contribution in [go-git/go-git#967 - [@​avoidalone](https://togithub.com/avoidalone) made their first contribution in [go-git/go-git#1047 **Full Changelog**: go-git/go-git@v5.11.0...v5.12.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/rgst-io/stencil). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Type | Update | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---|---|---| | [deps.dev/api/v3](https://togithub.com/google/deps.dev) | require | digest | `ff53416` -> `d32937c` | | | | | | [deps.dev/util/maven](https://togithub.com/google/deps.dev) | require | digest | `ff53416` -> `d32937c` | | | | | | [deps.dev/util/resolve](https://togithub.com/google/deps.dev) | require | digest | `ff53416` -> `d32937c` | | | | | | [deps.dev/util/semver](https://togithub.com/google/deps.dev) | require | digest | `ff53416` -> `d32937c` | | | | | | [github.com/gkampitakis/go-snaps](https://togithub.com/gkampitakis/go-snaps) | require | patch | `v0.5.2` -> `v0.5.3` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgkampitakis%2fgo-snaps/v0.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgkampitakis%2fgo-snaps/v0.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgkampitakis%2fgo-snaps/v0.5.2/v0.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgkampitakis%2fgo-snaps/v0.5.2/v0.5.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/go-git/go-git/v5](https://togithub.com/go-git/go-git) | require | minor | `v5.11.0` -> `v5.12.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgo-git%2fgo-git%2fv5/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgo-git%2fgo-git%2fv5/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgo-git%2fgo-git%2fv5/v5.11.0/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgo-git%2fgo-git%2fv5/v5.11.0/v5.12.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [github.com/jedib0t/go-pretty/v6](https://togithub.com/jedib0t/go-pretty) | require | patch | `v6.5.6` -> `v6.5.8` | [![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fjedib0t%2fgo-pretty%2fv6/v6.5.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fjedib0t%2fgo-pretty%2fv6/v6.5.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fjedib0t%2fgo-pretty%2fv6/v6.5.6/v6.5.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fjedib0t%2fgo-pretty%2fv6/v6.5.6/v6.5.8?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/exp | require | digest | `a685a6e` -> `93d18d7` | | | | | | golang.org/x/mod | require | minor | `v0.16.0` -> `v0.17.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fmod/v0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fmod/v0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fmod/v0.16.0/v0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fmod/v0.16.0/v0.17.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/sync | require | minor | `v0.6.0` -> `v0.7.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fsync/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fsync/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fsync/v0.6.0/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fsync/v0.6.0/v0.7.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | golang.org/x/term | require | minor | `v0.18.0` -> `v0.19.0` | [![age](https://developer.mend.io/api/mc/badges/age/go/golang.org%2fx%2fterm/v0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/golang.org%2fx%2fterm/v0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/golang.org%2fx%2fterm/v0.18.0/v0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/golang.org%2fx%2fterm/v0.18.0/v0.19.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [google.golang.org/grpc](https://togithub.com/grpc/grpc-go) | require | minor | `v1.62.1` -> `v1.63.2` | [![age](https://developer.mend.io/api/mc/badges/age/go/google.golang.org%2fgrpc/v1.63.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/go/google.golang.org%2fgrpc/v1.63.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/go/google.golang.org%2fgrpc/v1.62.1/v1.63.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/go/google.golang.org%2fgrpc/v1.62.1/v1.63.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>gkampitakis/go-snaps (github.com/gkampitakis/go-snaps)</summary> ### [`v0.5.3`](https://togithub.com/gkampitakis/go-snaps/releases/tag/v0.5.3) [Compare Source](https://togithub.com/gkampitakis/go-snaps/compare/v0.5.2...v0.5.3) #### What's Changed - fix: race condition when updating snapshots in parallel by [@​gkampitakis](https://togithub.com/gkampitakis) in [gkampitakis/go-snaps#97 **Full Changelog**: gkampitakis/go-snaps@v0.5.2...v0.5.3 </details> <details> <summary>go-git/go-git (github.com/go-git/go-git/v5)</summary> ### [`v5.12.0`](https://togithub.com/go-git/go-git/releases/tag/v5.12.0) [Compare Source](https://togithub.com/go-git/go-git/compare/v5.11.0...v5.12.0) #### What's Changed - git: Worktree.AddWithOptions: add skipStatus option when providing a specific path by [@​moranCohen26](https://togithub.com/moranCohen26) in [go-git/go-git#994 - git: Signer: fix usage of crypto.Signer interface by [@​wlynch](https://togithub.com/wlynch) in [go-git/go-git#1029 - git: Remote, fetch, adds the prune option. by [@​juliens](https://togithub.com/juliens) in [go-git/go-git#366 - git: Add crypto.Signer option to CommitOptions. by [@​wlynch](https://togithub.com/wlynch) in [go-git/go-git#996 - git: Worktree checkout tag hash id ([#​959](https://togithub.com/go-git/go-git/issues/959)) by [@​aymanbagabas](https://togithub.com/aymanbagabas) in [go-git/go-git#966 - git: Worktree, Don't panic on empty or root path when checking if it is valid by [@​tim775](https://togithub.com/tim775) in [go-git/go-git#1042 - git: Add commit validation for Reset by [@​pjbgf](https://togithub.com/pjbgf) in [go-git/go-git#1048 - git: worktree_commit, Fix amend commit to apply changes. Fixes [#​1024](https://togithub.com/go-git/go-git/issues/1024) by [@​onee-only](https://togithub.com/onee-only) in [go-git/go-git#1045 - git: Implement Merge function with initial `FastForwardMerge` support by [@​pjbgf](https://togithub.com/pjbgf) in [go-git/go-git#1044 - plumbing: object, Make first commit visible on logs filtered with filename. Fixes [#​191](https://togithub.com/go-git/go-git/issues/191) by [@​onee-only](https://togithub.com/onee-only) in [go-git/go-git#1036 - plumbing: no panic in printStats function. Fixes [#​177](https://togithub.com/go-git/go-git/issues/177) by [@​nodivbyzero](https://togithub.com/nodivbyzero) in [go-git/go-git#971 - plumbing: object, Optimize logging with file. by [@​onee-only](https://togithub.com/onee-only) in [go-git/go-git#1046 - plumbing: object, check legitimacy in (\*Tree).Encode by [@​niukuo](https://togithub.com/niukuo) in [go-git/go-git#967 - plumbing: format/gitattributes, close file in ReadAttributesFile by [@​prskr](https://togithub.com/prskr) in [go-git/go-git#1018 - plumbing: check setAuth error. Fixes [#​185](https://togithub.com/go-git/go-git/issues/185) by [@​nodivbyzero](https://togithub.com/nodivbyzero) in [go-git/go-git#969 - plumbing: object, fix variable defaultUtf8CommitMessageEncoding name spell error by [@​Jerry-yz](https://togithub.com/Jerry-yz) in [go-git/go-git#987 - utils: merkletrie, calculate filesystem node's hash lazily. by [@​candid82](https://togithub.com/candid82) in [go-git/go-git#825 - utils: update comment in node.go's Hash() by [@​codablock](https://togithub.com/codablock) in [go-git/go-git#992 - \_example: fix 404 link and added ssh-agent clone link by [@​grinish21](https://togithub.com/grinish21) in [go-git/go-git#1022 - \_example: checkout-branch example by [@​dlambda](https://togithub.com/dlambda) in [go-git/go-git#446 - \_example: example for git clone using ssh-agent by [@​pjbgf](https://togithub.com/pjbgf) in [go-git/go-git#998 #### New Contributors - [@​candid82](https://togithub.com/candid82) made their first contribution in [go-git/go-git#825 - [@​codablock](https://togithub.com/codablock) made their first contribution in [go-git/go-git#992 - [@​Jerry-yz](https://togithub.com/Jerry-yz) made their first contribution in [go-git/go-git#987 - [@​wlynch](https://togithub.com/wlynch) made their first contribution in [go-git/go-git#996 - [@​moranCohen26](https://togithub.com/moranCohen26) made their first contribution in [go-git/go-git#994 - [@​grinish21](https://togithub.com/grinish21) made their first contribution in [go-git/go-git#1022 - [@​prskr](https://togithub.com/prskr) made their first contribution in [go-git/go-git#1018 - [@​dlambda](https://togithub.com/dlambda) made their first contribution in [go-git/go-git#446 - [@​juliens](https://togithub.com/juliens) made their first contribution in [go-git/go-git#366 - [@​onee-only](https://togithub.com/onee-only) made their first contribution in [go-git/go-git#1036 - [@​tim775](https://togithub.com/tim775) made their first contribution in [go-git/go-git#1042 - [@​niukuo](https://togithub.com/niukuo) made their first contribution in [go-git/go-git#967 - [@​avoidalone](https://togithub.com/avoidalone) made their first contribution in [go-git/go-git#1047 **Full Changelog**: go-git/go-git@v5.11.0...v5.12.0 </details> <details> <summary>jedib0t/go-pretty (github.com/jedib0t/go-pretty/v6)</summary> ### [`v6.5.8`](https://togithub.com/jedib0t/go-pretty/releases/tag/v6.5.8) [Compare Source](https://togithub.com/jedib0t/go-pretty/compare/v6.5.7...v6.5.8) #### What's Changed - table: paging should work with auto-merge; fixes [#​315](https://togithub.com/jedib0t/go-pretty/issues/315) by [@​jedib0t](https://togithub.com/jedib0t) in [jedib0t/go-pretty#317 **Full Changelog**: jedib0t/go-pretty@v6.5.7...v6.5.8 ### [`v6.5.7`](https://togithub.com/jedib0t/go-pretty/releases/tag/v6.5.7) [Compare Source](https://togithub.com/jedib0t/go-pretty/compare/v6.5.6...v6.5.7) #### What's Changed - table: fix paging with separators; fixes [#​312](https://togithub.com/jedib0t/go-pretty/issues/312) by [@​jedib0t](https://togithub.com/jedib0t) in [jedib0t/go-pretty#313 **Full Changelog**: jedib0t/go-pretty@v6.5.6...v6.5.7 </details> <details> <summary>grpc/grpc-go (google.golang.org/grpc)</summary> ### [`v1.63.2`](https://togithub.com/grpc/grpc-go/releases/tag/v1.63.2): Release 1.63.2 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.63.1...v1.63.2) ### Bugs - Fix the user agent string ### [`v1.63.1`](https://togithub.com/grpc/grpc-go/releases/tag/v1.63.1): Release 1.63.1 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.63.0...v1.63.1) - grpc: un-deprecate Dial and DialContext and cherry-pick ### [`v1.63.0`](https://togithub.com/grpc/grpc-go/releases/tag/v1.63.0): Release 1.63.0 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.62.2...v1.63.0) ### Behavior Changes - grpc: Return canonical target string from `resolver.Address.String()` (experimental) ([#​6923](https://togithub.com/grpc/grpc-go/issues/6923)) - client & server: when using write buffer pooling, use input value for buffer size instead of size\*2 ([#​6983](https://togithub.com/grpc/grpc-go/issues/6983)) - Special Thanks: [@​raghav-stripe](https://togithub.com/raghav-stripe) ### New Features - grpc: add `ClientConn.CanonicalTarget()` to return the canonical target string. ([#​7006](https://togithub.com/grpc/grpc-go/issues/7006)) - xds: implement LRS named metrics support ([gRFC A64](https://togithub.com/grpc/proposal/blob/master/A64-lrs-custom-metrics.md)) ([#​7027](https://togithub.com/grpc/grpc-go/issues/7027)) - Special Thanks: [@​danielzhaotongliu](https://togithub.com/danielzhaotongliu) - grpc: introduce `grpc.NewClient` to allow users to create new clients in idle mode and with "dns" as the default resolver ([#​7010](https://togithub.com/grpc/grpc-go/issues/7010)) - Special Thanks: [@​bruuuuuuuce](https://togithub.com/bruuuuuuuce) ### API Changes - grpc: stabilize experimental method `ClientConn.Target()` ([#​7006](https://togithub.com/grpc/grpc-go/issues/7006)) ### Bug Fixes - xds: fix an issue that would cause the client to send an empty list of resources for LDS/CDS upon reconnecting with the management server ([#​7026](https://togithub.com/grpc/grpc-go/issues/7026)) - server: Fix some errors returned by a server when using a `grpc.Server` as an `http.Handler` with the Go stdlib HTTP server ([#​6989](https://togithub.com/grpc/grpc-go/issues/6989)) - resolver/dns: add `SetResolvingTimeout` to allow configuring the DNS resolver's global timeout ([#​6917](https://togithub.com/grpc/grpc-go/issues/6917)) - Special Thanks: [@​and1truong](https://togithub.com/and1truong) - Set the security level of Windows named pipes to NoSecurity ([#​6956](https://togithub.com/grpc/grpc-go/issues/6956)) - Special Thanks: [@​irsl](https://togithub.com/irsl) ### [`v1.62.2`](https://togithub.com/grpc/grpc-go/releases/tag/v1.62.2): Release 1.62.2 [Compare Source](https://togithub.com/grpc/grpc-go/compare/v1.62.1...v1.62.2) ### Dependencies - Update http2 library to address vulnerability [CVE-2023-45288](https://www.kb.cert.org/vuls/id/421644) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 6am on monday" in timezone Australia/Sydney, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://togithub.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/google/osv-scanner). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNjkuMiIsInVwZGF0ZWRJblZlciI6IjM3LjI2OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
This change adds a new
crypto.Signer
option toCommitOptions
as an alternative toSignKey
to allow alternative commit signers to be used. This change does not add other signing or verification methods (e.g. ssh, x509, gitsign), but gives callers the ability to start adding their own signing implementations.This differs from #705 by using the stdlib
crypto.Signer
interface instead of defining a newObjectSigner
interface. We could go with that approach if we want, but using a []byte based approach means that Signer implementations do not need to be aware of how commit encoding works (which is closer to git's sign_buffer implementation).Part of #400
cc @hiddeco