<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Ephraem — News</title>
        <link>https://blessephraem.github.io/news/</link>
        <description>Thoughts, Updates &amp; Articles by Ephraem</description>
        <lastBuildDate>Sun, 24 May 2026 22:36:50 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <item>
            <title><![CDATA[InputBar 2.0.1]]></title>
            <link>https://blessephraem.github.io/news/2026/05/24/inputbar-201</link>
            <guid>https://blessephraem.github.io/news/2026/05/24/inputbar-201</guid>
            <pubDate>Sun, 24 May 2026 22:36:50 GMT</pubDate>
            <description><![CDATA[Fixes]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_tleR" id="fixes">Fixes<a href="https://blessephraem.github.io/news/2026/05/24/inputbar-201#fixes" class="hash-link" aria-label="Direct link to Fixes" title="Direct link to Fixes" translate="no">​</a></h2>
<ul>
<li class=""><strong>WinKeyHook launch fallback</strong>: daemon startup now tries three strategies in order — (1) Task Scheduler task <code>WinKeyHook</code> (silent, no UAC prompt), (2) direct process launch (works when exe carries no <code>requireAdministrator</code> manifest), (3) <code>ShellExecute runas</code> (shows UAC prompt once as last resort). Previous behaviour used only strategy 2, causing silent failure on hardened systems.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="downloads">Downloads<a href="https://blessephraem.github.io/news/2026/05/24/inputbar-201#downloads" class="hash-link" aria-label="Direct link to Downloads" title="Direct link to Downloads" translate="no">​</a></h2>
<ul>
<li class=""><a href="https://github.com/BlessEphraem/InputBar/releases/download/2.0.1/InputBar_v2.0.1_Portable.zip" target="_blank" rel="noopener noreferrer" class="">InputBar_v2.0.1_Portable.zip</a></li>
<li class=""><a href="https://github.com/BlessEphraem/InputBar/releases/download/2.0.1/InputBar_v2.0.1_Setup.exe" target="_blank" rel="noopener noreferrer" class="">InputBar_v2.0.1_Setup.exe</a></li>
</ul>
<p><a href="https://github.com/BlessEphraem/InputBar/releases/tag/2.0.1" target="_blank" rel="noopener noreferrer" class="">View on GitHub</a></p>]]></content:encoded>
            <category>programs</category>
            <category>inputbar</category>
        </item>
        <item>
            <title><![CDATA[InputBar 2.0.0]]></title>
            <link>https://blessephraem.github.io/news/2026/05/14/inputbar-200</link>
            <guid>https://blessephraem.github.io/news/2026/05/14/inputbar-200</guid>
            <pubDate>Thu, 14 May 2026 13:16:21 GMT</pubDate>
            <description><![CDATA[Breaking Changes]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_tleR" id="breaking-changes">Breaking Changes<a href="https://blessephraem.github.io/news/2026/05/14/inputbar-200#breaking-changes" class="hash-link" aria-label="Direct link to Breaking Changes" title="Direct link to Breaking Changes" translate="no">​</a></h2>
<ul>
<li class=""><strong>IPC protocol</strong>: plain-text <code>SHOW</code> / <code>SEARCH:text</code> still accepted (backward-compatible). New JSON envelope format introduced: <code>{"protocol": 1, "command": "show", "args": {}}</code>. Old scripts continue to work unchanged.</li>
<li class=""><strong>Dev mode data path</strong>: generated data now routes to <code>src/gen/Data/</code> instead of <code>src/Data/</code>. A one-time migration runs automatically on first launch.</li>
<li class=""><strong><code>--verbose</code> flag</strong>: new CLI flag to enable DEBUG logging in compiled mode.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="improvements">Improvements<a href="https://blessephraem.github.io/news/2026/05/14/inputbar-200#improvements" class="hash-link" aria-label="Direct link to Improvements" title="Direct link to Improvements" translate="no">​</a></h2>
<ul>
<li class=""><strong>Logging</strong>: timestamped format <code>[YYYY-MM-DD HH:MM:SS.mmmZ] [LEVEL] [module]</code>. Bootstrap log at <code>%TEMP%\InputBar\bootstrap.log</code> active before path resolution. Log rotation (5 MB max, 3 files kept). Levels: DEBUG / INFO / WARN / ERROR / FATAL.</li>
<li class=""><strong>Crash handler</strong>: unhandled exceptions now write a <code>InputBar_crash_&lt;timestamp&gt;.log</code> to <code>%TEMP%</code> before exiting.</li>
<li class=""><strong>Atomic config writes</strong>: Settings.json, hotkeys.json, Plugins.json now written via temp+rename to prevent corruption on crash.</li>
<li class=""><strong>Schema versioning</strong>: Settings.json and hotkeys.json carry a <code>schema_version</code> field enabling structured migrations.</li>
<li class=""><strong>Graceful shutdown</strong>: SIGTERM / SIGINT handled. Plugins <code>teardown()</code> called in reverse load order. 5-second hard timeout on shutdown.</li>
<li class=""><strong>WinKeyHook install prompt</strong>: user is asked before installing WinKeyHook. SHA-256 integrity check runs if a hash is configured in <code>build/project.json</code>.</li>
<li class=""><strong>Path traversal guard</strong>: <code>ConfigDirectory</code> values pointing at system directories are rejected.</li>
<li class=""><strong>Thread safety</strong>: <code>_pipe_handle</code> protected by a lock. Reader thread uses <code>threading.Event</code> stop flag.</li>
<li class=""><strong>IPC <code>quit</code> command</strong>: both plain-text <code>QUIT</code> and JSON <code>{"command":"quit"}</code> trigger a graceful shutdown.</li>
<li class=""><strong>Plugin teardown contract</strong>: plugins may expose <code>teardown() -&gt; None</code> — called on shutdown.</li>
<li class=""><strong>Named constants</strong>: all magic timing/retry values named (no bare literals).</li>
<li class=""><strong>Type annotations</strong>: all public functions in Core modules annotated.</li>
<li class=""><strong><code>build/project.json</code></strong>: single source of truth for name, version, publisher, GUID. <code>build_app.bat</code> and <code>CMakeLists.txt</code> both read from it.</li>
<li class=""><strong><code>pyproject.toml</code></strong>: ruff linter configured for the project.</li>
<li class=""><strong><code>.docs/ARCHITECTURE.md</code></strong>: module map, startup sequence, directory layout.</li>
<li class=""><strong><code>.docs/DECISIONS.md</code></strong>: ADRs for all major technical choices.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="infrastructure">Infrastructure<a href="https://blessephraem.github.io/news/2026/05/14/inputbar-200#infrastructure" class="hash-link" aria-label="Direct link to Infrastructure" title="Direct link to Infrastructure" translate="no">​</a></h2>
<ul>
<li class=""><strong>Git root</strong>: <code>.git</code> moved from <code>src/</code> to project root (§3.1 compliance).</li>
<li class=""><strong><code>.gitignore</code></strong>: root-level gitignore added. <code>build/</code>, <code>releases/</code>, publish scripts, <code>src/gen/</code>, <code>CONTEXT.md</code> all excluded.</li>
<li class=""><strong>Dev data isolation</strong>: <code>src/gen/</code> directory (gitignored) holds all dev-mode generated data.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="downloads">Downloads<a href="https://blessephraem.github.io/news/2026/05/14/inputbar-200#downloads" class="hash-link" aria-label="Direct link to Downloads" title="Direct link to Downloads" translate="no">​</a></h2>
<ul>
<li class=""><a href="https://github.com/BlessEphraem/InputBar/releases/download/2.0.0/InputBar_v2.0.0_Portable.zip" target="_blank" rel="noopener noreferrer" class="">InputBar_v2.0.0_Portable.zip</a></li>
<li class=""><a href="https://github.com/BlessEphraem/InputBar/releases/download/2.0.0/InputBar_v2.0.0_Setup.exe" target="_blank" rel="noopener noreferrer" class="">InputBar_v2.0.0_Setup.exe</a></li>
</ul>
<p><a href="https://github.com/BlessEphraem/InputBar/releases/tag/2.0.0" target="_blank" rel="noopener noreferrer" class="">View on GitHub</a></p>]]></content:encoded>
            <category>programs</category>
            <category>inputbar</category>
        </item>
        <item>
            <title><![CDATA[InputBar 1.3.0]]></title>
            <link>https://blessephraem.github.io/news/2026/05/12/inputbar-130</link>
            <guid>https://blessephraem.github.io/news/2026/05/12/inputbar-130</guid>
            <pubDate>Tue, 12 May 2026 23:00:35 GMT</pubDate>
            <description><![CDATA[WinKeyHook — External Daemon]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_tleR" id="winkeyhook--external-daemon">WinKeyHook — External Daemon<a href="https://blessephraem.github.io/news/2026/05/12/inputbar-130#winkeyhook--external-daemon" class="hash-link" aria-label="Direct link to WinKeyHook — External Daemon" title="Direct link to WinKeyHook — External Daemon" translate="no">​</a></h2>
<p>The bundled <code>winkey_hook.exe</code> (previously shipped in <code>Lib\Core\</code>) has been removed and replaced by the <strong>WinKeyHook Daemon</strong>, an independent open-source tool available at:
<a href="https://github.com/BlessEphraem/WinKeyHook" target="_blank" rel="noopener noreferrer" class="">https://github.com/BlessEphraem/WinKeyHook</a></p>
<p><strong>What changes for you:</strong></p>
<ul>
<li class="">The installer automatically removes the old <code>Lib\Core\winkey_hook.exe</code> if present.</li>
<li class="">On first launch, InputBar automatically installs the WinKeyHook Daemon if it is not already present (a UAC prompt will appear).</li>
<li class="">Once installed, InputBar launches the daemon automatically whenever a <code>win</code>, <code>lwin</code>, or <code>rwin</code> hotkey is configured.</li>
<li class="">If the daemon is already running (e.g. from another app), InputBar connects to it directly without re-launching it.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="downloads">Downloads<a href="https://blessephraem.github.io/news/2026/05/12/inputbar-130#downloads" class="hash-link" aria-label="Direct link to Downloads" title="Direct link to Downloads" translate="no">​</a></h2>
<ul>
<li class=""><a href="https://github.com/BlessEphraem/InputBar/releases/download/1.3.0/InputBar_v1.3.0_Portable.zip" target="_blank" rel="noopener noreferrer" class="">InputBar_v1.3.0_Portable.zip</a></li>
<li class=""><a href="https://github.com/BlessEphraem/InputBar/releases/download/1.3.0/InputBar_v1.3.0_Setup.exe" target="_blank" rel="noopener noreferrer" class="">InputBar_v1.3.0_Setup.exe</a></li>
</ul>
<p><a href="https://github.com/BlessEphraem/InputBar/releases/tag/1.3.0" target="_blank" rel="noopener noreferrer" class="">View on GitHub</a></p>]]></content:encoded>
            <category>programs</category>
            <category>inputbar</category>
        </item>
        <item>
            <title><![CDATA[Portfolio - 2026-04-24]]></title>
            <link>https://blessephraem.github.io/news/2026/04/24/portfolio-S47vFJXOyE8</link>
            <guid>https://blessephraem.github.io/news/2026/04/24/portfolio-S47vFJXOyE8</guid>
            <pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[<iframe]]></description>
            <content:encoded><![CDATA[<iframe width="100%" height="400" src="https://www.youtube-nocookie.com/embed/S47vFJXOyE8" frameborder="0" allowfullscreen=""></iframe>
<p><a href="https://www.youtube.com/watch?v=S47vFJXOyE8" target="_blank" rel="noopener noreferrer" class="">Watch on YouTube</a></p>]]></content:encoded>
            <category>portfolio</category>
        </item>
        <item>
            <title><![CDATA[InputBar 1.2.4]]></title>
            <link>https://blessephraem.github.io/news/2026/04/23/inputbar-124</link>
            <guid>https://blessephraem.github.io/news/2026/04/23/inputbar-124</guid>
            <pubDate>Thu, 23 Apr 2026 23:35:59 GMT</pubDate>
            <description><![CDATA[Data Directory Management]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_tleR" id="data-directory-management">Data Directory Management<a href="https://blessephraem.github.io/news/2026/04/23/inputbar-124#data-directory-management" class="hash-link" aria-label="Direct link to Data Directory Management" title="Direct link to Data Directory Management" translate="no">​</a></h2>
<ul>
<li class=""><strong>Choose your data location at install time</strong> — A new step in the installer lets you pick where InputBar stores its settings, themes and history. Leave it as-is to keep data in the install folder (default behaviour).</li>
<li class=""><strong>Config path change detection</strong> — If you redirect <code>Path\Config.json</code> to a new location and restart InputBar, a dialog will offer to move your existing data there automatically.</li>
<li class=""><strong>Old data cleanup</strong> — If you decline the move, a second dialog lets you delete the now-unused data instead of leaving it behind.</li>
<li class=""><strong>Dead data detection</strong> — On startup, if your active data directory differs from the install folder, InputBar checks for leftover <code>Data\</code> and <code>Plugins\</code> directories in the install folder and offers to remove them.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="downloads">Downloads<a href="https://blessephraem.github.io/news/2026/04/23/inputbar-124#downloads" class="hash-link" aria-label="Direct link to Downloads" title="Direct link to Downloads" translate="no">​</a></h2>
<ul>
<li class=""><a href="https://github.com/BlessEphraem/InputBar/releases/download/1.2.4/InputBar_v1.2.4_Portable.zip" target="_blank" rel="noopener noreferrer" class="">InputBar_v1.2.4_Portable.zip</a></li>
<li class=""><a href="https://github.com/BlessEphraem/InputBar/releases/download/1.2.4/InputBar_v1.2.4_Setup.exe" target="_blank" rel="noopener noreferrer" class="">InputBar_v1.2.4_Setup.exe</a></li>
</ul>
<p><a href="https://github.com/BlessEphraem/InputBar/releases/tag/1.2.4" target="_blank" rel="noopener noreferrer" class="">View on GitHub</a></p>]]></content:encoded>
            <category>programs</category>
            <category>inputbar</category>
        </item>
        <item>
            <title><![CDATA[InputBar 1.2.3]]></title>
            <link>https://blessephraem.github.io/news/2026/04/23/inputbar-123</link>
            <guid>https://blessephraem.github.io/news/2026/04/23/inputbar-123</guid>
            <pubDate>Thu, 23 Apr 2026 13:52:09 GMT</pubDate>
            <description><![CDATA[Downloads]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_tleR" id="downloads">Downloads<a href="https://blessephraem.github.io/news/2026/04/23/inputbar-123#downloads" class="hash-link" aria-label="Direct link to Downloads" title="Direct link to Downloads" translate="no">​</a></h2>
<p><em>No downloadable assets attached to this release.</em></p>
<p><a href="https://github.com/BlessEphraem/InputBar/releases/tag/1.2.3" target="_blank" rel="noopener noreferrer" class="">View on GitHub</a></p>]]></content:encoded>
            <category>programs</category>
            <category>inputbar</category>
        </item>
        <item>
            <title><![CDATA[Portfolio - 2026-04-22]]></title>
            <link>https://blessephraem.github.io/news/2026/04/22/portfolio-XbWg5KfTPLs</link>
            <guid>https://blessephraem.github.io/news/2026/04/22/portfolio-XbWg5KfTPLs</guid>
            <pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[<iframe]]></description>
            <content:encoded><![CDATA[<iframe width="100%" height="400" src="https://www.youtube-nocookie.com/embed/XbWg5KfTPLs" frameborder="0" allowfullscreen=""></iframe>
<p><a href="https://www.youtube.com/watch?v=XbWg5KfTPLs" target="_blank" rel="noopener noreferrer" class="">Watch on YouTube</a></p>]]></content:encoded>
            <category>portfolio</category>
        </item>
        <item>
            <title><![CDATA[Premiere Companion 1.2.0]]></title>
            <link>https://blessephraem.github.io/news/2026/04/18/premiere-companion-120</link>
            <guid>https://blessephraem.github.io/news/2026/04/18/premiere-companion-120</guid>
            <pubDate>Sat, 18 Apr 2026 17:10:09 GMT</pubDate>
            <description><![CDATA[32bits -> 64bits]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_tleR" id="32bits---64bits">32bits -&gt; 64bits<a href="https://blessephraem.github.io/news/2026/04/18/premiere-companion-120#32bits---64bits" class="hash-link" aria-label="Direct link to 32bits -> 64bits" title="Direct link to 32bits -> 64bits" translate="no">​</a></h2>
<ul>
<li class="">The app is now in 64 bits. Transfer data at installation.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="quick-fix">Quick Fix<a href="https://blessephraem.github.io/news/2026/04/18/premiere-companion-120#quick-fix" class="hash-link" aria-label="Direct link to Quick Fix" title="Direct link to Quick Fix" translate="no">​</a></h2>
<ul>
<li class=""><strong>Missing Logs:</strong> There was missing log when 'Quick Apply' go wrong.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="downloads">Downloads<a href="https://blessephraem.github.io/news/2026/04/18/premiere-companion-120#downloads" class="hash-link" aria-label="Direct link to Downloads" title="Direct link to Downloads" translate="no">​</a></h2>
<ul>
<li class=""><a href="https://github.com/BlessEphraem/Premiere-Companion/releases/download/1.2.0/Premiere.Companion_v1.2.0_Portable.zip" target="_blank" rel="noopener noreferrer" class="">Premiere.Companion_v1.2.0_Portable.zip</a></li>
<li class=""><a href="https://github.com/BlessEphraem/Premiere-Companion/releases/download/1.2.0/Premiere_Companion_v1.2.0_Setup.exe" target="_blank" rel="noopener noreferrer" class="">Premiere_Companion_v1.2.0_Setup.exe</a></li>
</ul>
<p><a href="https://github.com/BlessEphraem/Premiere-Companion/releases/tag/1.2.0" target="_blank" rel="noopener noreferrer" class="">View on GitHub</a></p>]]></content:encoded>
            <category>programs</category>
            <category>premiere-companion</category>
        </item>
        <item>
            <title><![CDATA[InputBar 1.2.2]]></title>
            <link>https://blessephraem.github.io/news/2026/04/17/inputbar-122</link>
            <guid>https://blessephraem.github.io/news/2026/04/17/inputbar-122</guid>
            <pubDate>Fri, 17 Apr 2026 22:53:31 GMT</pubDate>
            <description><![CDATA[New Configuration Key - Per-plugin result limit]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_tleR" id="new-configuration-key---per-plugin-result-limit">New Configuration Key - Per-plugin result limit<a href="https://blessephraem.github.io/news/2026/04/17/inputbar-122#new-configuration-key---per-plugin-result-limit" class="hash-link" aria-label="Direct link to New Configuration Key - Per-plugin result limit" title="Direct link to New Configuration Key - Per-plugin result limit" translate="no">​</a></h2>
<p>Each plugin now exposes a <code>"limit"</code> key in <code>Plugins.json</code> (default <code>15</code>). Raise it to see more results per plugin, lower it for a tighter list.</p>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="updated-plugin---shell">Updated Plugin - Shell<a href="https://blessephraem.github.io/news/2026/04/17/inputbar-122#updated-plugin---shell" class="hash-link" aria-label="Direct link to Updated Plugin - Shell" title="Direct link to Updated Plugin - Shell" translate="no">​</a></h2>
<ul>
<li class=""><strong>Custom terminal emulators</strong> — Define any terminal (WezTerm, Alacritty, Windows Terminal…) in <code>default_shell.json</code> under <code>"extra_shells"</code> and use it as your default shell or as a per-entry prefix in <code>favorites.data</code>.</li>
<li class=""><strong><code>/</code> keyword</strong> — Type <code>/ &lt;command&gt;</code> as a shorter alternative to <code>shell &lt;command&gt;</code>.</li>
<li class=""><strong>Silent execution</strong> — Use <code>extra_shells</code> with <code>cmd /c</code> or PowerShell <code>-WindowStyle Hidden</code> to run commands without a visible window (see Shell docs for examples).</li>
<li class=""><strong>CWD fix</strong> — Shell commands now open in the user's home directory instead of InputBar's install folder.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="quick-fixes">Quick Fixes<a href="https://blessephraem.github.io/news/2026/04/17/inputbar-122#quick-fixes" class="hash-link" aria-label="Direct link to Quick Fixes" title="Direct link to Quick Fixes" translate="no">​</a></h2>
<ul>
<li class=""><strong>App plugin</strong> — Auxiliary shortcuts (Help, Uninstall, ReadMe…) no longer appear in results. <code>Get-StartApps</code>, Start Menu <code>.lnk</code> files, and registry entries are now all filtered by name and target executable. Non-executable UWP entries (documents, text files…) registered via <code>Get-StartApps</code> are no longer indexed.</li>
<li class=""><strong><code>ListMax</code> setting removed</strong> — superseded by <code>MaxItemToShow</code> in the theme. Existing <code>Settings.json</code> files are cleaned up automatically on first launch.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="downloads">Downloads<a href="https://blessephraem.github.io/news/2026/04/17/inputbar-122#downloads" class="hash-link" aria-label="Direct link to Downloads" title="Direct link to Downloads" translate="no">​</a></h2>
<ul>
<li class=""><a href="https://github.com/BlessEphraem/InputBar/releases/download/1.2.2/InputBar_v1.2.2_Portable.zip" target="_blank" rel="noopener noreferrer" class="">InputBar_v1.2.2_Portable.zip</a></li>
<li class=""><a href="https://github.com/BlessEphraem/InputBar/releases/download/1.2.2/InputBar_v1.2.2_Setup.exe" target="_blank" rel="noopener noreferrer" class="">InputBar_v1.2.2_Setup.exe</a></li>
</ul>
<p><a href="https://github.com/BlessEphraem/InputBar/releases/tag/1.2.2" target="_blank" rel="noopener noreferrer" class="">View on GitHub</a></p>]]></content:encoded>
            <category>programs</category>
            <category>inputbar</category>
        </item>
        <item>
            <title><![CDATA[InputBar 1.2.1]]></title>
            <link>https://blessephraem.github.io/news/2026/04/16/inputbar-121</link>
            <guid>https://blessephraem.github.io/news/2026/04/16/inputbar-121</guid>
            <pubDate>Thu, 16 Apr 2026 22:35:49 GMT</pubDate>
            <description><![CDATA[Quick Fixes]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_tleR" id="quick-fixes">Quick Fixes<a href="https://blessephraem.github.io/news/2026/04/16/inputbar-121#quick-fixes" class="hash-link" aria-label="Direct link to Quick Fixes" title="Direct link to Quick Fixes" translate="no">​</a></h2>
<ul>
<li class=""><strong>Variable Font Support</strong>: Added support for font weights (font_weight) and improved text smoothing (anti-aliasing by disabling hinting).</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="downloads">Downloads<a href="https://blessephraem.github.io/news/2026/04/16/inputbar-121#downloads" class="hash-link" aria-label="Direct link to Downloads" title="Direct link to Downloads" translate="no">​</a></h2>
<ul>
<li class=""><a href="https://github.com/BlessEphraem/InputBar/releases/download/1.2.1/InputBar_v1.2.1_Portable.zip" target="_blank" rel="noopener noreferrer" class="">InputBar_v1.2.1_Portable.zip</a></li>
<li class=""><a href="https://github.com/BlessEphraem/InputBar/releases/download/1.2.1/InputBar_v1.2.1_Setup.exe" target="_blank" rel="noopener noreferrer" class="">InputBar_v1.2.1_Setup.exe</a></li>
</ul>
<p><a href="https://github.com/BlessEphraem/InputBar/releases/tag/1.2.1" target="_blank" rel="noopener noreferrer" class="">View on GitHub</a></p>]]></content:encoded>
            <category>programs</category>
            <category>inputbar</category>
        </item>
        <item>
            <title><![CDATA[InputBar 1.2.0]]></title>
            <link>https://blessephraem.github.io/news/2026/04/16/inputbar-120</link>
            <guid>https://blessephraem.github.io/news/2026/04/16/inputbar-120</guid>
            <pubDate>Thu, 16 Apr 2026 20:51:18 GMT</pubDate>
            <description><![CDATA[IMPORTANT: Theme reset - Incompatible themes from earlier versions]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_tleR" id="important-theme-reset---incompatible-themes-from-earlier-versions"><strong>IMPORTANT:</strong> Theme reset - Incompatible themes from earlier versions<a href="https://blessephraem.github.io/news/2026/04/16/inputbar-120#important-theme-reset---incompatible-themes-from-earlier-versions" class="hash-link" aria-label="Direct link to important-theme-reset---incompatible-themes-from-earlier-versions" title="Direct link to important-theme-reset---incompatible-themes-from-earlier-versions" translate="no">​</a></h2>
<p>Due to major layout changes introduced in 1.2.0 (double-line result items, dynamic window height), themes from version 1.1.x and earlier are incompatible.</p>
<p>On first launch after upgrading, InputBar detects these old themes and automatically replaces them with the updated defaults. A one-time warning dialog is shown before this happens.</p>
<p><strong>Only theme files are affected.</strong> All other data (settings, plugin data, aliases, favorites) is preserved.</p>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="configjson---data-directory-redirect"><code>Config.json</code> - Data directory redirect<a href="https://blessephraem.github.io/news/2026/04/16/inputbar-120#configjson---data-directory-redirect" class="hash-link" aria-label="Direct link to configjson---data-directory-redirect" title="Direct link to configjson---data-directory-redirect" translate="no">​</a></h2>
<p>A new <code>Config.json</code> file (next to the executable) lets you redirect where <code>Data/</code> and <code>Plugins/</code> are stored:</p>
<div class="language-json codeBlockContainer_mQmQ theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_t_Hd"><pre tabindex="0" class="prism-code language-json codeBlock_RMoD thin-scrollbar" style="color:#9CDCFE;background-color:#1E1E1E"><code class="codeBlockLines_AclH"><div class="token-line" style="color:#9CDCFE"><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#9CDCFE"><span class="token plain">    </span><span class="token property">"ConfigDirectory"</span><span class="token operator" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">"C:\\Users\\USERNAME\\AppData\\Roaming\\InputBar"</span><span class="token plain"></span><br></div><div class="token-line" style="color:#9CDCFE"><span class="token plain"></span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><br></div></code></pre></div></div>
<p>Plugin data files (<code>favorites.data</code>, <code>aliases.data</code>, <code>default_shell.json</code>) are automatically seeded into the new location on first launch.</p>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="dataconfigjson---datasettingsjson"><code>Data/Config.json</code> -&gt; <code>Data/Settings.json</code><a href="https://blessephraem.github.io/news/2026/04/16/inputbar-120#dataconfigjson---datasettingsjson" class="hash-link" aria-label="Direct link to dataconfigjson---datasettingsjson" title="Direct link to dataconfigjson---datasettingsjson" translate="no">​</a></h2>
<p>The main settings file has been renamed from <code>Data/Config.json</code> to <code>Data/Settings.json</code>.<br>
<strong>Existing installations are migrated automatically</strong> on first launch — no manual action needed.</p>
<ul>
<li class="">Type <code>settings</code> in InputBar to reload or open the file (was <code>config</code>)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="new-plugin---shell">New Plugin - Shell<a href="https://blessephraem.github.io/news/2026/04/16/inputbar-120#new-plugin---shell" class="hash-link" aria-label="Direct link to New Plugin - Shell" title="Direct link to New Plugin - Shell" translate="no">​</a></h2>
<p>A dedicated <code>Shell</code> plugin has been added (<code>Plugins/Shell/Shell.py</code>).</p>
<p>It handles shell command execution, separate from app launching:</p>
<ul>
<li class=""><strong><code>favorites.data</code></strong> — define named shell command shortcuts:</li>
</ul>
<div class="language-text codeBlockContainer_mQmQ theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_t_Hd"><pre tabindex="0" class="prism-code language-text codeBlock_RMoD thin-scrollbar" style="color:#9CDCFE;background-color:#1E1E1E"><code class="codeBlockLines_AclH"><div class="token-line" style="color:#9CDCFE"><span class="token plain">fastfetch=pwsh fastfetch</span><br></div><div class="token-line" style="color:#9CDCFE"><span class="token plain">btop=cmd btop</span><br></div><div class="token-line" style="color:#9CDCFE"><span class="token plain">showFolder=pwsh ls "C:\My\Path\"</span><br></div><div class="token-line" style="color:#9CDCFE"><span class="token plain">myscript=python C:\My\Path\script.py --arg</span><br></div></code></pre></div></div>
<ul>
<li class=""><strong><code>default_shell.json</code></strong> — set your default shell (<code>cmd</code>, <code>pwsh</code>, <code>powershell</code>)</li>
<li class=""><strong>Per-entry shell override</strong> — prefix any entry with a shell name to override the default:</li>
</ul>
<div class="language-text codeBlockContainer_mQmQ theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_t_Hd"><pre tabindex="0" class="prism-code language-text codeBlock_RMoD thin-scrollbar" style="color:#9CDCFE;background-color:#1E1E1E"><code class="codeBlockLines_AclH"><div class="token-line" style="color:#9CDCFE"><span class="token plain">btop=cmd btop</span><br></div></code></pre></div></div>
<ul>
<li class="">Favorites are fuzzy-searchable by name from the InputBar</li>
<li class="">Direct shell commands typed in the bar are also detected and executed</li>
<li class="">Type <code>shell reload</code> to reload favorites without restarting</li>
</ul>
<a href="https://blessephraem.github.io/news/2026/04/16/.docs/Plugins/Shell.md"><kbd>→ Shell Documentation</kbd></a>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="new-plugin--everything-file-search">New Plugin — Everything (file search)<a href="https://blessephraem.github.io/news/2026/04/16/inputbar-120#new-plugin--everything-file-search" class="hash-link" aria-label="Direct link to New Plugin — Everything (file search)" title="Direct link to New Plugin — Everything (file search)" translate="no">​</a></h2>
<p>A dedicated <code>Everything</code> plugin integrates <a href="https://www.voidtools.com/" target="_blank" rel="noopener noreferrer" class="">voidtools Everything</a> directly into InputBar.</p>
<ul>
<li class="">Type <code>f &lt;query&gt;</code> or <code>everything &lt;query&gt;</code> for an explicit file search</li>
<li class="">Known extensions (<code>.png</code>, <code>.pdf</code>, <code>.mp4</code>, …) auto-trigger the plugin — just type the extension</li>
<li class=""><strong>Favorites</strong> — define named folder shortcuts in <code>favorites.data</code>:<!-- -->
<div class="language-text codeBlockContainer_mQmQ theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_t_Hd"><pre tabindex="0" class="prism-code language-text codeBlock_RMoD thin-scrollbar" style="color:#9CDCFE;background-color:#1E1E1E"><code class="codeBlockLines_AclH"><div class="token-line" style="color:#9CDCFE"><span class="token plain"># Plugins/Everything/favorites.data</span><br></div><div class="token-line" style="color:#9CDCFE"><span class="token plain">src=Z:\Projects\MySrc</span><br></div><div class="token-line" style="color:#9CDCFE"><span class="token plain">wallpapers=C:\Users\Me\Pictures\Wallpapers</span><br></div></code></pre></div></div>
<!-- -->Typing <code>src</code> shows the folder as the first result, followed immediately by its contents.</li>
<li class=""><strong>Right-arrow sub-menu</strong> on any result: Open folder · Copy file path · Back</li>
<li class="">Everything is started silently in the background if not already running; no manual setup needed</li>
</ul>
<a href="https://blessephraem.github.io/news/2026/04/16/.docs/Plugins/Everything.md"><kbd>→ Everything Documentation</kbd></a>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="improved-app-filtering-app-plugin">Improved app filtering (App plugin)<a href="https://blessephraem.github.io/news/2026/04/16/inputbar-120#improved-app-filtering-app-plugin" class="hash-link" aria-label="Direct link to Improved app filtering (App plugin)" title="Direct link to Improved app filtering (App plugin)" translate="no">​</a></h2>
<p>Shortcuts (<code>.lnk</code> files) whose target is a non-executable document (e.g. <code>.chm</code> help files, <code>.pdf</code>, <code>.txt</code>) are now excluded from the application index. Only shortcuts that open a real executable or folder are shown.</p>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="svg-icons--right-arrow-sub-menu-improvements">SVG icons &amp; right-arrow sub-menu improvements<a href="https://blessephraem.github.io/news/2026/04/16/inputbar-120#svg-icons--right-arrow-sub-menu-improvements" class="hash-link" aria-label="Direct link to SVG icons &amp; right-arrow sub-menu improvements" title="Direct link to SVG icons &amp; right-arrow sub-menu improvements" translate="no">​</a></h2>
<ul>
<li class="">Sub-menu items (Start as admin, Open folder, Copy file path, Back) now use coloured SVG icons from <code>Assets/Icons/</code></li>
<li class="">Icon colours are configurable per-theme via the new <code>icons</code> section in the theme JSON:<!-- -->
<div class="language-json codeBlockContainer_mQmQ theme-code-block" style="--prism-color:#9CDCFE;--prism-background-color:#1E1E1E"><div class="codeBlockContent_t_Hd"><pre tabindex="0" class="prism-code language-json codeBlock_RMoD thin-scrollbar" style="color:#9CDCFE;background-color:#1E1E1E"><code class="codeBlockLines_AclH"><div class="token-line" style="color:#9CDCFE"><span class="token property">"icons"</span><span class="token operator" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token punctuation" style="color:rgb(212, 212, 212)">{</span><span class="token plain"></span><br></div><div class="token-line" style="color:#9CDCFE"><span class="token plain">    </span><span class="token property">"admin"</span><span class="token operator" style="color:rgb(212, 212, 212)">:</span><span class="token plain">   </span><span class="token string" style="color:rgb(206, 145, 120)">"#FF8C00"</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#9CDCFE"><span class="token plain">    </span><span class="token property">"folder"</span><span class="token operator" style="color:rgb(212, 212, 212)">:</span><span class="token plain">  </span><span class="token string" style="color:rgb(206, 145, 120)">"#FFD700"</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#9CDCFE"><span class="token plain">    </span><span class="token property">"system"</span><span class="token operator" style="color:rgb(212, 212, 212)">:</span><span class="token plain">  </span><span class="token string" style="color:rgb(206, 145, 120)">"#888888"</span><span class="token punctuation" style="color:rgb(212, 212, 212)">,</span><span class="token plain"></span><br></div><div class="token-line" style="color:#9CDCFE"><span class="token plain">    </span><span class="token property">"arrow_left"</span><span class="token operator" style="color:rgb(212, 212, 212)">:</span><span class="token plain"> </span><span class="token string" style="color:rgb(206, 145, 120)">"#FFFFFF"</span><span class="token plain"></span><br></div><div class="token-line" style="color:#9CDCFE"><span class="token plain"></span><span class="token punctuation" style="color:rgb(212, 212, 212)">}</span><br></div></code></pre></div></div>
</li>
<li class=""><strong>Copy file path</strong> is a new sub-menu option (copies the full path to the clipboard)</li>
<li class="">The right-arrow sub-menu is now available on <strong>both</strong> app and file results (Everything items included)</li>
<li class="">"Start as admin" is only shown when the selected item is an executable (<code>.exe</code>)</li>
<li class="">Emoji characters removed from all built-in result labels</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="internal-changes">Internal Changes<a href="https://blessephraem.github.io/news/2026/04/16/inputbar-120#internal-changes" class="hash-link" aria-label="Direct link to Internal Changes" title="Direct link to Internal Changes" translate="no">​</a></h2>
<ul>
<li class=""><code>_version.py</code> moved to <code>Build/</code> (generated by CMake at build time)</li>
<li class=""><code>.gitignore</code> added at root; <code>src/.gitignore</code> updated</li>
<li class="">Startup warmup: InputBar now shows briefly on launch to pre-warm search and icon cache, eliminating first-keystroke latency</li>
<li class=""><code>Core/Config.py</code> renamed to <code>Core/Settings.py</code></li>
<li class=""><code>Core/Migrations.py</code> — new file centralising all startup migrations and plugin data seeding</li>
<li class=""><code>Data/__pycache__</code> no longer created in compiled/setup builds (was always empty)</li>
<li class="">Plugin data files now correctly follow <code>ConfigDirectory</code> when set</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="downloads">Downloads<a href="https://blessephraem.github.io/news/2026/04/16/inputbar-120#downloads" class="hash-link" aria-label="Direct link to Downloads" title="Direct link to Downloads" translate="no">​</a></h2>
<ul>
<li class=""><a href="https://github.com/BlessEphraem/InputBar/releases/download/1.2.0/InputBar_v1.2.0_Portable.zip" target="_blank" rel="noopener noreferrer" class="">InputBar_v1.2.0_Portable.zip</a></li>
<li class=""><a href="https://github.com/BlessEphraem/InputBar/releases/download/1.2.0/InputBar_v1.2.0_Setup.exe" target="_blank" rel="noopener noreferrer" class="">InputBar_v1.2.0_Setup.exe</a></li>
</ul>
<p><a href="https://github.com/BlessEphraem/InputBar/releases/tag/1.2.0" target="_blank" rel="noopener noreferrer" class="">View on GitHub</a></p>]]></content:encoded>
            <category>programs</category>
            <category>inputbar</category>
        </item>
        <item>
            <title><![CDATA[Premiere Companion 1.1.1]]></title>
            <link>https://blessephraem.github.io/news/2026/04/12/premiere-companion-111</link>
            <guid>https://blessephraem.github.io/news/2026/04/12/premiere-companion-111</guid>
            <pubDate>Sun, 12 Apr 2026 18:42:22 GMT</pubDate>
            <description><![CDATA[- FIX: Improved some critical issues.]]></description>
            <content:encoded><![CDATA[<ul>
<li class=""><strong>FIX</strong>: Improved some critical issues.</li>
<li class=""><strong>FIX</strong>: Small change on the UI.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="downloads">Downloads<a href="https://blessephraem.github.io/news/2026/04/12/premiere-companion-111#downloads" class="hash-link" aria-label="Direct link to Downloads" title="Direct link to Downloads" translate="no">​</a></h2>
<ul>
<li class=""><a href="https://github.com/BlessEphraem/Premiere-Companion/releases/download/1.1.1/Premiere.Companion_v1.1.1_Portable.zip" target="_blank" rel="noopener noreferrer" class="">Premiere.Companion_v1.1.1_Portable.zip</a></li>
<li class=""><a href="https://github.com/BlessEphraem/Premiere-Companion/releases/download/1.1.1/Premiere_Companion_v1.1.1_Setup.exe" target="_blank" rel="noopener noreferrer" class="">Premiere_Companion_v1.1.1_Setup.exe</a></li>
</ul>
<p><a href="https://github.com/BlessEphraem/Premiere-Companion/releases/tag/1.1.1" target="_blank" rel="noopener noreferrer" class="">View on GitHub</a></p>]]></content:encoded>
            <category>programs</category>
            <category>premiere-companion</category>
        </item>
        <item>
            <title><![CDATA[Premiere Companion 1.1.0]]></title>
            <link>https://blessephraem.github.io/news/2026/04/12/premiere-companion-110</link>
            <guid>https://blessephraem.github.io/news/2026/04/12/premiere-companion-110</guid>
            <pubDate>Sun, 12 Apr 2026 05:59:02 GMT</pubDate>
            <description><![CDATA[- NEW: Update verification]]></description>
            <content:encoded><![CDATA[<ul>
<li class=""><strong>NEW:</strong> Update verification</li>
<li class=""><strong>NEW:</strong> Plugin installation inside the program</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="downloads">Downloads<a href="https://blessephraem.github.io/news/2026/04/12/premiere-companion-110#downloads" class="hash-link" aria-label="Direct link to Downloads" title="Direct link to Downloads" translate="no">​</a></h2>
<ul>
<li class=""><a href="https://github.com/BlessEphraem/Premiere-Companion/releases/download/1.1.0/Premiere.Companion_v1.1.0_Portable.zip" target="_blank" rel="noopener noreferrer" class="">Premiere.Companion_v1.1.0_Portable.zip</a></li>
<li class=""><a href="https://github.com/BlessEphraem/Premiere-Companion/releases/download/1.1.0/Premiere_Companion_v1.1.0_Setup.exe" target="_blank" rel="noopener noreferrer" class="">Premiere_Companion_v1.1.0_Setup.exe</a></li>
</ul>
<p><a href="https://github.com/BlessEphraem/Premiere-Companion/releases/tag/1.1.0" target="_blank" rel="noopener noreferrer" class="">View on GitHub</a></p>]]></content:encoded>
            <category>programs</category>
            <category>premiere-companion</category>
        </item>
        <item>
            <title><![CDATA[Premiere Companion 1.0.1]]></title>
            <link>https://blessephraem.github.io/news/2026/04/09/premiere-companion-101</link>
            <guid>https://blessephraem.github.io/news/2026/04/09/premiere-companion-101</guid>
            <pubDate>Thu, 09 Apr 2026 15:31:09 GMT</pubDate>
            <description><![CDATA[Major UI and Theme Improvements]]></description>
            <content:encoded><![CDATA[<p>Major UI and Theme Improvements
The interface has been slightly updated. I have rearranged some UI elements for a cleaner and more streamlined look. Please make sure to update the plugin accordingly to match these changes.</p>
<h2 class="anchor anchorTargetStickyNavbar_tleR" id="downloads">Downloads<a href="https://blessephraem.github.io/news/2026/04/09/premiere-companion-101#downloads" class="hash-link" aria-label="Direct link to Downloads" title="Direct link to Downloads" translate="no">​</a></h2>
<ul>
<li class=""><a href="https://github.com/BlessEphraem/Premiere-Companion/releases/download/1.0.1/Premiere.Companion_v1.0.1_Portable.zip" target="_blank" rel="noopener noreferrer" class="">Premiere.Companion_v1.0.1_Portable.zip</a></li>
<li class=""><a href="https://github.com/BlessEphraem/Premiere-Companion/releases/download/1.0.1/Premiere_Companion_v1.0.1_Setup.exe" target="_blank" rel="noopener noreferrer" class="">Premiere_Companion_v1.0.1_Setup.exe</a></li>
</ul>
<p><a href="https://github.com/BlessEphraem/Premiere-Companion/releases/tag/1.0.1" target="_blank" rel="noopener noreferrer" class="">View on GitHub</a></p>]]></content:encoded>
            <category>programs</category>
            <category>premiere-companion</category>
        </item>
        <item>
            <title><![CDATA[Premiere Companion 1.0.0]]></title>
            <link>https://blessephraem.github.io/news/2026/04/08/premiere-companion-100</link>
            <guid>https://blessephraem.github.io/news/2026/04/08/premiere-companion-100</guid>
            <pubDate>Wed, 08 Apr 2026 03:34:03 GMT</pubDate>
            <description><![CDATA[Downloads]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_tleR" id="downloads">Downloads<a href="https://blessephraem.github.io/news/2026/04/08/premiere-companion-100#downloads" class="hash-link" aria-label="Direct link to Downloads" title="Direct link to Downloads" translate="no">​</a></h2>
<ul>
<li class=""><a href="https://github.com/BlessEphraem/Premiere-Companion/releases/download/1.0.0/Premiere.Companion_v1.0.0_Portable.zip" target="_blank" rel="noopener noreferrer" class="">Premiere.Companion_v1.0.0_Portable.zip</a></li>
<li class=""><a href="https://github.com/BlessEphraem/Premiere-Companion/releases/download/1.0.0/Premiere_Companion_v1.0.0_Setup.exe" target="_blank" rel="noopener noreferrer" class="">Premiere_Companion_v1.0.0_Setup.exe</a></li>
</ul>
<p><a href="https://github.com/BlessEphraem/Premiere-Companion/releases/tag/1.0.0" target="_blank" rel="noopener noreferrer" class="">View on GitHub</a></p>]]></content:encoded>
            <category>programs</category>
            <category>premiere-companion</category>
        </item>
        <item>
            <title><![CDATA[Portfolio - 2026-04-08]]></title>
            <link>https://blessephraem.github.io/news/2026/04/08/portfolio-XL-DNin7msc</link>
            <guid>https://blessephraem.github.io/news/2026/04/08/portfolio-XL-DNin7msc</guid>
            <pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[<iframe]]></description>
            <content:encoded><![CDATA[<iframe width="100%" height="400" src="https://www.youtube-nocookie.com/embed/XL-DNin7msc" frameborder="0" allowfullscreen=""></iframe>
<p><a href="https://www.youtube.com/watch?v=XL-DNin7msc" target="_blank" rel="noopener noreferrer" class="">Watch on YouTube</a></p>]]></content:encoded>
            <category>portfolio</category>
        </item>
        <item>
            <title><![CDATA[JSX Runner 1.0.0]]></title>
            <link>https://blessephraem.github.io/news/2026/03/25/jsx-runner-100</link>
            <guid>https://blessephraem.github.io/news/2026/03/25/jsx-runner-100</guid>
            <pubDate>Wed, 25 Mar 2026 02:51:15 GMT</pubDate>
            <description><![CDATA[Downloads]]></description>
            <content:encoded><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_tleR" id="downloads">Downloads<a href="https://blessephraem.github.io/news/2026/03/25/jsx-runner-100#downloads" class="hash-link" aria-label="Direct link to Downloads" title="Direct link to Downloads" translate="no">​</a></h2>
<ul>
<li class=""><a href="https://github.com/BlessEphraem/JSX-Runner/releases/download/1.0.0/Ephraem-JSX_Runner_1.0.0.zip" target="_blank" rel="noopener noreferrer" class="">Ephraem-JSX_Runner_1.0.0.zip</a></li>
</ul>
<p><a href="https://github.com/BlessEphraem/JSX-Runner/releases/tag/1.0.0" target="_blank" rel="noopener noreferrer" class="">View on GitHub</a></p>]]></content:encoded>
            <category>plugins</category>
            <category>jsx-runner</category>
        </item>
        <item>
            <title><![CDATA[Portfolio - 2026-02-20]]></title>
            <link>https://blessephraem.github.io/news/2026/02/20/portfolio-jJowSv7MH94</link>
            <guid>https://blessephraem.github.io/news/2026/02/20/portfolio-jJowSv7MH94</guid>
            <pubDate>Fri, 20 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[<iframe]]></description>
            <content:encoded><![CDATA[<iframe width="100%" height="400" src="https://www.youtube-nocookie.com/embed/jJowSv7MH94" frameborder="0" allowfullscreen=""></iframe>
<p><a href="https://www.youtube.com/watch?v=jJowSv7MH94" target="_blank" rel="noopener noreferrer" class="">Watch on YouTube</a></p>]]></content:encoded>
            <category>portfolio</category>
        </item>
        <item>
            <title><![CDATA[Portfolio - 2026-02-18]]></title>
            <link>https://blessephraem.github.io/news/2026/02/18/portfolio-zxZiXyFmvV4</link>
            <guid>https://blessephraem.github.io/news/2026/02/18/portfolio-zxZiXyFmvV4</guid>
            <pubDate>Wed, 18 Feb 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[<iframe]]></description>
            <content:encoded><![CDATA[<iframe width="100%" height="400" src="https://www.youtube-nocookie.com/embed/zxZiXyFmvV4" frameborder="0" allowfullscreen=""></iframe>
<p><a href="https://www.youtube.com/watch?v=zxZiXyFmvV4" target="_blank" rel="noopener noreferrer" class="">Watch on YouTube</a></p>]]></content:encoded>
            <category>portfolio</category>
        </item>
        <item>
            <title><![CDATA[Portfolio - 2026-01-07]]></title>
            <link>https://blessephraem.github.io/news/2026/01/07/portfolio-4diIinBW8oA</link>
            <guid>https://blessephraem.github.io/news/2026/01/07/portfolio-4diIinBW8oA</guid>
            <pubDate>Wed, 07 Jan 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[<iframe]]></description>
            <content:encoded><![CDATA[<iframe width="100%" height="400" src="https://www.youtube-nocookie.com/embed/4diIinBW8oA" frameborder="0" allowfullscreen=""></iframe>
<p><a href="https://www.youtube.com/watch?v=4diIinBW8oA" target="_blank" rel="noopener noreferrer" class="">Watch on YouTube</a></p>]]></content:encoded>
            <category>portfolio</category>
        </item>
    </channel>
</rss>