Skip to content

Commit 94231e6

Browse files
authored
Merge pull request #35 from shubham-stepsecurity/sm/update
feat: default quiet=false, raise S3 upload timeout to 10m, gofmt cleanup
2 parents 3d8003c + 3896161 commit 94231e6

11 files changed

Lines changed: 34 additions & 32 deletions

File tree

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,11 @@ See [VERSIONING.md](VERSIONING.md) for why the version starts at 1.8.1.
1616
- **`--include-bundled-plugins` flag**: Bundled/platform plugins (e.g., Eclipse's 500+ OSGi bundles) are now filtered out by default to reduce noise and payload size (~124KB → ~21KB). Use the flag to include them.
1717
- **Sigstore signing retry logic**: Release workflow retries artifact signing with Sigstore on transient failures.
1818

19+
### Changed
20+
21+
- **Quiet mode now defaults to `false`**: Progress output is shown by default in community mode, matching the behavior already documented in the README. `configure` prompt and `configure show` now display `false` when the value is unset.
22+
- **S3 telemetry upload timeout increased from 60 seconds to 10 minutes**: Large scan payloads on slower networks were exhausting the previous 60 s budget and forcing the retry loop to redo the entire upload.
23+
1924
## [1.10.1] - 2026-04-21
2025

2126
### Added

cmd/stepsecurity-dev-machine-guard/main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ func main() {
5656
exec := executor.NewReal()
5757

5858
// Quiet resolution: config is the base, CLI overrides.
59-
quiet := true
59+
quiet := false
6060
if config.Quiet != nil {
6161
quiet = *config.Quiet
6262
}

internal/cli/cli.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,17 @@ import (
1111

1212
// Config holds all parsed CLI flags.
1313
type Config struct {
14-
Command string // "", "install", "uninstall", "send-telemetry", "configure", "configure show"
15-
OutputFormat string // "pretty", "json", "html"
16-
OutputFormatSet bool // true if --pretty/--json/--html was explicitly passed (not persisted)
17-
HTMLOutputFile string // set by --html (not persisted)
18-
ColorMode string // "auto", "always", "never"
19-
Verbose bool // --verbose
20-
EnableNPMScan *bool // nil=auto, true/false=explicit
21-
EnableBrewScan *bool // nil=auto, true/false=explicit
22-
EnablePythonScan *bool // nil=auto, true/false=explicit
23-
IncludeBundledPlugins bool // --include-bundled-plugins: include bundled/platform plugins in output
24-
SearchDirs []string // defaults to ["$HOME"]
14+
Command string // "", "install", "uninstall", "send-telemetry", "configure", "configure show"
15+
OutputFormat string // "pretty", "json", "html"
16+
OutputFormatSet bool // true if --pretty/--json/--html was explicitly passed (not persisted)
17+
HTMLOutputFile string // set by --html (not persisted)
18+
ColorMode string // "auto", "always", "never"
19+
Verbose bool // --verbose
20+
EnableNPMScan *bool // nil=auto, true/false=explicit
21+
EnableBrewScan *bool // nil=auto, true/false=explicit
22+
EnablePythonScan *bool // nil=auto, true/false=explicit
23+
IncludeBundledPlugins bool // --include-bundled-plugins: include bundled/platform plugins in output
24+
SearchDirs []string // defaults to ["$HOME"]
2525
}
2626

2727
// Parse parses CLI arguments and returns a Config.

internal/config/config.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -240,9 +240,9 @@ func RunConfigure() error {
240240
}
241241

242242
// Quiet mode
243-
currentQuiet := "true"
244-
if existing.Quiet != nil && !*existing.Quiet {
245-
currentQuiet = "false"
243+
currentQuiet := "false"
244+
if existing.Quiet != nil && *existing.Quiet {
245+
currentQuiet = "true"
246246
}
247247
quietInput := promptValue(reader, "Quiet Mode (true/false)", currentQuiet)
248248
switch strings.ToLower(quietInput) {
@@ -410,10 +410,10 @@ func displayOutputFormat(v string) string {
410410
}
411411

412412
func displayQuiet(v *bool) string {
413-
if v != nil && !*v {
414-
return "false"
413+
if v != nil && *v {
414+
return "true"
415415
}
416-
return "true"
416+
return "false"
417417
}
418418

419419
func isPlaceholder(v string) bool {

internal/detector/eclipse_plugins.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -597,4 +597,3 @@ func parseEclipsePluginName(name string) *model.Extension {
597597
IDEType: "eclipse",
598598
}
599599
}
600-

internal/detector/eclipse_plugins_test.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,4 +290,3 @@ func TestFilterUserInstalledExtensions(t *testing.T) {
290290
}
291291
}
292292
}
293-

internal/detector/ide.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ var ideDefinitions = []ideSpec{
109109
WinPaths: []string{`%PROGRAMFILES%\JetBrains\GoLand *`},
110110
},
111111
{
112-
AppName: "Rider", IDEType: "rider", Vendor: "JetBrains",
112+
AppName: "Rider", IDEType: "rider", Vendor: "JetBrains",
113113
AppPath: "/Applications/Rider.app",
114114
WinPaths: []string{`%PROGRAMFILES%\JetBrains\JetBrains Rider *`},
115115
RegistryName: "JetBrains Rider",

internal/detector/jetbrains_test.go

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -409,20 +409,22 @@ type mockDirEntry struct {
409409
isDir bool
410410
}
411411

412-
func (e *mockDirEntry) Name() string { return e.name }
413-
func (e *mockDirEntry) IsDir() bool { return e.isDir }
414-
func (e *mockDirEntry) Type() os.FileMode { return 0 }
415-
func (e *mockDirEntry) Info() (os.FileInfo, error) { return &testFileInfo{name: e.name, dir: e.isDir}, nil }
412+
func (e *mockDirEntry) Name() string { return e.name }
413+
func (e *mockDirEntry) IsDir() bool { return e.isDir }
414+
func (e *mockDirEntry) Type() os.FileMode { return 0 }
415+
func (e *mockDirEntry) Info() (os.FileInfo, error) {
416+
return &testFileInfo{name: e.name, dir: e.isDir}, nil
417+
}
416418

417419
// testFileInfo implements os.FileInfo for testing.
418420
type testFileInfo struct {
419421
name string
420422
dir bool
421423
}
422424

423-
func (fi *testFileInfo) Name() string { return fi.name }
424-
func (fi *testFileInfo) Size() int64 { return 0 }
425-
func (fi *testFileInfo) IsDir() bool { return fi.dir }
425+
func (fi *testFileInfo) Name() string { return fi.name }
426+
func (fi *testFileInfo) Size() int64 { return 0 }
427+
func (fi *testFileInfo) IsDir() bool { return fi.dir }
426428
func (fi *testFileInfo) ModTime() time.Time { return time.Time{} }
427429
func (fi *testFileInfo) Mode() os.FileMode { return 0o644 }
428430
func (fi *testFileInfo) Sys() any { return nil }

internal/detector/nodescan.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ func (s *NodeScanner) runInDir(ctx context.Context, dir string, timeout time.Dur
9090
return s.exec.RunInDir(ctx, dir, timeout, name, args...)
9191
}
9292

93-
9493
// checkPath checks if a binary is available, using the logged-in user's PATH when running as root.
9594
func (s *NodeScanner) checkPath(ctx context.Context, name string) error {
9695
if s.shouldRunAsUser() {

internal/scan/scanner.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,4 +261,3 @@ func mcpConfigsToCommunity(configs []model.MCPConfig) []model.MCPConfig {
261261
}
262262
return configs
263263
}
264-

0 commit comments

Comments
 (0)