Skip to content

v0.12.5

Latest

Choose a tag to compare

@boxofyellow boxofyellow released this 23 Aug 13:32
· 6 commits to main since this release
4a1e5a4

v0.12.5

🎨 Renderers 🎨

  • #314: Prevent truncated inline HTML from leaving an unbalanced Spectre markup style scope and throwing InvalidOperationException
    • Text with <span>html
    • Text with html
    • Before
      💥 You get an exception that looks something like this
      System.InvalidOperationException: Unbalanced markup stack. Did you forget to close a tag?
         at Spectre.Console.AnsiMarkup.Parse(String markup, Nullable`1 style)
      
    • After
      Image

🔧 Internal Improvements 🔧

  • #330: Scope the scheduled Markdown robustness workflow to the property-based suite and scale its fixed scheduled seed list from 24 to 2,400 (115,200 render cases).
  • #329: Scale the property-based Markdown robustness suite from 192 to 1,152 scheduled render cases (8 to 24 fixed seeds and 12 to 24 cases per seed); the scheduled net8.0 run completed in 56.78 seconds, leaving 423.22 seconds before its 8-minute guard.
  • #326: Add deterministic grammar-driven Markdown generation with replayable seeds, bounded shrinking diagnostics, and an environment-controlled render budget (two seeds by default; all explicit seeds when CONSOLE_MARKDOWN_RENDERER_PROPERTY_TEST_BUDGET=scheduled).
  • #327: Add a weekly, manually dispatchable Ubuntu workflow for the bounded property-based Markdown robustness suite on net8.0 and net10.0.
  • #325: Enforce a per-test-method [Timeout] (via new named TestTimeouts.Unit/Render/Suite tiers) across all four test assemblies, with a convention test that fails if any [TestMethod]/[DataTestMethod] is missing one.
  • #323: Harden TableFrame against zero-row Markdig tables and out-of-bounds cell writes with actionable table and row diagnostics.
  • #322: Harden renderer markup escaping with focused escaped metadata regression coverage.
  • #321: Harden renderer stack-balance diagnostics with render-end verification, guarded pop/peek operations, and structural checks that each renderer restores the frame, style, table, list, and link-frame depths it inherited.
  • #320: Add a convention test that enforces derived Markdown renderer registration before their handled base types.
  • #317: Add deterministic corpus mutation suite
  • #312: Add deterministic truncation suite for streaming and partial Markdown
  • #310: Add shared RenderRobustness test harness

:copilot: Agentic Workflows :copilot:

  • #331: Expand code-style bot coverage to qualifying desktop Copilot PRs

✍️ Documentation ✍️

  • #333: Prep for 0.12.5 release

📦 Dependencies 📦

  • #319: Bump the nuget-dependencies group with 1 update
  • #318: Bump the github-actions group with 2 updates

Full Changelog: v0.12.4...v0.12.5