<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
	<title>Noctalia</title>
	<link>https://noctalia.dev/blog</link>
	<description>Blog posts and release notes from the Noctalia team.</description>
	<language>en-us</language>
	<lastBuildDate>Thu, 10 Sep 2026 15:13:31 GMT</lastBuildDate>
	<atom:link href="https://noctalia.dev/rss.xml" rel="self" type="application/rss+xml" />
	
<item>
	<title>Noctalia v5.1.0</title>
	<link>https://noctalia.dev/changelogs#v5.1.0</link>
	<guid>https://github.com/noctalia-dev/noctalia/releases/tag/v5.1.0</guid>
	<pubDate>Thu, 10 Sep 2026 15:13:31 GMT</pubDate>
	<category>Release</category>
	<description><![CDATA[<h2>Noctalia v5.1.0</h2>
<h3>✨ New Features</h3>
<p>Screenshot &amp; Capture</p>
<ul>
<li>Screenshot region editor with drawing annotations (brush, shapes, text, blur, and related tools)</li>
<li>Movable annotation toolbar with size presets and a dedicated screenshot settings section</li>
<li>Improved annotation workflow: optional close-after-copy, capture new region, unified pointer controls, and clearer unavailable options</li>
</ul>
<p>Network &amp; Connectivity</p>
<ul>
<li>Cellular (ModemManager) support with mobile data toggle and signal display</li>
<li>WPA2/WPA3 Enterprise (802.1X) Wi-Fi with credential form in Control Center</li>
</ul>
<p>Control Center</p>
<ul>
<li>Manual rescan for DDC/DisplayPort monitors when using ddcutil</li>
</ul>
<p>Notifications</p>
<ul>
<li>Option to remove dismissed toasts from history (<code>keep_dismissed_in_history</code>)</li>
</ul>
<p>Greeter</p>
<ul>
<li>Constrained passwordless greeter appearance sync (See <a href="https://docs.noctalia.dev/greeter/sync/?section=conventional-packaged-distributions#conventional-packaged-distributions">docs</a> for more infos)</li>
</ul>
<p>Launcher</p>
<ul>
<li>Emoji search matches keyword aliases</li>
</ul>
<p>Settings</p>
<ul>
<li>Collapsible settings group cards with jump rows</li>
</ul>
<h3>🐛 Notable Fixes</h3>
<ul>
<li>Lock screen no longer hangs on &quot;Authenticating&quot; during PAM unlock</li>
<li>Plugin bar UI inherits widget colors correctly</li>
<li>Plugin source cache stays pinned to the <code>origin</code> remote</li>
<li>Notifications preserve literal angle-bracket text; markup sanitization no longer strips valid content incorrectly</li>
<li>Hyprland workspace widget uses stable workspace identities</li>
<li>Bar external IP widget survives bar reloads</li>
<li>Calendar vdir account paths expand correctly before validation</li>
<li>Icon theme scan deferred until Control Center tabs need it (faster CLI startup)</li>
<li>Segmented controls scale correctly at fractional UI scale</li>
<li>MacBook charge limit quirks handled in power settings</li>
<li>Umbriel template: fixed <code>include.files</code> array parsing, missing color keys, and workspace background key typo</li>
<li>Ghostty template reloads independent terminal instances correctly</li>
</ul>
<h3>🔧 Build</h3>
<ul>
<li>Umbriel logo added to the bundled <code>noctalia-tabler</code> icon font</li>
</ul>
]]></description>
</item>

<item>
	<title>Noctalia v5.0.1</title>
	<link>https://noctalia.dev/changelogs#v5.0.1</link>
	<guid>https://github.com/noctalia-dev/noctalia/releases/tag/v5.0.1</guid>
	<pubDate>Thu, 03 Sep 2026 17:00:56 GMT</pubDate>
	<category>Release</category>
	<description><![CDATA[<h2>Noctalia v5.0.1</h2>
<p>Noctalia v5 just graduated! v5.0.1 is officially stable. Shoutout to everyone who’s been living on the edge with us through the testing and betas phases, we couldn&#39;t have stabilized this without you. </p>
<h3>✨ New Features</h3>
<p>Calendar</p>
<ul>
<li>Local vdir and vdirsyncer calendar account support with live directory monitoring</li>
</ul>
<p>Bar &amp; Widgets</p>
<ul>
<li>Workspaces widget option to hide focus-hint icons</li>
<li>Bluetooth widget can hide when the adapter is off</li>
<li>Weather shows apparent temperature</li>
</ul>
<p>Plugins</p>
<ul>
<li>Panel entries can declare their layer-shell layer and floating placement</li>
<li>Pointer enter/leave/motion callbacks on graph nodes</li>
</ul>
<p>Window Switcher</p>
<ul>
<li>Optional &#39;Most Recently Used&#39; window order</li>
</ul>
<p>Wallpaper</p>
<ul>
<li>Add the current wallpaper to favorites from the wallpaper panel</li>
</ul>
<p>Themes &amp; Templates</p>
<ul>
<li>Separate theme mode (dark/light) for applications (independent of shell palette)</li>
<li>Template hooks can run faster/asynchronously</li>
</ul>
<p>Other</p>
<ul>
<li>Hebrew language option</li>
</ul>
<h3>🐛 Notable Fixes</h3>
<ul>
<li>Wallpaper no longer gets overwritten on the first settings save</li>
<li>Bluetooth pairing shows DisplayPasskey requests and keeps the card visible until accepted</li>
<li>Desktop calendar honors configured date/time formats</li>
<li>Ayu palette colors correction</li>
<li>Scrollbars scale with UI and expand on hover</li>
<li>Plugin store stays open while installing; bar tooltips hide while a widget panel is open</li>
<li>Smart auto-hide bars no longer reveal on workspace switches when configured to stay hidden</li>
<li>Media OSD announces track changes per player when the track identity changes</li>
<li>Wayland blur works with wayland-protocols 1.45 and skips fully off-surface regions</li>
<li>Attached panels with fill sizing can use attached placement</li>
<li>Notifications stay in history after dismiss; toast hit regions refresh after stalled frames</li>
<li>Battery health in bar tooltips clamped to 100%; battery percent label uses widget color, not icon color</li>
<li>Timezone handling improvements; blank clock formats no longer crash the widget</li>
<li>Dock: no 1px gap on fractional scale, focused app dots highlighted, tooltips cleared on auto-hide</li>
<li>Control Center home media title ellipsized; media progress label init order fixed</li>
<li>WebP/VP8X album art decoding for Navidrome-style cover URLs</li>
<li>Theme <code>colors_changed</code> fires only when the palette actually changes</li>
<li>Template undo removes only configs Noctalia applied; built-in theme cleanup before removal</li>
<li>Electron apps follow gtk-theme before color-scheme when applying templates</li>
<li>Launcher: pinned apps launch on click; input resets on edit only, not on focus</li>
<li>Clipboard poll wakes for queued orphan adoption</li>
<li>Screenshot pipe stays enabled on copy/save confirm</li>
<li>Privacy indicator detects xdg-desktop-portal-wlr screen captures</li>
<li>PipeWire spectrum mode gated by runtime version; spectrum restore volume separated from media role. Should allow sample rate switching.</li>
<li>Brightness honors explicit per-output backlight mapping fallback</li>
<li>Bar widget selection index stays consistent after deletion</li>
<li>Window switcher pointer cursor on tile hover; virtual grid shows pointer over empty cells</li>
<li>Hyprland groupbar gradients no longer forced; Mango optional source and screen-off layout preserved</li>
<li>OSD shows brightness changes from IPC</li>
<li>Icon theme lookup and desktop-entry scan skip inaccessible directories</li>
<li>Plugin panels close on a second toggle with the same context</li>
<li>Dead-zone and widget action command names localized in settings</li>
<li>Compositor detection prefers Umbriel when present</li>
</ul>
<h3>🔧 Build</h3>
<ul>
<li>Nix: wrap <code>gsettings-desktop-schemas</code> so tray icons resolve themed names on non-GNOME setups</li>
<li>User docs now live in-repo under <code>docs/user</code></li>
</ul>
]]></description>
</item>

<item>
	<title>Noctalia v5.0.0-beta.10 (Pre-release)</title>
	<link>https://noctalia.dev/changelogs#v5.0.0-beta.10</link>
	<guid>https://github.com/noctalia-dev/noctalia/releases/tag/v5.0.0-beta.10</guid>
	<pubDate>Thu, 27 Aug 2026 19:45:02 GMT</pubDate>
	<category>Release</category>
	<description><![CDATA[<h2>Noctalia v5.0.0-beta.10</h2>
<h3>✨ New Features</h3>
<p>Bar &amp; Widgets</p>
<ul>
<li>Bar-wide and per-widget font scale for independent text sizing</li>
<li>Media widget playback progress fill with optional show/hide setting</li>
</ul>
<p>Media &amp; Audio</p>
<ul>
<li>Per-app audio output routing to a chosen device</li>
<li>Media volume OSD showing the active player name</li>
<li>PipeWire route mute follows the selected profile device</li>
</ul>
<p>Calendar</p>
<ul>
<li>Per-event colors from RFC 7986 and common vendor extensions (Apple, Google, Outlook)</li>
<li>Passed events fade in the calendar view and refresh over time</li>
</ul>
<p>Clipboard &amp; Screenshots</p>
<ul>
<li>Clipboard history shows image dimensions</li>
<li>Screenshots default to <code>XDG_PICTURES_DIR</code> when set</li>
</ul>
<p>Other</p>
<ul>
<li>Umbriel community template: stronger overview background tint</li>
<li>labwc apply script no longer overwrite user-defined fonts</li>
</ul>
<h3>🐛 Notable Fixes</h3>
<ul>
<li>Icon theme lookup tolerates inaccessible directories without failing resolution</li>
<li>Per-monitor <code>ddc_bus</code> override and duplicate-bus filtering for identical EDID monitors</li>
<li>Dock keeps the pending launch target through activation</li>
<li>Launcher preserves usage history when sort-by-usage is disabled</li>
<li>Control Center home tab clock updates while the panel is open</li>
<li>Control Center custom shortcuts use the glyph picker</li>
<li>Clipboard image dimensions refresh after async load</li>
<li>Screenshot region overlay uses correct logical dimension rounding</li>
<li>Touchpad scrolling matches native Wayland application behavior</li>
<li>Fractional-scale button content stays centered</li>
<li>Window switcher preserves cursor warp on Umbriel</li>
<li>DPMS uses native Umbriel output power actions</li>
<li>Umbriel IPC returns full command replies</li>
<li>PipeWire audio visualization and event dispatch fixes on newer PipeWire versions</li>
<li>Settings plugin store keeps scroll position when navigating back</li>
<li>Compositor theme templates: adjusted window shadow/decoration handling for Hyprland, Mango, and Niri</li>
</ul>
<h3>🔧 Build</h3>
<ul>
<li>Nix: drop bundled home-manager Noctalia module in favor of upstream</li>
<li>Bundled icon font renamed to <code>noctalia-tabler</code></li>
</ul>
]]></description>
</item>

<item>
	<title>Noctalia v5.0.0-beta.9 (Pre-release)</title>
	<link>https://noctalia.dev/changelogs#v5.0.0-beta.9</link>
	<guid>https://github.com/noctalia-dev/noctalia/releases/tag/v5.0.0-beta.9</guid>
	<pubDate>Thu, 20 Aug 2026 17:57:31 GMT</pubDate>
	<category>Release</category>
	<description><![CDATA[<h2>Noctalia v5.0.0-beta.9</h2>
<h3>⚠️ Breaking Changes</h3>
<ul>
<li>Plugin manifests must now declare a canonical <code>version = &quot;MAJOR.MINOR.PATCH&quot;</code>; manifests with a missing or non-canonical version no longer load, not a concern for all official and community plugins that already respect this convention.</li>
</ul>
<h3>✨ New Features</h3>
<p>Bar &amp; Widgets</p>
<ul>
<li>Taskbar: drag to reorder pinned applications; configurable <code>icon_scale</code> and <code>item_spacing</code>, with a tighter default spacing in non-grouped mode</li>
<li>Volume widget: <code>hide_when_inactive</code> toggle</li>
<li>Audio visualizer: <code>reversed</code> bar direction option</li>
<li>Workspaces: optional <code>show_all_outputs</code> to display workspaces from every monitor; Hyprland workspaces ordered by id</li>
<li>System monitor: new <code>gpu_vram_used</code> statistic</li>
<li>Screenshot region: draggable resize and move handles while selecting</li>
<li>Text inputs: readline-style editing shortcuts</li>
<li>Touch screens: drag-to-scroll gesture in scrollable surfaces</li>
</ul>
<p>Launcher</p>
<ul>
<li>App origin indicator toggle (<code>[launcher] show_app_origin_indicator</code>) with AppImage and package origin detection</li>
<li>Optional desktop actions surfaced in app results (<code>[launcher] show_app_actions</code>)</li>
</ul>
<p>Plugins</p>
<ul>
<li>Plugin API 28: native panel context menus through <code>panel.openContextMenu()</code></li>
<li><code>noctalia.getSetting()</code> reads any effective config value (API 26)</li>
<li>Process execution accepts direct argv tables in addition to shell command strings</li>
<li>Desktop widgets can mask the wallpaper (API 25)</li>
<li>Input frames expose their visibility to plugins (API 27)</li>
<li>Auto-update scope configurable as All / Official / None via <code>plugins.auto_update</code></li>
<li>Plugin store: back-to-catalog button on plugin details</li>
</ul>
<p>Power &amp; Network</p>
<ul>
<li>Battery charge threshold controls in Control Center when the device supports them</li>
<li>WPA3 SAE connections supported</li>
<li>Idle behaviors accept a <code>locked_timeout</code>, so e.g. <code>screen_off</code> runs at a shorter interval while locked and re-arms after each wake</li>
</ul>
<p>Wallpaper &amp; Theme</p>
<ul>
<li>Directory wallpaper shuffle avoids repeating an image until the whole set has been shown</li>
<li>gsettings color-scheme stays in sync with palette mode changes</li>
</ul>
<p>Notifications</p>
<ul>
<li>Notification filters support <code>bypass_dnd</code> for selective DND bypass</li>
<li>Enabling DND hides already-visible toasts</li>
</ul>
<p>Calendar</p>
<ul>
<li>Day cells open the default calendar app</li>
</ul>
<p>Settings &amp; Templates</p>
<ul>
<li>Widget editor sheets render inside the Settings window</li>
<li>Disabled built-in templates can be undone</li>
<li>Umbriel compositor support with an <code>umbriel</code> theme template; Hyprland template gains glow, shadow, and groupbar text colors</li>
</ul>
<p>i18n</p>
<ul>
<li>Right-to-left interface support; Arabic added</li>
<li>Turkish translation completed</li>
</ul>
<p>CLI</p>
<ul>
<li><code>noctalia completions</code> generates bash/zsh/fish completions from the live command schema, including dynamic plugin subcommand completions; bundled for Nix</li>
</ul>
<h3>🐛 Notable Fixes</h3>
<ul>
<li>Lockscreen: locking proceeds while outputs disconnect; fcitx input context preserved after unlock; no crash after hotplugging with a deferred lock; no logind lock-request feedback loop; lock surface recovers after resume</li>
<li>Notifications: action activation tokens emitted and bound to the source surface; system battery warnings still show during DND</li>
<li>Tray: detects an existing StatusNotifierWatcher; hover pills align with the bar capsule thickness; passive item filtering is configurable</li>
<li>Taskbar: tiles retained during title and active changes; group hover pill hit-boxes fixed</li>
<li>Bar: global font changes apply on config reload; bar and dock surfaces recreated after output moves</li>
<li>Launcher: localized entry names and regional locale preserved; AppImage origins no longer shadowed by path; fuzzy no-match scores kept; executable paths resolved for origin detection; null-config guard</li>
<li>Dock: pinned entries matched before the full list</li>
<li>Settings: tiled buffers no longer inflated past the compositor size; tooltips destroyed before modal close; no layout shift on plugin refresh; no rebuilds on battery metric changes; active settings tab restored after the widget editor exits</li>
<li>Panels: panel input excluded from the click shield</li>
<li>Audio: hidden shell sound gain ceiling removed</li>
<li>Weather: refreshes after startup failures and resume</li>
<li>Screen Time: tracking pauses while suspended or locked</li>
<li>Calendar: locked-keyring credential recovery with transient-miss retries</li>
<li>Network: Wi-Fi toggle no longer snaps back before state catches up</li>
<li>Fingerprint / Polkit: fingerprint device left alone during suspend; authentication cancelled when its panel closes</li>
<li>Desktop widgets: placement preserved across output scale changes; clock respects the center-text setting; string-list actions shown in the inspector</li>
<li>Plugins: translations resolve from the plugin root; clipboard access restored for panels and shortcuts; store keeps scroll offset across rebuilds</li>
<li>Render: glyph textures refreshed after resume</li>
<li>Sessions: recursive IPC action commands prevented</li>
<li>Config: session action fields preserved across overrides; migration warnings point to source keys</li>
<li>Screenshot: unresponsive outputs skipped during freeze capture</li>
<li>Theme: container saturation offset scaled by headroom</li>
<li>Emoji picker: <code>rofl</code> recognized</li>
</ul>
<h3>🔧 Build</h3>
<ul>
<li>CLI completions generated from the live schema; Nix bundles shell completions</li>
<li>Source assets path no longer embedded; assets resolve from the install prefix</li>
<li>Compile fixes: libc++ for <code>icon_resolver</code></li>
<li>Nix flake: deprecated xz tarball replaced with zst</li>
</ul>
]]></description>
</item>

<item>
	<title>Noctalia v5.0.0-beta.8 (Pre-release)</title>
	<link>https://noctalia.dev/changelogs#v5.0.0-beta.8</link>
	<guid>https://github.com/noctalia-dev/noctalia/releases/tag/v5.0.0-beta.8</guid>
	<pubDate>Mon, 10 Aug 2026 16:06:49 GMT</pubDate>
	<category>Release</category>
	<description><![CDATA[<h2>Noctalia v5.0.0-beta.8</h2>
<h3>✨ New Features</h3>
<p>Bar &amp; Widgets</p>
<ul>
<li>Capsule groups can collapse into hover accordions, expand toward either end, override their internal spacing, and group non-adjacent widgets from the editor</li>
<li>System monitor widgets can hide their glyph and display CPU frequency; the desktop system monitor gains the same statistic</li>
<li>Taskbar active indicators support a configurable <code>active_indicator_color</code></li>
<li>Individual widgets can be reset to their defaults from the widget editor</li>
</ul>
<p>Plugins</p>
<ul>
<li>Plugin API 21 adds <code>ui.markdown</code>, chat-style input submission with <code>submitOnEnter</code>, and scroll follow, observation, and jump-to-bottom properties</li>
<li>Plugin API 22 adds relative <code>.luau</code> module imports through <code>require()</code>, with imported modules included in linting and live reload</li>
<li>Plugin API 23 adds bounded asynchronous file reads through <code>noctalia.readFileAsync()</code></li>
<li><code>noctalia.systemStats()</code> exposes CPU <code>freqMhz</code> and <code>maxFreqMhz</code>; plugin-level setting changes now apply to live entries</li>
</ul>
<p>Calendar &amp; Desktop Widgets</p>
<ul>
<li>Calendar accounts can subscribe directly to ICS, <code>webcal://</code>, and <code>webcals://</code> URLs</li>
<li>Meeting links can be opened from calendar event cards</li>
<li>Calendar joins the built-in desktop widgets</li>
</ul>
<p>Settings &amp; Themes</p>
<ul>
<li>Optional translucent Settings window background and a toggle to hide the Control Center session button</li>
<li>Config errors include their source location</li>
<li>Template variables can read the active config and <code>icon_theme</code>, with direct <code>palettes.&lt;family&gt;.&lt;tone&gt;.&lt;format&gt;</code> access for Matugen compatibility</li>
<li>Automatic migrations move keyboard layout custom labels to <code>[shell.keyboard_layout.custom_labels]</code>, rename keyboard and sysmon <code>show_icon</code> to <code>show_glyph</code>, split workspace <code>display</code> into <code>label_source</code> and <code>show_labels</code>, and update sysmon presentation keys to <code>visualization</code> and <code>show_value</code></li>
</ul>
<p>Lockscreen &amp; Sessions</p>
<ul>
<li><code>[lockscreen].lock_before_suspend</code> controls whether external suspend requests lock the session through logind&#39;s sleep-delay inhibit</li>
</ul>
<p>Notifications</p>
<ul>
<li><code>[notification].max_visible</code> limits how many notification toasts can be on screen at once</li>
<li>Critical notifications use a stronger error-colored border</li>
</ul>
<p>Bluetooth &amp; Network</p>
<ul>
<li>Wi-Fi tooltips and current-connection details show the active band</li>
</ul>
<p>IPC &amp; Outputs</p>
<ul>
<li><code>bar-auto-hide-set smart</code> switches a bar directly into smart auto-hide mode; <code>plugins list</code> always reports whether each plugin is enabled or disabled</li>
<li>Monitor selectors can match make, model, or serial number on compositors with <code>wlr-output-management</code></li>
<li>Greeter sync stages each output&#39;s display scale alongside its layout and transform</li>
</ul>
<p>Other</p>
<ul>
<li>Shift plus the configured Validate key opens the selected app&#39;s context menu in the Launcher</li>
<li>OpenGL ES capability checks fail early with clear startup diagnostics when required renderer support is missing</li>
</ul>
<h3>🐛 Notable Fixes</h3>
<ul>
<li>Calendar / Screen Time: use nominative standalone month names, localized weekday labels, and correctly remeasure duration columns after range changes</li>
<li>Settings: prevent duplicate deferred rebuilds from freezing the shell, cull off-screen settings controls, preserve lane override controls across capsule groups, and keep scrollbar thumbs stable when dragging begins</li>
<li>Control Center: scroll monitor cards when many displays are present, preserve Bluetooth row expansion through updates, honor explicit hidden-tab requests, and disconnect every active VPN from the header toggle</li>
<li>Weather / HTTP: honor manually configured coordinates, show daily temperatures from minimum to maximum, and abandon stuck DNS lookups without blocking the main loop</li>
<li>Theme / Wallpaper: re-evaluate automatic light/dark mode after resume, emit <code>colors_changed</code> only for actual palette changes, and fade startup wallpapers over the existing background instead of black</li>
<li>Sessions: avoid an unwanted lock for Noctalia-initiated plain suspend, prevent child processes from retaining logind inhibit descriptors, and keep countdown actions running while hovered</li>
<li>Taskbar / Dock: use exact compositor window identities for reliable Niri focus, close, and instance cycling</li>
<li>Workspaces: prevent phantom Hyprland workspace entries</li>
<li>Tray: hide passive items, honor adjacent spacing in the drawer, recognize mixed-case attention states, and prevent edge hover highlights from clipping</li>
<li>Notifications / Tooltips: rebuild at the destination output scale and keep tooltip rendering isolated from other surfaces</li>
<li>Rendering: sharpen and smooth rounded-rectangle and screen-corner antialiasing; prevent wrapped-text cache collisions</li>
<li>Desktop Widgets: disable interactions while editing and bind newly created widget trees to the correct surface renderer</li>
<li>Fonts: handle an empty Fontconfig catalog without crashing</li>
<li>Emoji Picker: improve search keywords and recognize 🎉 as <code>tada</code></li>
<li>Launcher: launch apps on the launcher&#39;s own output</li>
<li>Bar: restore screen-edge clicks for plugin widgets and stabilize accordion hover/collapse tracking</li>
<li>Audio: recognize virtual PipeWire sources</li>
<li>Plugin Store: Escape from plugin details returns to the plugin list</li>
<li>Wayland: exit cleanly when the display socket closes and retain output-mode objects until the compositor finishes with them</li>
<li>Panels: floating panel borders inherit the panel&#39;s opacity</li>
</ul>
<h3>🔧 Build</h3>
<ul>
<li>Nix: disable the conflicting nixpkgs Noctalia module when using the flake-provided module</li>
<li>Guix: add <code>libsecret</code> and <code>libsodium</code> inputs and rely on Meson&#39;s <code>native_optimizations</code> option instead of patching the build file</li>
</ul>
]]></description>
</item>

<item>
	<title>Noctalia v5.0.0-beta.7 (Pre-release)</title>
	<link>https://noctalia.dev/changelogs#v5.0.0-beta.7</link>
	<guid>https://github.com/noctalia-dev/noctalia/releases/tag/v5.0.0-beta.7</guid>
	<pubDate>Thu, 30 Jul 2026 21:03:10 GMT</pubDate>
	<category>Release</category>
	<description><![CDATA[<h2>Noctalia v5.0.0-beta.7</h2>
<h3>✨ New Features</h3>
<p>Bar &amp; Widgets</p>
<ul>
<li>Screenshot: remember last capture region (settings toggle), plus Ctrl+C / Ctrl+S shortcuts while selecting area</li>
<li>Audio visualizer: max width raised to 2048</li>
<li>Weather: add tooltip</li>
<li>Workspaces: toggle to disable hover color changes</li>
<li>System monitor: blend gauge colors in HSV space</li>
</ul>
<p>Plugins</p>
<ul>
<li>Runtime-scoped sound API for plugins</li>
<li>Timezone support in <code>formatTime</code> (API 19); shell time/date formats exposed to scripts</li>
<li>Service enable/exit reasons; frame ticks delivered to plugin panels</li>
</ul>
<p>Lockscreen &amp; Sessions</p>
<ul>
<li>Reintroduce unlock hint</li>
<li>Lock before sleep via logind delay inhibit (prevent premature lock in the same way as sway/hypridle does)</li>
</ul>
<p>Clipboard</p>
<ul>
<li>Delete keybind action</li>
<li>IPC: append text (<code>copy</code>) and read current text (<code>paste</code>)</li>
</ul>
<p>Notifications / OSD</p>
<ul>
<li>Track fcitx input method changes in the OSD</li>
<li>Transient OSD controls over IPC</li>
</ul>
<p>Bluetooth &amp; Network</p>
<ul>
<li>Bluetooth battery percent from UPower when available</li>
<li>Offline-mode banners on network-dependent settings pages</li>
</ul>
<p>Greeter Sync</p>
<ul>
<li>Use <code>sync.toml</code> as the sync target, greeter.toml is independent</li>
</ul>
<p>Other</p>
<ul>
<li>Floating panel wayland layer is configurable (pop vs overlay)</li>
<li>Korean added to supported languages (translation in progress)</li>
<li>Per-item tooltips in virtual grids (settings community template grid and similar)</li>
</ul>
<h3>🐛 Notable Fixes</h3>
<ul>
<li>Notifications: retention cleanup no longer empties history entries fixes “Untitled notification”</li>
<li>Input: caret placement and scroll stay consistent when focusing/blurring long fields</li>
<li>Clipboard: move a selection to the top when it is copied again</li>
<li>Taskbar: keep clickable areas when window titles refresh</li>
<li>Wayland: keep toplevels that never get <code>output_enter</code> in output-scoped lists</li>
<li>Lockscreen / tray / dock / bar auto-hide and launcher D-Bus activation polish</li>
<li>Settings: keep the widget editor centered during window animations; clear default-equivalent keybind overrides; expose step args for default widget actions; async plugin-store thumbnails</li>
<li>Theme: stronger contrast for wallpaper palettes, light-mode shadows, OKLCH contrast rework</li>
<li>Audio: clearer grouped device menus; battery state glyph always drawn outside the graphic</li>
<li>Hardware info: prefer <code>amdgpu.ids</code> for AMD GPU names</li>
<li>Calendar: replace the custom iCalendar parser with libical</li>
<li>Tooltip text measured through the label layout engine</li>
<li>Control Center / session panel spacing and card margin consistency; trailing shortcuts can span the full grid width; compact sidebar tab tooltips</li>
<li>Control Center: separate saved and available Wi-Fi networks</li>
</ul>
<h3>🔧 Build</h3>
<ul>
<li>Replace vendored <code>dr_wav</code> with system <strong>libsndfile</strong> (now support most classic audio format)</li>
<li>Nix: apply <code>autoAddDriverRunpath</code> unconditionally</li>
</ul>
]]></description>
</item>

<item>
	<title>First Anniversary</title>
	<link>https://noctalia.dev/blog/first-anniversary</link>
	<guid>https://noctalia.dev/blog/first-anniversary</guid>
	<pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
	<category>Blog</category>
	<description>One year of Noctalia and counting</description>
</item>

<item>
	<title>Noctalia v5.0.0-beta.6 (Pre-release)</title>
	<link>https://noctalia.dev/changelogs#v5.0.0-beta.6</link>
	<guid>https://github.com/noctalia-dev/noctalia/releases/tag/v5.0.0-beta.6</guid>
	<pubDate>Mon, 27 Jul 2026 22:43:15 GMT</pubDate>
	<category>Release</category>
	<description><![CDATA[<h2>Noctalia v5.0.0-beta.6</h2>
<h3>✨ New Features</h3>
<p>Control Center</p>
<ul>
<li>Toggle to hide shortcut labels; icon-only shortcuts scale up and stay centered</li>
</ul>
<p>Lockscreen</p>
<ul>
<li>Optional media and weather on the login box, with toggles in the widget editor</li>
<li>Password hint always shown on the idle lock screen</li>
</ul>
<p>Bar &amp; Widgets</p>
<ul>
<li>Configurable actions per widget, define your own click and scroll behavior.</li>
<li>Spacer widgets are non-interactive by default</li>
</ul>
<p>Plugins</p>
<ul>
<li><code>noctalia.openSettings()</code> and IPC to open a plugin’s settings from script</li>
<li>Expanded system stats API for plugin authors</li>
<li>Plugin store: sort plugins and filter by source/category in the searchable store sheet</li>
</ul>
<p>Settings &amp; Sessions</p>
<ul>
<li>Browse and install community templates from a searchable store sheet in Settings</li>
<li>Browse buttons on all plugin path settings</li>
</ul>
<p>Clipboard</p>
<ul>
<li>Last copied item stays pasteable after the source app exits</li>
</ul>
<p>Other</p>
<ul>
<li>JPEG XL image decode support</li>
<li>Improved Markdown rendering and table overflow handling</li>
<li>Panel card borders split out from general panel border setting (<code>shell.panel.borders</code> vs card-specific styling)</li>
</ul>
<h3>🐛 Notable Fixes</h3>
<ul>
<li>Notification filters apply to internal/plugin toasts (history still external-only)</li>
<li>Notification filter editor saves Content Regex when using Apply or toggling options</li>
<li>Polkit auth panel opens during fingerprint-only auth and sizes to fingerprint-only content</li>
<li>Control Center user-card wallpaper and scrim draw as one rounded shape, no more artifacts on the edge</li>
<li>Plugin shortcuts reload when reopening Control Center if the script changed while closed</li>
<li>Double/triple-click in text inputs selects the full word or line</li>
<li>Lockscreen compact layout reserves status row height; forecast days fit the weather budget; sysmon graphs keep updating on lockscreen widgets</li>
<li>Desktop media player relayouts when track title or artist changes</li>
<li>Bar capsule group hover pills and hit targets align with the outer capsule node</li>
<li>Bar keyboard layout label truncates correctly for multi-codepoint labels</li>
<li>CalDAV password retained during calendar account discovery</li>
<li>Clipboard selection data no longer corrupted after move operations</li>
<li>Theme template application preserves symlinks</li>
<li>Screenshot region overlay takes pointer input over the widgets editor</li>
<li>Settings window stays usable while dialog sheets are open; no longer closes when opening widget editors</li>
<li>Capsule groups stay configurable when a bar lane override is reset</li>
</ul>
]]></description>
</item>

<item>
	<title>Noctalia v5.0.0-beta.5 (Pre-release)</title>
	<link>https://noctalia.dev/changelogs#v5.0.0-beta.5</link>
	<guid>https://github.com/noctalia-dev/noctalia/releases/tag/v5.0.0-beta.5</guid>
	<pubDate>Sat, 25 Jul 2026 18:41:08 GMT</pubDate>
	<category>Release</category>
	<description><![CDATA[<h2>Noctalia v5.0.0-beta.5</h2>
<h3>✨ New Features</h3>
<p>Bar &amp; Widgets</p>
<ul>
<li>Per-widget custom gesture actions (clicks, scrolls, and related bindings) with defaults for built-in widgets; plugins can declare their own</li>
<li>Settings: foldable Actions group per widget for those bindings</li>
<li>Dead-zone input routes into the same gesture actions as the widget</li>
<li>Opt-in: one scroll action per wheel notch / flick for cycling verbs (volume, workspaces, and similar)</li>
</ul>
<p>Lockscreen</p>
<ul>
<li>Compact and Regular login box layouts</li>
</ul>
<p>Desktop Widgets</p>
<ul>
<li>Lasso select and group transforms in the desktop widgets editor</li>
</ul>
<p>Plugins &amp; Panels</p>
<ul>
<li>Install the newest plugin revision the host’s plugin API supports</li>
<li><code>capture_keys</code>, system stats / per-core CPU for plugins, and closures as UI tree callbacks</li>
<li>Persistent plugin panels outside the active-panel slot, plus <code>keyboard_focus</code> on panel entries</li>
</ul>
<p>Dock &amp; Wallpaper</p>
<ul>
<li>Dock: optional Wayland overlay layer</li>
<li>Wallpaper panel: sort by random (stable across refreshes)</li>
</ul>
<p>Calendar &amp; Screen Time</p>
<ul>
<li>Optional ISO week numbers on the calendar grid</li>
<li>Screen time: open hourly day detail from the multi-day chart</li>
</ul>
<p>IPC</p>
<ul>
<li>Workspace, keyboard layout, network, and directional power verbs</li>
<li>State-query commands marked unbindable so action pickers skip them</li>
</ul>
<h3>🐛 Notable Fixes</h3>
<ul>
<li>Taskbar: hide anonymous XWayland menu popups (no app id and no title); keep compositor focus / workspace matching reliable</li>
<li>Hyprland: stop workspace active/occupied/urgent flags from clearing on unchanged snapshots</li>
<li>Panels: honor <code>panel_anchor_bar</code> over the opening source bar; center panels when the focused output has no bar</li>
<li>Workspaces: fix hover-animation crash on widget teardown / bar reload</li>
<li>Dialogs: stop auto-dismissing popups on outside click</li>
<li>Launcher: faster open/search, honor locale in the calculator, default <code>/calc</code>, invalidate stale icon-cache misses</li>
<li>Theme CLI: apply <code>-c</code> custom colors before <code>-r</code> template render</li>
<li>Polkit: harden auth and keep chained prompts intact</li>
<li>Sysmon: skip GPU polling when nothing is showing GPU stats</li>
<li>Input: reset scroll detent carry after a gesture pause; one action per wheel notch for cycling verbs</li>
</ul>
<h3>🔧 Build</h3>
<ul>
<li>Packaging: document the project maintenance policy for packagers</li>
</ul>
]]></description>
</item>

<item>
	<title>Noctalia v5.0.0-beta.4 (Pre-release)</title>
	<link>https://noctalia.dev/changelogs#v5.0.0-beta.4</link>
	<guid>https://github.com/noctalia-dev/noctalia/releases/tag/v5.0.0-beta.4</guid>
	<pubDate>Thu, 23 Jul 2026 16:00:55 GMT</pubDate>
	<category>Release</category>
	<description><![CDATA[<h2>Noctalia v5.0.0-beta.4</h2>
<h3>✨ New Features</h3>
<p>Bar &amp; Widgets</p>
<ul>
<li>New Text bar widget</li>
<li>Taskbar: pinned apps without grouping, idle pinned opacity, workspace group content modes (icons / count / dots), middle-click to close windows</li>
<li>Battery: display content options (percent / time / rate) and a none display mode</li>
<li>Sysmon: extra disk stats, text/glyph order and unit visibility, none display type; GPU monitoring on by default</li>
<li>Media: artist-first display order setting, scroll wheel and side buttons for track skip</li>
<li>Network: connection state beside the VPN indicator; optional WAN IP in the network widget tooltip</li>
<li>Notification widget stays visible while its panel is open (with auto-hide)</li>
<li>Workspace urgent color, per-widget scroll enable, smart auto-hide, show-on-workspace-switch</li>
<li>Volume widget: effects-profile glyph overrides</li>
<li>Broader border and shadow options across supported elements</li>
</ul>
<p>Panels &amp; Launcher</p>
<ul>
<li>Global panel anchor bar for multi-bar setups</li>
<li>Optional list-item background in launcher and clipboard</li>
<li>Launcher auto-paste after copy activations; opt out of currency exchange fetching</li>
<li>Clipboard page up/down; encrypted clipboard history with configurable key sources</li>
<li>Session panel: toggle to show shortcuts</li>
<li>Window switcher dismisses on outside click</li>
<li>Polkit panel is no longer dismissed with outside-click</li>
</ul>
<p>Desktop &amp; OSD</p>
<ul>
<li>New Volume desktop widget</li>
<li>Hot corners: configurable activation delay</li>
<li>OSD master enable; keyboard backlight OSD; audio sink/source name in volume OSD</li>
<li>IPC for speaker and mic volume OSD</li>
</ul>
<p>Calendar &amp; Lock</p>
<ul>
<li>CalDAV visibility toggles, event date/time formatting, password-file credentials, secured credential storage</li>
<li>Password input glyph animation (V4-style eye candy)</li>
<li>Screenshot: show cursor option</li>
</ul>
<p>Plugins &amp; Store</p>
<ul>
<li>Plugin API 8: <code>dismiss_on_outside_click</code>, hover callbacks, interactive row/column nodes, declarative panel drag-and-drop, string map settings, <code>httpStream</code>, <code>allowInsecureTls</code></li>
<li>Plugin store: filter by source, keyboard navigation, Community badge, open plugin webpage</li>
</ul>
<p>Settings &amp; Security</p>
<ul>
<li>Encrypted persistence under a master key (secret store / libsecret)</li>
<li>Settings window sized to a golden rectangle of the output</li>
</ul>
<p>Theming</p>
<ul>
<li>Firefox theming via noctalia-pywalfox native messaging host</li>
</ul>
<h3>🐛 Notable Fixes</h3>
<ul>
<li>Panels attach to the first enabled bar when no anchor is set (multi-bar / disabled-bar cases)</li>
<li>Fixed <code>mode_changed</code> hook not firing</li>
<li>Settings: confirm individual override resets; overridden filter matches override badges</li>
<li>Screen corners stay above the bar after bar config changes</li>
<li>Taskbar: empty workspace scroll, KDE context menus, tooltips on title change, show windows without app id</li>
<li>Wallpaper: light/dark directories with <code>theme.mode=auto</code>, natural filename sort, favorite palette on auto rotation</li>
<li>Network: bridge/bond primary and slave link reporting</li>
<li>PipeWire: don’t override volumes set by other apps; spectrum silent-sample fix</li>
<li>Hyprland: focus launch monitor; workspace refresh after <code>change_id</code></li>
<li>Dock / bar hit targets, tooltips, and context-menu dismiss polish</li>
<li>Ctrl shortcuts under non-Latin layouts; desktop-entry escaped characters</li>
<li>Plugins: callback CPU budgets, detached commands without login shell, catalog git off the main thread</li>
<li>Lockscreen custom keyboard-layout labels; idle grace torn down before suspend</li>
<li>Swedish and Turkish language registration</li>
</ul>
<h3>🔧 Build</h3>
<ul>
<li>Packaging guide (<code>PACKAGING.md</code>) and distro/Repology notes</li>
<li>New: libsodium and libsecret dependencies</li>
<li>Native CPU optimizations opt-in; meson dependency-version regex fix</li>
</ul>
]]></description>
</item>

<item>
	<title>Noctalia v5.0.0-beta.3 (Pre-release)</title>
	<link>https://noctalia.dev/changelogs#v5.0.0-beta.3</link>
	<guid>https://github.com/noctalia-dev/noctalia/releases/tag/v5.0.0-beta.3</guid>
	<pubDate>Thu, 16 Jul 2026 13:35:48 GMT</pubDate>
	<category>Release</category>
	<description><![CDATA[<h2>Release v5.0.0-beta.3</h2>
<h3>✨ New Features</h3>
<p>Bar &amp; Widgets</p>
<ul>
<li>Smart auto-hide for the bar (show on empty workspace, hide when windows are open)</li>
<li>Per-widget interactive toggle in widget settings</li>
<li>Workspace widget focus-hint style; workspace appear/disappear animations</li>
<li>Taskbar: minimal style option for workspace labels</li>
<li>Network widget: optional VPN name label when a VPN is connected</li>
<li>Clock widgets (bar and desktop): timezone setting</li>
<li>Custom images on bar widgets expand <code>~</code> / user paths</li>
</ul>
<p>Dock</p>
<ul>
<li>Smart auto-hide option (same empty-workspace behavior as the bar)</li>
<li>Drag-to-reorder pinned icons</li>
<li>Border color and width settings (same model as the bar)</li>
<li>Focus newly launched apps from the dock more reliably</li>
</ul>
<p>Launcher</p>
<ul>
<li>Configurable per-provider prefixes and global-search opt-in</li>
<li>Provider presence/status validation; prefix controls in Settings</li>
<li>Freeform dmenu query arguments; plugin <code>setQuery</code> is prefix-relative</li>
</ul>
<p>Plugins</p>
<ul>
<li>Plugin store: 24 plugins are now available</li>
<li>Persistent per-plugin storage via <code>noctalia.pluginDataDir()</code></li>
<li>Lifecycle <code>onExit</code>; scroll forwarded to Luau as <code>onScroll</code></li>
<li>Color picker dialog API; <code>noctalia.appIconPath</code> icon resolution</li>
<li>Bar widgets expose <code>barWidget.outputName</code></li>
<li>Plugin store: clearer update UI, source badge colors, header links to noctalia.dev / GitHub</li>
<li>Setting labels use <code>label_key</code> only (breaking for plugins still using plain <code>label</code>)</li>
<li>Declarative UI: button tooltips and a <code>controlSize</code> height tier</li>
</ul>
<p>Theming &amp; Appearance</p>
<ul>
<li>Global button border toggle</li>
<li>Pure black dark mode for OLED panels</li>
<li>Custom theme colors: <code>color_dark</code> / <code>color_light</code></li>
<li>Day/night schedule: custom times for theme switching</li>
<li>Mango: <code>group_bar_decorate</code> color tokens</li>
</ul>
<p>Settings &amp; Sessions</p>
<ul>
<li>Accessibility section: <code>ui_scale</code> and <code>high_contrast</code> moved under <code>[accessibility]</code></li>
<li>Session panel: grid layout option; power settings consolidated</li>
<li>Settings migration helper; stricter config validation before save / on reload</li>
<li>Lockscreen login box: center password text toggle</li>
<li>Wallpaper: option to disable all transition effects</li>
<li>Setup wizard sets a default wallpaper</li>
</ul>
<p>Notifications / OSD</p>
<ul>
<li>Border toggles for notification toasts and OSD popups (on by default)</li>
</ul>
<p>System &amp; Compositor</p>
<ul>
<li>Sysmon: Support for GPU usage and VRAM on Intel i915/xe</li>
<li>Explicit backlight device override</li>
<li>Nix package: git on the runtime path</li>
</ul>
<h3>🐛 Notable Fixes</h3>
<ul>
<li>Dock: active icon scale updates under magnification when opacities match; magnified instance-count badges no longer clipped; tooltip dismiss during pinned drag; launcher focus / activation binding</li>
<li>Taskbar: grouped capsule sizing, workspace badges, clipping/overlap, title alignment, mute/minimal badge colors, strip padding</li>
<li>Context menus: scroll long menus and navigate with keybinds</li>
<li>Polkit: panel height follows authentication message content</li>
<li>Bluetooth: hide battery % when disconnected; avoid full list rebuild on RSSI updates</li>
<li>Network: refresh Wi‑Fi signal in place; rfkill applies to all matching devices</li>
<li>Audio/PipeWire: show all input devices; treat displayed zero volume as muted</li>
<li>Lockscreen: blur backgrounds at output resolution; redraw after resume</li>
<li>Theme: Catppuccin Latte light terminal palette; single-mode custom colors / blend source; <code>colors_changed</code> hooks wait for templates</li>
<li>Night light: smoother temperature ramps</li>
<li>Notifications: top-aligned toast icons; grace timer when a toast finishes; error accent on persistent critical toasts</li>
<li>Calendar: skip unselected Google calendars</li>
<li>Launcher: don’t record usage when sort-by-usage is off</li>
<li>Control center: home clock/weather card height; card borders no longer cut off</li>
<li>Settings: plugin source editor teardown; linked settings in page reset; search focus UAF; floating panel alignment; capsule radius visibility; custom schedule times before activation</li>
<li>Config: path expansion restored; plugin settings exported; default plugin sources seeded; accessibility / hot_corners / widget enabled validation; drop undocumented <code>[notifications]</code> alias</li>
<li>Plugins: stale store thumbnails; click anchor for attached panels; description for label vs <code>label_key</code> warnings</li>
<li>Input: password field info-leak hardening; touchpad scroll quantized to wheel steps; hover resync after dialogs</li>
<li>Clipboard hover jitter; media title marquee stops while hidden</li>
<li>Render: recover EGL share group after GPU reset; skip unchanged animation frames; cache redundant GLES state</li>
<li>Workspaces: delayed empty-workspace color transition; Mango overview active workspace; Niri switcher prefers compositor focus</li>
<li>Bar: <code>show_on_workspace_switch</code> initial reveal; tray hover respects capsule settings</li>
<li>Session: primary keyboard selection in the session panel</li>
<li>Hot corners: only create surfaces for configured corners</li>
<li>App: defer surface redraws on resume/unlock; toast fallback render to break compositor stalls</li>
</ul>
]]></description>
</item>

<item>
	<title>Noctalia Beta Update</title>
	<link>https://noctalia.dev/blog/noctalia-beta-update</link>
	<guid>https://noctalia.dev/blog/noctalia-beta-update</guid>
	<pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate>
	<category>Blog</category>
	<description>Latest updates and development progress for the Noctalia v5 beta.</description>
</item>

<item>
	<title>Noctalia v5.0.0-beta2 (Pre-release)</title>
	<link>https://noctalia.dev/changelogs#v5.0.0-beta2</link>
	<guid>https://github.com/noctalia-dev/noctalia/releases/tag/v5.0.0-beta2</guid>
	<pubDate>Thu, 09 Jul 2026 13:23:17 GMT</pubDate>
	<category>Release</category>
	<description><![CDATA[<h2>Noctalia v5.0.0-beta2</h2>
<h3>✨ New Features</h3>
<p>Bar &amp; Widgets</p>
<ul>
<li>Hover highlight (foreground-tinted state layer) for bar widgets, capsule groups, taskbar, tray, and workspace widget with per-widget opt-out</li>
<li>Concave/inverted corners for bar and dock, toggled via setting (replaces negative-radius hack)</li>
<li>Eye toggle to hide/show individual bar widgets and capsule groups</li>
<li>Custom images on glyph widgets</li>
<li>Media widget: option to hide artist name</li>
<li>Tray: drawer_item_size configuration</li>
</ul>
<p>Plugins</p>
<ul>
<li>Any plugin can now load custom fonts</li>
<li>Declarative bar-widget UI via barWidget.render, inheriting bar font/scale</li>
<li>onConfigChanged service callback for in-place settings reload</li>
<li>Input focus support, multiline input, panel &quot;fill&quot; sizing, and new script bindings</li>
<li>Role color alpha suffix support (role/alpha); redesigned plugin store home/detail pages; collapsed store categories by default</li>
</ul>
<p>Network &amp; Connectivity</p>
<ul>
<li>IWD support for WiFi</li>
<li>WAN/WAN-IP display (opt-in for privacy)</li>
<li>Bluetooth: actively reconnect trusted devices on power-on and startup</li>
</ul>
<p>Settings &amp; Sessions</p>
<ul>
<li>Regex content filtering for notifications + filter duration override</li>
<li>Detach power and custom session commands</li>
<li>Launcher settings extracted into their own section; OnlyShowIn/NotShowIn desktop-entry support</li>
<li>Screen-sharing filter regex (privacy)</li>
</ul>
<p>Other</p>
<ul>
<li>IPC: wallpaper next/previous, bar-reserve-toggle, notification-show payloads with two-arg CLI body</li>
<li>Screenshot: expose generated path to pipe commands</li>
<li>Calendar: toggle the events panel</li>
<li>Runtime log-level control</li>
</ul>
<h3>🐛 Notable Fixes</h3>
<ul>
<li>Calendar: client-side CalDAV recurrence expansion</li>
<li>Wallpaper: per-display KDE/Plasma sync, crash-loop prevention on invalid paths, precise IPC outcomes</li>
<li>Lockscreen: hide idle grace overlay on unlock, dim overlay through lock handoff, hideable login boxes</li>
<li>Workspaces: jitter fixes, Hyprland persistent-workspace restore on reload, Mango tag mapping</li>
<li>Audio/PipeWire: bar volume/OSD mute sync, simplified relative volume steps</li>
<li>Brightness: sysfs fallback when logind D-Bus is unavailable</li>
<li>Panel/tooltip focus, scaling, and placement fixes; desktop cross-monitor widget drag; hot-corners reload guard</li>
</ul>
<h3>🔧 Build</h3>
<ul>
<li>Require system md4c/json/toml++/stb</li>
<li>Nix devshell updates for new dependencies</li>
</ul>
]]></description>
</item>

<item>
	<title>Noctalia v5.0.0-beta1 (Pre-release)</title>
	<link>https://noctalia.dev/changelogs#v5.0.0-beta1</link>
	<guid>https://github.com/noctalia-dev/noctalia/releases/tag/v5.0.0-beta1</guid>
	<pubDate>Thu, 02 Jul 2026 19:02:00 GMT</pubDate>
	<category>Release</category>
	<description><![CDATA[<h2>Noctalia v5.0.0-beta1</h2>
]]></description>
</item>

<item>
	<title>Announcing Noctalia v5</title>
	<link>https://noctalia.dev/blog/announcing-noctalia-v5</link>
	<guid>https://noctalia.dev/blog/announcing-noctalia-v5</guid>
	<pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate>
	<category>Blog</category>
	<description>Rewritten for total control and peak performance.</description>
</item>
</channel>
</rss>