Bump icy_sixel to 0.6.0 (consolidates Dependabot #207) - #208
Merged
Conversation
Consolidates Dependabot #207 onto a gated branch so the release hygiene it bypasses -- version bump, NOTES entry, man regen -- is actually done. Not lockfile-only: a caret range on a 0.x spec will not admit 0.6, so the Cargo.toml spec widened "0.5" -> "0.6". icy_sixel is graphics-feature-only, so only --features graphics and the CI graphics-feature job compile it. The 0.x minor is semver-breaking by convention but does not reach retch: sixel_image.rs and encoder.rs, which hold the only two calls retch makes, are sha256-identical between 0.5.1 and 0.6.0. The whole change is decoder-side (a new stateful SixelDecoder, additively exported, plus a MAX_PIXELS decode guard) and retch only ever emits sixel. docs/retch.1 also loses 164 .Bl/.El lines, which is NOT from this bump: mandown was upgraded to 1.1.1 after v0.9.4 shipped and no longer emits them. They are mdoc macros, undefined in man(7) -- groff warns twice on the old page and not at all on the new one, and the rendered output is byte-identical. Proved pre-existing by regenerating at the committed version 0.9.4 first. retch-cli -> 0.9.5; retch-sysinfo unchanged at 0.1.56. Assisted-By: Claude Opus 5
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.
Consolidates Dependabot #207 onto a gated branch so the release hygiene it bypasses — version bump,
NOTES.mdentry, man regen — is actually done. Follows the #167/v0.6.3, #184/v0.6.16, #188/v0.6.19 and #199/v0.8.1 pattern.retch-cli→ 0.9.5.retch-sysinfounchanged at0.1.56.What changed and why
icy_sixel0.5.1 → 0.6.0. Applied as Dependabot's exact patch, so this carries precisely the change #207's green CI validated;Cargo.lockwas then diff-verified to be that entry plus our ownretch-clibump, with no transitive movement. Worth stating, becausequantette— icy_sixel's palette quantiser — moved in v0.8.1, and a move here would have changed emitted colours rather than just structure. It did not.This is not a lockfile-only roll. A caret range on a
0.xspec will not admit0.6, so theCargo.tomlspec widened"0.5"→"0.6"— the same shape as v0.6.4'sbase640.22 → 0.23, and the reason that bump was deliberately excluded from the v0.6.3 consolidation.icy_sixelisgraphics-feature-only, sojust check's--features graphicspass (v0.6.5) and the CIgraphics-featurejob (v0.6.7) are the only legs that compile it at all — a green default matrix proves nothing here.A
0.xminor is semver-breaking by convention, but the break does not reach retch — established from the source, not from the fact that it compiled. The only two calls retch makes (SixelImage::try_from_rgbaand.encode(), one call site insrc/logo.rs::print_sixel_rgba) live insixel_image.rs, which together withencoder.rsis byte-identical between the two versions. The entire 0.6.0 change is decoder-side: a new statefulSixelDecoderwhose colour registers persist across images (purely additive inlib.rs's exports), plus aMAX_PIXELSguard against decode-time memory exhaustion. retch never decodes sixel — it only ever emits it.The 164-line
docs/retch.1diff is not from this bumpjust manremoved 164.Bl/.Ellines. Cause: mandown was upgraded to 1.1.1 after v0.9.4 shipped, and it no longer emits those around list items.The new page is the correct one.
.Bl/.Elare mdoc macros, undefined inman(7): groff reportsmacro 'Bl' not definedandmacro 'El' not definedon the committed page and zero warnings on the regenerated one, while the rendered output is byte-identical (409 lines, same sha256). Nothing a reader sees changed; two warnings went away.Proved pre-existing rather than assumed, by regenerating at the committed version 0.9.4 first and confirming the diff was exactly 164 deletions, all
.Bl/.El, zero other lines either way. Without that control, a 164-line man-page diff arriving beside a dependency bump looks like the bump's doing.This is the v0.6.2/v0.6.16 flip-flop on a new axis, and it flips the same way: a contributor on an older mandown regenerates, re-adds the macros, and
just prstep 4 fails with a large diff that reads as "my change broke the man page." The wiki'sDevelopment-Setup.mdnow pins mandown ≥ 1.1.1 and names the symptom.Test plan
just prgreen end to end — fmt, clippy--workspaceand--features graphics, 254 tests (87 cli lib + 15 integration + 152 sysinfo), man regen idempotent atretch 0.9.5,Cargo.lockcommitted, audit advisory-only (pre-existing allowedpasteRUSTSEC-2024-0436)Cargo.lockdiff-verified against Dependabot's deps(deps): bump icy_sixel from 0.5.1 to 0.6.0 in the cargo-dependencies group #207: exactly theicy_sixelentry, no transitive driftencoder.rsandsixel_image.rssha256-compared across 0.5.1 and 0.6.0 — identicaltry_from_rgba+encodeis identical on both versions (9885 bytes, FNV-1afe96948691ac471a), with the probe's own lockfile read to confirm it really resolved 0.6.0--features graphicsbinary in a 138-col PTY withTERM=xterm-sixelemits an identical sixel payload on both versions (ca8a8d19…, 10203 bytes, 228 colour registers, well-formed DCS introducer and ST terminator), with each build's lockfile verified at build timeDevelopment-Setup.md,4476f52..48627daLegitimate skips, each checked rather than assumed: README.md and
docs/retch.md(no user-visible field, CLI flag or config key changed; both mention Sixel only as a capability, with no version),Configuration-and-Theming.md(no config key, theme or display flag changed) andWorkspace-Architecture.md(no module layout or crate-boundary change). No wiki page namesicy_sixelor pins a dependency version.