RazorConsole v0.3.0

Released: December 26, 2025 | Milestone v0.3.0

RazorConsole v0.3.0 introduces Native AOT support, a new Scrollbar component for better navigation, Razor syntax highlighting, auto-generated API documentation with DocFX, and delivers critical performance improvements for text input handling.

Highlights

  • Native AOT Support: Added Ahead-Of-Time compilation support with proper reflection annotations and trimming protection (#263, fixes #262)
  • Extend Scrollable Component: Added customizable Scrollbar parameter in Scrollable component with embedded rendering support for Tables and Panels, providing visual feedback for scrollable content (#256, fixes #255)
  • Razor Syntax Highlighting: Added native Razor language syntax highlighting support in code components with enhanced gallery examples (#264)
  • Auto-Generated API Documentation: Integrated DocFX to automatically generate component documentation from XML comments, eliminating redundant manual documentation (#258, #259, fixes #248, #257)
  • TextInput Performance Fix: Resolved critical freeze issue when pasting large text chunks by implementing input batching, reducing 500+ render cycles to a single cycle (#251, fixes #250)
  • Middleware Architecture: Migrated to a cleaner middleware approach for rendering pipeline (#249)

Milestone Completion

All 18 items in the v0.3.0 milestone have been completed:

Issues

  • #248 - Auto-documentation
  • #255 - Add scrollbar support in scrollable
  • #257 - Drop github docs for components
  • #262 - Add Native-AOT support

Pull Requests

  • #245 - Extend properties of Select component
  • #247 - Add v0.2.2 release note to website and bump version to 0.3.0
  • #249 - Migrated to middleware approach
  • #251 - Fix TextInput freeze when pasting large text chunks
  • #256 - Add scrollbar suppport in scrollable component
  • #258 - Auto-Generated Doc from Docfx
  • #259 - Fix GH Page
  • #260 - Add missing components in components.generated.ts
  • #261 - Remove unnecessary nullable string in select ValueChange callback
  • #263 - Add AOT support and GitHub alerts in Markdown
  • #264 - Add razor lang syntax highlighting
  • #265 - Add origin colors support
  • #269 - Change default TextButton FocusedColor to DeepSkyBlue1
  • #270 - Change lineHeight from 1.2 to 1 in XTermPreview.tsx

Detailed Changes

Native AOT & Performance

  • AOT Support:
    • Added DynamicallyAccessedMembers attributes to AppHost for AOT compiler metadata preservation (#263)
    • Refactored ComponentMarkupUtilities.ResolveSpinner with safe reflection using DynamicallyAccessedMembers (#263)
    • Fixed Blazor Router trimming issues with TrimmerRootAssembly protection (#263)
    • Added custom .targets file (RazorConsole.Core.targets) for automatic anti-trimming protection in NuGet packages (#263)
    • Added GitHub alerts support in Markdown component (#263)

Components & Rendering

  • New Components:

    • Extended Scrollable component with scrollbar. It has full customization, focus support, and embedded rendering for Tables and Panels/Borders (#256)
    • Added Razor syntax highlighting support with extended gallery examples (#264)
  • Component Improvements:

    • Removed unnecessary nullable string in Select component's ValueChange callback to fix ReSharper variance warnings (#261)
    • Changed default TextButton FocusedColor from Yellow to DeepSkyBlue1 for better visual appearance (#269)

Focus & Input Reliability

  • Performance Improvements:
    • Fixed TextInput freeze when pasting large text (500+ characters) by batching consecutive key inputs (#251)
    • Implemented input batching in KeyboardEventManager with 1000 character safety limit (#251)
    • Added three new tests for sequential character handling and backspace behavior (#251)

Core Architecture

  • Migrated to middleware approach for improved rendering pipeline (#249)

Website & Documentation

  • Auto-Generated Documentation:

    • Integrated DocFX to generate API documentation from XML comments (#258)
    • Fixed GitHub Pages documentation rendering (#259)
    • Added missing components to components.generated.ts (#260)
  • Website Enhancements:

    • Fixed xterm color rendering to support origin colors in syntax highlighting (#265)
    • Extended Select component documentation with missing properties (#245)
    • Fixed lineHeight from 1.2 to 1 in XTermPreview.tsx for correct component rendering (#270)

Build & Versioning

  • Added v0.2.2 release notes to website and bumped version to 0.3.0 (#247)

Acknowledgments

Special thanks to the contributors who made this release possible:

  • Skoreyko Misha (TeseySTD) for implementing Native AOT support, the Scrollbar support in Scrollable component, Razor syntax highlighting, TextButton color improvements, and numerous website fixes including xterm color rendering and lineHeight corrections
  • ParadiseFallen for the middleware architecture migration
  • Xiaoyun Zhang (LittleLittleCloud) for implementing auto-generated API documentation with DocFX and coordinating the release

Full Changelog: https://github.com/RazorConsole/RazorConsole/compare/v0.2.2...v0.3.0