Skip to content

Comments

Feature/next#47

Merged
trackd merged 2 commits intomainfrom
feature/next
Feb 16, 2026
Merged

Feature/next#47
trackd merged 2 commits intomainfrom
feature/next

Conversation

@trackd
Copy link
Owner

@trackd trackd commented Feb 16, 2026

This pull request introduces several significant changes aimed at modernizing and simplifying the build and module loading process for the project. The key updates include replacing the traditional Visual Studio solution with a simpler solution format, overhauling the build scripts for better automation and cross-platform compatibility, and streamlining the PowerShell module loading logic to remove legacy .NET Framework-specific assembly resolution. Additionally, code style and analyzer settings have been centralized in a new .editorconfig file, and the module version has been incremented to 0.7.0 with updated release notes.

Build and Solution Structure Modernization:

  • Removed the legacy Visual Studio solution file Sixel.sln and replaced it with a more concise Sixel.slnx solution format, reflecting a move away from Visual Studio-specific tooling. [1] [2]
  • Added new build scripts: build.ps1 as the main entry point and Sixel.build.ps1 for project-specific tasks, enabling improved automation, support for multiple tasks (build, test, help generation), and better cross-platform compatibility. [1] [2]

Module Loading and .NET Compatibility:

  • Refactored the module loading logic in Sixel.psm1 to remove the custom assembly resolver for .NET Framework 4.7.2, simplifying the code and aligning with a unified loading approach for both .NET Core and .NET Framework. [1] [2] [3]
  • Updated references to use the lib directory instead of bin for loading assemblies, reflecting the new build output structure. [1] [2]
  • Clarified conditional compilation for assembly loading in LoadContext.cs and referenced the new module initializer for PowerShell 5.1.

Development Experience and Code Quality:

  • Introduced a comprehensive .editorconfig to standardize code formatting, analyzer severities, and C# style preferences across the repository, improving code consistency and maintainability.

Versioning and Documentation:

  • Bumped the module version to 0.7.0 in Sixel.psd1 and updated release notes to reflect library updates and bugfixes. [1] [2]

Copilot AI review requested due to automatic review settings February 16, 2026 14:50
@trackd trackd merged commit a5ff708 into main Feb 16, 2026
7 checks passed
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request modernizes the build system and simplifies the PowerShell module loading architecture while adding new features and updating dependencies. The changes migrate from traditional Visual Studio solution files to the newer .slnx format, replace custom build scripts with InvokeBuild-based automation, and refactor module loading to use PowerShell's native module assembly initializer for .NET Framework instead of a custom assembly resolver.

Changes:

  • Build system replaced with InvokeBuild-based scripts (build.ps1, Sixel.build.ps1) removing old scripts (vsbuild.ps1, docs.ps1, common.ps1, Pester.ps1)
  • Module loading refactored: bin→lib directory structure, new ModuleAssemblyInitializer.cs for .NET Framework, simplified LoadContext.cs for .NET Core
  • Code style standardized via comprehensive .editorconfig with Stroustrup brace style, modern C# preferences, and analyzer configurations
  • New Braille protocol support added, Contour terminal detection, and experimental helper classes (SizeHelperDev, ResizerDev)
  • Dependencies updated: SixLabors.ImageSharp 3.1.12 (net8.0) / 2.1.13 (net472), System.Text.Encoding.CodePages 10.0.3
  • Module version bumped to 0.7.0

Reviewed changes

Copilot reviewed 51 out of 52 changed files in this pull request and generated 14 comments.

Show a summary per file
File Description
build.ps1 New build entry point with InvokeBuild integration
Sixel.build.ps1 Main build tasks for compilation, help generation, and testing
Sixel.sln → Sixel.slnx Migration to simplified solution format
module/Sixel.psm1 Refactored loading with bin→lib path changes and simplified resolver
src/Sixel/Helpers/ModuleAssemblyInitializer.cs New assembly resolver for .NET Framework 4.7.2
src/Sixel.Shared/LoadContext.cs Streamlined ALC implementation for .NET Core
src/Sixel/Protocols/Braille.cs New Braille image protocol implementation
src/Sixel/Helpers/{SizeHelperDev,ResizerDev}.cs Experimental helper classes for image sizing
src/Sixel/Terminal/VTWriter.cs Formatting changes with duplicate condition bug
src/Sixel/Protocols/Blocks.cs Simplified transparency detection
src/Sixel/Cmdlet/*.cs Static HttpClient pattern and formatting updates
src/Sixel/Sixel.csproj Updated dependencies and analyzer configuration
.editorconfig Comprehensive code style and analyzer configuration
.gitignore Updated to exclude all .md files except specific paths

@trackd trackd deleted the feature/next branch February 16, 2026 15:06
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