Skip to content

Releases: tbidne/shrun

shrun 0.9.1

01 Aug 00:23
0.9.1
7661d2d
Compare
Choose a tag to compare

shrun 0.9.1

Release Notes

Click to expand changelog

Changed

  • Updated blessed GHC to 9.8.2.

Added

  • Add --command-log-read-strategy (command-log.read-strategy) option that
    allows for line buffering.
  • Add --command-log-buffer-length and --command-log-buffer-timeout options
    for use with --command-log-read-strategy block-line-buffer.
  • Added GHC 9.10 support.

Fixed

  • Line truncation detect option now subtracts one, so terminals do not add
    an extra newline.
  • More HasCallStack annotations for better callstacks in case something goes
    wrong.
  • Increase default --command-log-read-size to 16 kb to better prevent
    command log splitting.
  • Improved formatting. Leading/trailing whitespace is no longer stripped from
    file logs, so original formatting is preserved.
  • Simplify reading final error message.
  • Hide --version from primary usage section.

Release Binaries

sha256 checksums

λ. sha256sum ./shrun_0.9.1-*
c59b64d76ce50d6555e2668706c9b0d7c2e473cd866dba9af90d2ede8e826c44  ./shrun_0.9.1-arm64-macos_14.5-darwin.xz
18bc28ecb8893c81564ee1a455cf33d2032983b20fcf5cab71ea8ec21b1a8e9a  ./shrun_0.9.1-x86_64-linux-static.xz
f8a26631de6bd40cdf3818bee65e50ad3640a90c1bb607d4fabd8a1f58f14e65  ./shrun_0.9.1-x86_64-linux-ubuntu_22.04.xz
116a64a063e0a3b16289a458f4339b32916c3d92f5c99ac3779bc4ce2a112d6d  ./shrun_0.9.1-x86_64-macos_12.7.5-darwin.xz
73f3c4cf44cf6999743047112a7cae5f076395d2648e5b299042f1d310d5baef  ./shrun_0.9.1-x86_64-macos_13.6.7-darwin.xz

Full Changelog: 0.9...0.9.1

shrun 0.9

13 May 01:03
0.9
0b77bdf
Compare
Choose a tag to compare

shrun 0.9

Release Notes

Click to expand changelog

Changed

  • --notify-action command (notify.action = "command") no longer implies
    --notify-action final. There is a new option --notify-action all for
    that.
  • --file-log-size-mode now defaults to warn 50 mb (i.e. warn when the log
    file exceeds 50 mb). There is a new option nothing to disable this.
  • Extensive CLI/toml option changes/renaming:
    • --key-hide:
      • CLI: --common-log-key-hide.
      • Toml: common-log.key-hide.
      • -k removed.
    • --timer-format:
      • CLI: --console-log-timer-format.
      • Toml: console-log.timer-format.
    • --poll-interval:
      • CLI: --command-log-poll-interval.
      • Toml: command-log.poll-interval.
      • -p removed.
    • --cmd-log:
      • CLI: --console-log-command.
      • Toml: console-log.command.
      • -l removed.
    • --cmd-name-trunc:
      • CLI: --console-log-command-name-trunc.
      • Toml: console-log.command-name-trunc.
      • -x removed.
      • Applies to all console logs, not just command logs.
    • --cmd-log-line-trunc:
      • CLI: --console-log-line-trunc.
      • -y removed.
      • Toml: console-log.line-trunc.
    • --cmd-log-strip-control:
      • CLI: --console-log-strip-control.
      • Toml: console-log.strip-control.
      • -s removed.

Added

  • Added stack support back.
  • New option --command-log-read-size (toml: command-log.read-size) that controls
    the size of logs we read from command with --console-cmd-log and
    --file-log.
  • New option --file-log-command-name-trunc (toml: file-log.command-name-trunc)
    for command name truncation in the file logs.
  • New option --file-log-delete-on-success
    (toml: file-log.delete-on-success) that deletes the log file upon a
    successful exit.
  • New option --file-log-line-trunc
    (toml: file-log.line-trunc) for line truncation in the file logs.
  • Options taking NATURAL numbers now allow underscore separators.

Fixed

  • Improved strip-control options all and smart to replace newlines with
    a single whitespace, rather than stripping them.
  • Notification failures are no longer swallowed; errors do not kill shrun,
    but they are logged and cause the program to exit with a failure code.
  • Fixed bug where --notify-system notify-send failed when given legend
    commands containing quotes and --log-key-hide was active.

Release Binaries

sha256 checksums

λ. sha256sum ./shrun_0.9-*
f553d5a42055d7412f0ce245d037f98eead81bd9c4c01bf2ce89dc44ce9300de  ./shrun_0.9-arm64-macos_14.4.1-darwin.xz
6a28e95426bea95c56863e8bb67a977d09bd4f7059b82deeb61611545f20df2d  ./shrun_0.9-x86_64-linux-static.xz
1f1e616043eb0ccb01795d93d8633b69e9bc2b8ab9d40a12c8256a7fd7d6ffd7  ./shrun_0.9-x86_64-linux-ubuntu_22.04.xz
f459e6f0ffbe33c4dcdd38f2adc6e93357a290a202a0e979560dcb195d8a605c  ./shrun_0.9-x86_64-macos_12.7.4-darwin.xz
7262dcf06e1ea731e225c5cfa7cfc6c07fd7508062a85452f74c8f871281aa49  ./shrun_0.9-x86_64-macos_13.6.6-darwin.xz

Full Changelog: 0.8.1...0.9

shrun 0.8.1

08 Dec 02:36
0.8.1
ccc121d
Compare
Choose a tag to compare

shrun 0.8.1

Release Notes

Click to expand changelog

Changed

  • Default log renamed from XDG_STATE/shrun/log to
    XDG_STATE/shrun/shrun.log.

Added

  • Added feature for sending notifications upon command/shrun completion.
    The new CLI options (toml) are:
    • --notify-action (notify.action)
    • --notify-system (notify.system)
    • --notify-timeout (notify.timeout)
  • Added new (--timer-format / timer-format) feature for formatting the
    timer. Options are:
    • digital_compact
    • digital_full
    • prose_compact
    • prose_full
  • Add no-x options to allow selectively disabling options (e.g. disable a
    single field set by the toml file).

Fixed

  • Fixed bug where command logs with newlines in them were rendered in the same
    log. These are now split across multiple logs.
  • Help page improved.

Full Changelog: 0.8...0.8.1

shrun 0.8

23 Mar 02:56
0.8
36347ed
Compare
Choose a tag to compare

shrun 0.8

Release Notes

Click to expand changelog

Removed

  • stack support removed.

Changed

  • If any commands fail, shrun now exits with an error code. Previously, shrun
    would exit successfully in this scenario, returning an exit code only when
    shrun itself died.
  • Similarly, error code is now set if any commands time out.
  • File logging now respects --key-hide i.e. default behavior matches
    --cmd-log and prints the key name over the literal command.
  • We now default logging to the XDG State directory rather than XDG config
    i.e. ~/.local/state/shrun/log.

Added

  • --init (toml: init) option that allows one to specify logic that should
    be run before each command. This can be useful when we want to load
    functions/aliases e.g. shrun --init ". ~/.bashrc" foo.
  • osx support.

Fixed

  • File logs are now streamed, do not buffer.
  • Previously, if --cmd-log or --file-log were specified, then a CPU thread
    would be maxed out polling commands for logs. We have now set a delay,
    defaulting to 10,000 microseconds, to keep the CPU reasonable. This value
    can be configured through the new --poll-interval option.

Full Changelog: 0.7...0.8

shrun 0.7

18 Dec 21:30
0.7
8c40228
Compare
Choose a tag to compare

shrun 0.7

Release Notes

Click to expand changelog

Removed

  • log-disable option removed from CLI and TOML.

Changed

  • Logs
    • Slightly more compact now (spaces between labels removed)
    • Success/Finished message now have specific labels
    • Timer logs not sent to file

Fixed

  • Fixed bug where legend key with multiple values i.e. k = [v1, v2, ...]
    would consider each vi to have key name k. This meant output could be
    ambiguous with key-hide = false (the default) because multiple values
    would have the same key name. Now we only consider a value to have a key
    name when it is unique i.e. k = v.
  • File logging thread no longer polls when file logging is disabled.
  • File logging no longer crashes if the log file does not already exist.
  • Final log message now consistently show up in the log file.
  • Fixed bug where ansi control chars could "bleed" over into other logs
  • Control chars stripped from command names every time.
  • Fixed bug where the toml file's cmd-log.line-trunc and
    strip-control.cmd-log were not overridden by the CLI unless the CLI also
    specified --cmd-log.

Release Binaries

sha256 checksums

5c79f5a6f123b1f398a6fa0e38cec4f69c89f836ae5e6db1a37e57dca25e4dfb  shrun-0.7-linux-x86_64.xz

shrun 0.6

07 Dec 08:23
0.6
2a3ec29
Compare
Choose a tag to compare

shrun 0.6

Release Notes

Click to expand changelog

Changed

  • CLI
    • cmd-line-trunc renamed to cmd-log-line-trunc.
    • strip-control renamed to cmd-log-strip-control.
    • disable-log renamed to log-disable.
  • TOML
    • Commands logging is now part of the table cmd-log.
      • cmd-line-trunc renamed to cmd-log.line-trunc.
      • strip-control renamed to cmd-log.strip-control.
    • File logging is now part of the table file-log.
      • file-log renamed to file-log.path.
      • file-log-mode renamed to file-log.mode.
      • file-log-strip-control renamed to file-log.strip-control.
  • Timestamps in logs are now simpler: No timezone or fractions of a second.

Fixed

  • Fix redundant COMMANDS... on help page.

Release Binaries

sha256 checksums

457a310e4184b09f61147e8964409ff758c52bb6dcfb3169ba789279e54579bd  shrun-0.6-linux-x86_64.xz

shrun 0.5

08 Aug 01:44
0.5
013b8f4
Compare
Choose a tag to compare

shrun 0.5

Release Notes

Click to expand changelog

Changed

  • Renamed executable from shell-run to shrun.
  • Added toml configuration. This subsumes the old --legend file, as that is
    part of the new toml file.
  • --key-show is now the default behavior. The flag has thus been renamed
    --key-hide, and is off by default.
  • --file-log no longer interprets d as the default path. Only the string
    default is expected.
  • Renamed toml's --file-logging to --file-log for consistency with CLI.

Added

  • --file-log-strip-control for adding --strip-control functionality
    to file logs.
  • --file-log-mode option for choosing between append and write file
    modes.
  • --file-log-size-mode option for warning or automatically deleting the
    log file if it crosses a user-specified threshold.

Fixed

  • Improve --strip-control. all should no longer leave ansi remnants, and
    smart is much more aggressive about removing everything but harmless
    styling.
  • Improve benchmarking to more accurately describe memory usage.
  • File logging handled more intelligently: no longer opening/closing on each
    write.

Release Binaries

sha256 checksums

1327cd9bd1732df0aa2b40624b13db12d347e8ed3eda7af7195af9921e9fad5f  shrun-0.5-linux-x86_64.xz

shell-run 0.4

22 Jun 01:25
0.4
4a32ddc
Compare
Choose a tag to compare

shell-run 0.4

Click to expand changelog

Release Notes

  • File logging in local time, not UTC.
  • Internal improvements (type safety, linting/ci ease).
  • Improve integration test.

Release Binaries

sha256 checksums

b19faec5fa5027353cc75626e3900ecfc6029c5be3f5c4d666dd328fcbba2113  shell-run-0.4-linux-x86_64.xz

shell-run 0.3

28 May 02:32
0.3
dcd82e1
Compare
Choose a tag to compare

shell-run 0.3

Click to expand changelog

Release Notes

  • Adds new --strip-control argument for handling control chars in logs.

Release Binaries

sha256 checksums

a6103825a2f916696a536e241273862f94990cd4a6691a1d5f659e2932775a15  shell-run-0.3-linux-x86_64.xz

shell-run 0.2.0.1

24 May 04:59
0.2.0.1
166af60
Compare
Choose a tag to compare

shell-run 0.2.0.1

Click to expand changelog

Release Notes

  • Update documentation
  • Update CI jobs
  • Add INLINEABLE

Release Binaries

sha256 checksums

1d1a8166e967b5327d6935a5f8c1aa2a2ee60405c1c1b4b93043b99979ea8d87  shell-run-0.2.0.1-linux-x86_64.xz