Skip to content

Releases: JuliHyro-Studios/BoxaraXLibrary.GenenicLib.LTS

v1.0.7.8 - Parameter System Overhaul & Diagnostics

Choose a tag to compare

@hoangbussines-commits hoangbussines-commits released this 13 Sep 14:06

Overview

This release tightens parameter validation and documentation clarity for the shell command pipeline. The framework now makes required-parameter behavior explicit in both runtime validation and developer guidance, while preserving historical examples in versioned migration sections.

🐛 Fixed

  • Fixed awkward and misleading command failure output so the shell reports a clearer failure message such as [FAIL] Command 'x' failed to execute.
  • Fixed the documentation gap around required-parameter behavior by explicitly stating that a missing or invalid required value prevents command execution
  • Fixed misleading guidance that could imply Execute() still runs when a required argument is absent
  • Fixed wording and validation warnings so users understand the guardrail before command logic executes

🆕 Added

  • Added pattern-based parameter matching using template metadata such as --name:{0}
  • Added required-parameter enforcement through | require:true
  • Added explicit execution guardrail documentation: required parameters block execution before Execute() is invoked
  • Added FAQ coverage for missing required parameters and command-skipping behavior
  • Added clearer user-facing failure messaging for invalid or rejected command execution

📋 Changed

  • Updated CommandProcessorTemplate to keep required validation behavior explicit and consistent with actual runtime flow
  • Updated ErrorShellTemplate response labeling to support clearer source-aware validation and command errors
  • Reworked the developer guide to keep current v1.0.7.8 examples in the main sections while archiving legacy plain-parameter examples under historical DESCRIBED BY blocks
  • Improved documentation for the current parameter model and migration path from older plain-argument definitions
  • Refined release notes to match the actual current source behavior and project documentation policy

✅ Migration Examples with Before vs After code

Before

public string[] Parameter => new[] { "name", "age" };

public void ParameterExecute(string[] args)
{
    if (args.Length < 2)
    {
        Execute();
        return;
    }

    var name = args[0];
    var age = args[1];
}

After

public string[] Parameter => new[]
{
    "--name:{0} | require:true",
    "--age:{0} | require:true"
};

public void ParameterExecute(string[] args)
{
    var name = args[0];
    var age = args[1];
    // Framework validates required values before this method is invoked.
}

Migration note

The older plain-parameter contract remains in historical documentation only. The current v1.0.7.8 model still uses ParameterExecute(...), but the framework validates required metadata before the command logic runs, so missing required values do not invoke Execute().

🔧 File Changes table

File Summary
devopsdoc.md Updated parameter docs, FAQ, migration guidance, and changelog for v1.0.7.8
Commons/ShellHandle/CommandProcessorTemplate.cs Preserved and clarified required-parameter validation and terminal fail messaging
README.md Kept user-facing docs concise and aligned with the current API model

🔒 Breaking Changes

No current breaking public API change was introduced in the active source model. Legacy plain-parameter examples remain historical only and are preserved in versioned migration notes rather than being treated as current usage.

📦 Package Details

v1.0.7.7 - Lean-up: Removal of Obsolete Input Provider & Utility

Choose a tag to compare

@hoangbussines-commits hoangbussines-commits released this 11 Sep 03:30

Overview

This release focuses on optimizing the library structure by removing obsolete components and aligning file naming conventions. The primary goal is to reduce codebase complexity without affecting the core performance and functionality of the Shell Engine.

🐛 Fixed

  • No critical bugs were addressed in this release.

🆕 Added

  • No new features were added.

📋 Changed

  • Refactor: Renamed IShellExecute.cs $\rightarrow$ IShell.cs to align the filename with the IShell interface name.
  • Docs: Comprehensive update to README.md and devopsdoc.md to reflect the current project structure and clean-up phase.

✅ Migration Examples

1. Input Provider (Removed)

Before (v1.0.7.6):

ShelliftAPIBuild.Create()
    .SelectCommandShellLoad("MainShell")
    .WithInputProvider(() => Console.ReadLine() ?? "") // Remove this line
    .Build();

After (v1.0.7.7):

ShelliftAPIBuild.Create()
    .SelectCommandShellLoad("MainShell")
    // No need for WithInputProvider; Shell now uses the built-in Key-based loop
    .Build();

🔧 File Changes

File Action Description
Commons/Interface/IShellExecute.cs Rename Renamed to IShell.cs
Commons/basicUtils/ConvertSymbolUniverse.cs Delete Removed obsolete utility
devopsdoc.md Update Updated Project Structure & Changelog
README.md Update Updated Evolution & Deprecations section

🔒 Breaking Changes

  • Removal of WithInputProvider: Any application calling .WithInputProvider(...) in the Fluent API will encounter a compilation error. Solution: Remove the call as the framework now defaults to the key-based input loop (Console.ReadKey).
  • Removal of ConvertSymbolUniverse: Deleted the ConvertSymbolUniverse class and ConvertTextToAsterisk helper. Applications relying on this for masked input must implement an alternative solution.

📦 Package Details

v1.0.7.6 - README Architecture Audit & Documentation Accuracy

Choose a tag to compare

@hoangbussines-commits hoangbussines-commits released this 10 Sep 17:28

Overview

This release focuses on a comprehensive audit and structural refinement of the public-facing documentation. The primary goal was to eliminate redundancy and ensure a clear separation between "End-User Basics" and "Developer Specifications," making the library more accessible for newcomers while remaining an exhaustive resource for power users.

🐛 Fixed

  • Documentation Traceability: Added precise version markers for internalized APIs (ErrorShellTemplate v1.0.7.1, LogConsole v1.0.7.3) and the Key-based input loop (v1.0.6) in README.md to ensure accurate historical tracking.

🆕 Added

  • None

📋 Changed

  • README Architecture: Re-structured the "Key Features" section into two distinct categories: Current Capabilities (Latest) and Evolution & Deprecations to accurately reflect the library's history and current state.
  • Documentation Scope: Refined README.md by removing detailed Core Interface definitions to ensure a concise, basic start for end-users; all detailed API specs are now centralized in devopsdoc.md.

✅ Migration Examples

  • None

🔧 File Changes

File Change Type Description
README.md Refactor Re-architected Key Features and streamlined content for end-users.
devopsdoc.md Update Updated changelog to v1.0.7.6 with comprehensive audit details.

🔒 Breaking Changes

  • None

📦 Package Details

v1.0.7.5 — TableFormatterTemplate Usage Documentation & API Refinement

Choose a tag to compare

@hoangbussines-commits hoangbussines-commits released this 10 Sep 16:39

Overview

This release focuses on documentation accuracy and framework lean-up. We have refined the API documentation for better developer experience, updated the README to focus on the end-user NuGet installation, and removed redundant utility components.

🐛 Fixed

  • API Accuracy: Corrected the documented method name GetCommandsByShell to GetCommandsForShell in ReflectionCommandShellTemplate to align with actual source implementation.

🆕 Added

  • TableFormatterTemplate Documentation: Added comprehensive usage guidelines for the table formatter, including the AddColumn → AddRow → Render flow, optional column colors, fixedWidth configuration, row value requirements, and the maximum 20-column limit.
  • Critical Safety Warnings: Integrated explicit warnings regarding TableFormatterTemplate.RenderToString() and its potential to leave Console.Out redirected if an exception occurs.

📋 Changed

  • README Refinement: Removed "Via Project Reference" installation instructions to align with end-user focus; maintainer workflows are now exclusively documented in devopsdoc.md.
  • ShellLoopTemplate Clarification: Updated documentation to explicitly state that WithInputProvider is now completely disconnected from the execution logic since v1.0.6.

✅ Migration Examples

ReflectionCommandShellTemplate

Before:

var commands = ReflectionCommandShellTemplate.GetCommandsByShell("MainShell");

After:

var commands = ReflectionCommandShellTemplate.GetCommandsForShell("MainShell");

TableFormatterTemplate

Warning:
When using RenderToString(), ensure the call is wrapped in a try-catch block or used in a controlled environment, as an exception during rendering may leave Console.Out redirected.

🔧 File Changes

File Change Type Description
devopsdoc.md Modified Updated API names, added Table documentation, and refined changelog.
README.md Modified Removed Project Reference installation.
CallDll.cs Deleted Removed useless library availability check.

🔒 Breaking Changes

  • Removal of CallDll: The CallDll class and its IsAvailivable() method have been removed. Applications relying on this check should remove the calls.

📦 Package Details

v1.0.7.4 — Documentation Alignment & NuGet Readme Cleanup

Choose a tag to compare

@hoangbussines-commits hoangbussines-commits released this 10 Sep 12:59

Overview

v1.0.7.4 improves the project's documentation consistency for NuGet users, maintainers, and developers upgrading from older library versions.

This release does not introduce runtime framework features. It focuses on documentation accuracy, API history, migration guidance, and multi-target build clarity.

🐛 Fixed

  • Removed source-build instructions from the basic README.
  • Replaced relative README links that NuGet could not resolve.
  • Corrected framework-specific output documentation that implied only net7.0.
  • Corrected outdated API examples and signatures in devopsdoc.md.
  • Clarified removed, internalized, and modified APIs.
  • Corrected documentation for external command loading and AssemblyLoadContext.
  • Clarified the difference between current APIs and historical APIs.

🆕 Added

  • Added versioned DESCRIBED BY vX.Y.Z documentation blocks.
  • Added migration notes for:
    • Custom header and prompt APIs from v1.0.3.
    • Shell-loop callbacks from v1.0.4.
    • Command and title hooks from v1.0.5.
    • Real-time logging and key-based input from v1.0.6.
    • Internalized and removed APIs from v1.0.7.1 through v1.0.7.3.
  • Added multi-target output documentation using bin/Release/netx.x/.
  • Added changelog traceability for documentation compatibility changes.

📋 Changed

  • README.md is now focused on NuGet installation and basic usage.
  • Source-build, packaging, and maintainer workflow guidance remains in devopsdoc.md.
  • README documentation links now use HTTPS GitHub URLs.
  • devopsdoc.md now preserves historical API documentation instead of presenting removed APIs as current.
  • API documentation was synchronized with the current declarations for:
    • ShelliftAPIBuild
    • HeaderStyle
    • PromptStyle
    • TableFormatterTemplate
    • QuestionShellTemplate
    • ConvertSymbolUniverse
    • CallDll
    • ExternalCommandManager
  • Current examples now use exception-based error handling instead of direct calls to the internal ErrorShellTemplate.
  • Authentication APIs remain documented only as historical APIs removed in v1.0.7.3.
  • LogConsole remains documented as an internal renderer, with LogManager documented as the supported application-facing API.
  • External assembly loading documentation now clarifies that applications own AssemblyLoadContext lifetime management.

✅ Migration Examples

README documentation links

Before:

`devopsdoc.md`
`AuthorInfo.md`

After:

[devopsdoc.md](https://github.com/JuliHyro-Studios/BoxaraXLibrary.GenenicLib.LTS/blob/master/devopsdoc.md)
[AuthorInfo.md](https://github.com/JuliHyro-Studios/BoxaraXLibrary.GenenicLib.LTS/blob/master/AuthorInfo.md)

Multi-target build output

Before:

`net7.0`

After:

bin/Release/netx.x/

The netx.x placeholder represents the target framework being inspected:

net7.0
net8.0
net9.0
net10.0

Error handling

Before:


public void ParameterExecute(string[] args)
{
    if (args.Length == 0)
    {
        ErrorShellTemplate.ShowCommandInvalidParameter(
            Name,
            "Invalid parameters"
        );
        return;
    }
}

After:


public void ParameterExecute(string[] args)
{
    if (args == null || args.Length == 0)
    {
        throw new ArgumentException(
            "Invalid parameters",
            Name
        );
    }
}

Historical API documentation

Old APIs are no longer presented as current:

<details>
<summary><strong>DESCRIBED BY v1.0.7.3</strong></summary>

<!-- Historical API documentation -->

</details>

The current API and migration guidance are documented separately.

🔧 File Changes

File Changes
README.md Removed duplicated source-build instructions and changed repository documentation links to HTTPS URLs.
devopsdoc.md Added versioned API history, migration notes, corrected API declarations, multi-target output guidance, and updated changelog.

🔒 Breaking Changes

No runtime breaking changes were introduced by this release.

This release changes documentation presentation and adds migration guidance. Existing runtime APIs are not modified by v1.0.7.4.

📦 Package Details

v1.0.7.3 - Framework Lean-up & API Alignment

Choose a tag to compare

@hoangbussines-commits hoangbussines-commits released this 06 Sep 07:59

Overview

This release focuses on a comprehensive "lean-up" of the framework, removing unnecessary complexity to focus on core shell functionality and aligning all public documentation with the actual source implementation.

🐛 Fixed

  • Documentation Drift: Corrected critical discrepancies in README.md where examples and descriptions were stale or mismatched with the current code.
  • Stale References: Removed all obsolete references to the removed Authentication system across the codebase and documentation.
  • API Examples: Updated all code snippets to use the IShell interface instead of the deprecated IShellExecute.

🆕 Added

  • Cross-Platform Packaging: Added pack.py as a Python-based equivalent to pack.bat to ensure consistent build and packaging workflows across all operating systems.
  • Question Validation: Integrated QuestionTestCommand in the internal test project to verify QuestionShellTemplate (Y/N, custom prompts, and timeout logic).
  • Safe Screen Clearing: Exposed LogManager.Clear() as the official public method for clearing the console.

📋 Changed

  • API Encapsulation: LogConsole is now internal to prevent direct console manipulation by apps, enforcing the use of LogManager.
  • Framework Lean-up: Completely removed the Authentication system (IAuthenticator, AuthHandle, AuthMode) to reduce library footprint.
  • Standardization: Standardized all technical documentation, release notes, and README into English.

✅ Migration Examples

Console Clearing

Before:

LogConsole.Clear(); // Public access (Unsafe/Direct)

After:

LogManager.Clear(); // Official public API (Safe/Managed)

Shell Implementation

Before:

public class MyShell : IShellExecute
{
}

After:

public sealed class MyShell : IShell
{
}

🔧 File Changes

File Change Description
README.md Total rewrite for 100% alignment with source code.
LogManager.cs Added Clear() method and refined log flushing.
LogConsole.cs Changed access modifier to internal.
IShell.cs Standardized as the core shell contract.
pack.py New cross-platform packaging script.
Commons/AuthHandle/ Entire directory removed.

🔒 Breaking Changes

Yes.

  • Direct access to LogConsole is no longer available (now internal).
  • The entire Authentication system has been removed.

📦 Package Details

v1.0.7.2 — Duplicate Command Selection Feature

Choose a tag to compare

@hoangbussines-commits hoangbussines-commits released this 06 Sep 05:22

Overview

This release introduces a robust mechanism to handle command collisions within the shell engine. When multiple commands share the same name or alias, the framework no longer silently picks the first match. Instead, it transitions into a "Duplicate Command Selection State," allowing the user to explicitly choose the desired implementation from a detailed list.


🐛 Fixed

None


🆕 Added

Select Command Duplicate System

  • Interactive Selection Menu: When multiple command candidates are discovered, a selection menu is displayed featuring:
    • DisplayName: The user-friendly name of the command.
    • Assembly: The assembly where the command is defined.
    • Type: The full type name for precise identification.
    • Aliases: All registered aliases for that command.
    • Description: The purpose of the command to help the user distinguish between duplicates.
  • Selection Control Tokens: Introduced internal tokens exit and cancel specifically for the selection state. Typing either will cancel the current selection process and return the user to the main shell prompt without executing any command.
  • Internal Verification Project: Added LibraryTestestProjects to the repository. This internal project provides a pre-configured environment for developers to verify duplicate command scenarios and framework stability.

📋 Changed

Command Resolution Logic

  • From First-Match to Candidate List: Changed the resolution flow in CommandProcessorTemplate from FirstOrDefault() to a Where() filter, capturing all potential candidates.
  • Type-Based Deduplication: Integrated a grouping mechanism (GroupBy on Type) to ensure that the same class discovered multiple times is treated as one candidate, while different classes sharing the same command name are preserved.
  • Input Validation: Enhanced the selection input handler to strictly validate numeric indices and handle control tokens, preventing shell crashes on invalid input.

✅ Migration Examples

Before v1.0.7.2 (Silent Selection)

If two different assemblies both provided a command named ping, the shell would simply execute the first one it found in the assembly list.

TestShell> ping

[Output from the first PingCommand found]


After v1.0.7.2 (Explicit Selection)

The shell now detects the collision and asks for user input.

TestShell> ping

Multiple commands found for "ping":

[1] Ping A

  Assembly: ConsoleApp

  Type: ConsoleApp.DuplicatePingCommandA

  Aliases: pa

  Description: Duplicate Command A

[2] Ping B

  Assembly: ConsoleApp

  Type: ConsoleApp.DuplicatePingCommandB

  Aliases: pb

  Description: Duplicate Command B

Select command [1-2] (or 'exit'/'cancel' to cancel): 2

Selected: ConsoleApp.DuplicatePingCommandB

[Output from DuplicatePingCommandB]


🔧 File Changes

File Change
CommandProcessorTemplate.cs Implemented candidate discovery, selection loop, and control token logic.
devopsdoc.md Updated Changelog and added "Internal Testing Project" section.
DuplicateCommands.cs Added new test commands to verify duplicate resolution.

🔒 Breaking Changes

✅ NO BREAKING CHANGES. The existing behavior for single-match commands remains identical. The new selection menu only appears when actual collisions are detected.


📦 Package Details

For detailed documentation, see: devopsdoc.md

# v1.0.7.1 — Internal Internal & Documentation Cleanup

Choose a tag to compare

@hoangbussines-commits hoangbussines-commits released this 05 Sep 13:51

Overview

This release focuses on strengthening the framework's architectural integrity by improving encapsulation and refining the developer documentation. The primary goal is to enforce a standardized error-handling flow, ensuring that Dev-Apps rely on exception-based reporting rather than direct internal template calls.


🐛 Fixed

Internal Encapsulation Leak in Error Handling

  • Problem: ErrorShellTemplate was previously public, allowing Dev-Apps to bypass the framework's intended error flow and call rendering methods directly.
  • Solution: Changed ErrorShellTemplate access modifier to internal.
  • Impact: Enforces a strict "Throw Exception $\rightarrow$ Framework Catch" workflow, ensuring consistent error formatting and centralized control.

Misleading Documentation in Error Messages

  • Problem: Some internal error messages referenced a 'help' command that is not natively provided by the framework, causing confusion for end-users.
  • Solution: Removed all misleading references to the built-in help command.
  • Impact: Improved accuracy in user feedback and reduced unnecessary support queries.

🆕 Added

Configuration Validation in ShelliftAPIBuild

  • ValidateConfiguration() — New internal mechanism that checks all required builder fields (Shell Name, Header, Prompt) before shell startup.
  • ValidateCommandsLoaded(List<ICommand>) — Verifies that commands were loaded successfully, providing descriptive errors if the shell is not registered.
  • Fail-Fast Principle — The library now validates the entire configuration pipeline before execution to prevent runtime crashes.

Documentation Enhancements

  • devopsdoc.md - New Section 6 "ShelliftAPIBuild Configuration" in Best Practices.
    • Shows ❌ WRONG examples (incomplete configuration)
    • Shows ✅ CORRECT examples (complete configuration)
    • Lists all mandatory method calls
  • README.md - Added a prominent "IMPORTANT — READ FULL DOCUMENTATION" notice to guide users toward validation requirements.
  • Standardized Examples - Updated all code snippets to align with the latest framework architecture, emphasizing the correct way to trigger error displays via exceptions.

📋 Changed

ShelliftAPIBuild.Build() Behavior

  • Now validates all configuration before execution (fail-fast principle) to prevent silent crashes.
  • Changed: Empty command list is now silently accepted (no warning), supporting utility shells or dynamic loading.
  • Changed: Cryptic runtime failures are replaced by clear, actionable InvalidOperationException messages.
  • Rationale: To improve developer experience by providing immediate feedback on missing configurations.

✅ Migration Examples

Before v1.0.7.1 (Silent Crash)

ShelliftAPIBuild.Create()
    .SelectCommandShellLoad("MyShell")
    // Missing header and prompt configuration
    .Build();  // ❌ Crashes at runtime with unclear error

After v1.0.7.1 (Clear Validation Error)

ShelliftAPIBuild.Create()
    .SelectCommandShellLoad("MyShell")
    // Missing header and prompt configuration
    .Build();  // ✅ Throws: [VALIDATION ERROR] with clear guidance

Correct Usage (Always Works)

ShelliftAPIBuild.Create()
    .SelectCommandShellLoad("MyShell")
    .SelectShellHeaderTemplate(HeaderStyle.Modern)
    .SelectShellPrompt(PromptStyle.Default)
    .Build();  // ✅ Success

🔧 File Changes

File Change
Commons/ShellHandle/ErrorShellTemplate.cs Changed class modifier to internal
devopsdoc.md Updated Internal Components section and error handling flow
README.md Corrected description of documentation length
BoxaraXLibrary.GenenicLib.LTS.csproj Version bumped to 1.0.7.1

🔒 Breaking Changes

✅ NO BREAKING CHANGES for developers following the exception-based error pattern. Only those calling ErrorShellTemplate directly will need to update their code to the recommended exception-based approach.


📦 Package Details

For detailed documentation, see: devopsdoc.md and README.md

# 🚀 v1.0.7 — Critical Bug Fixes & Enhanced Validation

Choose a tag to compare

@hoangbussines-commits hoangbussines-commits released this 04 Sep 15:13

Overview

This release introduces critical validation improvements to ShelliftAPIBuild.Build() to prevent library crashes and provide clear error messages. All configuration requirements are now validated before shell startup with descriptive, actionable errors.


🐛 Fixed

Critical Bug: Missing Validation in ShelliftAPIBuild.Build()

  • Problem: Build() method did not validate required configuration before execution, causing silent crashes or unhandled exceptions
  • Solution: Added comprehensive pre-flight validation with descriptive error messages
  • Impact: Library now fails fast with clear guidance instead of cryptic crashes

Validation Rules Now Enforced

  1. ✅ Shell Name Validation — Ensures shell name is set via SelectCommandShellLoad()
  2. ✅ Header Configuration Consistency — Prevents unconfigured headers
  3. ✅ Prompt Configuration Consistency — Prevents unconfigured prompts
  4. ✅ Commands Loading Validation — Ensures shell is registered; empty command list allowed

🆕 Added

Validation Methods in ShelliftAPIBuild

  • ValidateConfiguration() — Checks all required builder fields before shell startup
  • ValidateCommandsLoaded(List<ICommand>) — Verifies commands loaded successfully with descriptive errors

Documentation Enhancements

  • devopsdoc.md - New Section 6 "ShelliftAPIBuild Configuration" in Best Practices

    • Shows ❌ WRONG examples (incomplete configuration)
    • Shows ✅ CORRECT examples (complete configuration)
    • Lists all mandatory method calls
  • README.md - Prominent "IMPORTANT — READ FULL DOCUMENTATION" notice

    • Directs users to detailed API documentation
    • Emphasizes validation requirements

📋 Changed

ShelliftAPIBuild.Build() Behavior

  • Now validates all configuration before execution (fail-fast principle)
  • Changed: Empty command list is silently accepted (no warning)
    • Rationale: Valid use case for utility shells, admin panels, dynamic loading
  • Changed: Clear error messages replace silent failures

✅ Migration Examples

Before v1.0.7 (Crashes)

ShelliftAPIBuild.Create()
	.SelectCommandShellLoad("MyShell")
	// Missing header configuration
	// Missing prompt configuration
	.Build();  // ❌ Crashes at runtime with unclear error

After v1.0.7 (Clear Error)

ShelliftAPIBuild.Create()
	.SelectCommandShellLoad("MyShell")
	// Missing header configuration
	// Missing prompt configuration
	.Build();  // ✅ Throws: [VALIDATION ERROR] with clear message

Correct Usage (Always Works)

ShelliftAPIBuild.Create()
	.SelectCommandShellLoad("MyShell")
	.SelectShellHeaderTemplate(HeaderStyle.Modern)
	.SelectShellPrompt(PromptStyle.Default)
	.Build();  // ✅ Success

🔧 File Changes

File Change
Commons/ShellHandle/ShelliftAPIBuild.cs Added validation methods and calls to Build()
devopsdoc.md Added "ShelliftAPIBuild Configuration" best practices section
README.md Added prominent documentation notice
BoxaraXLibrary.GenenicLib.LTS.csproj Version: 1.0.6 → 1.0.7

🔒 Breaking Changes

✅ NO BREAKING CHANGES — Correctly-configured code works unchanged. Only incorrect configuration now fails with clear messages.


📦 Package Details

For detailed documentation, see: devopsdoc.md and README.md

WARNING: DIGITAL SIGNATURE MISSING V1.0.0 - v1.0.6

Choose a tag to compare

@hoangbussines-commits hoangbussines-commits released this 28 Aug 18:02

⚠️ WARNING: UNESCAPED DIGITAL SIGNATURE (v1.0.0 - v1.0.6)

"Because Smart App Control (0x800711C7) on Windows 11 thinks everything unsigned is a galactic threat, but we don't care because Open Source always finds a way!" 🚀

Welcome to the consolidated release bundle for BoxaraXLibrary.GenenicLib.LTS (v1.0.0 through v1.0.6)! This release serves as our transitional milestone while we wait for the SignPath Foundation to officially bless our binaries with an international Authenticode digital signature.


🚀 What's Included & Core Features (v1.0.6-LTS)

  • Framework Core: Lightweight, high-performance C# framework for building interactive shell-based CLI applications.
  • Multi-Target Support: Fully compatible with .NET 7.0, 8.0, 9.0, and 10.0.
  • Shell Engine: Advanced command reflection, custom headers (16+ styles), and interactive prompt templates (10+ styles).
  • Real-Time Logging (LogManager): Non-blocking background logging system designed to keep your console responsive while background tasks execute.
  • External Plugin Injection: Dynamic command discovery and extension support via ExternalCommandManager.
  • Zero External Dependencies: Pure, clean, high-performance C# code.

🛡️ Smart App Control & Code Signing Notice

  • Current Status: Binaries in this release archive are currently unsigned or lack repository-level verification.
  • The Issue: Modern Windows 11 builds with Smart App Control (SAC) enabled may trigger error 0x800711C7 when loading binaries directly.
  • The Remedy: We have officially applied to the SignPath Foundation (under our open-source Apache 2.0 license) for free, enterprise-grade Code Signing Certificates backed by hardware security modules (HSM).
  • Upcoming v1.0.6.x+: Future releases will feature full automated Authenticode signing via GitHub Actions CI/CD pipelines, completely eradicating SAC warnings!

📦 Installation

Grab the package directly from NuGet:

dotnet add package BoxaraXLibrary.GenenicLib.LTS