Breaking changes
The mod functionality, which was previously deprecated and moved to Powerpipe, has been removed in this version.
- Removed the
check
,dashboard
,mod
, andvariable
commands. (#4413) - Removed support for running named queries. (#4416)
- Removed the
watch
andmod-location
CLI args from thequery
command. (#4417) - Removed the
dashboard
,dashboard-listen
, anddashboard-port
CLI args from theservice
command. (#4418) - Removed the
STEAMPIPE_MOD_LOCATION
andSTEAMPIPE_INTROSPECTION
env vars. (#4419) - Removed support for deprecated
STEAMPIPE_CLOUD_HOST
andSTEAMPIPE_CLOUD_TOKEN
env vars. (#4420) - Removed the
watch
,introspection
, andmod-location
workspace profile args. (#4421) - Removed the
check
anddashboard
options from workspace profiles. (#4422) - Removed the
dashboard
option from global options (default.spc
). (#4423)
Bug fixes
- Fix incorrect versioning in v0.24.1. (#4388)
Bug fixes
- Fix issue where steampipe failed to download embedded PostgreSQL database and FDW during installation. (#4382)
Whats new
- Add ability to configure plugin startup timeout. (#4320)
- Install FDW and embedded postgres database from GHCR instead of GCP. (#4344)
- Update query JSON output format to add a
columns
property containing the column information. This allows us to handle duplicate column names by appending a unique suffix to duplicate column name (#4317)
Existing query JSON format:
$ steampipe query "select account_id, arn from aws_account" --output json
{
"rows": [
{
"account_id": "123456789012",
"arn": "arn:aws:::123456789012"
}
]
}
New query JSON format(with new columns
property):
$ steampipe query "select account_id, arn from aws_account" --output json
{
"columns": [
{
"name": "account_id",
"data_type": "text"
},
{
"name": "arn",
"data_type": "text"
}
],
"rows": [
{
"account_id": "123456789012",
"arn": "arn:aws:::123456789012"
}
]
}
Bug fixes
- Fix issue where plugin manager was incorrectly reporting a shutdown. (#4365)
Bug fixes
- Fix issue where refresh connections was not creating a new connection if it was not in the search path. (#4353)
Whats new
- Compiled with Go 1.22. (#4340)
Bug fixes
- Fix query error message to not include internal function names. (#4335)
Bug fixes
- When installing plugins, do not use local docker config for credential store if the plugin is being installed from GHCR, enabling installation from GHCR to work even if docker-credential-desktop not in PATH. (#4323)
- Fix issue where steampipe returned 0 exit code even if failed to export snapshot. (#4276)
- Query command should support legacy 'true' and 'false' for --timing flag. (#4282)
- Fix issue where sps output is not working. (#4297)
- When loading creating connection plugins, return connections successfully created even if some connections fail, due to config not being available. (#474)
- Show scan info in query JSON output only when timing config is verbose. (#4292)
Bug fixes
- Update FDW to 1.11.2 to remove unnecessary NOTICE level log messages. (#469)
Bug fixes
- Update FDW to 1.11.1 to fix bad Linux Arm build. (#4271)
- Update hydrates count in timing verbose mode to use integer formatting(e.g. 119,138). (#4270)
Whats new
- Add support for connection key columns. (#768)
A ConnectionKeyColumn
defines a column that has a value which maps 1-1 to a Steampipe connection
and so can be used to filter connections when executing an aggregator query.
These columns are treated as (optional) KeyColumns. This means they are taken into account in the query planning.
- Add support for pushing down sort order. (#447)
- Update limit pushdown logic to push down the limit if all sort clauses are pushed down. (#458)
- Add support for
WHERE column=val1 OR column=val2 OR column=val3...
- Adds support for verbose timing information. (#4244)
- Migrate from plugin registry from GCP to GHCR. (#4232)
Bug fixes
Breaking changes
- JSON query output has changed from a JSON array of result rows to a JSON object with a
rows
property containing the result rows, and (optionally) a metadata property containing timing information.
Bug fixes
- Fix issue where daily update check message showed a when there was no message to show. (#4206)
- Fix issue where local plugins are not being loaded. (#4196)
- Re-add support for 'implicit' local plugins (i.e. the plugin binary exists but there is no entry in the
versions.json
). (#4223) - Add support for nested dashboards. (#4208)
Whats new
- Improve startup performance with high plugin count - parallelize plugin startup. (#4183)
- Add database SSL password support for encrypted private key in order to handle your own certificates. (#4149)
Bug fixes
- Fix issue where plugin list cannot re-create top-level versions.json file if the file has been corrupted or empty. (#4191)
Steampipe unbundled, introducing Powerpipe
Powerpipe is now the recommended way to run dashboards and benchmarks!
Mods still work as normal in Steampipe for now, but they are deprecated and will be removed in a future release:
Whats new
- Added
version
column tosteampipe_plugin
table. (#4141) - Direct all errors and warnings to standard error (stderr). (4162)
Bug fixes
- Fixed the issue where
search_path_prefix
set indatabase options
does not alter the search path. (#4160) - Fix issue where
asff
output was always missing the first row. (#4157)
Deprecations and migrations
- Steampipe mods and dashboards are now separately available in Powerpipe, a new open-source project. The steampipe mod, check and dashboard commands have been deprecated and will be removed in a future version. Migration guide.
- Deprecated
cloud-host
andcloud-token
CLI args, and replaced them withpipes-host
andpipes-token
respectively. (#4137) - Deprecated
STEAMPIPE_CLOUD_HOST
andSTEAMPIPE_CLOUD_TOKEN
env vars, replaced withPIPES_HOST
andPIPES_TOKEN
respectively. (#4137) - Deprecated
cloud_host
andcloud_token
workspace args, replaced withpipes_host
andpipes_token
respectively. (#4137) - Removed support for deprecated
terminal options
. (#3751) - Removed support for deprecated
max_parallel
property ingeneral options
. (#4132) - Removed support for deprecated
connection options
. (#4131) - Removed deprecated
version
property from the modrequire
block. (#3750)
Bug fixes
- Fix growing memory usage following file watching events when running dashboard server. (#4150)
Bug fixes
- Fix variables not being reloaded after file watch event. (#4123)
- Fix modfile being left invalid after mod uninstall. Fix variables not being reloaded after file watch event. (#4124)
Bug fixes
- Fix
HomeDirectoryModfileCheck
returning false positive, causing errors when executing steampipe out of the home directory. (#4118)
Bug fixes
- Fix dependency variable validation - was failing if dependency variable value was set in the vars file. (#4110)
- Fix UI freeze when prompting for workspace variables. (#4105)
Bug fixes
- Fixed schema clone function failing if table has an LTREE column. (#4079)
- Maintain the order of execution when running multiple queries in batch mode. (#3728)
- Fixes issue where using any meta-command would load connection state even if not required. (#3614)
- Fixes issue where plugin version backfilling would write versions.json to cwd if the plugin folder is not found. (#4073)
- Simplifies and fix available port check. (#4030)
Whats new
- Allow using pprof on FDW when STEAMPIPE_FDW_PPROF environment variable is set. (#368)
Bug fixes
- Set connection state to error if plugin load fails. (#4043)
- Fixes incorrect row count in timing output for aggregator connections. (#402)
- OpenTelemetry metric names must only contain [A-Za-z0-9_.-]. (#369)
- Maintain the order of execution when running multiple queries in batch mode. (#3728)
Whats new
- Add
steampipe_plugin_column
introspection table to thesteampipe_internal
schema. (#4003)
Bug fixes
- Fixes issue where a query would return 'null' for an empty result set when output is set to json. (#3955)
- Fix custom registries bugs
- Clean up apt temporary files in Dockerfile
Bug fixes
- Added support for the missing
mod-location
flag to thesteampipe variable list
command. (#3942)
Whats new?
- Define rate and concurrency limits for plugin execution. (#3746)
- Define multiple instances of a plugin version using a
plugin
connection config block. (#3807) - The maximum memory used by plugins and the CLI can now be specified either in
plugin
instance definitions or the newplugin
options block. (#3807) - New introspection tables
steampipe_plugin
andsteampipe_plugin_limiter
containing all configured plugin instances and limiters. (#3746) - New introspection table
steampipe_server_settings
populated with server settings data during service startup. (#3462) - Running
plugin install
with no arguments installs all referenced plugins. (#3451) - New
--output
flag forplugin list
cmd allows selection betweenjson
andtable
output. (#3368) - Each plugin directory ncontains a
version.json
which can be used to recompose the global pluginversions.json
if it is missing or corrupt. (#3492) - Typing
.cache
in interactive prompt shows the current value of cache. (#2439) - Steampipe commands bypass plugin requirement check if installed plugin is locally built. (#3643)
- New
skip-config
flag disables writing of default plugin config during plugin installation. (#3531, #2206) - Logs are now written to file instead of console. (#2916)
- When plugin startup fails, report useful message in the CLI. (#3732)
- Users are warned to not have mod.sp files in home directory. (#2321)
- Updated messaging when service is started on an unavailable port. (#623)
- Log files are rotated if the process is active across date boundaries. (#125, #3825)
- Listen hosts may be selected when starting steampipe service. (#3505)
- Initialisation behaviour for the sample options has been changed: always copy a sample file (
default.spc.sample
), but only overwrite thedefault.spc
file with the sample content if the existing file has not been modified. (#3431) - Validation for the workspace profile
cache
settings. (#3646) - Support OCI registries requiring authentication. (#2819)
- Compiled with Go 1.21. (#3763)
Bug fixes
- Plugin manager shutdown stalling intermittently due to deadlocks. (#3818)
- Temporary tables dropped in interactive prompt when pool connections recycled. (#3781,#3543)
service start
was not listening onnetwork
by default. (#3593)- Multi line logs from plugins not rendered correctly in plugin logs. (#3678)
.inspect
panicking for long column descriptions. (#3709)- Interactive prompt crashing when there is a code panic. (#3713)
- Incorrect zsh completion instructions.
- Steampipe should not create export files for cancelled control runs. (#3578)
BuildFullResourceName
not validating non empty arguments. (#3601)- Spinner not showing when exporting check results. (#3577)
stdin
was consumed byquery
command even if there are arguments. (#1985)- When exporting multiple benchmarks, results now merged the results into a single export. (#2380)
- Raise warning when pseudo-resources are ignored because of named HCL resources. (#1328)
- Database reinstalled unnecessarily if any FDW files were missing. (#2040)
- Improved error message when steampipe fails to parse a mod definition file because mod block does not exist. (#1198)
- Only
install-dir
andworkspace
flags should be global flags. All other flags should only apply to specific command. (#3542) - Passing an empty list for list variables was not working. (#2094)
- Show deprecation warning for
version
field inrequire
block of mod definition. - Temporary directories were not always being cleaned up after plugin commands.
plugin list
returned nothing if no plugins were installed. (#3927)
Deprecations and migrations
- Table
steampipe_connection_state
renamed tosteampipe_connection
- Removed migration and backward compatibility of data files from v0.13.0. (#3517)
- Removed deprecated
workspace-chdir
flag. (#3925) - Migrated from
cloud.steampipe.io
topipes.turbot.com
. (#3724) - Removed support for plugins which do not support multiple connections (i.e. using SDK < v4.0.0).
- Deprecated
terminal options
.
Whats new?
- Updated help outputs for steampipe mod commands. (#1817)
Bug fixes
- Fixes issue where expired root and server SSL certificates were not getting rotated. (#3596)
- Fixes issue where steampipe was returning an
index out of range
error when thechildren
property of abenchmark
contains an invalid name. (#3563) - Steampipe should not validate locally installed plugins when connecting to remote database. (#3516)
Bug fixes
- Fix validation error for
input
blocks usingbase
inheritance. (#3755) - Fix support for mixed case schema names. (#3753)
- If the SQL file passed as an argument to
steampipe query
does not exist, display thefile does not exist
error. (#1752)
Bug fixes
- Fixes issue where CAPITAL arguments to '.cache' meta command were not getting recognised. (#3670)
- Fixes issue where
port
property in dashboard options was not respected. (#3664) - Fixes issue where using a bad workspace-database with a valid token gives invalid token as the error. (#3610)
- Fixes timing issue where refresh connections was sometimes not run when starting service. (#3734)
- Fixes issue where db connections are not closed after sending postgres notification. (#3744)
Bug fixes
- Fix aggregator connections being dropped intermittently when refreshing connections. (#3664)
- Ensure dynamic aggregator schema is updated if connections are added. (#3645)
Bug fixes
- Fixes issue where setting cache ttl from the CLI results in cache being disabled for that session. (#3639)
Bug fixes
- Fixes issue where aggregator connections are updated every time RefreshConnections runs. (#3582)
- Add
connections
column to steampipe_connection_state table. (#3582) - Fixes issue where exporting check all yields a badly formatted filename. (#3591)
- Fix variable value validation not taking into account command line variable values. (#3606)
Bug fixes
- Fix variable validation (#3546):
- Raise warning or error when setting a value for a variable which is not found or inaccessible (e.g. because it is in a transitive dependency).
- Validate that mod require
args
properties can be resolved.
- Support resolution of variables for transitive dependencies using parent mod
require
blockargs
property. (#3549) steampipe mod update
now updates transitive mods. (#3547)- It is now be possible to set values for variables in the current mod using fully qualified variable names. (#3551)
- Only variables for root mod and top level dependency mods can be set by user. (#3550)
- Avoid orphan plugin processes when running short batch queries. (#3514)
- Delete dynamic schemas before updating them to avoid a timing issue showing incorrect schema. (#3510)
- Fixes issue where blank dimension values are leaving extra spaces in 'table' rendering. (#3474)
- Fixes issue when steampipe fails to startup if plugin version file is blank. (#3518)
- Fixes issue where OS specific metadata directories were being considered as check templates. (#3523)
- Fixes issue where prefixing a 'v' on a version stream during plugin install would come back with 'not found'. (#3513)
- Increase plugin load timeout to 20s. (#3564) Fixes issue where timing is not shown in interactive prompt even if .timing is on. (#3557)
- Fixes issue where 'dot' commands in interactive prompt fail to execute if there's a file/folder by the same name in the working directory. (#3558)
- Fixes issue where 'plugin list' hangs if there are connections with 'import_schema = "disabled"'. (#3561)
Bug fixes
- Set incomplete connections to
Incomplete
before setting ready connections toPending
to avoid ready connections ending upIncomplete
. (#3507)
Bug fixes
- Ensure
Ready
connections are set toPending
state on startup. This makes sure connection changes are reflected in the connection schema if a query is executed soon after startup. (#3483)
Whats new?
- Update refresh connections to execute updates serially by default. (#3498)
Bug fixes
- Fix issue where result counter spinner was not showing up in interactive when timing was enabled. (#3481)
- Fixes issue where dependency mods are installed even if there is an installed mod which satisfies requirement. (#3475)
- Ensure a schema is created for blank aggregators when connections are added. (#3488)
- Fix issue where
steampipe completion
command was creating install directories. (#3485) - Don't use custom theme color
yellow
for severity cards, to avoid clashing with Tailwind's yellow palette. (#3501)
Whats new?
- Re-add support for legacy command-schema. (#3457)
Bug fixes
- Cleanup temp plugin files when killing plugin manager. (#3292)
Bug fixes
-
Optimise connection initialisation for high connection count (#3394,#3267,#3236,#3229,#3413)
- Execute RefreshConnections asyncronously in service startup
- Start executing queries without waiting for connections to load, add smart error handling to wait for required connection
- Optimise autocomplete for high connection count
- Autocomplete and inspect data available before all conections are refreshed
- Add
steampipe_connection_state
table to indicate the loading state of connections - Add support for
import_schema
property in connection config, controlling whether to create a postgres schema for a steampipe connection. Closes #3407 - Optimise schema creation by cloning connection schemas
- Add locking to ensure only a single instance of RefreshConnections runs
- Update refresh connections to write comments for exemplar schemas first, followed by remaining schemas.
-
Update connection and plugin validation during refreshConnections. (#3432,#3402)
- ensure failed connections are set to 'error' in connection state.
- Schema names starting with steampipe_ are to be reserved for steampipe.
- Support mods requiring different versions of the same depdency mod. (#3302)
- Support transitive dependencies referencing variables from different versions of same mod.(#3337)
- Resource references in dependency mods must be fully qualified. (#3335)
- Locals in dependency mods cannot be referenced. (#3336)
- Fix issue where 'mod install' on an existing mod would sometimes corrupt the 'mod.sp' file. (#3376)
- Fix issue where mod installation would fail silently for unmet dependencies in top mod in force mode. (#3358)
- Fix issue where mod list output is not printed in a specific order. (#3349)
- Fix issue where a mod would install even if plugin dependencies are not met. (#3041)
- Fix issue where running mods with unmet dependencies does not raise warnings. (#3324)
- Fix mod commands failing when using a
https
prefix. (#3257) - Fix issue where mod install/update continues installation even with unsatisfied requirements. (#3291)
- Fix nil reference exception when loading a mod using the legacy
requires
property. (#3347)
- Updates in cache configuration to allow disabling of all caching on server. (#3258)
- STEAMPIPE_CACHE environment variable controls both service cache-enabled and client cache-enabled
- service cache enabled is used by the plugin manager to enable/disable caching on the plugins during startup.
- client cache enabled is used to enable/disable the cache on the database session.
- Introduce SQL functions to easily manipulate caching functionality -
meta_cache()
andmeta_cache_ttl()
. (#3442)
What's new?
- Add support for time-series charts. (#1389)
- Updates to workspace profile - add additional properties and command specific options blocks. (#3223)
- Adds a
--progress
flag toplugin install
to disable progress bars. (#2953) - Detect older versions of MacOS and warn that Steampipe does not support them. (#3256)
- Updates the default content written to 'default.spc' and remove deprecated blocks. (#3391)
- Show plugin name with stream (if not latest) in the progress bar during plugin update. (#3241,#3330)
- Replace all '...' with ellipsis … in terminal output. (#3441)
- Add check to the mod init function so users are aware if it's run in the home directory or if there are a large number of non-mod files in the path. (#2562)
- Add query column in introspection tables to populate FullName if a QueryProvider references a named query. (#3161)
- Improve error message when running steampipe check/dashboard outside a mod. (#3215)
Bug fixes
- Fixes issue where not being able to open the browser results in a fatal error during login. (#3437)
- Fixes issue where 'internal' would be added twice in the search_path if one is mentioned in the non default search path. (#3397)
- Set mod name in resource metadata for pseudo-resources. (#3405)
- Fix error message when connecting to steampipe cloud if login token has expired or become corrupted. (#3418)
- Fix
invalid output format
error when running dashboard ifoutput
is set in terminal options. (#3293) - Fixes issue where execution continues even if there's an unexpected error in parsing config. (#3286)
- Fix rendering issues when running .inspect. (#3268)
- Fixes issue where spinner was not showing up in interactive prompt while a query was executing. (#3259)
- Fix crash on shutdown if init not complete. (#3352)
- Fixes issue where workspace introspection option was boolean instead of control/info/none. (#3389)
- Fixes issue where network failures during plugin install was returning 0 exit code. (#3367)
- Ensure successful shutdown after dashboard service start failure. (#3354)
- Ensure plugin-manager command does not execute scheduled tasks - avoid deprecation warnings which make the plugin manager GRPC startup fail. (#3410
Bug fixes
- Fix plugin manager to crash with unhandled signal caused by connection validation warning following a file watcher event. (#3371)
- Fix array bounds error when querying an aggregator with no children. Show useful error instead. (#303)
- Fixes issue where having non graphic code points in output would mess up table output in interactive. (#3205)
What's new?
-
Dashboard snapshot href links now work for external URLs. (#3278)
-
Numeric dashboard benchmark summary card values should render using locale string. (#3299)
-
Improve hover title grammar of critical/high severity dashboard benchmark badges. (#3300)
-
Bug fixes
-
Fix issue where installing transitive mod dependencies leaves the lock file with an entry with an incorrect key. (#3285)
-
Fix duplicate dashboard UI benchmark nodes being rendered for deep benchmark hierarchies with mixture of benchmark and child controls. (#3298)
Bug fixes
- Fix issue where the json output of variable list command was returning wrong values for
value
andvalue_default
fields. (#3265) - Fix dashboard UI crash when select inputs return null labels or values. (#3244)
Bug fixes
- When creating a query snapshot, respect the
snapshot-title
arg when assigning a title to the dashboard. (#3233)
Bug fixes
- Fix
service stop
failing if invoked directly after a schema change notification. (#3206)
What's new?
- Add support for aggregator connections with dynamic tables. (#2886)
- Support updating of dynamic plugin schemas based on file watching events (e.g. a new csv file is created in a watched location) (#2767)
- Make workspace loading asynchronous. (#3123)
- Make database start timeout configurable. (#3038)
- When initialising interactive mode, instead of showing
Initializing...
, show the current status. (#3077) - Show the exported file location when
--progress
flag is enabled. (#2860) - For aggregator connections, add child connection names to connections.json. (#3079)
- Aggregator connection with no child connections should only be a warning - not an error. (#3155)
- Cleanup connection state file to remove legacy properties. (#3086)
- Dashboard server should emit updated dashboard metadata when available dashboards changes. (#3182)
- Update interactive prompt
.inspect
output and autocomplete based on changes to connection config or dynamic schema updates. (#3184)
Bug fixes
- Steampipe config validation failure no longer prevents Steampipe commands from running - instead invalid connections are removed. (#3156)
- Fixes issue where variables list command was not including description in JSON output. (#3114)
- Ensure version display is consistent between startup and
--v
flag. (#3031) - When a plugin fails to load, remove connections for that plugin from the connection state file. (#3124)
- Fix running a single dashboard from the command line failing if the dashboard needs inputs and the dashboard name is not fully qualified. (#3168,#3154)
- Fix workspace load crash for invalid mod definition. (#3174)
- Limit should not be pushed down if there are unconverted restrictions. (#291)
- Dashboard text inputs are not correctly themed in Steampipe Cloud dashboard UI dark mode. (#3181)
- Fix nil reference panic in FDW when a scan fails to start - do not add an iterator to Hub.runningIterators until scan is started successfully. (#298)
- Fix
tuple concurrently updated
error when running multiple instances of steampipe dashboard concurrently. (#3188) - Fix Postgres error "cached plan must not change result type" when dynamic plugin schema changes. (#3185)
Bug fixes
- Fix issue where inspect would not work with table names with a '.' (dot). (#2455)
- Fix issue where autocomplete does not quote table names that need to be quoted. (#3065)
- Fix issue where check csv output was appending an extra line at the end. (#3106)
- Fixes issue where snapshot mode in query leads to duplicate rows in console/file output. (#3112)
Bug fixes
- Fix double counting of control errors in benchmark summary. (#3084)
Bug fixes
- Fix dashboard panel detail crash when viewing data tables with non-string values in text columns. (#3071)
- Fixes issue where steampipe notifies of available update even if plugin is updated. (#2998)
- Fix issue where snapshot creation was failing for command line queries in batch mode. (#2943)
- Add a helpful error message when snapshot sharing fails because of an invalid token. (#2944)
- Fix query batch mode returning zero exit code when rows return errors. (#3044)
- Fixes issue where options from
default.spc
were taking precedence over environment variable settings. (#3060)
Bug fixes
- Fix issue where
search_path
is not getting set from connection-config watching in service mode. (#3047) - Fix issue where extra newline was added to interactive prompt before messages were printed. (#3027)
- Fix issue where when running a dashboard from a dependent mod, default variable vals are not being included in the snapshot. (#2730)
- Update
--version
output to match the startup message. (#3028)
Bug fixes
- Fix dashboard property blocks not taking effect in node/edge property tooltips. (#3026)
Bug fixes
- Fix workspace file watching events sometime causing dashboard to stall and stop responding to events. (#3007)
- Fix cancelling dashboards (e.g. by pressing 'back' on the browser) sometimes leaving the dashboard server in a state where it will not respond to socket events. (#3008)
- Increase database connection timeout and improve the error message if connection failure occurs. (#2377)
- Validate that input references are of the form
self.input.<input-name>
. (#2990) - Fix
check --where
andcheck --tag
. (#3001) - Ensure correct exit code is returned when a mod plugin requirements are not met. (#2986)
- Fix dashboard leaf_node_updated events for v0.17.4 CLI being ignored by v0.18.0 UI clients. (#2994)
- Fix dashboard table interpolated template rendering not working in line view. (#3014)
- Fix HCL validation to allow benchmark and control blocks in dashboard. (#3015)
What's new?
- Add support for visualisations of your data with graphs, with easily composable data structures using nodes and edges. (#2249)
- Improved dashboard UI panel controls for quicker access to common tasks such as downloading panel data. (#2663)
- Add support for
with
blocks. (#2772) - Add support for
param
runtime dependencies. (#2910) - Add dashboard panel log to panel detail to get an understanding of the execution history of a panel. (#2895)
- Remove usage of prepared statements - instead execute sql directly.(#2789)
- Modify the update checker to run asynchronously. (#2770)
- Update steampipe_reference introspection table to include references from
with
blocks. (#2934) - Update arg validation to ignore extra named args but fail on extra positional args (currently fails if too many named args passed) (#2783)
- Update dashboard states to
initialized
,blocked
,running
,complete
,error
,canceled
. (#2939) - Update dashboard UI version mismatch logic to redirect to a version-enabled URL to get past localhost cached index.html. (#2940)
- Upgrades 'pgx' to v5. (#2776)
- Add a
--max-parallel
flag todashboard
command and set default to 10. (#2754) - When parsing query args, ensure jsonb args are passed to query as string not map.(#2802)
- Update Makefile to allow overriding build output directory path
Bug fixes
- Fixes issue where interactive prompt was not showing timing data for 'json', 'csv' and 'line' outputs. (#2699)
- Fixes issue where value from '--separator' was not being used in CSV rendering. (#544)
- Fixes issue where implicit services are not shutting down when the last instance of steampipe exits. (#2833)
- When editing dashboard files, after adding/fixing errors in the HCL the dashboard server will sometimes stall. (#2952)
- Dashboard select/combo inputs using integer
value
do not render options. (#2972)
Deprecations
- Hcl validation is now stricter. (#2923)
- Add deprecation warnings for deprecated hcl properties. (#2973)
- Remove
search_path
andsearch_path_prefix
fromcontrol
andquery
resources. (#2963) - Exit codes have been updated. (#2329)
const (
ExitCodeSuccessful = 0
ExitCodeControlsAlarm = 1 // check - no runtime errors, 1 or more control alarms, no control errors
ExitCodeControlsError = 2 // check - no runtime errors, 1 or more control errors
ExitCodePluginLoadingError = 11 // plugin - loading error
ExitCodePluginListFailure = 12 // plugin - listing failed
ExitCodePluginNotFound = 13 // plugin - not found
ExitCodeSnapshotCreationFailed = 21 // snapshot - creation failed
ExitCodeSnapshotUploadFailed = 22 // snapshot - upload failed
ExitCodeServiceSetupFailure = 31 // service - setup failed
ExitCodeServiceStartupFailure = 32 // service - start failed
ExitCodeServiceStopFailure = 33 // service - stop failed
ExitCodeQueryExecutionFailed = 41 // query - 1 or more queries failed - change in behavior(previously the exitCode used to be the number of queries that failed)
ExitCodeLoginCloudConnectionFailed = 51 // login - connecting to cloud failed
ExitCodeInitializationFailed = 250 // common - initialization failed
ExitCodeBindPortUnavailable = 251 // common (service/dashboard) - port binding failed
ExitCodeNoModFile = 252 // common - no mod file
ExitCodeFileSystemAccessFailure = 253 // common - file system access failed
ExitCodeInsufficientOrWrongInputs = 254 // common - runtime error (insufficient or wrong input)
ExitCodeUnknownErrorPanic = 255 // common - runtime error (unknown panic)
)
Bug fixes
- Fixes issue where the
--separator
flag was not being used in thecsv
output/export forsteampipe check
. (#544)
Bug fixes
- Fix shared memory errors for high connection count - update postgres config to reverts
max_locks_per_transaction
to the pre v0.17.0 value of 2048. (#2756)
Bug fixes
- Fix dashboard interpolated string expressions with adjacent expressions not separated by spaces not rendering the second expression (#2752)
- Ensure workspace and panel errors are shown in dashboard panels (#2742)
- Fix issue where control execution errors were not shown in CSV rendering. (#2674)
- Escape query arguments when resolving prepared statement execution SQL. (#2676)
- Fixes issue where a '--where' or '--tag' flag were not creating the introspection tables. (#2670)
Bug fixes
- Fix query command
--export
flag raising an error that it cannot be used in interactive mode, even when not in interactive mode. (#2707) - Fix RefreshConnections sometimes storing an unset plugin ModTime property in the connection state file. This leads to failure to refresh connections when plugin has been rebuilt or updated. (#2721)
- Fix dashboard text inputs being editable in snapshot mode. (#2717)
- Fix dashboard JSONB columns in CSV data downloads not serialising correctly. (#2733)
- Add dashboard error modal when users are running a different UI and CLI version (#2728)
- Fixes control dashboards not displaying progress. (#2735)
What's new?
- Add support for
workspace profiles
, defined using HCL config and selected using--workspace
arg. (#2510, #2574) - Update CLI to upload snapshots to Steampipe cloud using
--share
and--snapshot
options. (#2367) - Add
steampipe login
command. (#2583) - Update
dashboard
command to support passing a dashboard name as an argument. (#2365) - Adds
list
sub command forquery
,check
anddashboard
. (#2653) - Add
snapshot
/sps
output and export format. (#2473) - Add
--snapshot-title arg
. Ensure snapshots and exports are named consistently.(#2666) - Add
autocomplete
meta command and terminal option. (#2560, #1692) - Add ability to save and open snapshots from the dashboard UI. (#2577)
- Add support for viewing control snapshots in the dashboard UI. (#2688)
- Add a configurable query timeout. (#666, #2593)
- Update database code to use
pgx
interface so we can leverage the connection pool hook functions to pre-warm connections. (#2422) - Rationalise and simplify postgres configuration. (#2471)
- Support executing any query-provider resources using the steampipe query command. (#2558)
- Improve help messages when a plugin is installed but the connection is not configured. (#2319)
- Add better help messages for mod plugin requirements not satisfied error. (#2361)
- Reduce the max frequency of connection config changed events to every 4 second. (#2535)
- Add
Variables
andInputs
to dashboardExecutionStarted
event. (#2606) - Validate check output and export formats before execution. (#2619)
- When starting a plugin process, pass a SecureConfig, to silence the
nil SecureConfig
error. (#2567) - Optimise autocomplete by only loading completions on startup or when connection config changes, rather than every time a query is entered . (#2561)
- Remove explicit setting of open-file limit, now that Go 1.19 does it automatically. (#2630)
Bug fixes
- Update
GetPathKeys
to treat key columns withAnyOf
require property with the same precedence asRequired
. (#254) - Remove blank lines in CSV and JSON query results (#2333, #2340)
- Fix UpdateConnectionConfigs call to pass the new connection for changed connections (currently the old connection is passed). (#2349)
- When passing empty array as variable, cast to correct type if possible. (#2094)
- Fixes issue where progress bars are not sorted for plugin update. (#2501)
- Fix intermittent dashboard shutdown stall. (#2328)
- Fix connection watching only adding first changed connection config to the payload of the UpdateConnectionConfigs call. (#2395)
- Fix the alignment of plugin update/install outputs. (#2417)
- Fix timeout running
service start --dashboard
with many mods installed - increase dashboard service startup timeout to 30s. (#2434) - Ensure
dashboard
andcontrol
return exit status zero after successful run (#2449, #2447) - Fixes issue where steampipe requests for firewall exceptions during installation. (#2478)
- Fix retrieval of default user workspace. (#2499)
- Fix plugin-manager panic when plugin startup times out. (#2546)
- Fix prompt failing to show when service installation runs in interactive mode. (#2529)
- Validate inputs when running single dashboard. Do not upload snapshot if dashboard was cancelled. (#2551)
- Fixes issue where the CLI would fail to connect to local service if there are credential files in
~/.postgresql
. (#1417) - Fixes issue where 'Alt` keyboard combinations would error in WSL. (#2549)
- Fix unintuitive errors from steampipe plugin commands when a plugin (version) is missing. (#2361)
- Clean up error messaging when a bad template is put in the templates dir. (#2670)
- Fix crash when plugin list fails to connect to database.
Deprecations
- Deprecate
workspace-chdir
, replace withmod-location
. (#2511)
Bug fixes
- Fix
Plugin.GetSchema failed - no connection name passed and multiple connections loaded
error - update FDW to fix packaging issue affecting Arm Linux. (#2464)
Bug fixes
- Fix dashboard UI benchmark controls rendering a control node per control result, rather than a control node with multiple results within it. (#2440)
- Fix
double
qual values not being passed to plugin. (#243)
Bug fixes
- Update FDW to not start scan until the first time IterateForeignScan is called. (#237)
- Fix database initialisation failures due to invalid locale. (#2368)
- Use ellipsis char instead of 3 dots in plugin update/install when cutting off the plugin name. (#2355)
- Add help message for WSL1 installation failures. (#2379)
- Show query timing information even if query returns an error.(#2331)
- Fix dashboard UI benchmarks with both child controls and benchmarks not rendering their controls. (#2440)
Bug fixes
- Limit connection lifetime in the database connection pool. (#2375)
- Fix connection watching when multiple connection configs are changed - ensure all configs are updated. (#2395)
- Reduce startup time when multiple mods are loaded - only create introspection tables if
STEAMPIPE_INTROSPECTION
environment variable is set. (#2396)
What's new?
- Add support for plugin processes to handle multiple connections (rather than a process per connection), improving startup time and reducing memory usage. (#2262)
- Limit the maximum memory used by the plugin query cache can using the environment variable STEAMPIPE_CACHE_MAX_SIZE_MB (#2363)
- Update base image for the steampipe docker container. (#2233)
- Improve help messages when a plugin is installed but the connection is not configured. (#2319)
- Only add a blank line between query results, not after the final result. (#2333, #2340)
- Timing terminal output now uses appropriate fidelity (secs, ms) for easier readability. (#2246)
- Disable FDW update message during plugin update. (#2312)
- Update dashboard
ExecutionComplete
event to include only variables referenced by the dashboard/benchmark being run. (#2283) - Add support for single and multi-select combo inputs in dashboards, allowing for a combination of static/query-driven and custom options.
- Improve display of connection validation errors.
- Improve handling of dashboards with multiple inputs.
- Improve layout of dashboard error modal.
Bug fixes
- Fix interactive multi-line mode. (#2260)
- Fix intermittent failure for dashboard server shutting down when pressing ctrl+c. (#2328)
- Fix Steampipe terminating if query (or empty line) is entered before initialisation completes. (#2300)
- Fix pasting a query during CLI initialization causing it to be duplicated on the screen. (#1980)
- Fix connecting to remote database using
--workspace-database
. (#2324)
Bug fixes
- Fix dashboard UI not rendering for chart/flow/hierarchy/input when type is set to table. (#2250)
- Fix flow/hierarchy dashboard UI bug where id/to_id and id/from_id/to_id rows would not render the expected results. (#2254)
- Fix FDW build issue which causes load failure on Arm Docker images. (#219)
Bug fixes
- Fix crash when inspecting tables in interactive mode. (#2243)
Bug fixes
- Fix intermittent hang in interactive mode if timing is enabled. (#2237)
Bug fixes
- Fixes various EOF query errors. (#192, #201, #207)
- Ensure DashboardChanged events are generated when child elements have a changed index within a container. (#2228)
- Fix incorrectly identified changed inputs in DashboardChanged events. (#2221)
- Fix dashboard UI crashing when socket connection reconnects. (#2224)
- Fix intermittent "concurrent map access" error when timing is enabled. (#2231)
What's new?
- Add support for Open Telemetry. (#1193)
- Update
.timing
output to return additional query metadata such as the number of hydrate functions called andd the cache status. (#2192) - Add
steampipe_command.scan_metadata
table to support returning additional data from.timing
command. (#203) - Update postgres config to enable auto-vacuum. (#2083)
- Add
--show-password
CLI arg to reveal the db user password. Disables password visibility by default. (#2033) - Update dashboard snapshot format, making control/benchmark output consistent with dashboards. (#2154)
- Support optional names for dashboard child blocks. (#2161)
- Improve the response to
steampipe plugin update all
to make it more helpful. (#2125) - Add better help message when invalid locale settings caused db init failure. (#1673)
- Update json control output template to use Go templating, rather than just serialising the results. (#2163)
Bug fixes
- Add control severity in the check run CSV output. (#2083)
- Ensure prompt is shown after installing updated FDW. (#2101)
- Fix nil pointer error when empty array passed as variable value. (#2094)
- Fix interactive query failing with EOF error if the history.json is empty. (#2151)
- Update autocomplete description for
.output
to includeline
as an option. (#2142) - Fix issue where check/templates were not getting updated even when the template file has been updated. (#2180)
- Fix
check all
so it does not runs controls/benchmarks from dependency mods. (#2182)
Bug fixes
- Fix update check failing for large numbers of plugins, with little or no feedback on the error. (#2118)
- Fix database startup failure with
EOF
error on Mac M1 after updating FDW. (#2116) - Fix intermittent
Unrecognized remote plugin message
error on Mac M1 after updating a plugin which has been locally built. Closes (#2123)
Bug fixes
- Add support for setting dependent mod variable values using an spvars file or by setting the
Args
property in the modRequire
block. (#2076, #2077) - Add support for JSONB quals. (#185)
- Fix pasting a query during CLI initialization causing it to be duplicated on the screen. (#1980)
- Remove limit of 2 decodes - execute as many passes as needed (as long as the number of unresolved dependencies decreases). Fixes intermittent dependency error when loading steampipe-mod-ibm-insights. (#2062)
- Fix workspace lock file not being correctly migrated. (#2069)
- Fix intermittent panic error on plugin install. (#2069)
- Fix nil pointer error when an empty array passed as variable value. (#2094)
- When running
steampipe service start --dashboard
, ensure--workspace-chdir
arg is respected. (#2103)
Bug fixes
- Fix ctrl+c during dashboard execution causing a
panic: send on closed channel
. (#2048) - Fix backward compatibility issues in config file migration which could cause the plugin
versions.json
to become corrupted. (#2042) - Fix
backups
folder is being created even if no database backup is taken. (#2049) - If updated db package with same Postgres version is detected, install binaries without doing a full db install. (#2038)
- Fix dashboard UI benchmark nodes collapsing during running. (#2045)
Bug fixes
- Fix a regression in v0.14.2 that would prevent migration of public schema data during migration from v0.14.x versions. (#2034)
Bug fixes
- When initialising the database, check whether the ImageRef of the currently installed database is correct and if not, reinstall. This provides a mechanism to force a db package update even if the Postgres version has not changed. (#2026)
- Ensure
Digest
payload field is not empty when calling VersionCheck endpoint. This is to handle a potential config migration bug which can result in emptyimage_digest
fields in the plugin versions state file. (#2030) - Fix prepared statement creation failure when installing a fresh db from a mod folder. (#2028)
- Limit the number of database backups as part of the daily cleanup. (#2012)
Bug fixes
- Check if a previous version of Steampipe has a service running, and fail gracefully if so. If we fail to detect as service, but find a postgres process running in the install dir, kill it before migrating data. (#2022)
What's new?
- Support real-time running and viewing of benchmarks in the dashboard UI with drill-down through benchmarks and controls to individual resource results. (#1760)
- Update database version to Postgresql 14. (#43)
- Add native support for Arm architecture machines. (#253)
- Update Go to 1.18. (#1783)
- Migrate all json config files to use snake case property names. (#1730)
- Add
input
flag to disable interactive prompting for variables. (#1839) - Add
variable list
command. (#1868) - Allow dependent mods to have the same variable name as the parent mod. (#1922)
- Update Dockerfile for postgres 14, and to disable telemetry. (#1941)
- Update the output and performance of plugin operations. (#1780, #1778, #1777, #1776)
- Rename folder .steampipe/report/assets to .steampipe/dashboard/assets. (#1751)
- Add
Alias
property to the dependencies listed in .mod.cache.json. (#1731)
Bug fixes
- Fix issue preventing dashboard UI from displaying in Safari (#1984)
- Fix intermittent "relation not found errors", when running dashboards. (#1919)
- Update 'check' and 'dashboard' command to NOT fail if any connection fails to load. (#1885)
- Update mod parsing to pass variable values to dependent mods. (#1694)
- Update control running to retry acquireSession in case of error, and report error in case of failure. (#1951)
- Fix required Steampipe version in mod.sp not being respected when running query command. (#1734)
- Fix dashboard cancellation is stalling when the dashboard has no children. (#1837)
- Fix interactive query Initialisation hang when no plugins are installed. (#1860)
- Escape quotes in all postgres object names. (#1893)
- Fixes issue where plugin install crashes for non-existent plugins. (#1896)
- Fix execution of dashboards causing a hang after a change or recovering from workspace error. (#1907)
- Fix JSON data with \u0000 errors in Postgres with "unsupported Unicode escape sequence". (#118)
- Update dashboards to handle ExecutionError events. (#1997)
- Fixes issue where
service stop
command outputs "service stopped" even if no services were actually running. (#1456)
Bug fixes
- Update dashboard UI to use wss when the location protocol is https. (#1717)
- Fix interactive query initialisation hang when no plugins are installed. (#1860)
- Fixes issue where
steampipe query
was always using a default port. (#1753)
Bug fixes
- Ensure the search path is escaped. (#1770)
What's new?
- Add
ShortName
property to the dependencies listed in .mod.cache.json. (#1731)
Bug fixes
- Fix setting search path after connection config changed event. (#1700)
- Fixes issue where tags and dimensions are not sorted in output of
check
command. (#1715) - Fix required Steampipe version in mod.sp not being validated when running
query
command. (#1734)
Bug fixes
- Fix issue where dashboard starts up even if there are initialization errors (for example unmet dependencies). (#1711)
Bug fixes
- Fix dashboard shutdown sometimes stalling. (#1708)
What's new?
- Improve recording of browser history in dashboard UI. (#1633)
- Improve template rendering performance in dashboard UI. (#1646)
- Add linking support to cards in dashboard UI. (#1651)
- Add support for
--search-path
,--search-path-prefix
,--var
and--var-file
flags todashboard
command. (#1674) - Add ability to define static card label and value in HCL. (#1695)
- Add feedback during workspace load in
dashboard
command. (#1567)
Bug fixes
- Fix excessive memory usage intialising a high number of connections. (#1656)
- Fix issue where service was not shut down if command is cancelled during initialisation. (#1288)
- Fix issue where installing a plugin from any
stream
other thanlatest
did not install the defaultconfig
file. (#1660) - Fix query argument resolution not working correctly when some args are provided by HCL and some from runtime args. (#1661)
- Fix issue where legacy
requires
property was not evaluating in mods. (#1686)
What's new?
- Add
steampipe dashboard
command (#1364) - Add
--dashboard
option tosteampipe service
command. (#1472) - Add support for
ltree
columns. (#157) - Add support for
inet
columns. (#156) - Add support for finding the mod definition by searching up the working directory tree. (#1533)
- Update OCI download to use a tmp folder underneath the destination folder. (#1545)
- Disable update checks running for plugin update command. (#1470)
Bug fixes
- Fix connection file watching. (#1469)
- Fix
.inspect
command for steampipe cloud connections. (#1497) - Fix plugin validation error sometimes causing Steampipe to crash. (#1387, #146)
- Fix plugin validation errors not being displayed as warnings on startup. (#1413)
- Fix workspace event handler causing freeze during initialisation. (#1428)
- Fix duplicate resources not being reported during mod load. (#1477)
- Fix interactive query cancellation only working once.(#1625)
- Fix failure to detect duplicate pseudo resources. (#1478)
- Fix refreshing an aggregate connection causing a plugin crash. (#1537)
- Ensure SetConnectionConfig is only called once. (#1368)
- Fix 'is nil' qual causing a plugin crash. (#154)
- Update plugin manager to remove plugin from map if startup fails. Prevents timeout when retrying to start a failed plugin. (#1631)
- Fix issue where plugin-manager becomes unstable if plugins crash. (#1453)
Bug fixes
- Fix occasional
Unrecognized remote plugin message
errors on startup when running update checks. (#1354)
Bug fixes
- When running queries with
csv
output, "loading results..." remains on screen after displaying results. (#1340)
What's new?
- Update
check
to support template based export and output formats. (#1289) - Add new check output format:
asff
(AWS Security Finding Format). (#1305) - Add new check output format:
nunit3
. (#1196)
Bug fixes
- Fixes issue where plugins, FDW and Postgres were logging using a different timestamp formats. Now all timestamps use
UTC
(#927)
Bug fixes
- Fix issue where
steampipe check
table output only displays the summary. (#1300)
Bug fixes
- Plugin instantiation failures should be reported as warnings not errors. (#1283)
- Fix issue where database name is not printed in output of
steampipe service start
. (#1270) - Fix issue where service is not shutdown if interrupted while interactive prompt is initialising. (#1004)
- Add support for installer to detect running service when upgrading. (#1269)
What's new?
- Add support for mod management commands:
mod install
,mod update
,mod uninstall
,mod list
,mod init
. (#442, #443) - Startup optimizations.
- When retrieving plugin schema, identify the minimum set of schemas we need to fetch - to allow for multiple connections with the same schema. (#1183)
- Avoid retrieving schema from database for check and non-interactive query execution.
- Update plugin manager to instantiate plugins in parallel.
- Only create prepared statements if the query has parameters. (#1231)
- Update Postgres driver to
pgx
. (This removes the need to query the database for the db connection Pid every time we execute a query.) (#1179) - Update connection management to use file modified time instead of filehash to detect connection changes. (#1186)
- Show query timing at the end of the query results. (#1177)
- Update workspace-database argument to handle connection strings starting with both
postgres
andpostgresql
. (#1199) - Enables the
tablefunc
extension for the Steampipe database. (#1154) - Improve plugin uninstall output when connections remain. (#1158)
- Disable progress when running in a non-tty environment. (#1210)
- Bump Go to 1.17
- Add support for protoc-gen-go-grpc 1.1.0_2
Changed Behaviour
- Only load pseudo-resources if there is a modfile in the workspace folder. (Note - a modfile can be created by running
steampipe mod init
). (#1238)
Bug fixes
- Update database planning code give required key columns a lower cost than than optional key columns. Fixes some complex queries with
in
clauses. (#116, #117, #124) - Fix issue where
local
plugins are not evaluated aslocal
as given in docs. (#1176) - Fix nil reference exception during refresh connections when using dynamic plugins. (#1223)
- Fix issue where running service had to be stopped to install in a new install-dir. (#1216)
- Fix warning not being shown when running 'steampipe check'. (#1229)
What's new?
- Add support for parallel control execution. (#1001)
- Only spawn a single plugin per steampipe connection, no matter how many db connections use it.
- Share a single query result cache between multiple database connections.
- Add support for connecting to a remote database, including a Steampipe Cloud workspace database. (#1175)
- When cli displays error messages from plugins, they are now be prefixed with plugin name. (#1071)
- Do not show plugin error messages in JSON/CSV output. (#1110)
- Provider more responsive feedback for control runs. (#1101)
- Create prepared statements one by one to allow accurate error reporting and reduce memory burden. (#1148)
- Improve display of asyncronous error in interactive prompt. (#1085)
- Deprecate
workspace
argument, replace withworkspace-chdir
Bug fixes
- Table names with special characters are now escaped correctly in auto-complete and
.inspect
. (#1109) - Fix reflection error when loading a workspace from a hidden folder. (#1157)
- Fix intermittent crash when using boolean quals on jsonb columns. (#122)
Bug fixes
- Escape schema names when dropping connection schema. (#1074)
- Add support for quoted arguments with whitespace in query meta-commands (e.g.
.inspect
). (#1067) - Fix issue where Postgres usernames weren't getting escaped properly when setting search path. (#1094).
- Add support to fall back to
more
(if available) whereless
is not available in the environment. (#1072) - Non-turbot plugin installs now show link to documentation. (#1075)
- Constrain check table-output rendering to a minimum width to avoid rendering crashes. (#1062)
steampipe check --dry-run
should not display control summary. (#1053)
What's new?
- Update
check
command to supportmarkdown
andHTML
output. (#480, #1011) - Add support for plugins with dynamic schema - reload plugin schema on startup. (#1012)
- Add
steampipe_reference
introspection table. (#972) - Add
steampipe_variable
reflection table. (#859) - Add
check
summary intable
output. (#710) - Update DateTime and Timestamp columns to use "timestamp with time zone", not "timestamp". (#94)
- Add support for setting a custom database name when installing. (#936)
- Support JSON and YAML connection config. (#969)
- Allow plugin uninstall even if there are active connections. (#852)
- Control results are now ordered by status. (465)
- Add support for SSL certificate validation and rotation. (#1020)
- Remove deprecated flags
--db-listen
and--db-port
from service start. (#582)
Bug fixes
- Plugin commands now exit with a non-zero code on error. (#980)
- Fix for incorrect message from service status when service is not running. (#975)
- Update introspection tables to ensure naming consistency - fix mods and pseudo resources to remove type prefix. (#959)
- Fix for plugin list failing with 'invalid memory address'. (#984)
Bug fixes
- Fix handling of null unicode chars in JSON fields. (#102)
- Fix issue where queries with a
limit
clause not always listing all results. Only pass the limit to the plugin if all quals are supported by pluginkey columns
. #103)
Bug fixes
- Update client error handling to only refresh session data for a 'context deadline exceeded' error. This avoids recursion in the error handling. (#970)
What's new?
- Update
service start
command to supportdatabase-password
arg andSTEAMPIPE_DATABASE_PASSWORD
environment variable, to allow a custom password to be used when running in service mode. (#725) - Small updates to output of
steampipe service
commands. (#812) - Add support for piping
stdout
andstderr
fromservice start
to theTRACE log
. (#810)
Bug fixes
- Update Docker image to remove password file. (#957)
- Fix filewatching to ensure prepared statements are correctly created and updated to reflect SQL file changes. (#901)
- Ensure session data is restored after a SQL client error. Reset SQL client after a failure to create a transaction. (#939)
- Fix service lifecycle management issues when state file is deleted while service is running. (#872)
- Fix issue where
service stop
shuts down service even if non-Steampipe clients are connected. (#887) - Fix connection config not being passed when instantiating plugins to retrieve their schema. This resulted in descriptions not being shown for dynamic tables dynamic tables. (#932)
- Fix issue where
install.sh
fails for IPv6 enabled system. (#861)
Bug fixes
- Fix nil pointer error when running a fully qualified query (i.e. including mod name). (#902)
Bug fixes
- Disable database log polling, which was causing high CPU usage.
- Fix null reference exception for certain
is null
queries. (#97) - Add support for CIDROID type when converting Postgres datums to qual values. (#54)
- Fix autocomplete casing for .cache metacommands. (#875)
What's new?
- Add HCL support for variables. (#754)
- Add HCL support for passing parameters to queries. (#802)
- Add
completion
command providing completion support for bash, zshell and fish. (#481) - Add
.cache
metacommand to control the FDW cache from the interactive prompt. (#688) - Remove hardcoded Postgres runtime flags by adding defaults to postgresql.conf (#767)
- Add support for syntax highlighting in interactive prompt. (#64)
- Update interactive prompt to use adaptive suggestion window instead of giving
console window is too small
error. (#712) - Log Postgres output if database initialisation fails. (#800)
- Various minor UI tweaks. (#786)
Bug fixes
- Fix issue where the
>
prompt disappears when messages are shown from file watcher or asyncronous initialisation. (#713) - Fix errors during async interactive startup leaving the prompt in a bad state. (#728)
- Fix for delay in
loading results
spinner showing, caused by asyncronous initialisation. (#671) - Fix for missing
control_description
,control_title
incsv
output ofcheck
command. (#739) - Fix for
0
exit code even ifservice start
fails. (#762) - Fix issue where configs referring to unavailable plugin will display incorrect error message. (#796)
- Mod parsing now raises an error if duplicate locals are found. (#846)
- Fix JSON data with '\u0000' resulting in Postgres error "unsupported Unicode escape sequence". (#93)
Bug fixes
Bug fixes
- Fix issue where interactive prompt hangs with a
;
input. (#700) - Fix cancellation not working when database client becomes unresponsive. (#733)
- Prevent update checks from getting triggered for
service stop
. (#745) - Add
initializing
spinner while waiting for asynchronous initialization to finish. (#671) - Prevent
interactive prompt
from disappearing after asynchronous messages are shown. (#713)
What's new?
- Add
open_graph
property tosteampipe_mod
reflection table. (#692)
Bug fixes
- When an aggregator connection is evaluating a wildcard, only include connections with compatible plugin type. (#687)
- Fix search path not being honored by
steampipe check
. (#708) - Fix interactive console becoming unresponsive after ";" query. (#700)
- Fix
nil pointer exception
insteampipe plugin
. (#678)
What's new?
- Add support for aggregator connections. (#610)
- Service management improvements:
- Remove locking from service code to allow multiple
query
andcheck
sessions in parallel without requiring a service start.(#579) - Update service start to 'claim' a service started by query or check session, instead of failing. (#580)
- Update
service status
- add--all
flag to list status for all running services.(#580) - Update
service start
to add--foreground
flag. (#535)
- Remove locking from service code to allow multiple
- Improvements for Docker:
- Run
initdb
if database is installed butdata directory
is empty. (#575) - Split
versions.json
into 2 files, one in the plugins dir, one in the database dir. (#576) - Update plugin install to put temp files underneath the plugin directory. (#600)
- Steampipe service startup now validates that the
data-dir
is writable. (#659)
- Run
- Optimise interactive startup by initializing asynchronously. (#627)
- Optimise query caching - construct key based on the columns returned by the plugin, not the columns requested.(#82)
- Update Steampipe service to support SSL. (#602)
- Show timer result before query output, so it is visible even if results require paging. (#655)
- Increase length of history file to 500 entries. (#664)
Bug fixes
- Do not disable pager when errors are displayed in interactive mode. (#606)
- Fixes issue where
STEAMPIPE_INSTALL_DIR
was not being respected. (#613) - Fix multiple ctrl+C presses causing a crash on control runs. (#630)
- Ensure multiline control errors are rendered in full (#672)
- Fix crash when benchmark has duplicate children. Instead, raise a validaiton failure. (#667)
- Fixes issue where
service stop
does not work onLinux
systems. (#653) - Plugin schema validation errors should be displayed as warning, and not cause Steampipe to exit. (#644)
Bug fixes
- Revert prototype code inadvertently included in 0.6.1
What's new?
- Support executing control queries using the query command. (#470)
- Update steampipe-plugin-sdk reference version to support ProtocolVersion
20210701
Bug fixes
- Fix issue where
dimension
values were not rendered in generated CSV forcheck
. (#587) - Fix Linux Installer script showing verification error for Amazon Linux. (#479)
- Fix issue where using
--timing
withcheck
was not showing duration. (#571) - Fix problem where milliseconds of timestamps were not being displayed (#76)
- Fix freezing issues with 'limit' and cancellation. (#74)
- Fix incorrect caching of 'get' query results for plugins build with sdk >= 0.3.0. (#60)
What's new?
- Add
csv
output format tocheck
command. (#479) - Add
--export
flag tocheck
command. (#511) - Add
--dry-run
flag tocheck
command to show which controls would be run. (#468) - Add
--tag
and--where
arguments tocheck
command to provide filtering of the controls which are run. (#539) - Update
service status
to make messaging more helpful when the service is running for a query session. (#531) - Update
query
to add support for reading fromSTDIN
. (#499) - Validate that plugin versions required by the workspace mod are installed. (#557)
Bug fixes
- Update
check
exit code to be the number of alerts. (#498) - Update check output formatting is now consistent when there is both a plugin and steampipe update. (#423)
- Fix failure to load SQL files from workspace folder if they include
$$
escape characters. (#554)
Bug fixes
- Fixes Steampipe failing to run when too many benchmarks use the same controls. (#528)
Bug fixes
- Ensure consistent ordering of query result cache key when more than one qual is used. (#53)
- Fixes
check
commandjson
output. (#525)
What's new?
- Update the
check
output to show the tree structure of the benchmarks and controls. (#500)
Bug fixes
- Fix issue where interactive prompt sometimes hangs on cancellation. (#507)
- Fix stack overflow error when allocating colors for large number of dimension property values. (#509)
- Fix query result cache key being built incorrectly when more than one qual is used. (#453)
What's new?
- New
check
command, to run controls and benchmarks. (#410, #413) - Add resource reflection tables
steampipe_mod
,steampipe_query
,steampipe_control
andsteampipe_benchmark
. (#406) - Parsing of variable references, functions and locals. (#405)
- Support for cancellation of queries and control runs. (#475)
Bug fixes
- Fix cache check code incorrectly identifying a cache hit after a count(*) query. (#44)
- Fix spinner displaying multiple newlines if spinner text is wider than the terminal. (#450)
Bug fixes
- Make
.inspect
column headers lowercase. (#439) - Fix edge case where update notification may be displayed once when running in query
batch
mode, instead if being suppressed. This occurred the very first time an update check was performed. (#428) - When checking for SDK compatibility of loaded plugins, use the protocol version, not the SDK version. (#453)
Bug fixes
- Ensure we report an error and do not start database service if
port
is already in use. (#399) - Update check should not run when executing
query
command non-interactively. (#301)
What's new?
- Named query support - all SQL file in current folder (or the folder specified by the
workspace
argument) will be loaded and available to run asnamed queries
. (#369) - When running in interactive mode, a file watcher is enabled for the current workspace (can be disabled using the
watch
argument orterminal
config property). When enabled, any new or updated SQL files in the workspace will be reflected in the available named queries. (#380) - The
query
command now accepts multiple unnamed arguments, each of which may be either a filepath to a SQL file, a named query or the raw SQL of the query. (#388) - The search path for the steampipe database service may be specified using the
database
config. (#353) - The search path and search path prefix terminal sessions may be specified using
terminal
config, command line argument or meta-commands. (#353, #357, #358)
Bug fixes
- Fix log trimming, which was broken by the change of log location. (#344)
- Plugin updates should be listed alphabetically. (#339)
Bug fixes
- Fix
.inspect
not working with unqualified table names. (#346)
Bug fixes
- Ensure that after adding a connection, search path changes are reflected in the current query session. (#340)
- Fix extra trailing white-space issue in
line
output. (#332) - Remove HTML escaping from JSON output. (#336)
- Fix issue where service is always listening on network listener. (#330)
- Fix incorrect error message when trying to update a non-installed plugin (#343)
- Fix the search path not being updated when removing the last connection. (#345)
Bug fixes
- Verify the
steampipe
foreign server exists when starting the database service and if it does not, re-initialise the FDW and create the server. (#324)
Bug fixes
- Remove Postgres synchronous_commit=off setting, which could cause FDW setup in Postgres to not be committed during setup (on Linux). (#319)
.header
terminal setting should also affect table output. (#312)
Bug fixes
- Fix crash when doing "is (not) null" checks on JSON fields. (#38)
What's new?
- Support setting Steampipe options using a config file. (#230)
- Add
install-dir
argument to specify location of the installation folder. (#241) - Improve the handling of database quals. Query restrictions are now passed the plugin for a much wider ranger of queries including joins and nested queries. (#3)
- Improve handling and reporting of config parsing failures. (#307)
- Move the log location to
~/.steampipe/logs
(#278) - Change postgres log prefix to
database-
(#310) - Deprecate
db-port
andlistener
arguments, replace withdatabase-port
anddatabase-listener
. (#302)
Bug fixes
- Fix crash when installing a plugin after a fresh install. (#283)
- Fix
.inspect
meta-command failure if no arguments are provided. (#282)
What's new?
- Autocomplete now includes public schema. (#123)
- Add bug report and feature request issue templates. (#266)
- Add
SECURITY.md
. (#266) - Update spacing for plugin update and install messages. (#264)
Bug fixes
- Remove invalid update notifications for plugins which cannot be found in the registry. (#265)
- Fix typo in install.sh.
What's new?
- Increase timeout for plugin update HTTP call. (#216)
plugin update
now checks installed version of a plugin is out of date before updating. (#234)- Improve the error messages for sql errors. (#118)
- Wrap
plugin list
output to window width. (#235)
Bug fixes
- Fix timestamp quals not being passed to plugin. (#247)
- Fix
steampipe server not found
error after failed connection validation. (#220) - Ensure all panics are recovered. (#246)
What's new?
- Set Inspect column width to no larger than required to display data. (#155)
- Plugin SDK version check should ignore patch and prerelease version. (#217)
- Enforce reserved connection name ('public', 'internal'). (#168)
- Do not allow Steampipe to run from Root. (#167)
plugin update
,plugin install
andplugin uninstall
commands display error if no plugins specified in args. (#199)- Remove global
--config
flag. (#215)
Bug fixes
- Fix cache retrieving incorrect data for multi-connection queries.(#223)
- Ensure search path is set for clients other than Steampipe. (#218)
- Spinner should not be displayed in non-interactive query mode. (#227)
Bug fixes
- Ensure all hydrate errors are reported. (#206)
- Change plugin update URL to hub.steampipe.io. (#201)
- Steampipe version string should include 'prerelease' suffix if it is set. (#200)
- Column headers in table output should respect casing of the column name. (#181)
What's new?
- Add support for multiregion queries. (#197)
- Add support for connection config. (#173)
- Add
plugin update
command. (#176) - Add automatic checking of plugin versions. (#164)
- Add caching of query results. This is disabled by default but may be enabled by setting
STEAMPIPE_CACHE=true
NOTE: It is expected this will be updated to default to true in the next patch release. (#11) - Log whether Steampipe is running in Windows subsystem for Linux. (#171)
- All env vars should have STEAMPIPE_ prefix. (#172)
- Display null column values as instead of an empty string. (#186)
- Validate that plugins do not have an sdk version greater than the version steampipe is built against. (#183)
Bug fixes
- Fix hitting a space after a meta-command causing runtime error. (#182)
What's new?
Bug fixes
- Fix multi line editing issues. (#103)
- Fix command-Right breaking for unicode chars (#9)
- Fix 'no unpinned buffers available' error. (#122)
- Fix database installation failure for certain Linux configurations. (#133)
What's new?
- The
.inspect
command no longer requires the fully qualified name for tables. (#21) - The helper function
glob
has been added. (#134) - The output of the
plugin install
command now shows the installed version. (#93) - The
.help
command now displays a link to the inline help docs. (#92) - The wait spinner is now only shown in interactive mode. (#106)
Bug fixes
- Fix JSON and bool columns displaying as strings. (#95)
- Fix column headings displaying in upper case. (#94)
What's new?
- A new meta-command
.help
has been added. (#54) - After
steampipe plugin install
, a link to the plugin docs is displayed. - A spinner is now displayed for slow queries. (#77)
- A maximum column width of 1024 is now enforced - content longer than this will wrap. (#12)
- The
description
column of the.inspect
command now fills the available horizontal screen space. (#11) - The Linux installation package now uses tar instead of zip. (#63)
Bug fixes
- Fix results paging failure for very long rows (> 64k chars). (#75)
- Fix invalid query resulting in the database session remaining open. (#60)
- Fix data formatting in json output. (#14)
- Fix incorrect plugin hub link.
- Fix
steampipe query
panic when exiting afterservice stopped --force
has been run. (#38) - Fix
runtime error: slice bounds out of range [1:0]
. (#40) - Fix boolean meta-command showing wrong status when no parameter is passed. (#48)