Skip to content
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

Cut new release #105

Merged
merged 29 commits into from
Apr 28, 2020
Merged

Cut new release #105

merged 29 commits into from
Apr 28, 2020

Conversation

mjcheetham
Copy link
Collaborator

Cut a new release from the current master branch which includes the following changes:

We've not make a release in a while and there is enough here to warrant one.

Sync master branch with missing commits from release branch
Add a setting to disable all user interaction. By setting
`GCM_INTERACTIVE` or `credential.interactive` to a 'falsey' value, GCM
Core will now fail and return an error if user interaction is required.

This is useful in headless and unattended environments, such as build
servers, where is is preferable to fail than it is to hang waiting for
input from a non-existent user.

The setting also existed in the previous GCM for Windows, but its
behaviour has been slightly modified to treat 'always' values as 'auto'.
See more in the documentation and the code.

The default value is `true` / permit interaction.
Add GCM_INTERACTIVE/credential.interactive setting
Create and publish ZIP and TAR archives on Windows and Mac containing
the GCM Core app binaries, and symbols.
Create and publish zip & tar.gz archives of app and symbols
Introduce the `ISystemPrompts` component which provides native/system UI
prompts, starting with basic credential prompts. Include a basic
implementation for Windows.
Wire up the parent window handle to system prompts and UI helpers.
Add ISystemPrompts component and impl for Windows
When a debugger is attached, automatically add a listener that will
output to the debug console.
Add debug trace listener when debugger is attached
Add an OAuth2 client implementation that supports the authorization code
grant, and the device authorization grant (device code) flows.
Add an OAuth2 client implementation
Add a simple menu system that works over the TTY. This is useful for
presenting a selection of authentication options to the user when no UI
is available.
Pull the general `TryGetSetting` and `GetSettingValues` methods up from
the `Settings` class to the `ISettings` interface for all providers to
use for their own settings.
Add an OAuth2 web browser-based authentication flow to replace the
username & password flow for github.com and augment the u/p flow for
GHE instances.
Use a refreshed WPF-based UI on Windows for GitHub authentication.
Supports selecting OAuth/browser authentication and also displays the
URL of a GitHub Enterprise instance if authentication to one.
Use the latest .NET Core 3.1.x SDK to build since we are using the
new WindowsDesktop project SDK. We are not targeting .NET Core 3.1 yet,
but need the newer toolchain.
Upgrade our .NET Core components from 2.1 to 3.1 (LTS).
Support OAuth based authentication on GitHub; include a UI refresh
Implement the Proof Key for Code Exchange (RFC 7636) specification in
the OAuth2 client.
Implement RFC 7636 PKCE in OAuth client and fix redirect URI bug
Allow the OAuth client ID, secret, and redirect URI to be overridden at
runtime using environment variables or config.
Allow GitHub OAuth params to be overridden at runtime
For some reason our Azure Pipelines builds are failing (occasionally) to
restore packages _unless_ we explicitly run a `dotnet restore` before
our `dotnet build`. The Azure Pipelines team are still not sure why this
is failing, or why it only happens one some of the hosted agents and not
others (despite compiling the same commit)!
Workaround Azure Pipelines build bug
@mjcheetham mjcheetham merged commit 296dc5e into release Apr 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants