Skip to content

Releases: st0o0/puhu

Release list

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 14 Jun 19:38
5cc1fd0

0.1.0 (2026-06-14)

Features

  • add app shell, IThemeService, and UI chrome components (65e28ca)
  • add btop theming support and ESC exit on splash page (014b1de)
  • add ISettingsStore interface to plugin SDK (77ac29f)
  • add marketplace domain models with JSON serialization and status merging (bd09ade)
  • add MarketplacePlugin with page, view model, and route registration (fd092ae)
  • add PluginCache, PluginMetadataFetcher, and PluginDownloader (abeae3a)
  • add PluginConfigStore for sources.json and installed.json with default seeding (8c36231)
  • add PluginLoader with built-in + external plugin discovery (614e9ab)
  • add PluginManager orchestrating install, update, uninstall, sync (1ee4989)
  • add PluginSettingsInfo record (6bc8120)
  • Add public API verification tests (290de2d)
  • add RefreshService with interval snapping, speed up/down, and tick emission (29426f5)
  • add Servus.Plugin.Sdk with plugin contracts, tick source, and models (e186835)
  • add ServusPluginBuilder and PluginRegistry for plugin configuration (57fd96f)
  • add SettingsPlugin with placeholder page and route registration (b280ba0)
  • add setup chain, tab bar, plugin routing, and Program.cs entry point (aa557ee)
  • add setup wizard and tab order (#5) (34c8512)
  • add SubNavNode<TView> with inline tab rendering (b5df6b7)
  • add TickRouter actor with demand-driven tick distribution (f59bb5d)
  • add WithSettings to plugin builder API (31d884e)
  • add WithSettings<TPage, TViewModel> extension method (86efa80)
  • Allow custom navigation behavior for routes (84ef1fb)
  • branding: Add owl mascot to figlet logo (7ba6198)
  • btop design system (#4) (cd9d468)
  • collect PluginSettings in PluginRegistry (a7a194a)
  • expose Observable<Tick> on ITickSource for reactive tick consumption (e3d8605)
  • implement ScopedSettingsStore with plugin-name prefix (579d66d)
  • implement SettingsStore with JSON persistence (155faef)
  • Introduce Akka actor for marketplace management (382bb78)
  • Load plugins from subdirectories (45bdcef)
  • marketplace: actor handles AddSource, RemoveSource, CycleUpdatePolicy and per-plugin ops (3f30e69)
  • marketplace: extend state with ActiveOperations, Sources and new messages (61ead77)
  • marketplace: implement Browse, Installed, Sources views with keybindings and key hints (5150390)
  • marketplace: page skeleton with tab bar, view switching, and toast integration (2a9e791)
  • marketplace: use theme colors instead of hardcoded palette (141df02)
  • migrate Marketplace to SubNavNode, replace D1/D2/D3 with B/I/S (433428f)
  • more testing and bug fixes (#6) (e7b8afe)
  • pass plugin name to builder, kebab-case conversion (2fc5308)
  • plugin: add ITabOrderService + TabDescriptor to SDK (7c7904a)
  • plugin: btop-style SubNavNode rendering with live theme (af7a493)
  • rebrand to Puhu naming and add release-please flow (b390869)
  • refresh: global +/-/p keys via RegisterGlobalKeys overload (a7f13ac)
  • refresh: IRefreshController SDK interface with persisted interval (7bd105a)
  • register keyed ISettingsStore per plugin (dfdaceb)
  • register SettingsStore singleton in ServicesSetup (cf075a1)
  • settings: add Setup sub-view to re-run the wizard (f5980e9)
  • settings: add SetupWizardState first-run flag (c861222)
  • settings: add Tabs reorder sub-view to the settings page (0d41223)
  • settings: add Tabs view state to SettingsViewModel (ecc98ef)
  • settings: refresh-rate section with sub-navigation (4e772e2)
  • settings: theme picker with live preview and persistence (f914cdc)
  • shell: app-wide redraw on ticks and theme changes (009eba3)
  • shell: btop-style AppShellNode with embedded key hints, drop legacy chrome nodes (e9cf023)
  • shell: show refresh interval and pause state in top bar (6a54825)
  • shell: tab scroll window logic for top bar overflow (c43e0a8)
  • shell: TopBarNode with embedded logo, scrolling tabs, and clock (7d4f068)
  • splash: add SplashPage with ASCII logo and progress bar (2540281)
  • splash: add SplashViewModel with animated progress (35e7437)
  • splash: wire splash page into startup, navigate via ViewModel (64e1337)
  • tabs: add TabOrder.Apply ordering helper (fc9d344)
  • tabs: add TabOrderService with persistence + change notification (add1873)
  • tabs: add TabRegistry.Reorder preserving active tab (f318218)
  • tabs: apply persisted tab order at startup and register ITabOrderService (429b864)
  • testing: Refactor test context and helpers (ff55832)
  • theme: add GraphGradient to ThemeDefinition with btop parser support ([65727bd](6...
Read more