Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Created by
brew bumpCreated with
brew bump-formula-pr.Details
release notes
CLI
Lots of new configuration options, all listed here, among which:
--select-1,--take-1,--take-1-fast--watchmodeNew UI features and improvements to customization
--inlinemode (+--height,--width)Shell integration
inlinemode by defaultOthers
New website
Television now has a brand new website!

Changelog
⛰️ Features
c34fa57 (binary) Host our own apt repo by @kapobajza in #568
7b40e76 (cable) Migrate windows channels by @alexpasmantier
6b38ce2 (cable) Migrate the rest of unix channels by @alexpasmantier
a49f104 (channel) Add channel global shortcuts by @lalvarezt
1891736 (cli) Add watch flag to trigger reload of channels by @lalvarezt
2ecbc8a (cli) Initial support for source and preview overrides, layout, take_1 and take_1_fast by @lalvarezt
bc8d636 (cli) Add cli options to override configuration and cable directories by @alexpasmantier
f887a23 (cli) Add a
--ui-scale[0,100] cli parameter by @alexpasmantier in #4927067a2b (remote) Rework remote UI and add description and requirements panels by @alexpasmantier
cfe49ce (remote) Redirect
Action::QuittoAction::ToggleRemoteControlwhen in remote mode by @alexpasmantier in #5084d80e95 (shell) Add support for integration with NuShell by @alexpasmantier in #410
0f4d879 (shell) Improve zsh completion system by @lalvarezt in #525
be8008e (shell) Improve fish completion system by @lalvarezt in #494
639caa1 (stdin) Accept various entry separator characters by @alexpasmantier in #572
ccc12e2 (tui) Add special testing conditions for overlay testing by @lalvarezt in #585
4ed48cc (ui) Support for non-fullscreen UI by @lalvarezt in #578
23f52d4 (ui) Optional scrollbar and mouse support for the preview panel by @lalvarezt
ad4e254 (ui) New keybindings panel and status bar by @lalvarezt
510e7b6 (ui) Add support for customizing
input_header,preview_headerandpreview_footerby @lalvarezt783d96b (ui) Preview size customization by @lalvarezt
1086899 (ui) Add a UI portrait mode #489 by @cr4ftx in #496
3b3a0ec (windows) Add text channel with preview offset for windows by @alexpasmantier in #514
4513945 (uncategorized) Add global/channel input history by @lalvarezt in #573
9e306d9 (uncategorized) New channel and added reload and toggle actions by @lalvarezt
🐛 Bug Fixes
dbff3a3 (alias) Move terminal raw mode before loading bat assets #444 by @cr4ftx in #484
0514a91 (alias) Rename the aliases channel to
aliasby @alexpasmantier in #48567195e7 (app) Channel keybindings are ignored by @lalvarezt
415dd38 (app) Honor cli no-help and no-preview by @lalvarezt
6b3c4ee (cable) Don't panic when unable to format user template with entry by @alexpasmantier in #516
5d730cd (channel) Only allow reload and cycle_sources in channel mode by @alexpasmantier
17439da (channels) Quote bat arguments by @Ktoks in #590
07556ea (cli) Fix validation rules when reading from stdin by @alexpasmantier
ca5808a (cli) Fix parsing of arguments for autocomplete-prompt by @lalvarezt in #569
090d71a (cli) Using --exact now works on the --input text aswell by @domaschh
dfbdd65 (config) Use the config
default_channelfield as a fallback when no channel is specified by @alexpasmantier in #524653c986 (github) Copy github prototypes' content directly by @alexpasmantier
3e98475 (github) Improve ux when downloading cable channels by @alexpasmantier
9a80919 (keybindings) Add cmd as an option for modifrs by @domaschh
cd33151 (layout) Double check whether preview is enabled by @nkxxll in #499
d429a9a (matcher) Better handling of reloading and cycling through sources by @alexpasmantier
94e34c1 (os) No more panicking on cwd-related errors by @alexpasmantier
0f8a585 (preview) Default to no offset when offset template formatting fails by @alexpasmantier
a81a86f (preview) Don't panic when the previewer attempts to send to a closed channel by @alexpasmantier
1741a15 (preview) Add a post-processing step to clean out ansi text from non-displayable characters by @alexpasmantier in #509
a8fb0f0 (reload) Avoid UI flickering while reloading channel by @alexpasmantier
1f0c178 (results) Remove keymap hint if help is disabled by @nkxxll in #480
39dd9ef (shell) Paste not working in zsh shell integration by @kapobajza in #512
1de2866 (templates) Handle case when template contains brackets that shouldn't be interpreted by the parser by @alexpasmantier
dde3193 (tui) Fixed shell completion widget not rendering, add poc for fish by @lalvarezt in #588
dc75e80 (ui) Avoid glitches caused by programs outputting control sequences by @alexpasmantier in #579
e5a13ef (uncategorized) Reset picker selection when cycling through sources by @alexpasmantier
b0c25b1 (uncategorized) Rollback unwanted modifications on text and env prototypes by @alexpasmantier
175015d (uncategorized) Load new channel after zapping with the remote by @alexpasmantier
c80e9b1 (uncategorized) "toggle source" leftovers by @alexpasmantier
🚜 Refactor
2fdb47f (cable) Add helper function to get keybindings by @lalvarezt
e06e5e6 (cable) Update preview size for
filesandenvby @alexpasmantiere76a3df (cable) Cable format redesign by @alexpasmantier [breaking]
b372fe8 (cable) Add
filesandtextchannels with the new configuration format by @alexpasmantier in #534e2f52b8 (cable) Improve naming and documentation for
prototypes.rsby @alexpasmantier in #4874385317 (cable) Split cable related code into separate submodules by @alexpasmantier in #486
1a5fa5d (channels) Some renaming and refactoring the channels module by @alexpasmantier in #503
a2ebbb3 (cli) Add validation logic + docs by @lalvarezt
ebca4d2 (cli) Move cli overrides to dedicated function by @alexpasmantier
80cb6c3 (picker) New movement system by @lalvarezt
b9f42e8 (preview) Simplify channel previews code and remove intermediate
PreviewKindstruct by @alexpasmantier in #49067c067f (previewer) A much more efficient preview system for tv by @alexpasmantier in #506
f138e8a (screen) Remove leftover line number, not used anymore by @lalvarezt
7ac2f28 (screen) New result line abstraction that can be reused by @lalvarezt
4b338f5 (shell) Make use the new Binding system by @lalvarezt
58d90c6 (ui) Feature based UI by @lalvarezt
8fd9163 (uncategorized) More stable behavior for
--inline,--widthand--heightby @alexpasmantier in #589d82bf72 (uncategorized) Extract overlay tui logic into separate function and call it on resize events by @alexpasmantier
4faab40 (uncategorized) QOL improvements on channels and CLI override logic by @lalvarezt in #584
292c521 (uncategorized) Use super for linux and windows and cmd for macos by @alexpasmantier in #571
51617b1 (uncategorized) Clearer separation of channels vs remote, better deserialization of prototype sub-structures, etc. by @alexpasmantier
53c36f0 (uncategorized) Add reload and cycle source to default keymaps + default keymap changes by @alexpasmantier
466a743 (uncategorized) Strip new channels to their bare minimum config by @alexpasmantier
2b2654b (uncategorized) Drop TelevisionChannel enum and all associated macros by @alexpasmantier in #498
cc27b5e (uncategorized) Drop dependency to the
ignorecrate by @alexpasmantierc2f4cc2 (uncategorized) Tv no longer needs to write the default cable channel recipes to the user's configuration directory by @alexpasmantier in #482
67677fb (uncategorized) All channels are now cable channels by @alexpasmantier in #479 [breaking]
📚 Documentation
825e974 (cable) Update channel documentation (auto) by @github-actions[bot] in #594
185f789 (cable) Update channel documentation (auto) by @github-actions[bot]
8bdebd3 (channels) Autogenerate channel documentation + CI action by @alexpasmantier
6015809 (tests) Simple documentation for the
PtyTesterby @alexpasmantier7bbf538 (utils) Add documentation for string formatting logic by @alexpasmantier in #517
0112b40 (uncategorized) Update installation docs by @alexpasmantier
e5654fc (uncategorized) Add docusaurus website by @alexpasmantier
e797aba (uncategorized) Reorganize docs by @alexpasmantier
106004d (uncategorized) Architecture by @alexpasmantier
1d33c93 (uncategorized) Add readme banner by @alexpasmantier
3ac6c76 (uncategorized) Update readme by @alexpasmantier
1c5810f (uncategorized) Add assets + update readme image by @alexpasmantier
d9d6554 (uncategorized) Migrate some of the wiki's content to the docs/ folder by @alexpasmantier
9364b3e (uncategorized) Some cleaning and reorganizing by @alexpasmantier
f52d4ef (uncategorized) Update README by @alexpasmantier
c25a5bd (uncategorized) Update readme and add new format docs by @alexpasmantier
aac7e4d (uncategorized) Update terminal emulators compatibility list by @alexpasmantier
9127e41 (uncategorized) Add index.md by @alexpasmantier
d3bb3b0 (uncategorized) Cleanup old todo list by @alexpasmantier in #483
⚡ Performance
fc2f8b9 (previews) Avoid unnecessary preview content copy by @alexpasmantier in #507
14804f5 (uncategorized) Pre-allocate result vectors, and reuse picker entries to avoid reallocations by @lalvarezt
19d1ca1 (uncategorized) More pre-allocations and avoid unnecessary ascii string parsing work by @lalvarezt
🧪 Testing
f60b492 (cli) Add test that validates piping tv is working as expected by @alexpasmantier
42e2728 (cli) New cli test suite by @lalvarezt
47b99c4 (e2e) Better pty tooling and more tests by @alexpasmantier
b780fa1 (e2e) Add proper e2e tests and pty-testing utils by @alexpasmantier
f6dcedc (e2e) Fallback to a default value of 0 when failing to parse preview offset by @alexpasmantier
3b57710 (e2e) More end to end tests by @alexpasmantier
8d822cd (e2e) Add e2e tests for secondary cli commands (version, init, list-channels, ...) by @alexpasmantier
6662544 (television) Add test to check channel keybindings precedence by @alexpasmantier
a59aab6 (uncategorized) Add integration test for
--watchby @alexpasmantierdd832fc (uncategorized) A cleaner integration tests directory structure by @alexpasmantier
fe8bdc6 (uncategorized) Add test to check cli overrides by @alexpasmantier
⚙️ Miscellaneous Tasks
f58e46c (changelog) Update changelog (auto) by @github-actions[bot] in #591
d106ada (changelog) Update changelog (auto) by @github-actions[bot] in #513
64c599e (changelog) Update changelog (auto) by @github-actions[bot] in #491
a602dda (changelog) Update changelog (auto) by @github-actions[bot] in #478
2e99fba (nix) Update sha of rust toolchain in flake.nix by @tukanoidd in #530
738fe08 (rust) Update rust edition to 2024 and version to 1.87 by @alexpasmantier in #528
f6b2205 (tui-input) Add credit and license for
television/utils/input.rsby @alexpasmantier in #54471582e5 (uncategorized) Bump to 0.12.0 by @alexpasmantier
429bfae (uncategorized) Remove unused serde renames by @alexpasmantier
141d3e7 (uncategorized) Update dependencies by @alexpasmantier
ab1efed (uncategorized) Remove stale FIXME comment by @alexpasmantier
11c2ef4 (uncategorized) Create github action workflow for pages by @alexpasmantier
0f6b29b (uncategorized) Add sponsorhips button to the repo by @alexpasmantier
New Contributors
Full Changelog: alexpasmantier/television@0.11.9...0.12.0
View the full release notes at https://github.com/alexpasmantier/television/releases/tag/0.12.0.