2024-09-24
- Fix: Fix wrong end index used in slicing
CommandFactory
args.
2024-09-21
- New: Add
GradleTestFixturesMigratorCli
viamigrate-gradle-test-fixtures
command. - New: Add
multipleSet()
clikt extension. - Breaking change: Update to Clikt
5.0.0
. - Update to Kotlin
2.0.20
. - Update to Bugsnag
3.7.1
. - Update to Okio
3.9.1
. - Update to kotlinx-serialization
1.7.3
. - Update to xmlutil
0.90.1
. - Update to MoshiX
0.28.0
. - Update to slf4j-nop
2.0.16
.
2024-01-23
- Fix: Handle sarif reports with no results in sarif merging.
2024-01-09
- Bug Fix: Use
discinctBy
when deduping sarif results
2024-01-08
- Enhancement: Mark a number of buildkite APIs as
Keyable
if they can have akey: String
property. - Update Clikt to
4.2.2
. - Update to Kotlin
1.9.22
.
2023-12-18
- New: Add Buildkite Pipeline bindings under the
slack.cli.buildkite
package. Note this package is subject to API changes as we iterate on it. This is for use with generating dynamic buildkite pipelines. - Enhancement: Introduce more modern
Path
walking APIs withFileVisitorBuilder.skipBuildAndCacheDirs()
,Path.walkEachFile()
,Sequence<Path>.filterByExtension(extension: String)
, andSequence<Path>.filterByName(name: String)
extensions. - Update xmlutil to
0.86.3
. - Update okio to
3.7.0
.
2023-12-05
- Enhancement: Validate all directories with build files match settings files in
GradleSettingsVerifierCli
. - Enhancement: Add
ApplyBaselinesToSarifs
CLI for updating or merging sarif results based on a given baseline. This has two modes (see their docs) for use with either a baseline of suppressed issues (i.e. detekt/lint baseline files) or a baseline of the base branch that it's updating from. This will mark the final output withbaselineData
andsuppressions
accordingly. - Enhancement: Mark merged lint baselines as suppressed.
- Enhancement: Add a
level
option to lint baseline merging.
2023-12-01
- Update kotlinx-serialization to
1.6.2
. - Add files arg + use path APIs in sarif merging. This allows specifying a variable number of extra files args for manual merging of files.
- Introduce
CommandFactory
to aggregate commands. You can invoke therunCommand()
function with keys to known CLIs (check their sources for keys or run with no args to print the help details). This makes it easier to invoke any CLI from a single entrypoint. - Add
messageTemplate
andlevel
options to lint baseline merger. - List issues individually in lint baseline merges + preserve messages.
2023-11-27
- New: Add
GradleSettingsVerifierCli
for verifying simple settings.gradle files. - Update to Kotlin
1.9.21
. - Update to MoshiX
0.25.1
.
2023-11-22
- New: Add
GradleProjectFlattenerCli
for flattening nested gradle projects to top-level projects. - Update coroutines to
1.6.1
.
2023-11-09
- Fix: Strip leading
file://
path in sarif merging when--remove-uri-prefixes
is specified. - Enhancement: Allow graceful handling of no sarif files when merging via
--allow-empty
flag. - Update to JVM target 17.
- Update to Kotlin
1.9.20
. - Update to MoshiX
0.25.0
.
2023-11-02
- New: Upstream
MergeSarifReports
, a CLI for merging (lint and detekt) sarif reports from project build directories. We use this in our CI to merge all the reports from all the modules into one report. - Fix: Only use relative paths in lint baseline merged sarifs.
2023-10-31
- Add
rules
to lint baseline merging output + pretty print.
2023-10-30
- Add new
LintBaselineMergerCli
for merging lint baseline files into a sarif output file. - Improve logging in
ResultProcessor
in ShellSentry. - Update OkHttp to
4.12.0
. - Update Bugsnag to
3.7.1
. - Update Clikt to
4.2.1
. - Update Okio to
3.6.0
. - Update MoshiX to
0.24.3
.
2023-08-24
- Fix
ShellSentry.create(argv)
putting the--parse-only
flag in the wrong place.
2023-08-24
- New: Extract
ShellSentry
program and make the CLI just wrap this. - New: Add
ShellSentryExtension
to allow adding custom checkers (i.e. non-static/not from config.json) toShellSentry
. See the doc on its interface for more details.
2023-08-10
- New: Add
Issue.matching_patterns
to ShellSentry's config. This allows you to specify a list of regexs to match again instead of just text. - Enhancement: Support multiple matching text inputs to ShellSentry's config. This is a JSON-source-compatible change, single-entry inputs will be wrapped in a list.
These technically introduce breaking changes to Issue
, but we are currently considering this class to be read-only.
2023-08-09
- Update to Clikt 4.1.0. This incurs some breaking API changes, this updates a major version to match.
- Rename "ProcessedExec*" APIs to "ShellSentry*", as this is the name we've decided to give it.
- Update Kotlin to
1.9.0
. - Update Okio to
3.5.0
.
2023-07-17
- Fix retried exit codes not being propagated.
2023-06-27
- Lowered jvmTarget to 11.
2023-06-23
- Fix
ProcessedExecCli
not reading stderr correctly. - Add more logging controls to processed exec, namely via
--debug
and--verbose
.
2023-06-15
Happy new year!
- Introduce new
ProcessedExecCli
for post-processing and retrying commands. - Change
projectDirOption
to usePath
instead ofFile
. - Update all dependencies (Kotlin 1.8.22, Clikt 3.5.2, Okio 3.3.0).
2022-04-04
- Fix: Rosetta checks incorrectly assumed
0
responses on x86 when it's actually going to be an empty string.
2022-03-31
- New:
AppleSiliconCompat
utilities for Apple Silicon devices, namely to check if a process is running under Rosetta. - New:
Toml
utilities.
2022-03-03
Initial release