Repository navigation
Release 3.0.2 - #2485
Merged
Merged
Release 3.0.2#2485
Conversation
Ensure that we actually codesign the NuGet package for the .NET tool. This step was accidentally dropped during reworking of the release pipeline during initial GCM 3.x development. Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Ensure that we actually codesign the NuGet package for the .NET tool. This step was accidentally dropped during reworking of the release pipeline during initial GCM 3.x development.
Allow the agent to be used for Mac builds to be specified by a demand using ImageOverride, rather than 'pool.image/os' properties, which only exist on hosted pools. This allows us to switch to a self-hosted pool using the matrix parameter only. Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Use the Golden Gate VM image from the ACES shared pool for Mac jobs. Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Allow release pipeline to skip the .NET Tool build; useful when testing the pipeline. Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Use the Golden Gate VM image from the ACES shared pool for Mac jobs. ACES provides ARM-based Mac runners for Azure Pipelines which we must move to since Azure Pipelines hosted Mac pools are no longer getting updates (and are still on Intel-based Macs too). > [!TIP] > Review changes ignoring whitespace - many of the YAML changes disappear since they are just scope/tab changes.
Since moving to the new SLNX format, we have not updated our VSCode build and launch tasks for the new solution file target, nor the updated repository layout. Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Update the documentation index, splitting out user and developer documentation articles. Add missing links. Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
The development and debugging document has falled behind reality in many places. Let's spruce this up and make it correct to today's situation. Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Update the architecture document to reflect the latest interactions and relationships between projects, commands, and providers. Replace diagrams with Mermaid diagrams where appropriate. Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Update the CONTRIBUTING.md document for the new build system, and call our best practice for drafting commits. Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
The spec still described credential-only responses and mandatory external UI helpers. Align it with the current response, protocol, detection, and prompting contracts so provider authors have accurate guidance. Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Add an AGENTS.md file to help AI agents conform to the project best practices. We have existing documentation for many things, so this document is just a high level summary with links to the existing docs for more in depth guidance. Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
This PR brings GCM's developer documentation and VS Code configuration up to date, then adds an `AGENTS.md` entry point for AI-assisted contributions. Several guides still described the old project layout, .NET Framework/WPF UI helpers, or credential-only provider responses, making them misleading for contributors.
Secret Service backends that validate MIME content types, such as oo7-daemon on Fedora 45, reject credential writes with 'Invalid content type: plain/text'. Authentication succeeds, but the credential is never stored and subsequent Git operations prompt again. Use the standard text/plain content type for secret values so these backends can store credentials. Existing credentials remain readable because lookups use the service and account attributes, and GCM reads the secret bytes without checking the content type. Only new or updated secrets get the corrected content type; no migration of existing entries is needed. Assisted-by: GPT-6.1 Sol Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
An unlocked Secret Service collection does not require a desktop session. The DISPLAY/WAYLAND_DISPLAY check rejects legitimate SSH and terminal sessions even when their keyring is already available. Use actual bus connectivity and Secret Service initialization as the availability checks rather than treating the presence of a display as proof. Native error details and actionable guidance help users distinguish an absent service from a locked collection or a cancelled prompt. Provider-owned prompting remains unchanged. Headless users still need to provision their session bus and unlock collections through their provider; this change does not introduce terminal prompting or start D-Bus explicitly. Assisted-by: GPT-6.1 Sol Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Secret Service backends that validate MIME content types, such as oo7-daemon on Fedora 45, reject credential writes with 'Invalid content type: plain/text'. Authentication succeeds, but the credential is never stored and subsequent Git operations prompt again. Use the standard text/plain content type for secret values so these backends can store credentials. Existing credentials remain readable because lookups use the service and account attributes, and GCM reads the secret bytes without checking the content type. Only new or updated secrets get the corrected content type; no migration of existing entries is needed. Fixes #2473
An unlocked Secret Service collection does not require a desktop session. The DISPLAY/WAYLAND_DISPLAY check rejects legitimate SSH and terminal sessions even when their keyring is already available. Use actual bus connectivity and Secret Service initialization as the availability checks rather than treating the presence of a display as proof. Native error details and actionable guidance help users distinguish an absent service from a locked collection or a cancelled prompt. Provider-owned prompting remains unchanged. Headless users still need to provision their session bus and unlock collections through their provider; this change does not introduce terminal prompting or start D-Bus explicitly. Rendered docs: - https://github.com/mjcheetham/git-credential-manager/blob/headless-linux/docs/secretservice-headless.md
Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
XUnit 2.9.3 XUnit SkippableFact 1.5.85 XUnit VS Runner 4.0.1 Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
This package pinning of System.Text.Json is no longer required since we dropped .NET Framework. This was a workaround for the build system which we dropped in the move to the 3.x branch. Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
Update all our dependencies to their latest (supported) versions. Note that we don't update `System.CommandLine` because this has a large API change that we should handle separately. We also drop the `System.Text.Json` pinning as this was a workaround for when we dual targeted .NET Framework, which is no longer required - this means we now target the latest JSON package from the current TFM runtime (.NET 10.x). Also bump the version from `3.0.1` to `3.0.2` in the `VERSION` file in preparation for a new release.
dscho
approved these changes
Oct 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes: