@gitkraken/core-gitlens 0.20.0 → 0.20.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,18 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.20.2] - 2026-10-27
10
+
11
+ ### Fixed
12
+
13
+ - Fixes Jira issues losing their actual project id, name and site resource id when the provider supplies no namespace. The project's `resourceName` stays empty when no site display name is available; no site or project identity is synthesized. Other providers retain their namespace requirement ([#5964](https://github.com/gitkraken/vscode-gitlens/issues/5964)) (plus/integrations)
14
+
15
+ ## [0.20.1] - 2026-10-26
16
+
17
+ ### Changed
18
+
19
+ - Imports `EntityIdentifierUtils` and `GitProviderUtils` from the `@gitkraken/provider-apis` main entry instead of its `/entity-identifiers` and `/provider-utils` subpaths. Those subpaths are standalone bundles that repeat code the main entry already ships, and core already loads the main entry, so a host that bundles core carried both copies. Same functions and behavior; a Node ESM consumer still links both names through the main entry's CommonJS export list ([#6086](https://github.com/gitkraken/vscode-gitlens/issues/6086)) (plus/integrations)
20
+
9
21
  ## [0.20.0] - 2026-10-26
10
22
 
11
23
  ### Added
@@ -974,7 +986,9 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/) and this p
974
986
 
975
987
  - Initial release. Bundles `@gitlens/utils`, `@gitlens/git`, `@gitlens/git-cli`, `@gitlens/ai`, and `@gitlens/git-github` into a single core npm package with subpath exports.
976
988
 
977
- [unreleased]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.20.0...HEAD
989
+ [unreleased]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.20.2...HEAD
990
+ [0.20.2]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.20.1...gitkraken:releases/core/v0.20.2
991
+ [0.20.1]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.20.0...gitkraken:releases/core/v0.20.1
978
992
  [0.20.0]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.19.0...gitkraken:releases/core/v0.20.0
979
993
  [0.19.0]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.18.0...gitkraken:releases/core/v0.19.0
980
994
  [0.18.0]: https://github.com/gitkraken/vscode-gitlens/compare/releases/core/v0.17.0...gitkraken:releases/core/v0.18.0
@@ -106,10 +106,13 @@ export interface GitConfigSubProvider {
106
106
  commonGitDir: string | undefined;
107
107
  superprojectPath: string | undefined;
108
108
  } | [safe: true, repoPath: string] | [safe: false] | []>;
109
- getGkConfig?(repoPath: string, key: GkConfigKeys | DeprecatedGkConfigKeys): Promise<string | undefined>;
109
+ getGkConfig?(repoPath: string, key: GkConfigKeys | DeprecatedGkConfigKeys, options?: {
110
+ throwOnError?: boolean;
111
+ }): Promise<string | undefined>;
110
112
  getGkConfigRegex?(repoPath: string, pattern: string): Promise<Map<string, string>>;
111
113
  setGkConfig?(repoPath: string, key: GkConfigKeys | DeprecatedGkConfigKeys, value: string | undefined, options?: {
112
114
  skipInvalidation?: readonly GkConfigInvalidationTarget[];
115
+ throwOnError?: boolean;
113
116
  }): Promise<void>;
114
117
  /**
115
118
  * Drops every gk key stored for `ref` — call when a branch stops existing under that name. Deliberately
@@ -1,6 +1,19 @@
1
1
  import { RemoteProvider } from "../models/remoteProvider.js";
2
2
  import { GitRemote } from "../models/remote.js";
3
3
  //#region ../git/src/providers/remotes.d.ts
4
+ /**
5
+ * Why {@link GitRemotesSubProvider.probeRemote} couldn't reach a remote. `authRequired` also covers hosts
6
+ * (e.g. GitHub) that answer a missing repository with an authentication challenge rather than a 404.
7
+ * `hostKeyUnverified` means an SSH host isn't in known_hosts yet — the probe can't prompt to trust it.
8
+ */
9
+ export type GitRemoteProbeFailureReason = 'hostNotFound' | 'hostKeyUnverified' | 'notFound' | 'authRequired' | 'timeout' | 'other';
10
+ export type GitRemoteProbeResult = {
11
+ reachable: true;
12
+ } | {
13
+ reachable: false;
14
+ reason: GitRemoteProbeFailureReason;
15
+ message?: string;
16
+ };
4
17
  export interface GitRemotesSubProvider {
5
18
  getRemote(repoPath: string | undefined, name: string, cancellation?: AbortSignal): Promise<GitRemote | undefined>;
6
19
  getRemotes(repoPath: string | undefined, options?: {
@@ -19,6 +32,11 @@ export interface GitRemotesSubProvider {
19
32
  addRemoteWithResult?(repoPath: string, name: string, url: string, options?: {
20
33
  fetch?: boolean;
21
34
  }): Promise<GitRemote | undefined>;
35
+ /**
36
+ * Checks whether `url` answers as a git remote, without prompting for credentials, within a few seconds.
37
+ * Not configured as a remote; nothing is written to the repository.
38
+ */
39
+ probeRemote?(repoPath: string, url: string, cancellation?: AbortSignal): Promise<GitRemoteProbeResult>;
22
40
  pruneRemote?(repoPath: string, name: string): Promise<void>;
23
41
  removeRemote?(repoPath: string, name: string): Promise<void>;
24
42
  setRemoteAsDefault(repoPath: string, name: string, value?: boolean): Promise<void>;
@@ -127,7 +127,7 @@ const GitErrors = {
127
127
  refUnableToResolve: /cannot lock ref '.*?': unable to resolve reference/i,
128
128
  refValueMismatch: /cannot lock ref '.*?': is at [0-9a-f]+ but expected/i,
129
129
  remoteAhead: /rejected because the remote contains work/i,
130
- remoteConnectionFailed: /Could not read from remote repository/i,
130
+ remoteConnectionFailed: /Could not read from remote repository|unable to access '[^']+': (?:Could not resolve host|Failed to connect|Couldn't connect|Connection (?:refused|timed out|reset)|Operation timed out|Recv failure|Empty reply)/i,
131
131
  remoteRejected: /rejected because the remote contains work/i,
132
132
  signingKeyNotAvailable: /secret key not available|no secret key|no signing key/i,
133
133
  sshNotFound: /ssh-keygen[^\n]*(?:not found|No such file or directory|is not recognized)/i,