{
    "version": "https://jsonfeed.org/version/1",
    "title": "Ephraem — News",
    "home_page_url": "https://blessephraem.github.io/news/",
    "description": "Thoughts, Updates & Articles by Ephraem",
    "items": [
        {
            "id": "https://blessephraem.github.io/news/2026/05/24/inputbar-201",
            "content_html": "<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>\n<ul>\n<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>\n</ul>\n<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>\n<ul>\n<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>\n<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>\n</ul>\n<p><a href=\"https://github.com/BlessEphraem/InputBar/releases/tag/2.0.1\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">View on GitHub</a></p>",
            "url": "https://blessephraem.github.io/news/2026/05/24/inputbar-201",
            "title": "InputBar 2.0.1",
            "summary": "Fixes",
            "date_modified": "2026-05-24T22:36:50.000Z",
            "tags": [
                "programs",
                "inputbar"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/05/14/inputbar-200",
            "content_html": "<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>\n<ul>\n<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>\n<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>\n<li class=\"\"><strong><code>--verbose</code> flag</strong>: new CLI flag to enable DEBUG logging in compiled mode.</li>\n</ul>\n<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>\n<ul>\n<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>\n<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>\n<li class=\"\"><strong>Atomic config writes</strong>: Settings.json, hotkeys.json, Plugins.json now written via temp+rename to prevent corruption on crash.</li>\n<li class=\"\"><strong>Schema versioning</strong>: Settings.json and hotkeys.json carry a <code>schema_version</code> field enabling structured migrations.</li>\n<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>\n<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>\n<li class=\"\"><strong>Path traversal guard</strong>: <code>ConfigDirectory</code> values pointing at system directories are rejected.</li>\n<li class=\"\"><strong>Thread safety</strong>: <code>_pipe_handle</code> protected by a lock. Reader thread uses <code>threading.Event</code> stop flag.</li>\n<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>\n<li class=\"\"><strong>Plugin teardown contract</strong>: plugins may expose <code>teardown() -&gt; None</code> — called on shutdown.</li>\n<li class=\"\"><strong>Named constants</strong>: all magic timing/retry values named (no bare literals).</li>\n<li class=\"\"><strong>Type annotations</strong>: all public functions in Core modules annotated.</li>\n<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>\n<li class=\"\"><strong><code>pyproject.toml</code></strong>: ruff linter configured for the project.</li>\n<li class=\"\"><strong><code>.docs/ARCHITECTURE.md</code></strong>: module map, startup sequence, directory layout.</li>\n<li class=\"\"><strong><code>.docs/DECISIONS.md</code></strong>: ADRs for all major technical choices.</li>\n</ul>\n<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>\n<ul>\n<li class=\"\"><strong>Git root</strong>: <code>.git</code> moved from <code>src/</code> to project root (§3.1 compliance).</li>\n<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>\n<li class=\"\"><strong>Dev data isolation</strong>: <code>src/gen/</code> directory (gitignored) holds all dev-mode generated data.</li>\n</ul>\n<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>\n<ul>\n<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>\n<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>\n</ul>\n<p><a href=\"https://github.com/BlessEphraem/InputBar/releases/tag/2.0.0\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">View on GitHub</a></p>",
            "url": "https://blessephraem.github.io/news/2026/05/14/inputbar-200",
            "title": "InputBar 2.0.0",
            "summary": "Breaking Changes",
            "date_modified": "2026-05-14T13:16:21.000Z",
            "tags": [
                "programs",
                "inputbar"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/05/12/inputbar-130",
            "content_html": "<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>\n<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:\n<a href=\"https://github.com/BlessEphraem/WinKeyHook\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">https://github.com/BlessEphraem/WinKeyHook</a></p>\n<p><strong>What changes for you:</strong></p>\n<ul>\n<li class=\"\">The installer automatically removes the old <code>Lib\\Core\\winkey_hook.exe</code> if present.</li>\n<li class=\"\">On first launch, InputBar automatically installs the WinKeyHook Daemon if it is not already present (a UAC prompt will appear).</li>\n<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>\n<li class=\"\">If the daemon is already running (e.g. from another app), InputBar connects to it directly without re-launching it.</li>\n</ul>\n<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>\n<ul>\n<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>\n<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>\n</ul>\n<p><a href=\"https://github.com/BlessEphraem/InputBar/releases/tag/1.3.0\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">View on GitHub</a></p>",
            "url": "https://blessephraem.github.io/news/2026/05/12/inputbar-130",
            "title": "InputBar 1.3.0",
            "summary": "WinKeyHook — External Daemon",
            "date_modified": "2026-05-12T23:00:35.000Z",
            "tags": [
                "programs",
                "inputbar"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/04/24/portfolio-S47vFJXOyE8",
            "content_html": "<iframe width=\"100%\" height=\"400\" src=\"https://www.youtube-nocookie.com/embed/S47vFJXOyE8\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n<p><a href=\"https://www.youtube.com/watch?v=S47vFJXOyE8\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">Watch on YouTube</a></p>",
            "url": "https://blessephraem.github.io/news/2026/04/24/portfolio-S47vFJXOyE8",
            "title": "Portfolio - 2026-04-24",
            "summary": "<iframe",
            "date_modified": "2026-04-24T00:00:00.000Z",
            "tags": [
                "portfolio"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/04/23/inputbar-124",
            "content_html": "<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>\n<ul>\n<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>\n<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>\n<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>\n<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>\n</ul>\n<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>\n<ul>\n<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>\n<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>\n</ul>\n<p><a href=\"https://github.com/BlessEphraem/InputBar/releases/tag/1.2.4\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">View on GitHub</a></p>",
            "url": "https://blessephraem.github.io/news/2026/04/23/inputbar-124",
            "title": "InputBar 1.2.4",
            "summary": "Data Directory Management",
            "date_modified": "2026-04-23T23:35:59.000Z",
            "tags": [
                "programs",
                "inputbar"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/04/23/inputbar-123",
            "content_html": "<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>\n<p><em>No downloadable assets attached to this release.</em></p>\n<p><a href=\"https://github.com/BlessEphraem/InputBar/releases/tag/1.2.3\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">View on GitHub</a></p>",
            "url": "https://blessephraem.github.io/news/2026/04/23/inputbar-123",
            "title": "InputBar 1.2.3",
            "summary": "Downloads",
            "date_modified": "2026-04-23T13:52:09.000Z",
            "tags": [
                "programs",
                "inputbar"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/04/22/portfolio-XbWg5KfTPLs",
            "content_html": "<iframe width=\"100%\" height=\"400\" src=\"https://www.youtube-nocookie.com/embed/XbWg5KfTPLs\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n<p><a href=\"https://www.youtube.com/watch?v=XbWg5KfTPLs\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">Watch on YouTube</a></p>",
            "url": "https://blessephraem.github.io/news/2026/04/22/portfolio-XbWg5KfTPLs",
            "title": "Portfolio - 2026-04-22",
            "summary": "<iframe",
            "date_modified": "2026-04-22T00:00:00.000Z",
            "tags": [
                "portfolio"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/04/18/premiere-companion-120",
            "content_html": "<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>\n<ul>\n<li class=\"\">The app is now in 64 bits. Transfer data at installation.</li>\n</ul>\n<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>\n<ul>\n<li class=\"\"><strong>Missing Logs:</strong> There was missing log when 'Quick Apply' go wrong.</li>\n</ul>\n<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>\n<ul>\n<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>\n<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>\n</ul>\n<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>",
            "url": "https://blessephraem.github.io/news/2026/04/18/premiere-companion-120",
            "title": "Premiere Companion 1.2.0",
            "summary": "32bits -> 64bits",
            "date_modified": "2026-04-18T17:10:09.000Z",
            "tags": [
                "programs",
                "premiere-companion"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/04/17/inputbar-122",
            "content_html": "<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>\n<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>\n<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>\n<ul>\n<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>\n<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>\n<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>\n<li class=\"\"><strong>CWD fix</strong> — Shell commands now open in the user's home directory instead of InputBar's install folder.</li>\n</ul>\n<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>\n<ul>\n<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>\n<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>\n</ul>\n<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>\n<ul>\n<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>\n<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>\n</ul>\n<p><a href=\"https://github.com/BlessEphraem/InputBar/releases/tag/1.2.2\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">View on GitHub</a></p>",
            "url": "https://blessephraem.github.io/news/2026/04/17/inputbar-122",
            "title": "InputBar 1.2.2",
            "summary": "New Configuration Key - Per-plugin result limit",
            "date_modified": "2026-04-17T22:53:31.000Z",
            "tags": [
                "programs",
                "inputbar"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/04/16/inputbar-121",
            "content_html": "<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>\n<ul>\n<li class=\"\"><strong>Variable Font Support</strong>: Added support for font weights (font_weight) and improved text smoothing (anti-aliasing by disabling hinting).</li>\n</ul>\n<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>\n<ul>\n<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>\n<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>\n</ul>\n<p><a href=\"https://github.com/BlessEphraem/InputBar/releases/tag/1.2.1\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">View on GitHub</a></p>",
            "url": "https://blessephraem.github.io/news/2026/04/16/inputbar-121",
            "title": "InputBar 1.2.1",
            "summary": "Quick Fixes",
            "date_modified": "2026-04-16T22:35:49.000Z",
            "tags": [
                "programs",
                "inputbar"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/04/16/inputbar-120",
            "content_html": "<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>\n<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>\n<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>\n<p><strong>Only theme files are affected.</strong> All other data (settings, plugin data, aliases, favorites) is preserved.</p>\n<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>\n<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>\n<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>\n<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>\n<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>\n<p>The main settings file has been renamed from <code>Data/Config.json</code> to <code>Data/Settings.json</code>.<br>\n<strong>Existing installations are migrated automatically</strong> on first launch — no manual action needed.</p>\n<ul>\n<li class=\"\">Type <code>settings</code> in InputBar to reload or open the file (was <code>config</code>)</li>\n</ul>\n<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>\n<p>A dedicated <code>Shell</code> plugin has been added (<code>Plugins/Shell/Shell.py</code>).</p>\n<p>It handles shell command execution, separate from app launching:</p>\n<ul>\n<li class=\"\"><strong><code>favorites.data</code></strong> — define named shell command shortcuts:</li>\n</ul>\n<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>\n<ul>\n<li class=\"\"><strong><code>default_shell.json</code></strong> — set your default shell (<code>cmd</code>, <code>pwsh</code>, <code>powershell</code>)</li>\n<li class=\"\"><strong>Per-entry shell override</strong> — prefix any entry with a shell name to override the default:</li>\n</ul>\n<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>\n<ul>\n<li class=\"\">Favorites are fuzzy-searchable by name from the InputBar</li>\n<li class=\"\">Direct shell commands typed in the bar are also detected and executed</li>\n<li class=\"\">Type <code>shell reload</code> to reload favorites without restarting</li>\n</ul>\n<a href=\"https://blessephraem.github.io/news/2026/04/16/.docs/Plugins/Shell.md\"><kbd>→ Shell Documentation</kbd></a>\n<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>\n<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>\n<ul>\n<li class=\"\">Type <code>f &lt;query&gt;</code> or <code>everything &lt;query&gt;</code> for an explicit file search</li>\n<li class=\"\">Known extensions (<code>.png</code>, <code>.pdf</code>, <code>.mp4</code>, …) auto-trigger the plugin — just type the extension</li>\n<li class=\"\"><strong>Favorites</strong> — define named folder shortcuts in <code>favorites.data</code>:<!-- -->\n<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>\n<!-- -->Typing <code>src</code> shows the folder as the first result, followed immediately by its contents.</li>\n<li class=\"\"><strong>Right-arrow sub-menu</strong> on any result: Open folder · Copy file path · Back</li>\n<li class=\"\">Everything is started silently in the background if not already running; no manual setup needed</li>\n</ul>\n<a href=\"https://blessephraem.github.io/news/2026/04/16/.docs/Plugins/Everything.md\"><kbd>→ Everything Documentation</kbd></a>\n<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>\n<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>\n<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>\n<ul>\n<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>\n<li class=\"\">Icon colours are configurable per-theme via the new <code>icons</code> section in the theme JSON:<!-- -->\n<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>\n</li>\n<li class=\"\"><strong>Copy file path</strong> is a new sub-menu option (copies the full path to the clipboard)</li>\n<li class=\"\">The right-arrow sub-menu is now available on <strong>both</strong> app and file results (Everything items included)</li>\n<li class=\"\">\"Start as admin\" is only shown when the selected item is an executable (<code>.exe</code>)</li>\n<li class=\"\">Emoji characters removed from all built-in result labels</li>\n</ul>\n<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>\n<ul>\n<li class=\"\"><code>_version.py</code> moved to <code>Build/</code> (generated by CMake at build time)</li>\n<li class=\"\"><code>.gitignore</code> added at root; <code>src/.gitignore</code> updated</li>\n<li class=\"\">Startup warmup: InputBar now shows briefly on launch to pre-warm search and icon cache, eliminating first-keystroke latency</li>\n<li class=\"\"><code>Core/Config.py</code> renamed to <code>Core/Settings.py</code></li>\n<li class=\"\"><code>Core/Migrations.py</code> — new file centralising all startup migrations and plugin data seeding</li>\n<li class=\"\"><code>Data/__pycache__</code> no longer created in compiled/setup builds (was always empty)</li>\n<li class=\"\">Plugin data files now correctly follow <code>ConfigDirectory</code> when set</li>\n</ul>\n<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>\n<ul>\n<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>\n<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>\n</ul>\n<p><a href=\"https://github.com/BlessEphraem/InputBar/releases/tag/1.2.0\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">View on GitHub</a></p>",
            "url": "https://blessephraem.github.io/news/2026/04/16/inputbar-120",
            "title": "InputBar 1.2.0",
            "summary": "IMPORTANT: Theme reset - Incompatible themes from earlier versions",
            "date_modified": "2026-04-16T20:51:18.000Z",
            "tags": [
                "programs",
                "inputbar"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/04/12/premiere-companion-111",
            "content_html": "<ul>\n<li class=\"\"><strong>FIX</strong>: Improved some critical issues.</li>\n<li class=\"\"><strong>FIX</strong>: Small change on the UI.</li>\n</ul>\n<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>\n<ul>\n<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>\n<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>\n</ul>\n<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>",
            "url": "https://blessephraem.github.io/news/2026/04/12/premiere-companion-111",
            "title": "Premiere Companion 1.1.1",
            "summary": "- FIX: Improved some critical issues.",
            "date_modified": "2026-04-12T18:42:22.000Z",
            "tags": [
                "programs",
                "premiere-companion"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/04/12/premiere-companion-110",
            "content_html": "<ul>\n<li class=\"\"><strong>NEW:</strong> Update verification</li>\n<li class=\"\"><strong>NEW:</strong> Plugin installation inside the program</li>\n</ul>\n<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>\n<ul>\n<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>\n<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>\n</ul>\n<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>",
            "url": "https://blessephraem.github.io/news/2026/04/12/premiere-companion-110",
            "title": "Premiere Companion 1.1.0",
            "summary": "- NEW: Update verification",
            "date_modified": "2026-04-12T05:59:02.000Z",
            "tags": [
                "programs",
                "premiere-companion"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/04/09/premiere-companion-101",
            "content_html": "<p>Major UI and Theme Improvements\nThe 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>\n<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>\n<ul>\n<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>\n<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>\n</ul>\n<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>",
            "url": "https://blessephraem.github.io/news/2026/04/09/premiere-companion-101",
            "title": "Premiere Companion 1.0.1",
            "summary": "Major UI and Theme Improvements",
            "date_modified": "2026-04-09T15:31:09.000Z",
            "tags": [
                "programs",
                "premiere-companion"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/04/08/premiere-companion-100",
            "content_html": "<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>\n<ul>\n<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>\n<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>\n</ul>\n<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>",
            "url": "https://blessephraem.github.io/news/2026/04/08/premiere-companion-100",
            "title": "Premiere Companion 1.0.0",
            "summary": "Downloads",
            "date_modified": "2026-04-08T03:34:03.000Z",
            "tags": [
                "programs",
                "premiere-companion"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/04/08/portfolio-XL-DNin7msc",
            "content_html": "<iframe width=\"100%\" height=\"400\" src=\"https://www.youtube-nocookie.com/embed/XL-DNin7msc\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n<p><a href=\"https://www.youtube.com/watch?v=XL-DNin7msc\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">Watch on YouTube</a></p>",
            "url": "https://blessephraem.github.io/news/2026/04/08/portfolio-XL-DNin7msc",
            "title": "Portfolio - 2026-04-08",
            "summary": "<iframe",
            "date_modified": "2026-04-08T00:00:00.000Z",
            "tags": [
                "portfolio"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/03/25/jsx-runner-100",
            "content_html": "<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>\n<ul>\n<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>\n</ul>\n<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>",
            "url": "https://blessephraem.github.io/news/2026/03/25/jsx-runner-100",
            "title": "JSX Runner 1.0.0",
            "summary": "Downloads",
            "date_modified": "2026-03-25T02:51:15.000Z",
            "tags": [
                "plugins",
                "jsx-runner"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/02/20/portfolio-jJowSv7MH94",
            "content_html": "<iframe width=\"100%\" height=\"400\" src=\"https://www.youtube-nocookie.com/embed/jJowSv7MH94\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n<p><a href=\"https://www.youtube.com/watch?v=jJowSv7MH94\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">Watch on YouTube</a></p>",
            "url": "https://blessephraem.github.io/news/2026/02/20/portfolio-jJowSv7MH94",
            "title": "Portfolio - 2026-02-20",
            "summary": "<iframe",
            "date_modified": "2026-02-20T00:00:00.000Z",
            "tags": [
                "portfolio"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/02/18/portfolio-zxZiXyFmvV4",
            "content_html": "<iframe width=\"100%\" height=\"400\" src=\"https://www.youtube-nocookie.com/embed/zxZiXyFmvV4\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n<p><a href=\"https://www.youtube.com/watch?v=zxZiXyFmvV4\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">Watch on YouTube</a></p>",
            "url": "https://blessephraem.github.io/news/2026/02/18/portfolio-zxZiXyFmvV4",
            "title": "Portfolio - 2026-02-18",
            "summary": "<iframe",
            "date_modified": "2026-02-18T00:00:00.000Z",
            "tags": [
                "portfolio"
            ]
        },
        {
            "id": "https://blessephraem.github.io/news/2026/01/07/portfolio-4diIinBW8oA",
            "content_html": "<iframe width=\"100%\" height=\"400\" src=\"https://www.youtube-nocookie.com/embed/4diIinBW8oA\" frameborder=\"0\" allowfullscreen=\"\"></iframe>\n<p><a href=\"https://www.youtube.com/watch?v=4diIinBW8oA\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">Watch on YouTube</a></p>",
            "url": "https://blessephraem.github.io/news/2026/01/07/portfolio-4diIinBW8oA",
            "title": "Portfolio - 2026-01-07",
            "summary": "<iframe",
            "date_modified": "2026-01-07T00:00:00.000Z",
            "tags": [
                "portfolio"
            ]
        }
    ]
}