Skip to content

Latest commit

 

History

History
1093 lines (586 loc) · 48.1 KB

CHANGELOG.md

File metadata and controls

1093 lines (586 loc) · 48.1 KB

Changelog

All notable changes to src-cli are documented in this file.

Unreleased

5.11.1

  • Update x/net to fix CVE-2024-45338

5.11.0

  • Update x/crypto to fix reported CVE-2024-45337

5.10.0

  • cody gateway benchmark changes
  • fix local builds for non sourcegraph team 1121

5.9.1

  • Update SBOM output file extension from .json to .cdx.json #1123
  • Improve SBOM compatibility with scanning tools #1123

5.9.0

5.8.2

Added

  • Support HTTP(S), SOCKS5, and UNIX Domain Socket proxies via SRC_PROXY environment variable. #1120

Fixed

  • Fixed a compatibility issue that prevented src sbom fetch from fetching some SBOMs #1119

5.8.1

Fixed

  • Fixed an issue preventing some commands from executing correctly when no arguments are passed #1117

5.8.0

Added

  • SBOM support: Software Bill of Materials (SBOMs) can now be fetched for Sourcegraph releases after 5.8.0 using src sbom fetch -v <release>. #1115

Changed

  • Update Go to 1.22.8

5.5.0

Added

Changed

Fixed

  • validate kube: connections check removed.
  • validate kube: exits non-zero when there are no pods or services in the target namespace.

Removed

5.4.0

Added

Changed

  • Improved error message when src code-intel upload runs into an authorization error. Sourcegraph versions after 5.4.0 require an access token to be passed via the SRC_ACCESS_TOKEN environment variable for SCIP uploads. #1079
  • Improved error message when src validate runs into a connection error. #1081

Fixed

5.3.0

Added

Changed

Fixed

  • Updated dependencies to address CVE-2023-39325 and GHSA-m425-mq94-257g

Removed

5.2.1

Fixed

  • The fork attribute in changesetTemplate is now acknowleged when creating a batch change via src-cli. #58156

5.2.0

Added

  • Added flag to configure the concurrency of uploading multipart code-intel indexes, for when limited upload bandwidth causes individual parts to timeout. #1023

5.1.2

Changed

  • Replace x11 clipboard library with attoto/clipboard to support more platforms. #1022

Fixed

  • The temporary docker volume created during workspace preparation is now cleaned up when failure occurs. #1021.

5.1.1

Fixed

  • Fixed src snapshot validate. #1010
  • Fixed src code-intel upload not respecting -insecure-skip-verify. #1012

5.1.0

Added

  • src validate install can check executor connections #974
  • src validate install can send test SMTP message #973
  • src repos {add|update|delete}-metadata -repo-name flag support #977

Changed

  • Renamed src repo {add|update|delete}-kvp to repo {add|update|delete}-metadata #972

5.0.3

Fixed

  • Fixed src admin create returning token to stderr instead of stdout. 963
  • Fixed src validate install failure with Sourcegraph v5.0.0. 964

5.0.2

Added

  • src admin create has been added to setup initial admin accounts on new Sourcegraph deployments. 957

Fixed

  • Fixed src validate install requiring SRC_GITHUB_TOKEN in all cases. 958

5.0.1

Fixed

  • Fixed failed to check version returned by Sourcegraph: Invalid Semantic Version error in Batch Changes when running against an insiders version of Sourcegraph.

5.0.0

Added

  • src team (experimental) has been added to manage teams. #922
  • src codeowners (experimental) has been added to manage manually ingested CODEOWNERS. #943

4.5.0

No noteworthy changes, mechanical release to match Sourcegraph release.

4.4.2

Fixed

  • src codeintel upload will no longer overwrite the entire route supplied via -upload-route if SCIP data is detected. #934

4.4.1

Added

  • src codeintel upload will now upload SCIP indexes (over LSIF indexes) when the target instance supports it. #897

  • src validate kube adds support for validating Sourcegraph deployments on Kubernetes. Validations include Pods, Services, PVCs, and network connectivity. #926

4.4.0

Added

  • src validate has an added check to determine if an instance is able to create a basic code insight. #912
  • Add visual feedback to src validate install CLI #921
  • Add insight cleanup as per #912

Changed

  • Renamed src users clean command to src users prune #901
  • Failed code-intel uploads now print every error encountered while retrying instead of only the error encountered in the final retry attempt. #46281
  • src validate has been changed to srv validate install subcommand #921
  • Move GitHub token for srv validate to ENV var #921

Fixed

  • Fix network timeout in src users clean occuring in instances with many users #901
  • Aligned parsing of spec file parameter of src batch repos with other commands. #919
  • Remove empty log outputs during batch spec execution. #923

Removed

  • Removed create first admin feature from src validate #921

4.3.0

Added

  • Batch Changes: Watchdog that checks for docker responsiveness while running commands has been added. #898

4.2.1

Added

  • Batch specs being run locally with src batch preview or src batch apply can now be run with the -run-as-root flag, which will run all step containers as root instead of the default user for the image. This is off by default. #886
  • An experimental set of src snapshot commands for generating and sharing snapshots of Sourcegraph instances, as well as testing Sourcegraph instances restored from snapshots. #888, #889, #890

Changed

  • Batch specs being run from the server using this version of src-cli now run all step containers as root, rather than as the default user for the image. #886

Fixed

  • Batch changes: Git patches are now binary encoded instead of UTF-8 over the wire, fixing support for non-UTF-8 files. #887

4.2.0

No noteworthy changes, mechanical release to match Sourcegraph release.

4.1.1

Added

  • Mounted files are now uploaded to the Sourcegraph instance when running src batch preview and src batch apply. #861

Changed

  • Improved output for failing docker pulls in batch change execution. #880

4.1.0

Changed

  • All current and future versions of src-cli from version 3.43.2 and up will now be available for installation via Homebrew in addition to the latest version. A specific version can be installed with the command brew install sourcegraph/src-cli/[email protected]. #864

4.0.1

Added

  • Mounting files now works when running batch changes server side. #816

4.0.0

Fixed

  • Fixed a performance issue when serving git repos where it would take an exponentially large amount of time to list the repos. #810
  • Fixed Bare git repo support when serving git repos. #810

Removed

  • Removed git sub-repo support when serving git repos as it introduced a huge performance hit. #810

3.43.2

Added

  • src users cleanup has been added. #826

3.43.1

Changed

  • src extensions subcommands are now deprecated, and will be removed in Sourcegraph 4.0.

3.43.0

Changed

  • src code-intel upload now includes an additional header for efficiently tracking the uncompressed size of uploads in the backend. #39690

Fixed

  • The default directory used to mount files into containers will be automatically changed to a temporary directory within $HOME if Docker Desktop for Linux is in use. #754
  • src-cli no longer leaves corrupted repo archives behind when interrupted during batch spec execution. #817

3.42.3

Changed

  • IMPORTANT: Searches using the command src search -stream is updated to use a new and better search result schema, improving highlighting and accurate result counts for multiline matches. Please see the new JSON schema for results if you use the src search -stream -json output: #807

Fixed

  • INTERNAL ONLY: Fixed src batch exec not logging errors.

3.42.2

Fixed

  • Fixed an issue where execution would eventually fail with an error when there were unsupported or ignored workspaces found by server-side execution.

3.42.1

Fixed

  • Fixed an issue where no workspaces would be executed on after successful workspace resolution.

3.42.0

Changed

  • Starting with Sourcegraph 3.42, src-cli will be resolving workspaces for Batch Changes server-side which is significantly faster and reduces network utilization.

3.41.1

Added

Changed

  • Some internal changes to src batch exec mode for server-side execution.

Fixed

  • Handle SIGINT interrupt when reading from Stdin. #794

3.41.0

Changed

  • The default parallelism of src batch preview and src batch apply are now based on the number of CPU cores available to Docker, rather than the host system running src. This can be overridden with the -j flag. #786

Fixed

  • The preview link shown when running src batch remote to create a new batch change no longer 404s. sourcegraph/src-cli

3.40.11

Changed

  • Adjusted internal mechanisms used in server-side execution. This has no user-facing impact.

3.40.10

Added

Fixed

  • When a step results in no change, it would fail with exit code 128 when used in caching. #778
  • A bug where previous_step.stdout would not be available for partially cached workspaces. #781

3.40.9

Added

  • A new templating variable, batch_change_link has been added for more control over where the "Created by Sourcegraph batch change ..." message appears in the published changeset description. #491

Fixed

  • Global git email gets inserted as plain text when running src batch new -f <file_name> and doesn't result in a schema validation failure. #773

3.40.8

Fixed

  • Output variables created from batch spec steps will no longer have an extra newline added if the output doesn't end with a newline. sourcegraph/sourcegraph#36562

3.40.5 to 3.40.7

  • No substantive changes; these releases were related solely to improving our release machinery.

3.40.4

Added

  • It's now possible to install src-cli via npm install -g @sourcegraph/src. #760

3.40.3

  • No substantive changes; this release was related solely to improving our release machinery.

3.40.2

Changed

  • Updated to the latest SCIP version, fixing a bug for scip-typescript uploads. sourcegraph/scip#30

3.40.1

Added

  • src code-intel is a new alias for src lsif. #748

Fixed

  • Updated to the latest SCIP version, fixing a bug in the src code-intel upload conversion for "Find implementations". sourcegraph/scip#27

3.40.0

Added

  • New command src debug. #731
  • src lsif upload now supports the -gitlab-token flag. #721
  • Batch Changes can be applied to Bitbucket Cloud when src is used with Sourcegraph 3.40 or later. #725
  • src lsif upload accepts indexes in the SCIP format. #742

Changed

  • src CLI is now built using go 1.18.

3.39.0

Added

  • Added login text to command text menu and ordered alphabetically #713

Fixed

  • src extensions copy now removes the url property from extension manifests that points to the sourcegraph.com extension bundle, enabling use for air-gapped instances.

3.38.0

Changed

  • Batch Changes: Step results are now also cached when the overall execution fails. #709

3.37.0

No noteworthy changes, mechanical release to match Sourcegraph release.

3.36.4

Added

  • A new src batch remote command has been added to run a batch spec on a Sourcegraph instance that has Server Side Batch Changes enabled. #671

Changed

Fixed

  • A bug in 3.36.3 caused src batch apply to no longer accept a file provided with -f. This has been fixed. #695

3.36.3

Changed

  • src batch commands no longer require -f to read from a file. Additionally, running a src batch command that requires a batch spec file without a -f option from the terminal will now generate an error instead of waiting indefinitely for a batch spec on standard input; however, piping in a batch spec will still work as expected. #687
  • Pulling container images now occurs in parallel, with the number of concurrent downloads being controlled by the -j flag. #17577

Fixed

  • src batch [preview|apply] will now check that the target Sourcegraph instance supports batch changes before doing any other work and exit early in the case that it does not.

3.36.2

Changed

  • src validate can now execute default validation checks (add external service, clone repo, search repo, search non-indexed branch of that repo, remove external service) for Sourcegraph instance when no validation file is specified as well as continue to support JSON and YAML file validation files.

Fixed

  • src batch preview and src batch apply could erroneously return exit code 0 and no warning when the execution actually failed.

3.36.1

Changed

  • src exec now allows the files: property. (internal use only)

3.36.0

This version is the same as 3.35.3, just retagged for the upcoming 3.36.0 release of Sourcegraph.

3.35.3

Fixed

  • Certain Batch Changes features that previously would not work on prerelease versions of Sourcegraph will now work as expected again.

3.35.2

Fixed

  • src batch validate and src batch repos now accept -allow-unsupported and -force-override-ignore and don't fail on specs using files anymore.

3.35.1

Changed

  • src validate has been updated to work with Sourcegraph 3.35's changed CSRF behaviour. #673

3.35.0

Added

  • Individual batch changes can publish multiple changesets to the same repository by specifying multiple target branches using the on.branches attribute. #25228

Changed

  • src batch [preview|apply] will now use the faster volume workspace by default for macOS systems using arm64 processors (aka "Apple Silicon")

Fixed

  • Excess newlines in between outputs in logfiles written when --keep-logs is used have been fixed. #665
  • src would sometimes panic when Ctrl-C was pressed while executing batch change steps due to a bug in the library used to render the execution progress bars. This has been fixed. 🤘 #666
  • In batch changes, when using workspaces src would incorrectly treat in not being set as don't match anything. This is fixed and it matches everything like *. #664

3.34.1

Added

  • For internal use only: Allow exec mode to read step cache files from the current working directory.

Fixed

  • For internal use only: Fix an off-by-one error in the JSON log UI.

3.34.0

Added

  • Bare repositories can now be served with src serve-git. Thanks to Andreas Rammhold for the contribution! #639

3.33.8

Fixed

  • For internal use only: Switch to single workspaces only in payload.

3.33.7

Added

  • A -client-only flag has been added to src version. When set, only the local src-cli's version will be printed and no attempt is made to fetch the recommended version from the configured Sourcegraph server.

3.33.6

Added

  • Requests to Sourcegraph will now include the operating system and architecture src is running on by default. To disable this, set the SRC_DISABLE_USER_AGENT_TELEMETRY environment variable to any non-empty string, or provide the -user-agent-telemetry=false flag on the command line. #15769

3.33.5

Fixed

  • src search will not fail anymore on systems where the pager less is not installed. #644

3.33.4

  • For internal use only: always log uploading changesets event.

3.33.3

Fixed

  • Removed debug output that could lead to glitches in the src batch [preview|apply] TUI.

3.33.2

Changed

  • For internal use only: src batch exec does not evaluate importChangesets in batch specs anymore, since that's already done server-side.

3.33.1

Fixed

  • Fixes a nil-panic that could be caused when src batch [preview|apply] would encounter a repository that was currently being cloned or is empty.

3.33.0

Fixed

  • Importing changesets won't fail validation when uploading to Sourcegraph 3.33.

3.32.1

Fixed

  • Fixes an issue where src-cli would panic when importing existing changesets.

3.32.0

Added

  • For internal use only: the src batch exec command executes the provided batch spec in the given workspaces.

Changed

  • For internal use only: when src batch [preview|apply|exec] are executed in -text-only mode, command output on stdout/stderr will be logged in the same message, with each line prefixed accordingly. #619

Fixed

  • src batch repos failed with a template error in src-cli 3.31.1 and 3.32.0. This has been fixed. #625
  • The src campaign and src campaigns commands have been removed in favor of src batch. #626

3.31.1

Changed

  • For internal use only: JSON log UI has been extended.

Fixed

  • src search -stream displayed the number of lines that contain matches instead of the number of matches.
  • For internal use only: the EXECUTING_TASKS JSON log line now always contains an array of tasks instead of possibly having null as the tasks value.
  • src-cli is now built using Go version 1.17.

3.31.0

Changed

  • src batch new now omits the publish flag, if the Sourcegraph instance supports publish from GUI.

3.30.5

Added

  • src batch validate now accepts the standard flags used to control communication with Sourcegraph: -dump-requests, -get-curl, -insecure-skip-verify, and -trace. #577

Fixed

  • src batch validate would fail to validate batch specs that use features that depend on specific versions of Sourcegraph, such as workspaces. This has been fixed. #576

3.30.4

Added

  • Releases are now built for arm64 architectures too.

3.30.3

Fixed

  • For internal use only: -text-only silently ignored an error when trying to print log messages and did not print a EXECUTING_TASKS message.

3.30.2

Changed

  • For internal use only: -text-only now contains detailed information about task execution. #571
  • As part of the above: the TUI of src batch [preview|apply] has been reworked and should now feel snappier.

3.30.1

Fixed

  • The per-step caching of batch spec execution results was broken when re-execution could use the cached results of a step and that step was the only one left to execute. That resulted in empty diffs being uploaded. This is now fixed. #567

3.30.0

Re-release of 3.29.3 for Sourcegraph 3.30.

3.29.3

Fixed

  • count:all was not supported in repository search queries for batch changes. This is now fixed. #566
  • For internal use only: -text-only received a few tiny fixes for pluralisation and missing log messages. #565

3.29.2

Added

  • Starting with Sourcegraph 3.30.0, the published field is optional in batch specs. If omitted, the publication state will be controlled through the Batch Changes UI. #538
  • For internal use only: -text-only flag added to src batch [apply|preview]. #562

3.29.1

Added

  • LSIF uploads now respect the -insecure-skip-verify flag to insecurely (surprise!) skip TLS certificate validation when communicating with Sourcegraph. #559

Fixed

  • Various terminal handling fixes, especially for Batch Changes users with regards to resizing terminals and Windows support. #560

3.29.0

Removed

  • The src repos enable|disable commands were removed as they are no longer supported.

3.28.3

Fixed

  • Cached step results produced by src batch [apply|preview] are now properly cleared when using the -clear-cache command line flag.

3.28.2

Fixed

  • The step-wise caching for src batch [apply|preview] introduced in 3.28.1 could break if a cached diff contained quoted. This fixes the application by disabling any unquoting/expansion.
  • A regression was introduced in 3.28.1 that broke the UI for src batch [apply|preview] and lead to the execution of steps looking like it got stuck in the first repository.

3.28.1

Changed

  • src batch [apply|preview] now cache the results of each step when executing a batch spec. That can make re-execution a lot faster when only a subset of the steps has been changed. #540

Fixed

  • src serve-git can now handle gzip-encoded requests. #547

3.28.0

  • This release is identical to 3.27.1, and is simply a version number bump to correspond with the forthcoming release of Sourcegraph 3.28.

3.27.1

Added

  • Starting with Sourcegraph 3.28.0 batch spec steps can contain an if: <template string> attribute that determines whether the given step will be executed. #520

Fixed

  • When specifying -skip-errors, the batch spec would always be empty. This ix fixed and the intended behavior has been restored. #539

3.27.0

Added

  • Extension publishing will now add a gitHead property to the extension's manifest. #500
  • src batch [apply|preview] now ignore repositories in which a .batchignore file exists. The -force-override-ignore flag can be used to turn that behaviour off. #509
  • src search now supports streaming search. If src search is called with the flag -stream, src-cli will stream back search results as they are found. In conjunction with -stream you can also specify -display <integer> to limit the number of results that will be displayed. For example, use -display 0 if you are interested in the search statistics, such as number of results, but don't need to see the actual matches.

3.26.3

Added

  • Extension publishing will now add a gitHead property to the extension's manifest. #500
  • src batch [apply|preview] now ignore repositories in which a .batchignore file exists. The -force-override-ignore flag can be used to turn that behaviour off. #509

3.26.2

Fixed

  • Publishing of Docker images for src was broken after release 3.24.3. This has been fixed, and sourcegraph/src-cli images are available once again. #501

3.26.1

Fixed

  • Directly applying a batch change with src batch apply against Sourcegraph 3.25 or older would fail in 3.26.0. This has been fixed. #495

3.26.0

Added

  • Two new templating variables have been added: batch_change.name and batch_change.description. #491

Changed

  • Campaigns are now known as Batch Changes! The src campaign set of commands have been renamed to src batch; however, src campaign and src campaigns will be retained as aliases for src batch until the next major version of Sourcegraph. There should be no breaking changes as a result of this change. #489

3.25.3

Fixed

  • The src login command now also properly respects the -insecure-skip-verify flag.

3.25.2

Changed

  • The volume workspace Docker image is now only pulled if the volume workspace mode is in use. #477

Fixed

  • Using volume workspace mode could result in Git errors when used with Docker containers that do not run as root. These have been fixed. #478

3.25.1

Added

  • Added a flag -insecure-skip-verify to disable TLS certificate validation.

Changed

  • Deprecated cache file formats are not read by src campaign [apply|preview] anymore.

3.25.0

Added

  • src users delete now asks for confirmation to delete all users when no user ID is provided. #470

3.24.7

Fixed

  • The homebrew recipe for src-cli contained the wrong binary name.

3.24.6

Fixed

  • Workspaces could sometimes fail with docker bind mount errors, due to a race condition of multiple workspaces accessing the same auxilliary files. #468

3.24.5

Fixed

  • Importing changesets was broken in the previous release and caused a SIGSEGV error.

3.24.4

Added

  • Experimental (requires Sourcegraph 3.25 or later): workspaces in campaign specs is now available to allow users to define multiple workspaces in a single repository. #442 and #462.
  • The changesetTemplate.published field can now also be used to address a specific changeset in a repository by adding @branch-of-changeset at the end of the pattern. See #461 for an example and details.

Fixed

  • When docker becomes unresponsive src campaign [apply|preview] would get stuck and ignore Ctrl-C signals. That is now fixed.
  • The steps.files attributes in campaign specs have been broken since 3.23.2 and now work again.

3.24.3

Fixed

  • 3.24.2 disabled the faster volume workspace on macOS when one or more non-root Docker images was used by a campaign to work around the bug in issue #432. This functionality has now been restored. #434

3.24.2

Fixed

  • Executing campaigns on macOS 11 with Docker 3.1 could fail when using a volume workspace. This has been fixed. #436

3.24.1

Added

  • Internal changes to the src lsif upload command. #430

3.24.0

Added

3.23.3

Added

  • Add verbosity flag to lsif upload action. Supply -trace=1, -trace=2, or -trace=3 to the action to specify verbosity.

3.23.2

Added

  • src campaign [apply|preview] can now make use of Docker volumes, rather than bind-mounting the host filesystem. This is now the default on Intel macOS so long as the Docker images used in the campaign steps run as the same user, as volume mounts have generally better performance there. The optional -workspace flag can be used to override the default. #412

Changed

  • src login now defaults to validating against SRC_ENDPOINT if configured.

Fixed

  • src config now works correctly when provided a subject.

3.23.1

Fixed

  • The src version command didn't send any authentication headers before, which could have failed for some instance configurations. The authentication header is now properly set for the request done in this command. #411

3.23.0

Added

Changed

  • src campaign [apply|preview] now show the current execution progress in numbers next to the progress bar. #396

Fixed

  • Two race conditions in the terminal UI of src campaign [apply|preview] have been fixed. #399
  • A regression caused repositories on unsupported code host to not be skipped by src campaign [apply|preview], regardless of whether -allow-unsupported was set or not. #403
  • Previously src campaign [apply|preview] would crash when executing a campaign spec that contained steps but no changesetTemplate. #406
  • src extensions copy would copy an extension from the wrong Sourcegraph instance. #409

Removed

3.22.4

Added

  • Campaign steps may now include environment variables from outside of the campaign spec using array syntax. #392
  • A new -skip-errors flag has been added to src campaign [apply|preview] to allow users to continue execution of and upload a campaign spec even if execution failed in some repositories. #395

Fixed

  • The evaluation of the repository.branch attribute has been fixed to actually cause the correct version of the repository to be used. #393
  • Normally, when one or more repositories in a campaign generate an empty diff, a changeset spec isn't created. From src-cli 3.21.9 to 3.22.3, inclusive, re-running a campaign would result in an empty changeset spec being created by mistake if the empty changeset spec was in the execution cache, which would result in errors on Sourcegraph when applying the campaign. This has been fixed, and empty changeset specs in the cache are now treated the same way as uncached changeset specs that are empty: they are skipped, and a message is displayed in -v mode indicating the repo that was skipped. #397

3.22.3

Changed

  • src campaign [apply|preview] now prints more detailed information about the diffs produced in each repository when run in verbose mode with -v. #390
  • The dependency go-diff has been upgraded to 0.6.1 to include sourcegraph/go-diff#55.

3.22.2

Fixed

  • If src campaign [validate|apply|preview] was aborted while it was downloading repository archives it could leave behind partial ZIP files that would produce an error on the next run. This is now fixed by deleting partial files on abort. #388
  • A bug in src campaign [apply|preview] that would cause status bars in the TUI to not update has been fixed. #389

3.22.1

Fixed

  • src campaign [validate|apply|preview] now print an error and usage information if a user accidentally provides an additional argument. #384
  • Fix a regression that was introduced by #361 and caused the "Resolving repositories" step of src campaign [apply|preview] to crash when the search query in the campaign spec yielded file matches and repository matches from the same repository.

3.22.0

Fixed

  • Fixed a bug that could cause src campaign [apply|preview] to crash in rare circumstances when executing a campaign spec due to a bug in the logic for the progress bar. #378

3.21.9

Added

  • Commands for campaigns no longer require the -namespace parameter. If omitted, campaigns will use the currently authenticated user as the namespace. #372
  • src campaign [apply|preview] now caches the result of running steps in a repository even if they didn't produce changes.

3.21.8

Fixed

  • src campaign [apply|preview] could fail to parse the produced diff in a repository when git was configured to use a custom diff program. The fix is to ignore any local git configuration when running git commands. #373

3.21.7

Fixed

  • Restored backward compatibility when creating campaigns against Sourcegraph 3.19, provided author details are not provided in the campaign spec. #370

3.21.6

Fixed

  • Campaign steps run in a container that does not run as root could fail on systems that do not map the running user ID to the container, most notably desktop Linux. This has been fixed: temporary files and workspaces mounted into the container now have sufficient permissions to allow the container user to execute the step. #366
  • Executing campaigns on Windows would fail due to obscure --cidfile errors: namely, the temporary cidfile would not be removed before docker run was invoked. This has been fixed. #368
  • Unresponsive containers started by src campaign [apply|preview] can now be killed by hitting Ctrl-C. Previously the signal wasn't properly forwarded to the process in the container. #369

3.21.5

Added

  • EXPERIMENTAL: Templated campaign specs and file mounting. The campaign specs evaluated by src campaign [preview|apply] can now include template variables in steps.run, steps.env, and the new steps.files property, which allows users to create files inside the container in which the step is executed. The feature is marked as EXPERIMENTAL because it might change in the near future until we deem it non-experimental. See #361 for details.

3.21.4

Fixed

  • The src lsif upload command now respects SRC_HEADER_ environment variables for multipart uploads. These environment variables are described here. #360

3.21.3

Changed

  • The progress bar in src campaign [preview|apply] now shows when executing a step failed in a repository by styling the line red and displaying standard error output. #355
  • The src lsif upload command will give more informative output when an unexpected payload (non-JSON or non-unmarshallable) is received from the target endpoint. #359

3.21.2

Fixed

  • The cache dir used by src campaign [preview|apply] is now created before trying to create files in it, fixing a bug where the first run of the command could fail with a "file doesn't exist" error message. #352

3.21.1

Added

  • The published flag in campaign specs may now be an array, which allows only specific changesets within a campaign to be published based on the repository name. #294
  • A new src campaign new command creates a campaign spec YAML file with common values prefilled to make it easier to create a new campaign. #339
  • New experimental command src validate validates a Sourcegraph installation. #200

Changed

  • Error reporting by src campaign [preview|apply] has been improved and now includes more information about which step failed in which repository. #325
  • The default behaviour of src campaigns [preview|apply] has been changed to retain downloaded archives of repositories for better performance across re-runs of the command. To use the old behaviour and delete the archives use the -clean-archives flag. Repository archives are also not stored in the directory for temp data (see -tmp flag) anymore but in the cache directory, which can be configured with the -cache flag. To manually delete archives between runs, delete the *.zip files in the -cache directory (see src campaigns -help for its default location).
  • src campaign [preview|apply] now check whether git and docker are available before trying to execute a campaign spec's steps. #326
  • The progress bar displayed by src campaign [preview|apply] has been extended by status bars that show which steps are currently being executed for each repository. #338
  • src campaign [preview|apply] now shows a warning when no changeset specs have been created.
  • Requests sent to Sourcegraph by the src campaign commands now use gzip compression for the body when talking to Sourcegraph 3.21.0 and later. #336 and #343

Fixed

  • Log files created by src campaigns [preview|apply] are deleted again after successful execution. This was a regression and is not new behaviour. If steps failed to execute or the -keep-logs flag is set the log files are not cleaned up.
  • src campaign [preview|apply] now correctly handle the interrupt signal (emitted in a terminal with Ctrl-C) and abort execution of campaign steps, cleaning up running Docker containers.

3.21.0

Added

  • The new src login subcommand helps you authenticate src to access your Sourcegraph instance with your user credentials. #317

3.20.0

Added

  • Campaigns specs now include an optional author property. (If not included, src campaigns generates default values for author name and email.) src campaigns now includes the name and email in all changeset specs that it generates.
  • The campaigns temp directory can now be overwritten by using the -tmp flag with src campaigns [apply|preview] or by setting SRC_CAMPAIGNS_TMP_DIR. The directory is used to, for example, store log files and unzipped repository archives when executing campaign specs.

Changed

  • Repositories without a default branch are skipped when applying/previewing a campaign spec. #312
  • Log files produced when applying/previewing a campaign spec now have the .log file extension for easier opening. #315
  • Campaign specs that apply to unsupported repositories will no longer generate an error. Instead, those repositories will be skipped by default and the campaign will be applied to the supported repositories only. #314

Fixed

  • Empty changeset specs without a diff are no longer uploaded as part of a campaign spec. #313

3.19.0

Changed

  • The default branch for the src-cli project has been changed to main. #262

Fixed

  • src campaigns output has been improved in the Windows console. #274
  • src campaigns will no longer generate warnings if user.name or user.email have not been set in the global Git configuration. #277

3.18.0

Added

  • Add -dump-requests as an option to all commands that interact with the Sourcegraph API. #266

Changed

3.17.1

Added

  • Add -upload-route to the lsif upload command.

3.17.0

Added

  • New command src serve-git which can serve local repositories for Sourcegraph to clone. This was previously in a command called src-expose. See serving local repositories in our documentation to find out more. #12363
  • When used with Sourcegraph 3.18 or later, campaigns can now be created on GitLab. #231

3.16.1

Fixed

  • Fix inferred root for lsif upload command. #248

Removed

  • Removed clone-in-progress flag. #246

3.16

Added

  • Add --no-progress flag to the lsif upload command to disable verbose output in non-TTY environments.
  • SRC_HEADER_AUTHORIZATION="Bearer $(...)" is now supported for authenticating src with custom auth proxies. See auth proxy configuration docs for more information. #239
  • Pull missing docker images automatically. #191
  • Searches that result in errors will now display any alerts returned by Sourcegraph, including suggestions for how the search could be corrected. #221

Changed

  • The terminal UI has been replaced by the logger-based UI that was previously only visible in verbose-mode (-v). #228
  • Deprecated the -endpoint flag. Instead, use the SRC_ENDPOINT environment variable. #235