2025-07-08 12:20:29 +00:00

497 lines
60 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-Developers/patch-notes" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.8.1">
<title data-rh="true">Release notes for television 0.12.0 | Television</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://alexpasmantier.github.io/television/img/tv-social.png"><meta data-rh="true" name="twitter:image" content="https://alexpasmantier.github.io/television/img/tv-social.png"><meta data-rh="true" property="og:url" content="https://alexpasmantier.github.io/television/docs/Developers/patch-notes"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Release notes for television 0.12.0 | Television"><meta data-rh="true" name="description" content="image"><meta data-rh="true" property="og:description" content="image"><link data-rh="true" rel="icon" href="/television/img/tv-icon-150.png"><link data-rh="true" rel="canonical" href="https://alexpasmantier.github.io/television/docs/Developers/patch-notes"><link data-rh="true" rel="alternate" href="https://alexpasmantier.github.io/television/docs/Developers/patch-notes" hreflang="en"><link data-rh="true" rel="alternate" href="https://alexpasmantier.github.io/television/docs/Developers/patch-notes" hreflang="x-default"><script data-rh="true" type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Release notes for television 0.12.0","item":"https://alexpasmantier.github.io/television/docs/Developers/patch-notes"}]}</script><link rel="stylesheet" href="/television/assets/css/styles.cc1a39b4.css">
<script src="/television/assets/js/runtime~main.36d23f4d.js" defer="defer"></script>
<script src="/television/assets/js/main.1e6bd98c.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><defs>
<symbol id="theme-svg-external-link" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"/></symbol>
</defs></svg>
<script>!function(){var t="dark";var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();document.documentElement.setAttribute("data-theme",e||t),document.documentElement.setAttribute("data-theme-choice",e||t)}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><link rel="preload" as="image" href="/television/img/tv-icon-80.png"><div role="region" aria-label="Skip to main content"><a class="skipToContent_nod4" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="theme-layout-navbar navbar navbar--fixed-top"><div class="navbar__inner"><div class="theme-layout-navbar-left navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/television/"><div class="navbar__logo"><img src="/television/img/tv-icon-80.png" alt="Television Logo" class="themedComponent_rgZj themedComponent--light_hdxy"><img src="/television/img/tv-icon-80.png" alt="Television Logo" class="themedComponent_rgZj themedComponent--dark_Iwy7"></div><b class="navbar__title text--truncate">Television</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/television/docs/Users/installation">docs</a><a href="https://github.com/alexpasmantier/television/releases" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">releases<svg width="13.5" height="13.5" aria-hidden="true" class="iconExternalLink_dOts"><use href="#theme-svg-external-link"></use></svg></a><a href="https://crates.io/crates/television" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">crates.io<svg width="13.5" height="13.5" aria-hidden="true" class="iconExternalLink_dOts"><use href="#theme-svg-external-link"></use></svg></a></div><div class="theme-layout-navbar-right navbar__items navbar__items--right"><a href="https://github.com/alexpasmantier/television" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" class="iconExternalLink_dOts"><use href="#theme-svg-external-link"></use></svg></a><div class="navbarSearchContainer_VxOy"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="theme-layout-main main-wrapper mainWrapper_HR2q"><div class="docsWrapper_uElw"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_IzB1" type="button"></button><div class="docRoot_MWdD"><aside class="theme-doc-sidebar-container docSidebarContainer_AJtF"><div class="sidebarViewport_usFm"><div class="sidebar_HC93"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_BnDX"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret" role="button" aria-expanded="false" href="/television/docs/Users/installation">Users</a></div></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist menu__link--sublist-caret menu__link--active" role="button" aria-expanded="true" href="/television/docs/Developers/ARCHITECTURE">Developers</a></div><ul class="menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/television/docs/Developers/ARCHITECTURE">Architecture Documentation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link" tabindex="0" href="/television/docs/Developers/ui-features">UI Features documentation</a></li><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-2 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" tabindex="0" href="/television/docs/Developers/patch-notes">Release notes for television 0.12.0</a></li></ul></li></ul></nav><button type="button" title="Collapse sidebar" aria-label="Collapse sidebar" class="button button--secondary button--outline collapseSidebarButton_I1Io"><svg width="20" height="20" aria-hidden="true" class="collapseSidebarButtonIcon_KwG0"><g fill="#7a7a7a"><path d="M9.992 10.023c0 .2-.062.399-.172.547l-4.996 7.492a.982.982 0 01-.828.454H1c-.55 0-1-.453-1-1 0-.2.059-.403.168-.551l4.629-6.942L.168 3.078A.939.939 0 010 2.528c0-.548.45-.997 1-.997h2.996c.352 0 .649.18.828.45L9.82 9.472c.11.148.172.347.172.55zm0 0"></path><path d="M19.98 10.023c0 .2-.058.399-.168.547l-4.996 7.492a.987.987 0 01-.828.454h-3c-.547 0-.996-.453-.996-1 0-.2.059-.403.168-.551l4.625-6.942-4.625-6.945a.939.939 0 01-.168-.55 1 1 0 01.996-.997h3c.348 0 .649.18.828.45l4.996 7.492c.11.148.168.347.168.55zm0 0"></path></g></svg></button></div></div></aside><main class="docMainContainer_yFTf"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_QLDD"><div class="docItemContainer_Hqnr"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_eD4m" aria-label="Breadcrumbs"><ul class="breadcrumbs"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/television/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YhwE"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li class="breadcrumbs__item"><span class="breadcrumbs__link">Developers</span></li><li class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link">Release notes for television 0.12.0</span></li></ul></nav><div class="tocCollapsible_Qf8d theme-doc-toc-mobile tocMobile_mt20"><button type="button" class="clean-btn tocCollapsibleButton_Hr9f">On this page</button></div><div class="theme-doc-markdown markdown"><header><h1>Release notes for television 0.12.0</h1></header>
<p><img decoding="async" loading="lazy" src="https://github.com/user-attachments/assets/96a904db-7b02-4457-80e2-6c00b5356769" alt="image" class="img__hwa"></p>
<h2 class="anchor anchorWithStickyNavbar_Fogf" id="new-contributors">New Contributors<a href="#new-contributors" class="hash-link" aria-label="Direct link to New Contributors" title="Direct link to New Contributors"></a></h2>
<ul>
<li>@Ktoks made their first contribution in <a href="https://github.com/alexpasmantier/television/pull/590" target="_blank" rel="noopener noreferrer">#590</a></li>
<li>@lalvarezt made their first contribution in <a href="https://github.com/alexpasmantier/television/pull/588" target="_blank" rel="noopener noreferrer">#588</a></li>
<li>@kapobajza made their first contribution in <a href="https://github.com/alexpasmantier/television/pull/568" target="_blank" rel="noopener noreferrer">#568</a></li>
<li>@domaschh made their first contribution</li>
<li>@cr4ftx made their first contribution in <a href="https://github.com/alexpasmantier/television/pull/496" target="_blank" rel="noopener noreferrer">#496</a></li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_Fogf" id="highlights">Highlights<a href="#highlights" class="hash-link" aria-label="Direct link to Highlights" title="Direct link to Highlights"></a></h2>
<p>This section is meant as a quick recap of what you should know when upgrading to 0.12.0.</p>
<p>It is in no means exhaustive. If you&#x27;re really interested in the complete changelog, feel free to <a href="#changelog">skip ahead</a>.</p>
<h3 class="anchor anchorWithStickyNavbar_Fogf" id="channels-refactor-and-lots-of-new-features">Channels refactor and lots of new features<a href="#channels-refactor-and-lots-of-new-features" class="hash-link" aria-label="Direct link to Channels refactor and lots of new features" title="Direct link to Channels refactor and lots of new features"></a></h3>
<ul>
<li>channels now allow <a href="https://github.com/alexpasmantier/television/blob/main/docs/channels.md#channel-specification" target="_blank" rel="noopener noreferrer">much more configuration options</a></li>
<li>channels are now laid out in <a href="https://github.com/alexpasmantier/television/blob/main/docs/channels.md#default-location-on-your-system" target="_blank" rel="noopener noreferrer">a more natural way</a> in the user&#x27;s config directory</li>
<li>tv now relies on <a href="https://github.com/lalvarezt/string_pipeline" target="_blank" rel="noopener noreferrer">string-pipeline</a> as its templating system which provides a concise and very expressive syntax that supports quite a lot of basic transformations</li>
<li>channels can be accessed directly using keyboard shortcuts (see config options above)</li>
<li>community-maintained channels on the official repo can now be installed directly via the cli</li>
<li>channels can now be live reloaded and can be configured to live reload periodically</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_Fogf" id="cli">CLI<a href="#cli" class="hash-link" aria-label="Direct link to CLI" title="Direct link to CLI"></a></h3>
<p>Lots of new configuration options, all listed <a href="https://github.com/alexpasmantier/television/blob/main/docs/advanced/cli.md#-source-and-data-options" target="_blank" rel="noopener noreferrer">here</a>, among which:</p>
<ul>
<li>UI elements, sizes, layout (most of which are covered <a href="https://github.com/alexpasmantier/television/blob/main/docs/advanced/cli.md#-source-and-data-options" target="_blank" rel="noopener noreferrer">here</a>)</li>
<li>channels can now be built on the fly using the cli:</li>
</ul>
<div class="language-sh codeBlockContainer_MbdR theme-code-block" style="--prism-color:#F8F8F2;--prism-background-color:#282A36"><div class="codeBlockContent_WPSJ"><pre tabindex="0" class="prism-code language-sh codeBlock_ke8T thin-scrollbar" style="color:#F8F8F2;background-color:#282A36"><code class="codeBlockLines_oe7S"><span class="token-line" style="color:#F8F8F2"><span class="token plain">tv --source-command </span><span class="token string" style="color:rgb(255, 121, 198)">&quot;find . -name &#x27;*.rs&#x27;&quot;</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --preview-command </span><span class="token string" style="color:rgb(255, 121, 198)">&quot;bat -n --color=always &#x27;{}&#x27;&quot;</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(248, 248, 242)">\</span><span class="token plain"></span><br></span><span class="token-line" style="color:#F8F8F2"><span class="token plain"> --preview-size </span><span class="token number">70</span><br></span></code></pre></div></div>
<ul>
<li>you may now choose to disable some of tv&#x27;s features for a specific use case (e.g. opening tv in single-channel mode by disabling the remote control entirely, or choosing to disable the status bar for an extra line of space, etc.)</li>
<li>you may now define custom keybindings through the cli</li>
<li>you may tweak tv&#x27;s selection behavior using <code>--select-1</code>, <code>--take-1</code>, <code>--take-1-fast</code></li>
<li>tv now has a <code>--watch</code> mode</li>
<li>you may now download channels from tv&#x27;s repo using the cli</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_Fogf" id="new-ui-features-and-improvements-to-customization">New UI features and improvements to customization<a href="#new-ui-features-and-improvements-to-customization" class="hash-link" aria-label="Direct link to New UI features and improvements to customization" title="Direct link to New UI features and improvements to customization"></a></h3>
<p><img decoding="async" loading="lazy" src="https://github.com/user-attachments/assets/625081f0-d8bf-45c2-9920-1d7e1f66918e" alt="tv-files-remote" class="img__hwa"></p>
<ul>
<li>tv now has a status bar and a help panel</li>
<li>the remote control went through a rework and now displays richer information about available channels</li>
<li>tv now has a portrait mode<br>
<img decoding="async" loading="lazy" src="https://github.com/user-attachments/assets/e97aa7c2-e9cd-4eed-9d74-04ee3a35f0c5" alt="image" class="img__hwa"></li>
<li>the preview panel size is now configurable on a per channel basis</li>
<li>tv now has an <code>--inline</code> mode (+ <code>--height</code>, <code>--width</code>)<br>
<img decoding="async" loading="lazy" src="https://github.com/user-attachments/assets/aeb8bb07-741a-42fa-8890-ae585e9194b2" alt="image" class="img__hwa"></li>
<li>more customizable UI elements
<img decoding="async" loading="lazy" src="https://github.com/user-attachments/assets/154bee6e-7e9f-4c43-97ed-0b0b372a620b" alt="image" class="img__hwa"></li>
<li>preview scrollbars</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_Fogf" id="shell-integration">Shell integration<a href="#shell-integration" class="hash-link" aria-label="Direct link to Shell integration" title="Direct link to Shell integration"></a></h3>
<ul>
<li>added support for nushell</li>
<li>shell integration now spawns tv in <code>inline</code> mode by default</li>
<li>improved shell integration for zsh and fish</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_Fogf" id="others">Others<a href="#others" class="hash-link" aria-label="Direct link to Others" title="Direct link to Others"></a></h3>
<ul>
<li>mouse support</li>
<li>tui testing framework</li>
<li>search history (per-channel and global)</li>
<li>a lot of bug fixes</li>
<li>substantial performance improvements while drawing much less resources</li>
<li>heavy refactoring and simplifying the code (deleting nearly 10k loc)</li>
<li>a fair amount of documentation work</li>
<li>a lot of new tests</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_Fogf" id="new-website">New website<a href="#new-website" class="hash-link" aria-label="Direct link to New website" title="Direct link to New website"></a></h3>
<p>Television now has <a href="https://alexpasmantier.github.io/television" target="_blank" rel="noopener noreferrer">a brand new website</a>!
<img decoding="async" loading="lazy" src="https://github.com/user-attachments/assets/d247c266-8525-454a-868c-638442278186" alt="image" class="img__hwa"></p>
<h2 class="anchor anchorWithStickyNavbar_Fogf" id="changelog">Changelog<a href="#changelog" class="hash-link" aria-label="Direct link to Changelog" title="Direct link to Changelog"></a></h2>
<h3 class="anchor anchorWithStickyNavbar_Fogf" id="-features">⛰️ Features<a href="#-features" class="hash-link" aria-label="Direct link to ⛰️ Features" title="Direct link to ⛰️ Features"></a></h3>
<ul>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/c34fa5731213afc1bd890b4cb76e5a9f6c689095" target="_blank" rel="noopener noreferrer">c34fa57</a> <em>(binary)</em> Host our own apt repo by @kapobajza in <a href="https://github.com/alexpasmantier/television/pull/568" target="_blank" rel="noopener noreferrer">#568</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/7b40e769aebf55000daa6437fcc27774ceb5c70b" target="_blank" rel="noopener noreferrer">7b40e76</a> <em>(cable)</em> Migrate windows channels by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/6b38ce2058ca14265ad2a4c93ee3a2603944987f" target="_blank" rel="noopener noreferrer">6b38ce2</a> <em>(cable)</em> Migrate the rest of unix channels by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/a49f1046709d911761761f373df4e32179950341" target="_blank" rel="noopener noreferrer">a49f104</a> <em>(channel)</em> Add channel global shortcuts by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/18917362beb039ef5336b8b60b977e2d608b7d8f" target="_blank" rel="noopener noreferrer">1891736</a> <em>(cli)</em> Add watch flag to trigger reload of channels by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/2ecbc8a170693bb68f3f517dcf95c6b690c1771f" target="_blank" rel="noopener noreferrer">2ecbc8a</a> <em>(cli)</em> Initial support for source and preview overrides, layout, take_1 and take_1_fast by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/bc8d6360056d73eb868d54272f703436dfe6ca15" target="_blank" rel="noopener noreferrer">bc8d636</a> <em>(cli)</em> Add cli options to override configuration and cable directories by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/f887a2390ede0a5f30d61f2bb9d4e1e421109d63" target="_blank" rel="noopener noreferrer">f887a23</a> <em>(cli)</em> Add a <code>--ui-scale</code> [0,100] cli parameter by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/492" target="_blank" rel="noopener noreferrer">#492</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/7067a2ba939bba803d4a6d54423ba87476e40dc4" target="_blank" rel="noopener noreferrer">7067a2b</a> <em>(remote)</em> Rework remote UI and add description and requirements panels by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/cfe49ce81c1eb428b7c38fe5b524d67141099946" target="_blank" rel="noopener noreferrer">cfe49ce</a> <em>(remote)</em> Redirect <code>Action::Quit</code> to <code>Action::ToggleRemoteControl</code> when in remote mode by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/508" target="_blank" rel="noopener noreferrer">#508</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/4d80e95c6b42bd3d5b9d891e780df66b5a6235cc" target="_blank" rel="noopener noreferrer">4d80e95</a> <em>(shell)</em> Add support for integration with NuShell by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/410" target="_blank" rel="noopener noreferrer">#410</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/0f4d87915b76c066a9a4f9ac01f81763271ce37e" target="_blank" rel="noopener noreferrer">0f4d879</a> <em>(shell)</em> Improve zsh completion system by @lalvarezt in <a href="https://github.com/alexpasmantier/television/pull/525" target="_blank" rel="noopener noreferrer">#525</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/be8008e97d5ab5063aff27bea52b6315b9f878f7" target="_blank" rel="noopener noreferrer">be8008e</a> <em>(shell)</em> Improve fish completion system by @lalvarezt in <a href="https://github.com/alexpasmantier/television/pull/494" target="_blank" rel="noopener noreferrer">#494</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/639caa1a30cf1a9df78e2462e8cce98cf4c53d16" target="_blank" rel="noopener noreferrer">639caa1</a> <em>(stdin)</em> Accept various entry separator characters by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/572" target="_blank" rel="noopener noreferrer">#572</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/ccc12e2644aa329589ca55c112a131fc16163a86" target="_blank" rel="noopener noreferrer">ccc12e2</a> <em>(tui)</em> Add special testing conditions for overlay testing by @lalvarezt in <a href="https://github.com/alexpasmantier/television/pull/585" target="_blank" rel="noopener noreferrer">#585</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/4ed48ccdadf05f4b4ca09aeea8eaf82c6d798486" target="_blank" rel="noopener noreferrer">4ed48cc</a> <em>(ui)</em> Support for non-fullscreen UI by @lalvarezt in <a href="https://github.com/alexpasmantier/television/pull/578" target="_blank" rel="noopener noreferrer">#578</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/23f52d4533d55223f2b60d431d9a7915409795ef" target="_blank" rel="noopener noreferrer">23f52d4</a> <em>(ui)</em> Optional scrollbar and mouse support for the preview panel by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/ad4e254ae652e9e2706a81abe01e9ae6e1b2dc51" target="_blank" rel="noopener noreferrer">ad4e254</a> <em>(ui)</em> New keybindings panel and status bar by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/510e7b633829e34adb21ade72163993fd11b3c15" target="_blank" rel="noopener noreferrer">510e7b6</a> <em>(ui)</em> Add support for customizing <code>input_header</code>, <code>preview_header</code> and <code>preview_footer</code> by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/783d96bb678de59a10fff63a8719efe4dd5e50fc" target="_blank" rel="noopener noreferrer">783d96b</a> <em>(ui)</em> Preview size customization by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/1086899ba76f9b3377a4f67d8d7aef5da2cd310d" target="_blank" rel="noopener noreferrer">1086899</a> <em>(ui)</em> Add a UI portrait mode #489 by @cr4ftx in <a href="https://github.com/alexpasmantier/television/pull/496" target="_blank" rel="noopener noreferrer">#496</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/3b3a0ec1ffc8a2ccd9b7f2dd890d752933c8ff31" target="_blank" rel="noopener noreferrer">3b3a0ec</a> <em>(windows)</em> Add text channel with preview offset for windows by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/514" target="_blank" rel="noopener noreferrer">#514</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/45139457a15773b10c6b1963f02947c2738d7eed" target="_blank" rel="noopener noreferrer">4513945</a> <em>(uncategorized)</em> Add global/channel input history by @lalvarezt in <a href="https://github.com/alexpasmantier/television/pull/573" target="_blank" rel="noopener noreferrer">#573</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/9e306d93bc3e95441c042452d503770d8af0c6e4" target="_blank" rel="noopener noreferrer">9e306d9</a> <em>(uncategorized)</em> New channel and added reload and toggle actions by @lalvarezt</p>
</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_Fogf" id="-bug-fixes">🐛 Bug Fixes<a href="#-bug-fixes" class="hash-link" aria-label="Direct link to 🐛 Bug Fixes" title="Direct link to 🐛 Bug Fixes"></a></h3>
<ul>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/dbff3a330b169c422ae384e373b934dceb8e01b2" target="_blank" rel="noopener noreferrer">dbff3a3</a> <em>(alias)</em> Move terminal raw mode before loading bat assets #444 by @cr4ftx in <a href="https://github.com/alexpasmantier/television/pull/484" target="_blank" rel="noopener noreferrer">#484</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/0514a914b630719391d66df61eb9d53c58933c3f" target="_blank" rel="noopener noreferrer">0514a91</a> <em>(alias)</em> Rename the aliases channel to <code>alias</code> by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/485" target="_blank" rel="noopener noreferrer">#485</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/67195e756c85514c144232800db21b49d8aa0de1" target="_blank" rel="noopener noreferrer">67195e7</a> <em>(app)</em> Channel keybindings are ignored by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/415dd38c66b93b96bdc6d1701494c1fbb068a78d" target="_blank" rel="noopener noreferrer">415dd38</a> <em>(app)</em> Honor cli no-help and no-preview by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/6b3c4ee773fb53cd72e384e892faf29d83fd63c7" target="_blank" rel="noopener noreferrer">6b3c4ee</a> <em>(cable)</em> Don&#x27;t panic when unable to format user template with entry by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/516" target="_blank" rel="noopener noreferrer">#516</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/5d730cdf71141ea8224e2a7d617a5431a705aaf6" target="_blank" rel="noopener noreferrer">5d730cd</a> <em>(channel)</em> Only allow reload and cycle_sources in channel mode by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/17439dace5c5bfad49fd7e4c1344e520a1fd3c6b" target="_blank" rel="noopener noreferrer">17439da</a> <em>(channels)</em> Quote bat arguments by @Ktoks in <a href="https://github.com/alexpasmantier/television/pull/590" target="_blank" rel="noopener noreferrer">#590</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/07556eac79f08c74472e3da276df3be2d71e85b1" target="_blank" rel="noopener noreferrer">07556ea</a> <em>(cli)</em> Fix validation rules when reading from stdin by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/ca5808affe9166babea5f194d6ccc58daef37f38" target="_blank" rel="noopener noreferrer">ca5808a</a> <em>(cli)</em> Fix parsing of arguments for autocomplete-prompt by @lalvarezt in <a href="https://github.com/alexpasmantier/television/pull/569" target="_blank" rel="noopener noreferrer">#569</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/090d71aff0112b22631764ffae5b73d2bb8a87c5" target="_blank" rel="noopener noreferrer">090d71a</a> <em>(cli)</em> Using --exact now works on the --input text aswell by @domaschh</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/dfbdd65107ebd189fc3ebaa9b1650d012391aeee" target="_blank" rel="noopener noreferrer">dfbdd65</a> <em>(config)</em> Use the config <code>default_channel</code> field as a fallback when no channel is specified by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/524" target="_blank" rel="noopener noreferrer">#524</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/653c986b7ee9d5bcb130b50483a83be3ca48e0e1" target="_blank" rel="noopener noreferrer">653c986</a> <em>(github)</em> Copy github prototypes&#x27; content directly by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/3e98475e3529e0cf63bf1e5f1667888e4e0d41cd" target="_blank" rel="noopener noreferrer">3e98475</a> <em>(github)</em> Improve ux when downloading cable channels by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/9a80919f66c576177c76f6468eb462ee746dbc0f" target="_blank" rel="noopener noreferrer">9a80919</a> <em>(keybindings)</em> Add cmd as an option for modifrs by @domaschh</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/cd33151bac9422dcef8edcfd16a6553228611631" target="_blank" rel="noopener noreferrer">cd33151</a> <em>(layout)</em> Double check whether preview is enabled by @nkxxll in <a href="https://github.com/alexpasmantier/television/pull/499" target="_blank" rel="noopener noreferrer">#499</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/d429a9a6ee97022d21d7f914a4288efe291a1cc1" target="_blank" rel="noopener noreferrer">d429a9a</a> <em>(matcher)</em> Better handling of reloading and cycling through sources by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/94e34c16682e2af56a60511dce5c44e26e8aa914" target="_blank" rel="noopener noreferrer">94e34c1</a> <em>(os)</em> No more panicking on cwd-related errors by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/0f8a585c85befebcdbcbba1b12ca774c3f973b64" target="_blank" rel="noopener noreferrer">0f8a585</a> <em>(preview)</em> Default to no offset when offset template formatting fails by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/a81a86f1fd01e049b33a6afdb58adfcadaad1095" target="_blank" rel="noopener noreferrer">a81a86f</a> <em>(preview)</em> Don&#x27;t panic when the previewer attempts to send to a closed channel by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/1741a15e526ea0a304bb1cccb5f75bb46d42a6a2" target="_blank" rel="noopener noreferrer">1741a15</a> <em>(preview)</em> Add a post-processing step to clean out ansi text from non-displayable characters by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/509" target="_blank" rel="noopener noreferrer">#509</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/a8fb0f0b0e771ae3574b71630ff43e15b7ffc9ef" target="_blank" rel="noopener noreferrer">a8fb0f0</a> <em>(reload)</em> Avoid UI flickering while reloading channel by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/1f0c178a2d79ccf1e6cbe13ea3ec246f987bfbf2" target="_blank" rel="noopener noreferrer">1f0c178</a> <em>(results)</em> Remove keymap hint if help is disabled by @nkxxll in <a href="https://github.com/alexpasmantier/television/pull/480" target="_blank" rel="noopener noreferrer">#480</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/39dd9efd5dfa1fb36281f9f97b753152af82095f" target="_blank" rel="noopener noreferrer">39dd9ef</a> <em>(shell)</em> Paste not working in zsh shell integration by @kapobajza in <a href="https://github.com/alexpasmantier/television/pull/512" target="_blank" rel="noopener noreferrer">#512</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/1de28665d90af0a566a2ab16c92194738faa04d7" target="_blank" rel="noopener noreferrer">1de2866</a> <em>(templates)</em> Handle case when template contains brackets that shouldn&#x27;t be interpreted by the parser by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/dde319359fba900f03deae566bfbb17633a2c081" target="_blank" rel="noopener noreferrer">dde3193</a> <em>(tui)</em> Fixed shell completion widget not rendering, add poc for fish by @lalvarezt in <a href="https://github.com/alexpasmantier/television/pull/588" target="_blank" rel="noopener noreferrer">#588</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/dc75e80fb93223d3e9992ff21ac67b5ff28987fa" target="_blank" rel="noopener noreferrer">dc75e80</a> <em>(ui)</em> Avoid glitches caused by programs outputting control sequences by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/579" target="_blank" rel="noopener noreferrer">#579</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/e5a13ef8a12823e8369af9bce68fe18749e7b1ec" target="_blank" rel="noopener noreferrer">e5a13ef</a> <em>(uncategorized)</em> Reset picker selection when cycling through sources by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/b0c25b19be2437ef250c4064906e006d55343816" target="_blank" rel="noopener noreferrer">b0c25b1</a> <em>(uncategorized)</em> Rollback unwanted modifications on text and env prototypes by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/175015d470f3e3bc7e78fe41a56f9be87123c9b4" target="_blank" rel="noopener noreferrer">175015d</a> <em>(uncategorized)</em> Load new channel after zapping with the remote by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/c80e9b18cb39d97927c93317b599ba12d4d80cef" target="_blank" rel="noopener noreferrer">c80e9b1</a> <em>(uncategorized)</em> &quot;toggle source&quot; leftovers by @alexpasmantier</p>
</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_Fogf" id="-refactor">🚜 Refactor<a href="#-refactor" class="hash-link" aria-label="Direct link to 🚜 Refactor" title="Direct link to 🚜 Refactor"></a></h3>
<ul>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/2fdb47fc196347e9076da48bb873e9968ad4e0c4" target="_blank" rel="noopener noreferrer">2fdb47f</a> <em>(cable)</em> Add helper function to get keybindings by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/e06e5e6a379f52580126e9bbbd8d0722a6168fc3" target="_blank" rel="noopener noreferrer">e06e5e6</a> <em>(cable)</em> Update preview size for <code>files</code> and <code>env</code> by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/e76a3df776ffd71b12eadee9bf82bd2abda0e553" target="_blank" rel="noopener noreferrer">e76a3df</a> <em>(cable)</em> Cable format redesign by @alexpasmantier [<strong>breaking</strong>]</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/b372fe86ea5532e5e0c400d9f45e1517b95595ad" target="_blank" rel="noopener noreferrer">b372fe8</a> <em>(cable)</em> Add <code>files</code> and <code>text</code> channels with the new configuration format by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/534" target="_blank" rel="noopener noreferrer">#534</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/e2f52b835d6447c251d7fca6724cf409ed153546" target="_blank" rel="noopener noreferrer">e2f52b8</a> <em>(cable)</em> Improve naming and documentation for <code>prototypes.rs</code> by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/487" target="_blank" rel="noopener noreferrer">#487</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/4385317e069db287d8d86f987e11e079a7ff6d1c" target="_blank" rel="noopener noreferrer">4385317</a> <em>(cable)</em> Split cable related code into separate submodules by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/486" target="_blank" rel="noopener noreferrer">#486</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/1a5fa5dd4cb485e2b0b08301ca457fa1c6d06094" target="_blank" rel="noopener noreferrer">1a5fa5d</a> <em>(channels)</em> Some renaming and refactoring the channels module by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/503" target="_blank" rel="noopener noreferrer">#503</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/a2ebbb35573dff9d06954962f8e5a58b84ab84cc" target="_blank" rel="noopener noreferrer">a2ebbb3</a> <em>(cli)</em> Add validation logic + docs by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/ebca4d2017bd8298e2d50df3d1fbcfd0e56805c1" target="_blank" rel="noopener noreferrer">ebca4d2</a> <em>(cli)</em> Move cli overrides to dedicated function by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/80cb6c3606481bfad26a4ad453848d5b9d25785f" target="_blank" rel="noopener noreferrer">80cb6c3</a> <em>(picker)</em> New movement system by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/b9f42e8c29a7eca86a91a6cb00d9c4ee46bb2bd3" target="_blank" rel="noopener noreferrer">b9f42e8</a> <em>(preview)</em> Simplify channel previews code and remove intermediate <code>PreviewKind</code> struct by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/490" target="_blank" rel="noopener noreferrer">#490</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/67c067ff40f97eef9090c2a5addca5da50a7fa0f" target="_blank" rel="noopener noreferrer">67c067f</a> <em>(previewer)</em> A much more efficient preview system for tv by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/506" target="_blank" rel="noopener noreferrer">#506</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/f138e8a591ca4d3ff173ec316ce59b02fb5aca47" target="_blank" rel="noopener noreferrer">f138e8a</a> <em>(screen)</em> Remove leftover line number, not used anymore by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/7ac2f28be7c475fb59b1388e443f0f33898ce0b6" target="_blank" rel="noopener noreferrer">7ac2f28</a> <em>(screen)</em> New result line abstraction that can be reused by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/4b338f524284dcbff547776af19611a5ca58b930" target="_blank" rel="noopener noreferrer">4b338f5</a> <em>(shell)</em> Make use the new Binding system by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/58d90c6d03c237b5b4f45cc04ef55b7b081c4638" target="_blank" rel="noopener noreferrer">58d90c6</a> <em>(ui)</em> Feature based UI by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/8fd91633e271099d83694ccbce26101da2faabcf" target="_blank" rel="noopener noreferrer">8fd9163</a> <em>(uncategorized)</em> More stable behavior for <code>--inline</code>, <code>--width</code> and <code>--height</code> by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/589" target="_blank" rel="noopener noreferrer">#589</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/d82bf7226b853c65638a42298cc31f773631d40e" target="_blank" rel="noopener noreferrer">d82bf72</a> <em>(uncategorized)</em> Extract overlay tui logic into separate function and call it on resize events by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/4faab403d22e4dc7e745c1d40d266704719ad2c3" target="_blank" rel="noopener noreferrer">4faab40</a> <em>(uncategorized)</em> QOL improvements on channels and CLI override logic by @lalvarezt in <a href="https://github.com/alexpasmantier/television/pull/584" target="_blank" rel="noopener noreferrer">#584</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/292c5212051f9ecf212b248dc7914fe107986042" target="_blank" rel="noopener noreferrer">292c521</a> <em>(uncategorized)</em> Use super for linux and windows and cmd for macos by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/571" target="_blank" rel="noopener noreferrer">#571</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/51617b1775d56180f9cd09ceef7777447d414c14" target="_blank" rel="noopener noreferrer">51617b1</a> <em>(uncategorized)</em> Clearer separation of channels vs remote, better deserialization of prototype sub-structures, etc. by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/53c36f040c8ab0ef4a2da88aa4b8d4c07568e2a7" target="_blank" rel="noopener noreferrer">53c36f0</a> <em>(uncategorized)</em> Add reload and cycle source to default keymaps + default keymap changes by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/466a74341d7f64cc0f1164a1878467c760277012" target="_blank" rel="noopener noreferrer">466a743</a> <em>(uncategorized)</em> Strip new channels to their bare minimum config by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/2b2654b6aab86707577c0bb5c65301106422e737" target="_blank" rel="noopener noreferrer">2b2654b</a> <em>(uncategorized)</em> Drop TelevisionChannel enum and all associated macros by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/498" target="_blank" rel="noopener noreferrer">#498</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/cc27b5ec6bf3a5a71d6785558e57976db9f2d129" target="_blank" rel="noopener noreferrer">cc27b5e</a> <em>(uncategorized)</em> Drop dependency to the <code>ignore</code> crate by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/c2f4cc258f5f3b21601e8c7ce98f4584222813b2" target="_blank" rel="noopener noreferrer">c2f4cc2</a> <em>(uncategorized)</em> Tv no longer needs to write the default cable channel recipes to the user&#x27;s configuration directory by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/482" target="_blank" rel="noopener noreferrer">#482</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/67677fb917b6d59d8217eaf6369b95f5ba940ff0" target="_blank" rel="noopener noreferrer">67677fb</a> <em>(uncategorized)</em> All channels are now cable channels by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/479" target="_blank" rel="noopener noreferrer">#479</a> [<strong>breaking</strong>]</p>
</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_Fogf" id="-documentation">📚 Documentation<a href="#-documentation" class="hash-link" aria-label="Direct link to 📚 Documentation" title="Direct link to 📚 Documentation"></a></h3>
<ul>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/825e97436360f3cbb5b40d4053c10c435352e6c9" target="_blank" rel="noopener noreferrer">825e974</a> <em>(cable)</em> Update channel documentation (auto) by @github-actions[bot] in <a href="https://github.com/alexpasmantier/television/pull/594" target="_blank" rel="noopener noreferrer">#594</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/185f7890ac27ca1580231c2f24fe6a696fd3f322" target="_blank" rel="noopener noreferrer">185f789</a> <em>(cable)</em> Update channel documentation (auto) by @github-actions[bot]</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/8bdebd382ef9fe1f8ac74106b91cbdfdd308ef27" target="_blank" rel="noopener noreferrer">8bdebd3</a> <em>(channels)</em> Autogenerate channel documentation + CI action by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/601580953a11b4c1061c97c5417ffeacd154354d" target="_blank" rel="noopener noreferrer">6015809</a> <em>(tests)</em> Simple documentation for the <code>PtyTester</code> by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/7bbf5388984ea4a9afa4daad695add4c258c0fb1" target="_blank" rel="noopener noreferrer">7bbf538</a> <em>(utils)</em> Add documentation for string formatting logic by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/517" target="_blank" rel="noopener noreferrer">#517</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/0112b40df3d12a2f540ee7bbd5d6e24da6c2d048" target="_blank" rel="noopener noreferrer">0112b40</a> <em>(uncategorized)</em> Update installation docs by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/e5654fcddee638905a5e6478763e6b738ec469d1" target="_blank" rel="noopener noreferrer">e5654fc</a> <em>(uncategorized)</em> Add docusaurus website by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/e797aba7c1e5fbdc6afabac69d2bbcb32767bf80" target="_blank" rel="noopener noreferrer">e797aba</a> <em>(uncategorized)</em> Reorganize docs by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/106004de948327f248c14f8eebdc40b54af58a4c" target="_blank" rel="noopener noreferrer">106004d</a> <em>(uncategorized)</em> Architecture by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/1d33c9391039f703b3b9848784ab58d3f5372a7d" target="_blank" rel="noopener noreferrer">1d33c93</a> <em>(uncategorized)</em> Add readme banner by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/3ac6c762335dd239a72556e36368858e97a13691" target="_blank" rel="noopener noreferrer">3ac6c76</a> <em>(uncategorized)</em> Update readme by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/1c5810fe75d3a049c9387bac6503b2be863a100a" target="_blank" rel="noopener noreferrer">1c5810f</a> <em>(uncategorized)</em> Add assets + update readme image by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/d9d6554697275208bd75ecbcba256d591c828e36" target="_blank" rel="noopener noreferrer">d9d6554</a> <em>(uncategorized)</em> Migrate some of the wiki&#x27;s content to the docs/ folder by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/9364b3eb1561af8725e45bc36b01c505951ee7f4" target="_blank" rel="noopener noreferrer">9364b3e</a> <em>(uncategorized)</em> Some cleaning and reorganizing by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/f52d4ef524631b6b9a77a525d64f4a1094bf1857" target="_blank" rel="noopener noreferrer">f52d4ef</a> <em>(uncategorized)</em> Update README by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/c25a5bd75f311a1fbe8b11d20f8022678042c755" target="_blank" rel="noopener noreferrer">c25a5bd</a> <em>(uncategorized)</em> Update readme and add new format docs by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/aac7e4dc4570d5e0caf305b738009f2b077da7be" target="_blank" rel="noopener noreferrer">aac7e4d</a> <em>(uncategorized)</em> Update terminal emulators compatibility list by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/9127e419fb4628dc3e65ee669315038a169bb8fe" target="_blank" rel="noopener noreferrer">9127e41</a> <em>(uncategorized)</em> Add index.md by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/d3bb3b0a5610b6896a698f89afcf2fb7a2aab44a" target="_blank" rel="noopener noreferrer">d3bb3b0</a> <em>(uncategorized)</em> Cleanup old todo list by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/483" target="_blank" rel="noopener noreferrer">#483</a></p>
</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_Fogf" id="-performance">⚡ Performance<a href="#-performance" class="hash-link" aria-label="Direct link to ⚡ Performance" title="Direct link to ⚡ Performance"></a></h3>
<ul>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/fc2f8b9473d1d84712951184da8d4e59edeedc86" target="_blank" rel="noopener noreferrer">fc2f8b9</a> <em>(previews)</em> Avoid unnecessary preview content copy by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/507" target="_blank" rel="noopener noreferrer">#507</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/14804f50a27fa688ebed2afcacb96dd0453e89dc" target="_blank" rel="noopener noreferrer">14804f5</a> <em>(uncategorized)</em> Pre-allocate result vectors, and reuse picker entries to avoid reallocations by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/19d1ca155813a966c0ddc8650e664ab4030d6275" target="_blank" rel="noopener noreferrer">19d1ca1</a> <em>(uncategorized)</em> More pre-allocations and avoid unnecessary ascii string parsing work by @lalvarezt</p>
</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_Fogf" id="-testing">🧪 Testing<a href="#-testing" class="hash-link" aria-label="Direct link to 🧪 Testing" title="Direct link to 🧪 Testing"></a></h3>
<ul>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/f60b492383031fb23756b3b2f5d732d174e74033" target="_blank" rel="noopener noreferrer">f60b492</a> <em>(cli)</em> Add test that validates piping tv is working as expected by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/42e272826915685fe71bd6d879e603e5fdeab86b" target="_blank" rel="noopener noreferrer">42e2728</a> <em>(cli)</em> New cli test suite by @lalvarezt</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/47b99c43d067f9a51d8e12a14ff3c87ea7db1fae" target="_blank" rel="noopener noreferrer">47b99c4</a> <em>(e2e)</em> Better pty tooling and more tests by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/b780fa1ba547ac2842bdcab60f963c0870b76626" target="_blank" rel="noopener noreferrer">b780fa1</a> <em>(e2e)</em> Add proper e2e tests and pty-testing utils by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/f6dcedc196f068f9077da28a93511a1e64749d6a" target="_blank" rel="noopener noreferrer">f6dcedc</a> <em>(e2e)</em> Fallback to a default value of 0 when failing to parse preview offset by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/3b5771000622ee02bba414cadd4419d466fd8116" target="_blank" rel="noopener noreferrer">3b57710</a> <em>(e2e)</em> More end to end tests by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/8d822cd2fcfdc3a00c612e30674391426e988040" target="_blank" rel="noopener noreferrer">8d822cd</a> <em>(e2e)</em> Add e2e tests for secondary cli commands (version, init, list-channels, ...) by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/666254498ee54b9ee09d01424b7382e0d30e7614" target="_blank" rel="noopener noreferrer">6662544</a> <em>(television)</em> Add test to check channel keybindings precedence by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/a59aab67a9da94965432cdd800e207929ab3d28f" target="_blank" rel="noopener noreferrer">a59aab6</a> <em>(uncategorized)</em> Add integration test for <code>--watch</code> by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/dd832fcfc9e5113f2a57924bc845b85ee6728aac" target="_blank" rel="noopener noreferrer">dd832fc</a> <em>(uncategorized)</em> A cleaner integration tests directory structure by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/fe8bdc632b8e101fdf235ef24e68920ea52c4b0d" target="_blank" rel="noopener noreferrer">fe8bdc6</a> <em>(uncategorized)</em> Add test to check cli overrides by @alexpasmantier</p>
</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_Fogf" id="-miscellaneous-tasks">⚙️ Miscellaneous Tasks<a href="#-miscellaneous-tasks" class="hash-link" aria-label="Direct link to ⚙️ Miscellaneous Tasks" title="Direct link to ⚙️ Miscellaneous Tasks"></a></h3>
<ul>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/f58e46c40aca9a31003c2120bcd6772643d38bbb" target="_blank" rel="noopener noreferrer">f58e46c</a> <em>(changelog)</em> Update changelog (auto) by @github-actions[bot] in <a href="https://github.com/alexpasmantier/television/pull/591" target="_blank" rel="noopener noreferrer">#591</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/d106adafc0a8f4d17bc4235e3bc439487db4a0b4" target="_blank" rel="noopener noreferrer">d106ada</a> <em>(changelog)</em> Update changelog (auto) by @github-actions[bot] in <a href="https://github.com/alexpasmantier/television/pull/513" target="_blank" rel="noopener noreferrer">#513</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/64c599ef103d18e852d1070c6b313800646f1940" target="_blank" rel="noopener noreferrer">64c599e</a> <em>(changelog)</em> Update changelog (auto) by @github-actions[bot] in <a href="https://github.com/alexpasmantier/television/pull/491" target="_blank" rel="noopener noreferrer">#491</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/a602dda34758f9f4a24f1c77b589216c12b9cfba" target="_blank" rel="noopener noreferrer">a602dda</a> <em>(changelog)</em> Update changelog (auto) by @github-actions[bot] in <a href="https://github.com/alexpasmantier/television/pull/478" target="_blank" rel="noopener noreferrer">#478</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/2e99fba9c0dbe572727fca6f0a9593309f8cbe54" target="_blank" rel="noopener noreferrer">2e99fba</a> <em>(nix)</em> Update sha of rust toolchain in flake.nix by @tukanoidd in <a href="https://github.com/alexpasmantier/television/pull/530" target="_blank" rel="noopener noreferrer">#530</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/738fe08fbb5fae9f1185b9980c7c344652b7b9d4" target="_blank" rel="noopener noreferrer">738fe08</a> <em>(rust)</em> Update rust edition to 2024 and version to 1.87 by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/528" target="_blank" rel="noopener noreferrer">#528</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/f6b22051cdfbce8f6598c5d36c4b75887ff65998" target="_blank" rel="noopener noreferrer">f6b2205</a> <em>(tui-input)</em> Add credit and license for <code>television/utils/input.rs</code> by @alexpasmantier in <a href="https://github.com/alexpasmantier/television/pull/544" target="_blank" rel="noopener noreferrer">#544</a></p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/71582e559ddf84b1fb912aa1364fd91a9d5bf04e" target="_blank" rel="noopener noreferrer">71582e5</a> <em>(uncategorized)</em> Bump to 0.12.0 by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/429bfaeb2f3dbbc7015213db1c2f12564615e5ca" target="_blank" rel="noopener noreferrer">429bfae</a> <em>(uncategorized)</em> Remove unused serde renames by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/141d3e7fb928c7020aa47240e97d9ff8dc0e753f" target="_blank" rel="noopener noreferrer">141d3e7</a> <em>(uncategorized)</em> Update dependencies by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/ab1efed88de7c5d30c4f8ae2c1644ac207d31cc3" target="_blank" rel="noopener noreferrer">ab1efed</a> <em>(uncategorized)</em> Remove stale FIXME comment by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/11c2ef4eef77cbdf8c5676be3e3dcb6d9812bc03" target="_blank" rel="noopener noreferrer">11c2ef4</a> <em>(uncategorized)</em> Create github action workflow for pages by @alexpasmantier</p>
</li>
<li>
<p><a href="https://github.com/alexpasmantier/television/commit/0f6b29ba817f54da7c6cc694c21127c8588709a0" target="_blank" rel="noopener noreferrer">0f6b29b</a> <em>(uncategorized)</em> Add sponsorhips button to the repo by @alexpasmantier</p>
</li>
</ul>
<h3 class="anchor anchorWithStickyNavbar_Fogf" id="new-contributors-1">New Contributors<a href="#new-contributors-1" class="hash-link" aria-label="Direct link to New Contributors" title="Direct link to New Contributors"></a></h3>
<ul>
<li>@Ktoks made their first contribution in <a href="https://github.com/alexpasmantier/television/pull/590" target="_blank" rel="noopener noreferrer">#590</a></li>
<li>@lalvarezt made their first contribution in <a href="https://github.com/alexpasmantier/television/pull/588" target="_blank" rel="noopener noreferrer">#588</a></li>
<li>@kapobajza made their first contribution in <a href="https://github.com/alexpasmantier/television/pull/568" target="_blank" rel="noopener noreferrer">#568</a></li>
<li>@domaschh made their first contribution</li>
<li>@cr4ftx made their first contribution in <a href="https://github.com/alexpasmantier/television/pull/496" target="_blank" rel="noopener noreferrer">#496</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a href="https://github.com/alexpasmantier/television/compare/0.11.9...0.12.0" target="_blank" rel="noopener noreferrer">https://github.com/alexpasmantier/television/compare/0.11.9...0.12.0</a></p></div></article><nav class="docusaurus-mt-lg pagination-nav" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--prev" href="/television/docs/Developers/ui-features"><div class="pagination-nav__sublabel">Previous</div><div class="pagination-nav__label">UI Features documentation</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_sLnf thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#new-contributors" class="table-of-contents__link toc-highlight">New Contributors</a></li><li><a href="#highlights" class="table-of-contents__link toc-highlight">Highlights</a><ul><li><a href="#channels-refactor-and-lots-of-new-features" class="table-of-contents__link toc-highlight">Channels refactor and lots of new features</a></li><li><a href="#cli" class="table-of-contents__link toc-highlight">CLI</a></li><li><a href="#new-ui-features-and-improvements-to-customization" class="table-of-contents__link toc-highlight">New UI features and improvements to customization</a></li><li><a href="#shell-integration" class="table-of-contents__link toc-highlight">Shell integration</a></li><li><a href="#others" class="table-of-contents__link toc-highlight">Others</a></li><li><a href="#new-website" class="table-of-contents__link toc-highlight">New website</a></li></ul></li><li><a href="#changelog" class="table-of-contents__link toc-highlight">Changelog</a><ul><li><a href="#-features" class="table-of-contents__link toc-highlight">⛰️ Features</a></li><li><a href="#-bug-fixes" class="table-of-contents__link toc-highlight">🐛 Bug Fixes</a></li><li><a href="#-refactor" class="table-of-contents__link toc-highlight">🚜 Refactor</a></li><li><a href="#-documentation" class="table-of-contents__link toc-highlight">📚 Documentation</a></li><li><a href="#-performance" class="table-of-contents__link toc-highlight">⚡ Performance</a></li><li><a href="#-testing" class="table-of-contents__link toc-highlight">🧪 Testing</a></li><li><a href="#-miscellaneous-tasks" class="table-of-contents__link toc-highlight">⚙️ Miscellaneous Tasks</a></li><li><a href="#new-contributors-1" class="table-of-contents__link toc-highlight">New Contributors</a></li></ul></li></ul></div></div></div></div></main></div></div></div><footer class="theme-layout-footer footer"><div class="container container-fluid"><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2025 alexpasmantier</div></div></div></footer></div>
</body>
</html>