Skip to content

fix(deps): update go major updates#838

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/go-major-updates
Open

fix(deps): update go major updates#838
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/go-major-updates

Conversation

@renovate

@renovate renovate Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
dev.gaijin.team/go/exhaustruct/v4 v4.0.0v5.0.2 age confidence
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v7 v7.3.0v8.0.0 age confidence
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources v1.2.0v3.0.1 age confidence
github.com/apparentlymart/go-textseg/v15 v15.0.0v16.0.0 age confidence
github.com/bombsimon/wsl/v4 v4.7.0v5.8.0 age confidence
github.com/cenkalti/backoff/v5 v5.0.3v6.0.1 age confidence
github.com/charmbracelet/bubbles v1.0.0v2.1.0 age confidence
github.com/charmbracelet/bubbletea v1.3.10v2.0.7 age confidence
github.com/charmbracelet/lipgloss v1.1.0v2.0.4 age confidence
github.com/denis-tingaikin/go-header v0.5.0v1.0.0 age confidence
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376v2.0.2 age confidence
github.com/pgavlin/fx v0.1.6v2.0.12 age confidence
github.com/pulumi/pulumi-docker/sdk/v4 v4.5.8v5.0.0 age confidence
github.com/ryancurrah/gomodguard v1.4.1v2.1.3 age confidence
github.com/santhosh-tekuri/jsonschema/v5 v5.3.1v6.0.2 age confidence
go.yaml.in/yaml/v2 v2.4.3v3.0.4 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

GaijinEntertainment/go-exhaustruct (dev.gaijin.team/go/exhaustruct/v4)

v5.0.2

Compare Source

A cleanup release that separates the analyzer's two construction lifecycles and trims internal surface. CLI behavior, flags, and diagnostics are unchanged. The only externally visible change is to the programmatic constructor API, which has no consumers on the dev.gaijin.team/go/exhaustruct/v5 module path yet — hence a patch bump rather than a major one.

Breaking (programmatic API)
  • NewAnalyzer is split into two constructors (#​160). A single NewAnalyzer(config Config) (*analysis.Analyzer, error) served two conflicting lifecycles — CLI drivers that mutate Config through flags after construction, and library callers that pass a finished Config and expect validation up front. It is now:

    • NewAnalyzer() *analysis.Analyzer — flag-driven, for CLI drivers (singlechecker, go vet -vettool). Configuration is consumed on the first run, after the driver has parsed flags.
    • NewAnalyzerWithConfig(config Config) (*analysis.Analyzer, error) — programmatic, for library consumers such as golangci-lint. The Config is copied and its patterns validated immediately; the analyzer exposes no flags, and later mutations of the passed Config have no effect.
    // before
    a, err := analyzer.NewAnalyzer(cfg)
    
    // after — library callers
    a, err := analyzer.NewAnalyzerWithConfig(cfg)
    
    // after — CLI drivers
    a := analyzer.NewAnalyzer()
Changes
  • No more stray cache-metrics output — debug printing of cache metrics was removed from the analyzer.
  • Config pattern fields (EnforcePatterns, IgnorePatterns, OptionalPatterns, AllowEmptyPatterns) are now the named Patterns type. []string{...} literals remain assignable, so existing field assignments compile unchanged.
Internal

Visitors decoupled from the analyzer struct; the engine wrapper struct removed; lazy initialization confined to the flag-driven path; pattern validation unified under internal/pattern; dead methods and an unused flag.Value implementation dropped. No behavior change.

Upgrading
go install dev.gaijin.team/go/exhaustruct/v5/cmd/exhaustruct@latest

CLI users reinstall; flags and output are unchanged. Library callers rename NewAnalyzer(cfg) to NewAnalyzerWithConfig(cfg).

v5.0.1

Compare Source

Two v5 API bugs traced to the same root cause: NewAnalyzer captured patterns into the processor before the analysis driver parsed flags, so flag-driven values never reached analysis, and the Config fields had to be typed against internal/pattern to be writable at all.

Fixes
  • -enforce-rx, -ignore-rx, -optional-rx, and -allow-empty-rx had no effect under the standalone CLI (#​155). Processor construction now happens lazily on first analyzer run, after flags are populated. golangci-lint integrations were unaffected, since they populate Config programmatically before calling NewAnalyzer.

  • analyzer.Config no longer leaks the internal pattern.List type (#​158). The four pattern fields (EnforcePatterns, IgnorePatterns, OptionalPatterns, AllowEmptyPatterns) are now plain []string; pattern compilation has moved inside the analyzer. Library callers populating these fields directly drop the pattern.NewList call:

    // before
    list, _ := pattern.NewList(`.*\.Foo`)
    analyzer.Config{ EnforcePatterns: list }
    
    // after
    analyzer.Config{ EnforcePatterns: []string{`.*\.Foo`} }
Upgrading
go install dev.gaijin.team/go/exhaustruct/v5/cmd/exhaustruct@latest

CLI users reinstall. Library callers update Config field assignments as shown above.

v5.0.0

Compare Source

exhaustruct v5 reshapes how the linter is configured. Struct tags give way to comment directives, opt-in checking lands as a first-class mode, and patterns now reach down to individual fields. The full reference is in the README; this is the highlight reel.

What's new

Comment directives replace struct tags. Three directives — enforce, ignore, optional — now work at three levels of granularity: type definitions, struct literals, and individual fields. A documented priority order keeps the interaction between them predictable.

//exhaustruct:enforce
type Config struct {
    Host    string
    //exhaustruct:optional
    Timeout int
}

Explicit mode (-explicit) flips the default. Instead of checking every struct literal in the project, the linter only checks types you've explicitly marked — either with //exhaustruct:enforce or via -enforce-rx. The right pick for large codebases where exhaustruct should be a precision tool, not a blanket policy.

Field-level regex patterns. The pattern flags now accept Type#Field syntax, so a single configuration line can express optionality across a codebase without touching the type definitions:

.*\.Server#Timeout    # Timeout field in any Server type

Optional patterns (-optional-rx). Regex-based optionality for whole types or specific fields. Closes a long-standing gap for third-party types you can't annotate directly.

Derived types and aliases now follow a clearer rule. Field-level directives carry through type T = U and type T U — so a field marked optional stays optional on every alias and derived type. Type-level directives stay attached to the original type, which means you can promote a derived type to "enforced" independently.

Better diagnostics. -report-full-type-path reports net/http.Cookie instead of http.Cookie, removing ambiguity when import aliases are in play (#​146). -debug-cache-metrics prints per-package cache statistics, useful for tuning patterns on large projects.

Auto-migration. exhaustruct -fix ./... rewrites the legacy exhaustruct:"optional" tags to comment directives in one pass — no manual sweep required.

Breaking changes
  • Struct tags retired. exhaustruct:"optional" is no longer recognized. The -fix flag migrates existing tags automatically; the manual equivalent is a one-line move from the field's struct tag to a //exhaustruct:optional comment above (or beside) the field.
  • Flag rename. The old include/exclude vocabulary suggested filtering, but the linter has always been about enforcement. The new names say what they do:
    • -include-rx / -i-enforce-rx
    • -exclude-rx / -e-ignore-rx
  • Module path moves to /v5. Update imports and reinstall:
    go install dev.gaijin.team/go/exhaustruct/v5/cmd/exhaustruct@latest
Fixes
  • Implicit pointer composite literals (&T{} returned where the function signature expects *T) are now flagged — previously they slipped past the checker (#​147).
  • Aliased struct types resolve through types.Unalias so their fields are inspected even behind an alias chain (#​149).
Migrating from v4
  1. Update import paths from /v4 to /v5.
  2. Run exhaustruct -fix ./... to rewrite struct tags to comment directives.
  3. Replace -include-rx / -i with -enforce-rx, and -exclude-rx / -e with -ignore-rx in CI configs and .golangci.yaml.
  4. Optional: consider -explicit if you'd rather opt specific types into checking than opt the rest out.
apparentlymart/go-textseg (github.com/apparentlymart/go-textseg/v15)

v16.0.0

Compare Source

bombsimon/wsl (github.com/bombsimon/wsl/v4)

v5.8.0

Compare Source

What's Changed

Full Changelog: bombsimon/wsl@v5.7.0...v5.8.0

v5.7.0

Compare Source

⚠️ DO NOT USE

This was a pre-mature release containing regressions and unfinished changes. This release was never included in golangci-lint and will be replaced with v5.8.0

What's Changed

New Contributors

Full Changelog: bombsimon/wsl@v5.6.0...v5.7.0

v5.6.0

Compare Source

What's Changed

Full Changelog: bombsimon/wsl@v5.5.0...v5.6.0

v5.5.0

Compare Source

What's Changed

Full Changelog: bombsimon/wsl@v5.4.0...v5.5.0

v5.4.0

Compare Source

NOTE ⚠️

This release immediately got superseded by v5.5.0. The only reason being a fix of a bad name of the new check before widely spread. The check should be referred to as after-block which it is from v5.5.0 and onwards.

What's Changed

New Contributors

Full Changelog: bombsimon/wsl@v5.3.0...v5.4.0

Thanks

  • @​breml for report, discussion and extensive test data for the new check newline-after-block

v5.3.0

Compare Source

What's Changed

Full Changelog: bombsimon/wsl@v5.2.0...v5.3.0

v5.2.0

Compare Source

What's Changed

New Contributors

Full Changelog: bombsimon/wsl@v5.1.1...v5.2.0

v5.1.1

Compare Source

What's Changed

Full Changelog: bombsimon/wsl@v5.1.0...v5.1.1

v5.1.0

Compare Source

What's Changed

Full Changelog: bombsimon/wsl@v5.0.0...v5.1.0

v5.0.0

Compare Source

What's Changed

Full Changelog: bombsimon/wsl@v4.7.0...v5.0.0

cenkalti/backoff (github.com/cenkalti/backoff/v5)

v6.0.1

Compare Source

v6.0.0

Compare Source

charmbracelet/bubbles (github.com/charmbracelet/bubbles)

v2.1.0

Compare Source

Shrink ’n’ grow your textareas

The update adds a new feature to automatically resize your textarea vertically as its content changes.

ta := textarea.New()
ta.DynamicHeight = true   // Enable dynamic resizing
ta.MinHeight = 3          // Minimum visible rows
ta.MaxHeight = 10         // Maximum visible rows
ta.MaxContentHeight = 20  // Maximum rows of content

Piece of cake, right?

Enjoy! 💘

Changelog

New!

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on X, Discord, Slack, The Fediverse, Bluesky.

v2.0.0

Compare Source

bubbles-v2-block

Bubbles v2 is here! 🫧

We're thrilled to share Bubbles v2 with you! This release accompanies Bubble Tea v2 and Lip Gloss v2 and brings a ton of consistency, new features, and quality-of-life improvements across every component. Catch 'em all:

go get charm.land/bubbletea/v2
go get charm.land/bubbles/v2
go get charm.land/lipgloss/v2

You can also check the Upgrade Guide for more info.

There are a lot of changes in here, but we've found upgrading pretty easy, especially with a linter. Read on for the full breakdown!

[!NOTE]
When in doubt, check the examples for reference — they've all been updated for v2.

🏠 New Home

Bubbles v2 now lives at charm.land:

import "charm.land/bubbles/v2"

All sub-packages follow the same pattern: charm.land/bubbles/v2/viewport, charm.land/bubbles/v2/list, etc.

🎨 Light and Dark Styles

Some Bubbles, like help, offer default styles for both light and dark backgrounds. Since Lip Gloss v2 removes AdaptiveColor, choosing light or dark is now a manual process. You've got a couple of options.

🎩 The Best Way

Have Bubble Tea query the background color for you. This properly queries the correct inputs and outputs, and happens in lockstep with your application:

func (m model) Init() tea.Cmd {
    return tea.RequestBackgroundColor
}

func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
    switch msg := msg.(type) {
    case tea.BackgroundColorMsg:
        m.help.Styles = help.DefaultStyles(msg.IsDark())
        return m, nil
    }
    // ...
}

If you're using Wish you must do it this way to get the background color of the client.

🤠 The Quick Way

Use the compat package in Lip Gloss. It's less recommended because it contains blocking I/O that operates independently of Bubble Tea, and when used with Wish it won't detect the client's background:

import "charm.land/lipgloss/v2/compat"

var hasDarkBG = compat.HasDarkBackground()

h := help.New()
h.Styles = help.DefaultStyles(hasDarkBG)
👀 Or Just Pick One
h.Styles = help.DefaultLightStyles() // light mode!
h.Styles = help.DefaultDarkStyles()  // jk dark mode

This pattern applies to help, list, textarea, and textinput.

🔑 The Init You Know and Love is Back

After experimenting with a few different forms of Init during the alphas, we decided the v1 signature was the right call after all. Init was a bit too redundant for our tastes given that initialization already happens in New:

func (m Model) Init() tea.Cmd

✨ The Big Highlights

Getters and Setters Everywhere

All components now use getter/setter methods instead of exported Width and Height fields. This lets us do internal bookkeeping when things change, and it makes the API consistent across every Bubble:

// Before
vp.Width = 40
fmt.Println(vp.Width)

// After
vp.SetWidth(40)
fmt.Println(vp.Width())

Affected: filepicker, help, progress, table, textinput, viewport.

Functional Options

Constructors now use the functional options pattern instead of positional args or separate constructor functions:

vp := viewport.New(viewport.WithWidth(80), viewport.WithHeight(24))
sw := stopwatch.New(stopwatch.WithInterval(500 * time.Millisecond))
t := timer.New(30*time.Second, timer.WithInterval(100*time.Millisecond))
DefaultKeyMap is a Function Now

All DefaultKeyMap package-level variables are now functions, so you get fresh values every time:

km := textinput.DefaultKeyMap()   // was textinput.DefaultKeyMap
km := textarea.DefaultKeyMap()    // was textarea.DefaultKeyMap
km := paginator.DefaultKeyMap()   // was paginator.DefaultKeyMap
Real Cursor Support 🖱️

Both textarea and textinput now support real terminal cursors! The feature is opt-in, so by default your programs will continue to use the easy-breezy virtual cursor. Set VirtualCursor to false and use Model.Cursor() for the real deal. Check out the textarea and textinput examples to see it in action.

Cleaned House 🧹

All previously deprecated symbols have been removed:

  • NewModel variants — just use New
  • spinner.Tick() — use Model.Tick() instead
  • paginator.UsePgUpPgDownKeys and friends — customize KeyMap directly
  • filepicker.DefaultStylesWithRenderer() — Lip Gloss is pure now, use DefaultStyles()
  • viewport.HighPerformanceRendering — no longer needed
  • runeutil and memoization packages moved to internal/ (they were never meant for public use anyway)

What's Changed: the Laundry List

🔮 Cursor
  • Model.Blink renamed to Model.IsBlinked for clarity
  • Model.BlinkCmd() renamed to Model.Blink()
  • Each cursor now gets a unique ID
📂 Filepicker
  • DefaultStylesWithRenderer() removed — Lip Gloss is pure now, so just use DefaultStyles()
  • Model.Height broken into SetHeight(int) / Height() int
❓ Help
  • Model.Width broken into SetWidth(int) / Width() int
  • New DefaultStyles(isDark bool), DefaultDarkStyles(), and DefaultLightStyles()
  • Defaults to dark background styles out of the box
🥕 List
  • DefaultStyles() and NewDefaultItemStyles() now take an isDark bool parameter
  • Styles.FilterPrompt and Styles.FilterCursor have been consolidated into Styles.Filter (a textinput.Styles)
  • GlobalIndex helper added
📄 Paginator
  • DefaultKeyMap variable → DefaultKeyMap() function
  • Deprecated fields (UsePgUpPgDownKeys, UseLeftRightKeys, etc.) removed — customize KeyMap directly
🌈 Progress

This one got the biggest makeover!

  • Complete color API overhaul:
    • WithGradient / WithScaledGradientWithColors(...color.Color) — pass 2+ colors for blending
    • WithSolidFill(string)WithColors(color) — pass a single color for a solid fill
    • WithDefaultGradient()WithDefaultBlend()
    • New WithScaled(bool) to scale the blend to fit only the filled portion
    • New WithColorFunc(func(total, current float64) color.Color) for fully dynamic coloring
    • WithColorProfile removed — Bubble Tea handles this automatically now
  • Model.FullColor and Model.EmptyColor changed from string to image/color.Color
  • Model.Width broken into SetWidth(int) / Width() int
  • Model.Update now returns Model instead of tea.Model
  • Improved blend algorithm with support for multiple color stops — special thanks to the legendary @​lrstanley!
🌀 Spinner
  • Tick() package-level function removed — use Model.Tick() instead
⏱️ Stopwatch
  • NewWithInterval(d) removed — use New(WithInterval(d)) instead
  • Debounced tick messages
🔢 Table
  • Model.Width / Model.Height replaced with getter/setter methods
  • Uses ansi.Truncate instead of runewidth.Truncate
  • Fixed a critical out-of-bounds cursor bug — thanks @​s0ders!
✏️ Textarea

The big change here is real cursor support — but that's opt-in, so by default your programs will keep using the virtual cursor.

  • DefaultKeyMap variable → DefaultKeyMap() function
  • New PageUp / PageDown key bindings
  • Model.FocusedStyle / Model.BlurredStyleModel.Styles.Focused / Model.Styles.Blurred
  • Style type renamed to StyleState; new Styles struct groups Focused, Blurred, and Cursor
  • Model.SetCursor renamed to Model.SetCursorColumn
  • Model.Cursor is now func() *tea.Cursor for real cursor support
  • Model.VirtualCursor bool added — set to false when using a real cursor
  • New DefaultStyles(isDark bool), DefaultDarkStyles(), DefaultLightStyles()
  • New methods: Column(), ScrollYOffset(), ScrollPosition(), MoveToBeginning(), MoveToEnd()
  • Focus status now passed to SetPromptFunc
📜 Textinput

Most of the changes here bring textinput to parity with textarea, including real cursor support. Styling has been consolidated into a Styles struct with Focused and Blurred states:

  • DefaultKeyMap variable → DefaultKeyMap() function
  • Model.Width broken into SetWidth(int) / Width() int
  • Model.PromptStyleStyleState.Prompt
  • Model.TextStyleStyleState.Text
  • Model.PlaceholderStyleStyleState.Placeholder
  • Model.CompletionStyleStyleState.Suggestion
  • Model.Cursor is now func() *tea.Cursor for real cursor support
  • Model.VirtualCursor() / SetVirtualCursor(bool) added
  • Model.Styles() / SetStyles(Styles) added
  • New DefaultStyles(isDark bool), DefaultDarkStyles(), DefaultLightStyles()
  • Exposed matched suggestions and suggestion index
⏲️ Timer
  • NewWithInterval(timeout, interval) removed — use New(timeout, WithInterval(interval))
  • Debounced tick messages
📦 Viewport

viewport got a ton of love in v2. Let's dive in!

Breaking changes:

  • New(width, height int)New(...Option) with WithWidth / WithHeight
  • Model.Width, Model.Height, Model.YOffset replaced with getter/setter methods
  • HighPerformanceRendering removed

Shiny new features:

You can now scroll horizontally with the left and right arrow keys, and set up a custom gutter column for things like line numbers:

vp := viewport.New()
vp.SetContent("hello world")

// Show line numbers:
vp.LeftGutterFunc = func(info viewport.GutterContext) string {
    if info.Soft {
        return "     │ "
    }
    if info.Index >= info.TotalLines {
        return "   ~ │ "
    }
    return fmt.Sprintf("%4d │ ", info.Index+1)
}

Highlight parts of what's being viewed with regex:

vp.SetHighlights(regexp.MustCompile("hello").FindAllStringIndex(vp.GetContent(), -1))
vp.HighlightNext()      // highlight and navigate to next match
vp.HighlightPrevious()  // highlight and navigate to previous match
vp.ClearHighlights()    // clear all highlights

Let viewport handle soft wrapping for you:

vp.SoftWrap = true
vp.SetContent("hello world from a very long line")

Or, if you need fine control, use SetContentLines with "virtual lines" containing \n — they're treated as soft wraps automatically.

Also new:

  • Horizontal mouse wheel scrolling (thanks @​UnseenBook!)
  • GetContent() to retrieve content
  • FillHeight to pad the viewport with empty lines
  • StyleLineFunc for per-line styling
  • HighlightStyle and SelectedHighlightStyle for highlight appearance

Changelog

Fixed
  • f744b929dddecc7863cf78605c5bfc396d90abc3: fix(ci): use local golangci-lint config (@​aymanbagabas)
  • 251e612949595b006e0e4739029d45e32c6b34b6: fix(filepicker): fix a panic due to an unchecked assertion (#​891) (@​meowgorithm)
  • f3f0ca0fe2f05b56e5a0c69b226b4d752c5e8f4a: fix(lint): exclude var-naming rule for revive (@​aymanbagabas)
  • d004225e8c3b8c8ddb14a76a5101728d666396f3: fix(table): use ansi.Truncate instead of runewidth.Truncate (#​884) (@​jedevc)
  • 93a004ab70c8ea979940b2720b3993c8f68bf8dc: fix(viewport): optimize subline splitting by skipping lines without line endings (@​aymanbagabas)
  • d0166363eb8176b331de98dba1d6e997560f216f: fix: changed 'recieve' to 'receive' for 100% quality of Go Report Card (#​881) (@​Atennop1)
  • af98365cc63af118d838e05522f8dddf16ad827e: fix: lint issues (@​aymanbagabas)
Docs
  • c81d525337e1a059c4343cf65a02eea020470a48: docs(readme): update for v2 (#​888) (@​aymanbagabas)
  • 6a799f4d58cc0eaeab0874f4ce9c98b5a922bd01: docs(readme): update header image, minor corrections (@​meowgorithm)
  • 24081b3590e746db4efa2ec09e31a85e2c078427: docs: add v2 upgrade and changes guide (#​885) (@​aymanbagabas)
  • 3a5ea3e2eb42aa064bb4a0ffe3262cb2b8a1f19b: docs: update mascot image (@​aymanbagabas)
Other stuff
  • ae99f46cec66f45862c2d953bb1af31efdc4f073: feat(v2/textarea): expose Column(), clarify 0-indexing (#​875) (@​caarlos0)

💝 That's a wrap!

Feel free to reach out, ask questions, give feedback, and let us know how it's going. We'd love to know what you think.


Part of Charm.

The Charm logo

Charm热爱开源 • Charm loves open source • نحنُ نحب المصادر المفتوحة

charmbracelet/bubbletea (github.com/charmbracelet/bubbletea)

v2.0.7

Compare Source

A few lil’ stability patches

Hi! This is a patch release with a few solid improvements around stability and correctness.

  • @​lrstanley, one of our faves, fixed a race condition around mice in the Cursed Renderer
  • @​lawrence3699 fixed a panic that could happen when input's not available
  • We fixed a correctness issue with regard to mouse releases when Kitty Keyboard was active (thanks, @​mitchellh)

Thanks for using Bubble Tea, and if you see anything awry please do let us know!

—Charm 👋

Changelog

Fixed

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on X, Discord, Slack, The Fediverse, Bluesky.

v2.0.6

Compare Source

This release fixes an issue with how Bubble Tea handled wide characters. Before, a wide character might be skipped or cause an infinite loop causing the CPU to spike. See fdcd0cf and charmbracelet/ultraviolet#109 for more details.


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on X, Discord, Slack, The Fediverse, Bluesky.

v2.0.5

Compare Source

Changelog


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on X, Discord, Slack, The Fediverse, Bluesky.

v2.0.4

Compare Source

Changelog


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on X, Discord, Slack, The Fediverse, Bluesky.

v2.0.3

Compare Source

Extra Extra Extended Keyboard Enhancements!

This release adds support for the full set of Keyboard Enhancements. Now you can enable any enhancements on top of the default disambiguate one.

func (m model) View() tea.View {
  var v tea.View
  v.KeyboardEnhancements.ReportAlternateKeys = true
  v.KeyboardEnhancements.ReportAllKeysAsEscapeCodes = true
  return v
}

Smarter Renderer

We also fixed a few renderer related bugs and made the Cursed Renderer smarter. Now, we always reset the terminal tab stops for the Bubble Tea program process context. People using tabs -N in their shell profiles shouldn't be affected.

See the full changelog below.

Changelog

New!
Fixed
Docs
Other stuff

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on X, Discord, Slack, The Fediverse, Bluesky.

v2.0.2

Compare Source

This release contains a small patch fixing a rendering that might affect Wish users running on Unix platforms.

Changelog

Fixed

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on X, Discord, Slack, The Fediverse, Bluesky.

v2.0.1

Compare Source

A small patch release to fix opening the proper default stdin file for input.

Changelog

Fixed
Docs

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • Between 12:00 AM and 03:59 AM, only on Monday (* 0-3 * * 1)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

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 was generated by Mend Renovate. View the repository job log.

@renovate

renovate Bot commented Jun 16, 2026

Copy link
Copy Markdown
Contributor Author

⚠️ Artifact update problem

Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: go.sum
Command failed: mod upgrade --mod-name=github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v7 -t=8
could not load package: err: exit status 1: stderr: go: inconsistent vendoring in /tmp/renovate/repos/github/redhat-developer/mapt:
	github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v8@v8.0.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armresources/v3@v3.0.1: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/charmbracelet/bubbles/v2@v2.1.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/charmbracelet/bubbletea/v2@v2.0.7: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/apparentlymart/go-textseg/v16@v16.0.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/cenkalti/backoff/v6@v6.0.1: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/charmbracelet/lipgloss/v2@v2.0.4: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/go-git/gcfg/v2@v2.0.2: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/pulumi/pulumi-docker/sdk/v5@v5.0.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/santhosh-tekuri/jsonschema/v6@v6.0.2: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt

	To ignore the vendor directory, use -mod=readonly or -mod=mod.
	To sync the vendor directory, run:
		go mod vendor


File name: tools/go.sum
Command failed: mod upgrade --mod-name=dev.gaijin.team/go/exhaustruct/v4 -t=5
could not load package: err: exit status 1: stderr: go: inconsistent vendoring in /tmp/renovate/repos/github/redhat-developer/mapt/tools:
	dev.gaijin.team/go/exhaustruct/v5@v5.0.2: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/denis-tingaikin/go-header@v1.0.0: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt
	github.com/denis-tingaikin/go-header@v0.5.0: is marked as explicit in vendor/modules.txt, but not explicitly required in go.mod

	To ignore the vendor directory, use -mod=readonly or -mod=mod.
	To sync the vendor directory, run:
		go mod vendor


@renovate renovate Bot force-pushed the renovate/go-major-updates branch 4 times, most recently from b6b6fad to 43e132d Compare June 21, 2026 10:01
@renovate renovate Bot force-pushed the renovate/go-major-updates branch from 43e132d to e759d31 Compare June 23, 2026 08:47
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.

0 participants