Releases: charlesdevandiere/markdown-builder-dotnet
Releases · charlesdevandiere/markdown-builder-dotnet
Release list
v1.0.0
Breaking Changes
- MarkdownBlockquote redesigned — No longer extends
MarkdownTextElement. Now acts as a block element container (likeMarkdownList) with an exposedBlockElementslist. Convenience constructors forstringandMarkdownInlineElementare preserved (auto-wrap inMarkdownParagraph). - Dawn.Guard dependency removed — Replaced with a native internal
ArgumentValidatorhelper. No external dependencies for validation.
New Features
- Nested blockquotes —
MarkdownBlockquotenow acceptsIMarkdownBlockElementitems, enabling nested quotes and mixed content (paragraphs, lists, code blocks, other blockquotes). - Line breaks — New
MarkdownLineBreakinline element for hard line breaks (<br>), withAppendLineBreak()extension onMarkdownText. - Pretty-printed tables —
MarkdownTable.ToPrettyString()andIMarkdownDocument.ToPrettyString()render tables with aligned columns.
Improvements
- Nullable reference types — Enabled
<Nullable>enable</Nullable>across the solution. - Table cell trimming —
MarkdownTableHeaderandMarkdownTableRownow trim cell content inToString(). - Performance — Fixed O(n^2) string concatenation in
MarkdownTableHeader.ToString()withStringBuilder. Added invalidate-on-write cache toMarkdownText.Text. Eliminated null array elements in capacity constructors. - Null validation — Added guards on
MarkdownLink.UrlandMarkdownCode.Languagepublic setters. - Project reorganization — Source and test files organized into logical folders:
Abstractions/,Blocks/,Inlines/,Lists/,Tables/.
0.2.0
add extensions methodes (#2) +semver: minor