Repository navigation
Releases: JuliHyro-Studios/BoxaraXLibrary.GenenicLib.LTS
Release list
v1.0.7.8 - Parameter System Overhaul & Diagnostics
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
CommandProcessorTemplateto keep required validation behavior explicit and consistent with actual runtime flow - Updated
ErrorShellTemplateresponse 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 BYblocks - 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
- Version: v1.0.7.8
- Target frameworks: net7.0, net8.0, net9.0, net10.0
- License: Apache-2.0
- NuGet package: https://www.nuget.org/packages/BoxaraXLibrary.GenenicLib.LTS
- Release title: v1.0.7.8 - Parameter System Overhaul & Diagnostics
v1.0.7.7 - Lean-up: Removal of Obsolete Input Provider & Utility
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.csto align the filename with theIShellinterface name. -
Docs: Comprehensive update to
README.mdanddevopsdoc.mdto 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 theConvertSymbolUniverseclass andConvertTextToAsteriskhelper. Applications relying on this for masked input must implement an alternative solution.
📦 Package Details
- Version:
1.0.7.7 - Target Frameworks:
.NET 7.0, 8.0, 9.0, 10.0 - License:
Apache-2.0 - NuGet: BoxaraXLibrary.GenenicLib.LTS
v1.0.7.6 - README Architecture Audit & Documentation Accuracy
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 (
ErrorShellTemplatev1.0.7.1,LogConsolev1.0.7.3) and the Key-based input loop (v1.0.6) inREADME.mdto 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.mdby removing detailed Core Interface definitions to ensure a concise, basic start for end-users; all detailed API specs are now centralized indevopsdoc.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
- Version: 1.0.7.6
- Target Frameworks: .NET 7.0, 8.0, 9.0, 10.0
- License: Apache 2.0
- NuGet: BoxaraXLibrary.GenenicLib.LTS
v1.0.7.5 — TableFormatterTemplate Usage Documentation & API Refinement
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
GetCommandsByShelltoGetCommandsForShellinReflectionCommandShellTemplateto align with actual source implementation.
🆕 Added
- TableFormatterTemplate Documentation: Added comprehensive usage guidelines for the table formatter, including the
AddColumn→AddRow→Renderflow, optional column colors,fixedWidthconfiguration, row value requirements, and the maximum 20-column limit. - Critical Safety Warnings: Integrated explicit warnings regarding
TableFormatterTemplate.RenderToString()and its potential to leaveConsole.Outredirected 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
WithInputProvideris 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: TheCallDllclass and itsIsAvailivable()method have been removed. Applications relying on this check should remove the calls.
📦 Package Details
- Version: 1.0.7.5
- Target Frameworks: .NET 7.0, 8.0, 9.0, 10.0
- License: Apache-2.0
- NuGet: BoxaraXLibrary.GenenicLib.LTS
v1.0.7.4 — Documentation Alignment & NuGet Readme Cleanup
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.Zdocumentation 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.mdis 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.mdnow preserves historical API documentation instead of presenting removed APIs as current.- API documentation was synchronized with the current declarations for:
ShelliftAPIBuildHeaderStylePromptStyleTableFormatterTemplateQuestionShellTemplateConvertSymbolUniverseCallDllExternalCommandManager
- 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.
LogConsoleremains documented as an internal renderer, withLogManagerdocumented as the supported application-facing API.- External assembly loading documentation now clarifies that applications own
AssemblyLoadContextlifetime 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
- Version:
1.0.7.4 - Target Frameworks:
.NET 7.0,.NET 8.0,.NET 9.0,.NET 10.0 - License: Apache-2.0
- NuGet: https://www.nuget.org/packages/BoxaraXLibrary.GenenicLib.LTS
v1.0.7.3 - Framework Lean-up & API Alignment
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.mdwhere 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
IShellinterface instead of the deprecatedIShellExecute.
🆕 Added
- Cross-Platform Packaging: Added
pack.pyas a Python-based equivalent topack.batto ensure consistent build and packaging workflows across all operating systems. - Question Validation: Integrated
QuestionTestCommandin the internal test project to verifyQuestionShellTemplate(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:
LogConsoleis nowinternalto prevent direct console manipulation by apps, enforcing the use ofLogManager. - 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
LogConsoleis no longer available (nowinternal). - The entire Authentication system has been removed.
📦 Package Details
- Version:
1.0.7.3 - Target Frameworks:
.NET 7.0, 8.0, 9.0, 10.0 - License:
Apache License 2.0 - NuGet: BoxaraXLibrary.GenenicLib.LTS
v1.0.7.2 — Duplicate Command Selection Feature
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
exitandcancelspecifically 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
LibraryTestestProjectsto 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
CommandProcessorTemplatefromFirstOrDefault()to aWhere()filter, capturing all potential candidates. - Type-Based Deduplication: Integrated a grouping mechanism (
GroupByon 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
- Version: 1.0.7.2
- Target Frameworks: .NET 7.0, 8.0, 9.0, 10.0
- License: Apache 2.0
- NuGet: BoxaraXLibrary.GenenicLib.LTS
For detailed documentation, see: devopsdoc.md
# v1.0.7.1 — Internal Internal & Documentation Cleanup
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:
ErrorShellTemplatewas previously public, allowing Dev-Apps to bypass the framework's intended error flow and call rendering methods directly. -
Solution: Changed
ErrorShellTemplateaccess modifier tointernal. -
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
InvalidOperationExceptionmessages. - 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 errorAfter v1.0.7.1 (Clear Validation Error)
ShelliftAPIBuild.Create()
.SelectCommandShellLoad("MyShell")
// Missing header and prompt configuration
.Build(); // ✅ Throws: [VALIDATION ERROR] with clear guidanceCorrect 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
- Version: 1.0.7.1
- Target Frameworks: .NET 7.0, 8.0, 9.0, 10.0
- License: Apache 2.0
- NuGet: BoxaraXLibrary.GenenicLib.LTS
For detailed documentation, see: devopsdoc.md and README.md
# 🚀 v1.0.7 — Critical Bug Fixes & Enhanced Validation
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
- ✅ Shell Name Validation — Ensures shell name is set via
SelectCommandShellLoad() - ✅ Header Configuration Consistency — Prevents unconfigured headers
- ✅ Prompt Configuration Consistency — Prevents unconfigured prompts
- ✅ Commands Loading Validation — Ensures shell is registered; empty command list allowed
🆕 Added
Validation Methods in ShelliftAPIBuild
ValidateConfiguration()— Checks all required builder fields before shell startupValidateCommandsLoaded(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 errorAfter v1.0.7 (Clear Error)
ShelliftAPIBuild.Create()
.SelectCommandShellLoad("MyShell")
// Missing header configuration
// Missing prompt configuration
.Build(); // ✅ Throws: [VALIDATION ERROR] with clear messageCorrect 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
- Version: 1.0.7
- Target Frameworks: .NET 7.0, 8.0, 9.0, 10.0
- License: Apache 2.0
- NuGet: BoxaraXLibrary.GenenicLib.LTS
For detailed documentation, see: devopsdoc.md and README.md
WARNING: DIGITAL SIGNATURE MISSING V1.0.0 - v1.0.6
⚠️ 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
0x800711C7when 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