Bump version to 2.0 - #41
Merged
Merged
Conversation
Two independent reasons the next release cannot be a minor one. The API is broken, not merely extended. BufferCell lost Image, ImageTile, IsImage, ImageCol, ImageRow and PackTile when pictures stopped living in cells; Params.GetSubParams changed its return type; AttributeData.IsUnderline answers from the style rather than a flag; and TerminalImage.ByteCount widened to a long. That is not a judgement about how much landed -- it is what SemVer says a major is for, and it is not theoretical: the renderer in Iciclecreek failed to compile against it, which is exactly the consumer the rule protects. And the framework moved. net6.0 has been out of support since November 2024, the test project and all three CI workflows were already on 10.0.x, and the library was the only thing left behind. Retargeting drops net6 through net9 consumers, which is a break of its own. main currently says 1.3.0 on net6.0 while carrying every one of those changes, so today a pack from main would ship an API break as a minor. The README gains an upgrade section rather than a changelog line, because a consumer meets this as a compile error and needs the replacement rather than the announcement: a table from each removed member to what to ask the line instead, and what a renderer does now -- order the line's runs by z, one blit each, clip the destination and narrow the source with it, and paint the cell background from the bottom-most run only. Its opening blurb was also still describing images as cell content that text overwrites. That was true when it was written and is now true of Sixel alone; Kitty is an overlay the z-index orders against the text. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TzGenEw6pqZGGS2cwqb9AS
Collaborator
|
@tomlm please lets get the perf work in first; I thought I already moved it to .net 10 there |
JohnCampionJr
approved these changes
Aug 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
maintoday says 1.3.0 on net6.0 while already carrying #32, #34, #35, #36 and #37. Packing from it would ship an API break as a minor version.It is a major, by the rule rather than by feel
git diff 1.2.0..HEADremoves six public members fromBufferCell—Image,ImageTile,IsImage,ImageCol,ImageRow,PackTile— when #34 moved pictures out of cells and onto lines. On top of thatParams.GetSubParamschanged its return type,AttributeData.IsUnderline()now answers from the underline style rather than a separate flag, andTerminalImage.ByteCountwidened to along.This is not theoretical. The renderer in Iciclecreek failed to compile against it and had to be rewritten rather than ported — which is exactly the consumer SemVer's major bump exists to warn.
The size of what landed is a good release note. The removals are the actual reason.
And the framework moved
net6.0 has been out of support since November 2024. The test project and all three CI workflows are already on
10.0.x; the library was the only thing left behind. Retargeting drops net6 through net9 consumers, which is its own break and its own reason not to call this a minor.AssemblyVersiongoes to2.0.0.0with it, so a host binds by recompiling rather than by accident.An upgrade section, not a changelog line
A consumer meets this as a compile error, so the README now answers the question they will actually have — what to call instead:
cell.Imageline.TryGetImageAt(column, out var image)cell.IsImageline.TryGetPlacementAt(column, out _)cell.ImageTile,ImageCol,ImageRowline.TryGetPlacementAt(...)—p.SrcX,p.SrcYBufferCell.PackTileplus what a renderer does now: order
line.PlacementsbyZIndex, one blit per run, clip the destination and narrow the source with it, and paint the cell background from the bottom-most run only.Its opening blurb also still described images as cell content that text overwrites. That was true when written and is now true of Sixel alone — Kitty is an overlay the z-index orders against the text.
Testing
1069 tests pass on net10.0, and the whole solution builds.
Nothing in the library changed but the target and the version; the rest is documentation.
🤖 Generated with Claude Code
https://claude.ai/code/session_01TzGenEw6pqZGGS2cwqb9AS