Skip to content

Comments

V2.0.0#1

Open
pavalso wants to merge 24 commits intomainfrom
v2.0.0
Open

V2.0.0#1
pavalso wants to merge 24 commits intomainfrom
v2.0.0

Conversation

@pavalso
Copy link
Owner

@pavalso pavalso commented Dec 30, 2025

🚀 Highlights

  • Introduced a full-featured Management Dashboard with real-time component monitoring, plugin control, and log streaming.
  • Added a powerful CLI command system (awioc) with extensible subcommands.
  • Implemented manifest-based component loading for directory-based plugins.
  • Major refactor of the bootstrap, configuration, and lifecycle APIs.
  • Version bumped to 2.0.0.

✨ New Features

Management Dashboard

  • New Management Dashboard application sample:

    • HTTP UI for inspecting application state
    • Live component status (initialized / initializing / shutting down)
    • Enable / disable plugins at runtime
    • Real-time log streaming with filtering
    • WebSocket-based updates
  • Added:

    • Dashboard configuration models
    • HTTP request handler
    • Log buffer and custom logging handler
    • Full static frontend (HTML, CSS, JS)
  • Auto-generated manifest.yaml support for dashboard components

HTTP Server Sample Enhancements

  • New HTTP server manifest (.awioc/manifest.yaml)
  • Cleaner project structure with explicit app export
  • Improved sample configuration layout

CLI Framework (AWIOC CLI)

  • New extensible command architecture

  • Implemented commands:

    • run – start application
    • init – initialize a project
    • add – add plugins or libraries
    • remove – remove plugins or libraries
    • info – show project information
    • config – manage configuration
    • pot – manage shared component directories
    • generate – generate manifests
  • Unified command context and command registry

  • awioc --help and awioc <command> --help support

  • awioc --version support


🧩 Component & Plugin System

  • Added directory-based plugins via .awioc/manifest.yaml

  • Support for loading multiple components from a single plugin directory

  • Improved plugin lifecycle management:

    • Safe enable / disable
    • Dependency checks before shutdown
  • Enhanced component metadata and internals inspection


⚙️ Configuration & Bootstrap Changes

  • Refactored IOC bootstrap process:

    • Cleaner separation of environment, YAML, and context-based config loading
    • Improved configuration reload support
  • Added:

    • Context-specific .env handling
    • Dynamic reconfiguration and reload logic
  • Improved logging setup and configuration precedence


🧰 API Changes & Additions

  • Expanded public API exports:

    • Component introspection helpers
    • Registration and metadata utilities
    • Project management helpers
  • Improved initialize_components, shutdown_components, and wait_for_components

  • Added project-level helpers:

    • AWIOCProject
    • Project detection and creation utilities

🧹 Improvements & Refactors

  • Large internal refactor across:

    • bootstrap
    • api
    • CLI entry point (__main__.py)
  • Improved error handling and logging clarity

  • Cleaner separation between container, config, and lifecycle responsibilities

  • README and sample updates


🐛 Fixes

  • Fixed duplicate and inconsistent logging behavior
  • Improved path validation and sandboxing for static file serving
  • Safer plugin enable/disable operations
  • Cleanup of duplicated or deprecated code paths

🔧 Maintenance

  • Updated .gitignore

  • Version bumped in package metadata:

    • 0.1.02.0.0
  • Added missing __init__.py exports

  • Improved typing and documentation across new modules

…t file types (.yaml, .env) and improving save functionality with secret value handling
…tionalities, along with improved error handling and UI updates for plugin operations
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant