Releases: skx/sysbox
release-0.10.0
release-0.10.0
This release fixes a bug in the validate-json
sub-command. When executed with no-arguments, or arguments that specified directories the tool would process files with the wrong name:
- Rather than searching recursively for files matching the pattern
*.json
it would process*.yml
&*.yaml
.- These would of course fail validation, as they were not JSON files.
Specifying files, rather than directories, would work as expected which is why this was not noticed immediately.
release-0.9.0
release-0.9.0
This release fixes a few minor internal implementation details, improving our code standard and correctness.
In addition to the regular minor tweaks there has been the addition of a new sub-command comments
, which allows you to extract comments from source-code in a flexible fashion. I introduced this in a blog-post recently:
The ssl-expiry
sub-command gained a pair of new flags (-hours
and -days
) to make using it inside shell-scripts less complex, and the calc
sub-command received a few fixes to handle invalid input in a more graceful fashion.
release-0.8.0
release-0.8.0
This release adds a new sub-command expect
, which allows simple command-automation, in a fashion similar to the TCL expect
utility. In short you can launch commands, and send input to them based on matching regular expressions.
See sysbox help expect
for brief examples, and an overview.
Otherwise the only changes in this release are some minor updates to calc
sub-command, to resolve some linter warnings (relating to program complexity). No functional changes.
release-0.7.0
release-0.7.0
This release updates a couple of our built-in sub-commands:
calc
- Allows negative numbers to be supported (!)
- Allows the use of variable-assignment without the use of the
let
token. - 100% test-coverage.
exec-stdin
- Added support for running commands in parallel.
- Don't terminate if any single execution fails.
splay
- Allow the maximum splay-time to be specified via
splay 123
in addition tosplay -maximum 123
since that feels more natural.
- Allow the maximum splay-time to be specified via
release-0.6.0
release-0.6.0
The sysbox choose-file
utility is so useful I wanted to make it more general, so there is now a matching sysbox choose-stdin
command. This allows you to navigate/choose lines read from STDIN instead of just files.
The code used to perform template-expansion of commands has now been moved to its own package, with test-cases, cutting down on code duplication.
release-0.5.0
release-0.5.0
This is an incremental release which makes only minor changes to the previous one:
- There is now integrated support for generating a bash-completion script.
- The
calc
subcommand was rewritten to allow the use of variable-definitions in the REPL environment.- See
sysbox help calc
for details.
- See
- There were some minor rewording/tweaks to the output of the various subcommand help-text.
- There is a new
choose-file
subcommand, allowing you to use a text-based GUI to select a filename.- Optionally executing a command upon a successful choice.
release-0.4.0
release-0.4.0
All being well this release will contain binary artifacts for:
- Linux
- FreeBSD
- MacOS
Binaries for Windows have been dropped due to a build-issue:
Building for windows [amd64] -> sysbox-windows-amd64.exe
# golang.org/x/crypto/ssh/terminal
/home/skx/go/pkg/mod/golang.org/x/[email protected]/ssh/terminal/util_windows.go:97:61: multiple-value "golang.org/x/sys/windows".GetCurrentProcess() in single-value context
Building for windows [386] -> sysbox-windows-i386.exe
# golang.org/x/crypto/ssh/terminal
/home/skx/go/pkg/mod/golang.org/x/[email protected]/ssh/terminal/util_windows.go:97:61: multiple-value "golang.org/x/sys/windows".GetCurrentProcess() in single-value context
This will need investigation in the future.
release-0.3.0
release-0.3.0
This release was made specifically because we've updated our subcommand-dependency, such that it is possible to retrieve a list of subcommand names.
The repository now includes a simple bash completion script, which allows completing on available subcommands, and their arguments.
release-0.2.0
release-0.2.0
Moved to a new computer, which inspired me to add a bunch of new sub-commands:
- calc - Simple calculator.
- chronic - Wrapper useful for
cron
tasks. - exec-stdin - Run commands based on templated
STDIN
input. - fingerd - Trivial finger-server.
- http-get - Trivial
curl
-lite. - torrent - Download torrents via magnet-links.
- tree - Simple filesystem-tree lister.
- urls - Extract URLs from STDIN, or named files.
release-0.1.0
release-0.1.0
This is the initial release which has been generated for early-feedback. There are a small number of tools present already, each of which is sufficiently complete for my own needs:
- collapse: Remove whitespace from input.
- env-template: Populate a template-file with environmental variables.
- httpd: A simple HTTP server.
- install: Create symlinks for each known binary.
- ips: Show IP address information.
- make-password: Generate a random password.
- peerd: Keep track of peer hosts.
- run-directory: Run all the executables in a directory.
- splay: Sleep for a random time.
- ssl-expiry: Report how long until an SSL certificate expires.
- validate-json: Validate all JSON files for syntax.
- validate-yaml: Validate all YAML files for syntax.
- with-lock: Execute a process, with a lock.