Repository navigation
feat(release): publish alpha releases; keep threshold labels clear of the legend - #308
Merged
Merged
Conversation
Fanout's versioning convention is CalVer YYYY.M.N with an optional -alpha, -beta, or -rc maturity suffix, but the release tooling accepted only bare vYYYY.M.N tags. Product maturity now lives in one constant in scripts/release.sh, set to alpha, so the next release after v2026.10.0 is v2026.10.1-alpha. - The release number counts every tag in the month, with or without a suffix, compared numerically. - The workflow accepts the suffixes, compares (year, month, N) numerically, and rejects a second tag with the same number. - Container tags carry the suffix and every release still moves latest. The GitHub release stays a full release so /releases/latest, which the installer uses, keeps resolving.
Time-series threshold labels sat at the top-left of the plot and overlapped the legend, as on the default System overview's p95 latency panel. Labels now sit inside the plot's right edge after native axis containment, avoid each other, truncate when long, and hide when no slot fits; the dashed line stays at the exact value. The threshold markLine no longer animates, so a refresh cannot slide its label through the axis. The README screenshots are recaptured at 2x with the fix.
Threshold and end-label offsets were computed only on a full option apply. Hiding a series through the legend, zooming, or resizing can move the native axis extent, leaving labels that overlap each other or fall outside the plot. Those paths now re-run the same native layout from the pre-layout series, so labels hidden in a smaller plot can return.
A second series update after the threshold layout moved end labels that the first update had already placed; on a compact log chart one landed above the plot. Both layouts now run against the same native geometry and the series are set once.
After a data zoom, end-label offsets were projected from each series' final sample while ECharts draws the label at the last sample inside the window, pushing labels below the plot. Offsets now come from the native layout's last valid point, keeping the authored series index.
Relayout gave hidden series offsets against the rescaled axis and kept them reserved in collision avoidance, so restoring a series could place its label below the canvas. Hidden series' end labels are now suppressed and excluded from placement; their authored labels are kept, so a restored series is laid out against the current axis.
… them out The custom threshold and end-label re-layout kept producing new interaction regressions: legend toggles, zoom, and compact charts each left pixel offsets that pushed labels into the legend or off the canvas. Restore main's label layout and fix the original overlap with ECharts' own placement: threshold labels sit at the line's right end, just below it, and ECharts repositions them on every axis change. The README screenshots are recaptured with this behavior.
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.
What changed
Alpha releases. Fanout's versioning convention is CalVer
YYYY.M.Nwith an optional-alpha,-beta, or-rcmaturity suffix, but the release tooling accepted only barevYYYY.M.N. Product maturity now lives in one constant inscripts/release.sh, set toalpha, so the next release afterv2026.10.0isv2026.10.1-alpha.2026.10.1-alpha) and every release still moveslatest./releases/latest, which the installer uses, keeps resolving.docs/release.md, the install page, and installer comments describe the suffix.Operators who pin an exact image tag and rely on Renovate or Dependabot should move to the
-alphatags; those tools treat a suffix as a separate variant. The first alpha release notes should say so.Threshold labels. Time-series threshold labels sat at the top-left of the plot and overlapped the legend, as on the default System overview's p95 latency panel. They now use ECharts' native
insideEndBottomplacement: the right end of the line, just below it, repositioned by ECharts on every axis change, legend toggle, zoom, and resize. The README screenshots are recaptured at 2x with the fix.Verification
just checkjust test-racewhen auth, API, ingest, query, MCP, or agent paths changed (release tooling and UI only)scripts/release_test.sh, ShellCheck, and actionlint pass