Skip to content

Releases: dethz-live-tools/overlay-manager

Release list

v1.5.0

Choose a tag to compare

@dethMastery dethMastery released this 07 Oct 13:36

Release Notes - v1.5.0

Release Date: 2026-10-07
Version: 1.5.0
Bump Type: minor

Summary

Added static root workspace setup workflow, centralized target library installation into <staticDir>/libs, introduced root static overlay.config.json for controlling overlays and libs with active/enabled state, and added canonical library name deduplication.

What's Changed

Added

  • overlay-manager setup (alias init) Command: Initializes the static root directory, checks/creates the root <staticDir>/libs folder, creates/syncs <staticDir>/overlay.config.json, and downloads missing target libraries.
  • Root Control Configuration (overlay.config.json):
    • Automatically manages <staticDir>/overlay.config.json to control enabled/disabled status and metadata for all overlays and shared libraries.
    • Added programmatic utilities: ensureStaticRoot, loadRootStaticConfig, saveRootStaticConfig, registerOverlayInRootConfig, registerLibInRootConfig, setOverlayEnabled, setLibEnabled, and getRootStaticConfigPath.
  • Enabled / Disabled Control State:
    • Overlays and libraries now have an enabled flag stored in the root static config.
    • overlay-manager list visually reports [ENABLED] / [DISABLED] status for overlays and shared libraries.
  • normalizeLibName Utility: Canonicalizes library names from git URLs, CDN URLs, and shorthands (e.g. dethz-live-tools/dethz-lib -> dethz-lib) to avoid duplicate installations.
  • Interactive Multi-Target Build Script (scripts/build.ts): Added build orchestrator separating JS binary bundles into ./dist and standalone cross-compiled OS binaries into ./build with an interactive selection prompt.

Changed

  • Centralized Target Library Installation:
    • Target libraries are now checked and installed directly into the root <staticDir>/libs folder rather than scattered inside individual overlay folders.
    • installOverlayLibs ensures the root libs folder exists, downloads/clones into <staticDir>/libs/<lib>, and registers the library in the root control config.
  • Automatic Setup on Install:
    • overlay-manager install now automatically verifies the root static directory and root libs folder, and registers the installed overlay in <staticDir>/overlay.config.json.
  • Configuration Display:
    • overlay-manager config now displays the resolved Root Control Config path and status.

Fixed

  • Fixed duplicate library installation where the same library was downloaded multiple times due to shorthand vs. repository name differences (e.g., dethz-live-tools/dethz-lib and dethz-lib).

Key Files Changed

  • src/core/root-config.ts - Root static directory configuration and overlay/lib controls
  • src/core/setup.ts - Setup orchestration for root static workspace, libs directory, and control config
  • src/core/libs.ts - Target library installation into root <staticDir>/libs with name deduplication
  • src/core/scanner.ts - Checking root libs folder, normalizing lib names, and reading enabled states
  • src/commands/setup.ts - CLI subcommand for overlay-manager setup
  • src/commands/install.ts - Auto-setup and registration in root config on overlay install
  • src/commands/install-libs.ts - Root libs directory verification and output updates
  • src/commands/list.ts - Displays [ENABLED] / [DISABLED] status from root config
  • src/commands/config.ts - Displays root control config file path and status
  • src/types.ts - Added RootStaticConfig, SetupOptions, SetupResult, and enabled fields
  • src/index.ts - Exported setup command, setup function, and root config utilities
  • src/version.ts - Version 1.5.0
  • VERSION - Version 1.5.0
  • package.json - Version 1.5.0
  • test/cli.test.ts - Tests for root static config, setup command, and library name normalization
  • README.md - Documentation updates for setup and root control config