Skip to content

fix(deps): update dependencies - #33

Merged
tannevaled merged 1 commit into
mainfrom
renovate/deps
Oct 10, 2026
Merged

tannevaled merged 1 commit into
mainfrom
renovate/deps

Conversation

@tannevaled

@tannevaled tannevaled commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
github.com/go-widgets/mvvm v0.11.0 → v0.13.0 age confidence
github.com/go-widgets/toolkit v0.326.0 → v0.328.0 age confidence

Release Notes

go-widgets/mvvm (github.com/go-widgets/mvvm)

v0.13.0: — bind a cycle button and a command

Compare Source

tkbind can bind a cycle button and a command

Two shapes an app could not bind with what was here, and wrote by hand instead — one direction each, in the consumer (#​32).

A cycle button holds a position, not a value. A quarter turn is 90, 180 or 270 and the button sits at 0, 1 or 2, so there is nothing for an index-to-index binding to keep equal. BindCycleValues takes the table — values[i] is what position i means — and binds both ways through it; BindCycle is the plain index case, clamped. A value the table has not got settles on the first position and is written back, because a model left holding 45 while the button shows a quarter turn is two sides with two answers.

A button that checks its own preconditions is a button that looks pressable. BindButton gives a Button a Command: pressing executes, and CanExecute drives Disabled, so the rule lives once instead of being re-checked inside every handler.

100% of statements; nine mutations, all caught. One survived the first run — replacing the range check on an incoming position with if true — because Index() is an Observable with no guard, anything can Set a position the table has no value for, and values[i] there is a panic rather than a wrong answer.

v0.12.0: — bind a box, a spinner, a list and a tick

Compare Source

tkbind can bind the four everyday controls

tkbind had binders for a Browser, a Table, a Container and a RangeSlider — and none for the text box, the spin button, the drop-down and the tick box, which are the four an app reaches for first. BindEntry, BindSpin, BindChoice and BindCheck fill that in (#​31).

Without them an app binds these by hand, and hand-binding settles into a Subscribe that copies the value into a plain field plus a rebuild to get it back — a field copied across a boundary plus an imperative resync, which is the shape MVVM exists to remove.

The clamping happens in the observable, before the link exists, which is not where it looks like it belongs. SpinButton.SetValue clamps to [Min, Max] and DropDown.Select refuses an index it has no option for — but BindTwoWay seeds the destination by writing its Observable, which is neither of those paths. A ViewModel asking for option nine of three therefore puts the list on nine, and normalising afterwards cannot fix it, because the fix would be to call Select, and Select is the guard that just declined.

100% of statements, eight mutations all caught — each link severed, each clamp disabled at both ends.

go-widgets/toolkit (github.com/go-widgets/toolkit)

v0.328.0

Compare Source

Table.CellFill: per-cell backgrounds (heatmaps), text inked by WCAG contrast, selection band kept, nil renders as before. New toolkit.Viridis and toolkit.ContrastInk. Entry: the caret is clamped after an external Text().Set, so a Backspace before the next Draw no longer panics. #​483

v0.327.0

Compare Source

New XYPlot widget: numeric series against labelled axes on 1-2-5 ticks, line/stem/marker styles, legend, hover readout, one stroke per pixel column for long series. Registered in the MVVM gate and the bounds sweep. #​484

v0.326.1

Compare Source

Entry: a click places the caret under the pointer when the field is not at the surface's left edge (the Entry subtracted its own X from an already widget-local coordinate, so the caret went to 0). #​485


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate CLI.

@tannevaled tannevaled changed the title fix(deps): update module github.com/go-widgets/mvvm to v0.13.0 fix(deps): update dependencies Oct 9, 2026
@tannevaled
tannevaled merged commit 84c3316 into main Oct 10, 2026
14 checks passed
@tannevaled
tannevaled deleted the renovate/deps branch October 10, 2026 10:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant