Repository navigation
Releases: steveukx/git-js
Release list
simple-git@4.0.2
Patch Changes
-
68874c2: Add
VISUALenvironment variable to set ofallowUnsafeEditorenvironment variables.Thanks to @oss-security-shopify for identifying the vulnerability.
-
Updated dependencies [68874c2]
- @simple-git/argv-parser@2.0.1
@simple-git/argv-parser@2.0.1
Patch Changes
-
68874c2: Add
VISUALenvironment variable to set ofallowUnsafeEditorenvironment variables.Thanks to @oss-security-shopify for identifying the vulnerability.
simple-git@4.0.1
Patch Changes
- 365f52d: Prepare package.json before publishing.
simple-git@4.0.0
Major Changes
-
98864c6: Major upgrade to v4. In this version:
- Removed previously available default export, now uses a consistently named
simpleGitexport. - Removed previously deprecated import
simple-git/promise(change to using the mainsimple-gitimport). - Removed legacy
gitPexport (change to using the mainsimpleGitexport).
// v3 - previously supported imports import simpleGit from "simple-git"; import { gitP } from "simple-git"; import simpleGit from "simple-git/promise"; const simpleGit = require("simple-git"); // v4 - consolidates to a single supported import import { simpleGit } from "simple-git"; const { simpleGit } = require("simple-git");
- Prevents the use of abbreviated long-form
gitoptions:
// v3 - allowed the use of unambiguous long-form options git.raw("clone", "--conf=user.name=me", "..."); // v4 - requires full option names, abbreviated option names will now throw a GitConfigurationError git.raw("fetch", "--config=user.name=me", "...");
- Ambient environment variables are filtered before passing into the
gitchild process.
// v3 process.env.FOO = "bar"; process.env.GIT_TEMPLATE_DIR = "./some/path"; simpleGit().raw("clone"); // git child process can see both environment variables // v4 process.env.FOO = "bar"; process.env.GIT_TEMPLATE_DIR = "./some/path"; simpleGit().raw("clone"); // git child process now sees only FOO simpleGit({ // explicitly allow the named environment variable so it can pass through. allowEnvoronment: ["GIT_TEMPLATE_DIR"], // and enable the use of an unsafe behaviour unsafe: { allowUnsafeTemplateDir: true }, });
- Explicitly supplied disallowed environment variables will throw when used.
// v3 used a single opt-in to potential unsafe actiity simpleGit({ unsafe: { allowUnsafeTemplateDir: true } }) .env({ GIT_TEMPLATE_DIR: "./foo" }) .init(); // v4 uses a double opt-in, allow the behaviour and the mechanism simpleGit({ allowEnvoronment: ["GIT_TEMPLATE_DIR"], unsafe: { allowUnsafeTemplateDir: true }, }) .env({ GIT_TEMPLATE_DIR: "./foo" }) .init();
- Removed content deprecated during the v2 to v3 major change
simpleGit.silent()logging is configured through environment variables in thedebugpackagesimpleGit.clearQueue()this has been a noop since v3, switch to using theabortplugin- Accessing parsed properties of a
GitResponseErrorthrough a trailing callback function are available only through theerror.gitproperty (previously properties were also spread onto theerroritself with a deprecation notice).
- Removed previously available default export, now uses a consistently named
Minor Changes
-
98864c6: Support one-shot stdin via
git.input(data)(stringorBuffer).Thanks to @felipecrs for the feature request and initial implementation.
Patch Changes
-
d762810: Add
allowUnsafeExecdetection torebase -xandrebase --exec.Thanks to @gdegrange for the vulnerability report.
-
76f308e: Parse binary rename entries without byte counts in diff summaries.
-
Updated dependencies [c427fba]
-
Updated dependencies [1bb14df]
-
Updated dependencies [dfeb116]
-
Updated dependencies [d762810]
-
Updated dependencies [d762810]
-
Updated dependencies [98864c6]
- @simple-git/argv-parser@2.0.0
- @simple-git/args-pathspec@1.0.4
@simple-git/argv-parser@2.0.0
Major Changes
-
98864c6: Updates ahead of the v4 release for
simple-git.-
Adds support for TypeScript declaration maps
-
Exports the
isGitEnvKeyhelper to detect whether an environment variable can be used to configure agitoperation -
Adds detection for
includeIf.<condition>.path, thanks to @NotAFlightRisk for identifying the vulnerability
-
Patch Changes
-
c427fba: Additional argument parser vulnerability checks:
- Thanks to @mrillicit for identifying
include.path,filter.*.process - Thanks to @tejas619 for identifying
url.*.insteadOf
- Thanks to @mrillicit for identifying
-
1bb14df: Vulnerability detection expanded to include
pager.*,uploadpack.packObjectsHook,difftool.*.cmdand use of theGIT_CONFIG_PARAMETERSenvironment variableThanks to @threalwinky and @nuc13us for identifying.
-
dfeb116: Vulnerability detection expanded to cover configuration delivered through path-taking global options, where
the dangerous value is a file on disk rather than a tokensimple-gitcan inspect:--exec-pathnames the directorygitloads built-in commands and remote helpers from, and is blocked
under the newallowUnsafeExeccategory along with theGIT_EXEC_PATHenvironment variable (previously
grouped underallowUnsafeConfigPaths)--git-dir,--work-treeand-Ccausegitto read the configuration of the repository they name, and
are blocked underallowUnsafeConfigPaths
These options are only detected when supplied before the git sub-command and with a value - used as getters
(git.raw('rev-parse', '--git-dir')) or as task options (git.raw('commit', '-C', 'HEAD~1')) they are
unaffected. -
d762810: Add
allowUnsafeExecdetection torebase -xandrebase --exec.Thanks to @gdegrange for the vulnerability report.
-
d762810: Add
allowUnsafeCommandBinariesdetection to configuringtrailer.<token>.cmdandtrailer.<token>.command.Thanks to @sec-reex for the vulnerability report.
-
Updated dependencies [98864c6]
- @simple-git/args-pathspec@1.0.4
@simple-git/args-pathspec@1.0.4
Patch Changes
-
98864c6: Updates ahead of the v4 release for
simple-git.-
Adds support for TypeScript declaration maps
-
Exports the
isGitEnvKeyhelper to detect whether an environment variable can be used to configure agitoperation -
Adds detection for
includeIf.<condition>.path, thanks to @NotAFlightRisk for identifying the vulnerability
-
@simple-git/argv-parser@1.1.1
Patch Changes
- c38a674: Add backward compatible API, resolves issue caused by using simple-git@3.35.2 with @simple-git/argv-parser@1.1.0
simple-git@3.36.0
Minor Changes
-
89a2294: Extend known exploitable configuration keys and per-task environment variables.
Note -
ParsedVulnerabilitiesfromargv-parseris removed in favour of a readonly array ofVulnerabilityto match usage insimple-git, rolled into the newvulnerabilityCheckfor simpler access to the identified issues.Thanks to @zebbern for identifying the need to block
core.fsmonitor.
Thanks to @kodareef5 for identifying the need to blockGIT_CONFIG_COUNTenvironment variables and--template/mergerelated config.
Patch Changes
@simple-git/argv-parser@1.1.0
Minor Changes
-
89a2294: Extend known exploitable configuration keys and per-task environment variables.
Note -
ParsedVulnerabilitiesfromargv-parseris removed in favour of a readonly array ofVulnerabilityto match usage insimple-git, rolled into the newvulnerabilityCheckfor simpler access to the identified issues.Thanks to @zebbern for identifying the need to block
core.fsmonitor.
Thanks to @kodareef5 for identifying the need to blockGIT_CONFIG_COUNTenvironment variables and--template/mergerelated config.
Patch Changes
@simple-git/args-pathspec@1.0.3
Patch Changes
- 675570a: Update devDependencies