Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Unreleased

## 2.16.0 — 2026-10-09

### Added

- **A rule or box edge holds several titles.** `Rule.Titles` and `Frame.Titles` add titles beside the
Expand Down
2 changes: 1 addition & 1 deletion MarkupString.Ansi/MarkupString.Ansi.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
each time one goes out; drop it for a release that removes public API on purpose, and put
it back straight after. -->
<EnablePackageValidation>true</EnablePackageValidation>
<PackageValidationBaselineVersion>2.15.4</PackageValidationBaselineVersion>
<PackageValidationBaselineVersion>2.15.5</PackageValidationBaselineVersion>
<Description>Terminal styling for MarkupString: colours (16, 256 and truecolor), text attributes and links, an ansi() code parser, and emitters that fold a run's layers into one SGR sequence, HTML span, Pueblo/MXP tag or BBCode tag.</Description>
</PropertyGroup>

Expand Down
2 changes: 1 addition & 1 deletion MarkupString.Html/MarkupString.Html.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
each time one goes out; drop it for a release that removes public API on purpose, and put
it back straight after. -->
<EnablePackageValidation>true</EnablePackageValidation>
<PackageValidationBaselineVersion>2.15.4</PackageValidationBaselineVersion>
<PackageValidationBaselineVersion>2.15.5</PackageValidationBaselineVersion>
<Description>Raw HTML tag markup for MarkupString — an anchor, a pre, a span — rendered as itself in the HTML, Pueblo and MXP formats and folded into terminal styling elsewhere, with checked construction and tag policies for untrusted input.</Description>
</PropertyGroup>

Expand Down
2 changes: 1 addition & 1 deletion MarkupString.Mxp/MarkupString.Mxp.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
each time one goes out; drop it for a release that removes public API on purpose, and put
it back straight after. -->
<EnablePackageValidation>true</EnablePackageValidation>
<PackageValidationBaselineVersion>2.15.4</PackageValidationBaselineVersion>
<PackageValidationBaselineVersion>2.15.5</PackageValidationBaselineVersion>
<Description>MXP for MarkupString: writes the shared vocabulary — sounds, music, pictures, panes, gauges, status, variables, link expiry, relocation, login prompts — as MXP tags, holding each to what the client said it supports.</Description>
</PropertyGroup>

Expand Down
2 changes: 1 addition & 1 deletion MarkupString.Pueblo/MarkupString.Pueblo.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
each time one goes out; drop it for a release that removes public API on purpose, and put
it back straight after. -->
<EnablePackageValidation>true</EnablePackageValidation>
<PackageValidationBaselineVersion>2.15.4</PackageValidationBaselineVersion>
<PackageValidationBaselineVersion>2.15.5</PackageValidationBaselineVersion>
<Description>Pueblo for MarkupString: writes the shared vocabulary — sounds, pictures, panes, clearing the screen, prefetching — in the Pueblo client's own HTML extensions.</Description>
</PropertyGroup>

Expand Down
2 changes: 1 addition & 1 deletion MarkupString/MarkupString.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
each time one goes out; drop it for a release that removes public API on purpose, and put
it back straight after. -->
<EnablePackageValidation>true</EnablePackageValidation>
<PackageValidationBaselineVersion>2.15.4</PackageValidationBaselineVersion>
<PackageValidationBaselineVersion>2.15.5</PackageValidationBaselineVersion>
<Description>Immutable styled text: a string plus layered markup runs, rendered to ANSI, HTML, Pueblo, MXP, BBCode or plain text through a registry of emitters, and round-tripped through JSON.</Description>
</PropertyGroup>

Expand Down
22 changes: 22 additions & 0 deletions MarkupString/PublicAPI.Shipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -351,6 +351,17 @@ MarkupString.Layout.ColumnFormat.Wrap.init -> void
MarkupString.Layout.CutFrom
MarkupString.Layout.CutFrom.End = 0 -> MarkupString.Layout.CutFrom
MarkupString.Layout.CutFrom.Start = 1 -> MarkupString.Layout.CutFrom
MarkupString.Layout.EdgeTitle
MarkupString.Layout.EdgeTitle.<Clone>$() -> MarkupString.Layout.EdgeTitle!
MarkupString.Layout.EdgeTitle.Deconstruct(out MarkupString.MarkupText! Text, out MarkupString.Layout.Alignment Side) -> void
MarkupString.Layout.EdgeTitle.EdgeTitle(MarkupString.MarkupText! Text, MarkupString.Layout.Alignment Side = MarkupString.Layout.Alignment.Center) -> void
MarkupString.Layout.EdgeTitle.Equals(MarkupString.Layout.EdgeTitle? other) -> bool
MarkupString.Layout.EdgeTitle.Priority.get -> int?
MarkupString.Layout.EdgeTitle.Priority.init -> void
MarkupString.Layout.EdgeTitle.Side.get -> MarkupString.Layout.Alignment
MarkupString.Layout.EdgeTitle.Side.init -> void
MarkupString.Layout.EdgeTitle.Text.get -> MarkupString.MarkupText!
MarkupString.Layout.EdgeTitle.Text.init -> void
MarkupString.Layout.Field
MarkupString.Layout.Field.<Clone>$() -> MarkupString.Layout.Field!
MarkupString.Layout.Field.Deconstruct(out MarkupString.MarkupText! Label, out MarkupString.Layout.Block! Value) -> void
Expand Down Expand Up @@ -429,6 +440,8 @@ MarkupString.Layout.Frame.Body.get -> MarkupString.Layout.Block!
MarkupString.Layout.Frame.Body.init -> void
MarkupString.Layout.Frame.Border.get -> MarkupString.Layout.BorderStyle?
MarkupString.Layout.Frame.Border.init -> void
MarkupString.Layout.Frame.BottomTitles.get -> System.Collections.Immutable.ImmutableArray<MarkupString.Layout.EdgeTitle!>
MarkupString.Layout.Frame.BottomTitles.init -> void
MarkupString.Layout.Frame.Deconstruct(out MarkupString.Layout.Block! Body) -> void
MarkupString.Layout.Frame.Equals(MarkupString.Layout.Frame? other) -> bool
MarkupString.Layout.Frame.Frame(MarkupString.Layout.Block! Body) -> void
Expand All @@ -438,6 +451,8 @@ MarkupString.Layout.Frame.Title.get -> MarkupString.MarkupText?
MarkupString.Layout.Frame.Title.init -> void
MarkupString.Layout.Frame.TitleAlignment.get -> MarkupString.Layout.Alignment
MarkupString.Layout.Frame.TitleAlignment.init -> void
MarkupString.Layout.Frame.Titles.get -> System.Collections.Immutable.ImmutableArray<MarkupString.Layout.EdgeTitle!>
MarkupString.Layout.Frame.Titles.init -> void
MarkupString.Layout.Gauge
MarkupString.Layout.Gauge.BarWidth.get -> int
MarkupString.Layout.Gauge.BarWidth.init -> void
Expand Down Expand Up @@ -614,6 +629,8 @@ MarkupString.Layout.Rule.Title.get -> MarkupString.MarkupText?
MarkupString.Layout.Rule.Title.init -> void
MarkupString.Layout.Rule.TitleAlignment.get -> MarkupString.Layout.Alignment
MarkupString.Layout.Rule.TitleAlignment.init -> void
MarkupString.Layout.Rule.Titles.get -> System.Collections.Immutable.ImmutableArray<MarkupString.Layout.EdgeTitle!>
MarkupString.Layout.Rule.Titles.init -> void
MarkupString.Layout.SeparatorRows
MarkupString.Layout.SeparatorRows.EveryRow = 0 -> MarkupString.Layout.SeparatorRows
MarkupString.Layout.SeparatorRows.FirstRowOnly = 1 -> MarkupString.Layout.SeparatorRows
Expand Down Expand Up @@ -1149,6 +1166,9 @@ override MarkupString.Layout.Colored.ToString() -> string!
override MarkupString.Layout.ColumnFormat.Equals(object? obj) -> bool
override MarkupString.Layout.ColumnFormat.GetHashCode() -> int
override MarkupString.Layout.ColumnFormat.ToString() -> string!
override MarkupString.Layout.EdgeTitle.Equals(object? obj) -> bool
override MarkupString.Layout.EdgeTitle.GetHashCode() -> int
override MarkupString.Layout.EdgeTitle.ToString() -> string!
override MarkupString.Layout.Field.Equals(object? obj) -> bool
override MarkupString.Layout.Field.GetHashCode() -> int
override MarkupString.Layout.Field.ToString() -> string!
Expand Down Expand Up @@ -1415,6 +1435,8 @@ static MarkupString.Layout.Colored.operator !=(MarkupString.Layout.Colored? left
static MarkupString.Layout.Colored.operator ==(MarkupString.Layout.Colored? left, MarkupString.Layout.Colored? right) -> bool
static MarkupString.Layout.ColumnFormat.operator !=(MarkupString.Layout.ColumnFormat? left, MarkupString.Layout.ColumnFormat? right) -> bool
static MarkupString.Layout.ColumnFormat.operator ==(MarkupString.Layout.ColumnFormat? left, MarkupString.Layout.ColumnFormat? right) -> bool
static MarkupString.Layout.EdgeTitle.operator !=(MarkupString.Layout.EdgeTitle? left, MarkupString.Layout.EdgeTitle? right) -> bool
static MarkupString.Layout.EdgeTitle.operator ==(MarkupString.Layout.EdgeTitle? left, MarkupString.Layout.EdgeTitle? right) -> bool
static MarkupString.Layout.Field.operator !=(MarkupString.Layout.Field? left, MarkupString.Layout.Field? right) -> bool
static MarkupString.Layout.Field.operator ==(MarkupString.Layout.Field? left, MarkupString.Layout.Field? right) -> bool
static MarkupString.Layout.Fields.operator !=(MarkupString.Layout.Fields? left, MarkupString.Layout.Fields? right) -> bool
Expand Down
22 changes: 0 additions & 22 deletions MarkupString/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
@@ -1,23 +1 @@
#nullable enable
MarkupString.Layout.EdgeTitle
MarkupString.Layout.EdgeTitle.<Clone>$() -> MarkupString.Layout.EdgeTitle!
MarkupString.Layout.EdgeTitle.Deconstruct(out MarkupString.MarkupText! Text, out MarkupString.Layout.Alignment Side) -> void
MarkupString.Layout.EdgeTitle.EdgeTitle(MarkupString.MarkupText! Text, MarkupString.Layout.Alignment Side = MarkupString.Layout.Alignment.Center) -> void
MarkupString.Layout.EdgeTitle.Equals(MarkupString.Layout.EdgeTitle? other) -> bool
MarkupString.Layout.EdgeTitle.Side.get -> MarkupString.Layout.Alignment
MarkupString.Layout.EdgeTitle.Side.init -> void
MarkupString.Layout.EdgeTitle.Text.get -> MarkupString.MarkupText!
MarkupString.Layout.EdgeTitle.Text.init -> void
MarkupString.Layout.Frame.BottomTitles.get -> System.Collections.Immutable.ImmutableArray<MarkupString.Layout.EdgeTitle!>
MarkupString.Layout.Frame.BottomTitles.init -> void
MarkupString.Layout.Frame.Titles.get -> System.Collections.Immutable.ImmutableArray<MarkupString.Layout.EdgeTitle!>
MarkupString.Layout.Frame.Titles.init -> void
MarkupString.Layout.Rule.Titles.get -> System.Collections.Immutable.ImmutableArray<MarkupString.Layout.EdgeTitle!>
MarkupString.Layout.Rule.Titles.init -> void
override MarkupString.Layout.EdgeTitle.Equals(object? obj) -> bool
override MarkupString.Layout.EdgeTitle.GetHashCode() -> int
override MarkupString.Layout.EdgeTitle.ToString() -> string!
static MarkupString.Layout.EdgeTitle.operator !=(MarkupString.Layout.EdgeTitle? left, MarkupString.Layout.EdgeTitle? right) -> bool
static MarkupString.Layout.EdgeTitle.operator ==(MarkupString.Layout.EdgeTitle? left, MarkupString.Layout.EdgeTitle? right) -> bool
MarkupString.Layout.EdgeTitle.Priority.get -> int?
MarkupString.Layout.EdgeTitle.Priority.init -> void
Loading