Skip to main content

0.15.0

Highlights

Sorting

Frecency Sorting (Enabled by Default)

Results are now sorted using frecency - a ranking algorithm that combines frequency (how often you select an item) and recency (how recently you selected it). The more you use tv, the better it gets at predicting what you're looking for.

This is enabled by default and works automatically across all channels. Items you select frequently and recently will appear higher in results, even with partial or fuzzy matches. This can be opted out on a per-channel basis.

Preserve Original Order

For cases where you want to preserve the original order from the source command (e.g., pre-sorted output, chronological logs), use the new --no-sort flag:

tv --source-command "git log --oneline" --no-sort

This disables both match-quality sorting and frecency, displaying results in the exact order provided by the source.

Action Picker

A new action picker lets you browse and execute available actions for the current entry. Press Ctrl+X to open it.

UI Improvements

  • Cycle indicators: When source or preview cycling is enabled, a tab indicator shows which command is active
  • Keybinding hints: The UI now shows hints for cycling keybindings when available
  • Preview word wrap: Enable with --preview-word-wrap

Channel Enhancements

  • Custom shell: Channels can now specify a custom shell for source, preview, and action commands
  • Missing requirements popup: The remote control now shows a popup when a channel has unmet requirements
  • 21 new community channels added
  • Improved default actions for existing channels

Other Changes

  • --input-position CLI argument to control input bar placement
  • list-channels output is now sorted alphabetically
  • update-channels skips channels with unmet requirements by default
  • Braille Unicode character support in preview
  • Various bug fixes and performance improvements

Changelog

Features

  • feat(actions): add a new picker for channel actions (#880)
  • feat(ui): add cycle_x keybinding hint next to tab indicator when cycling is enabled (#876)
  • feat(prototypes): enable using a custom shell for source, preview and action commands (#875)
  • feat(remote): add remote control missing requirements popup
  • feat(cable): 21 new channels
  • feat(cable): existing channel improvements, more default actions
  • feat(ui): add cycle_sources and cycle_previews tab indicators (#870)
  • feat: frecency sorting (#869)
  • feat(cli): sort list-channels output alphabetically (#866)
  • feat: generalize support for custom sorting
  • feat(update-channels): skip channels with unmet requirements by default (#859)
  • feat: allow disabling automatic sorting of matcher results (#856)
  • feat(preview): Add word wrapping to the preview panel (#849)
  • feat(preview): Accept Braille Unicode characters (#848)
  • feat(tldr): colored tldr preview
  • feat(cli): add input-position cli argument (#840)

Bug Fixes

  • fix(sesh): allow paths containing whitespaces
  • fix(nerdfonts): expand nerd fonts support (#839)

Performance

  • perf(frecency): avoid string allocations in sort comparisons (#877)

Refactor

  • refactor(cable): simpler systemd units channel
  • refactor(ui): replace stateful spinner by static symbol
  • refactor(nix): flake using flake-parts, crane, and rust-overlay (#846)

Full Changelog: https://github.com/alexpasmantier/television/compare/0.12.0...0.15.0