Skip to content

Releases: vincentdephily/emlop

0.7.0

04 Mar 22:58
Compare
Choose a tag to compare

0.7.0 2024-03-04

Feature release: Multi-term search, config file, and many goodies

New features

  • Support searching by multiple terms
    • eg emlop s -e gcc clang llvm rust
  • Support configuration file
    • Located at ~/.config/emlop.toml, or whereever $EMLOP_CONFIG says
    • Example file added to repo, should be installed alongside emlop docs
    • All available config options correspond to a cli arg, which takes precedance
  • Support reading gzip-compressed emerge.log.gz file
  • Autodetect tmpdir using currently running emerge processes
  • Assume unknown packages take 10s (overridable with --unknown) to compile instead of 0

Interface changes

  • Support multiple --tmpdir arguments
  • --tabs has been renamed --output=tab/columns/auto (or -ot for short)
    • Default output is now columns on tty and tab otherwise, to simplify emlop ...|cut -f... workflow
  • Added --resume=either variant to resume either main or backup list
    • Passing --resume without argument is now the same as --resume either
    • Default value remains auto (use main list if currently emerging)
  • --color variants renamed to (y)es, (n)o, (t)ty
  • Improved inline help and error messages
    • Upgraded argument parser dependency
    • We now do our own parsing and error rendering for many args
    • Color scheme, style, and texts updated

Bug fixes and misc

  • Fixed column width when --last is used
  • Fixed noticing a failed/interruped merge when the emerge proces keeps going
  • Ignore a performance-sensitive test during emerge
  • Display elapsed time also while compiling an unknown package
  • Raised MSRV to 1.71

0.6.1

23 Jun 21:59
Compare
Choose a tag to compare

Maintenance release

  • Refactored tests to avoid deadlock when testing via portage
    • As a bonus, tests finish much faster
  • Reduced packaged crate size by compressing image and removing unwanted files
  • Routine deps update

0.6.0

21 Jun 08:36
Compare
Choose a tag to compare

0.6.0

Feature release: Improved predict command and accuracy, filter sync events, new output options,
and more.

Main changes

  • predict command now reads portage's merge resume list
    • emlop p behaves the same as emerge -rOp|emlop p if a merge is currently running
    • Including geting confused when you have multiple emerge commands running
    • You can still pipe any emerge -p command into emlop p
    • See --resume to tweak the behavior
  • predict command now displays the current build phase and last log line of ongoing builds
    • This usually requires root permissions
  • list/stat search now also applies to sync repos, eg emlop l -ss guru
  • Improved stats layout
    • Group by section (syncs/packages/total) before grouping by date
    • Each section has its specific headers and colum count
    • Display at most 3 sections (tables), separated by a newline
  • Added --show option to predict, like in other subcommands
  • Added --first/-N/--last/-n options to limit output
  • Added --tabs option for more machine-readable output
  • Added --avg=mean/median/weighted option to tweak predictions
    • mean is the original behaviour
    • median is the new default, it's more resilient against noisy data
    • weighted-{arith,median} gives more importance to recent values
  • Added --starttime option to show merge start instead of merge end
  • Moved --show h option value to a dedicated --headers/-H flag
    • Fixes surprising behavior when only h was specified
    • More discoverable
  • Added accuracy subcommand to evaluate prediction accuracy
    • Mostly a development tool, but you might find it useful

And also

  • Long args like --duration can now be abbreviated
  • --color is now an alias of --color=always
  • Bash completion no longer wrongly suggests -V/--version for subcommands
  • Exit code on error changed to 1 for empty results and 2 for plain errors
  • Various performance improvements
    • Now clearly faster than qlop in all cases
  • Improved and reorganized inline help
  • Use asciinema recordings in readme
  • Internal stuff
    • Increased MSRV to 1.65
    • Updated github CI actions
    • Upgraded clap (triggered a lot of this release's improvements)
    • Recover from process listing errors
    • Various refactorings
    • Removed unmaintained ansi_term and sysconfig
    • New/improved benchmark tools