Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Oct 4, 2025

Note: This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
github.com/charmbracelet/bubbletea v0.24.2v1.3.10 age confidence

Release Notes

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

v1.3.10

Compare Source

Changelog

Bug fixes

The Charm logo

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

v1.3.9

Compare Source

Changelog

New Features
Bug fixes
Other work

The Charm logo

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

v1.3.8

Compare Source

Changelog

Bug fixes

The Charm logo

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

v1.3.7

Compare Source

Changelog

Bug fixes
Documentation updates
Other work

The Charm logo

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

v1.3.6

Compare Source

This version fixes some important issues regarding tea.Exec output after resuming from the executed program, and Windows losing input character on successive program execution.

Big thanks to @​raphaelvigee and @​joshallenit for working on these issues, you're the best!

Changelog

Bug fixes
Documentation updates
Other work

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v1.3.5

Compare Source

This release fixes an important bug on Windows where function keys (F1..F20) don't get recognized and sent to the program. It also fixes multiple concurrency bugs related to using external context and p.Wait() and p.Kill().

Also, huge thank you to @​desertwitch who went in and just crushed a handful of deadlocks.

Happy hacking!

Changelog

Bug fixes
Documentation updates
Other work

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v1.3.4

Compare Source

This release fixes an issue on Windows where the mouse is always enabled even if it wasn't requested. Now, using mouse options such as tea.WithAllMouseMotion() and commands such as tea.EnableMouseAllMotion and tea.DisableMouse turns the mouse on/off as expected.

Changelog

New Features
Bug fixes
Other work

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v1.3.3

Compare Source

This release restore the program options that were deprecated in the previous releases.

Changelog

Full Changelog: charmbracelet/bubbletea@v1.3.2...v1.3.3


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v1.3.2

Compare Source

Fix canceling terminal input reads on Windows.

Changelog

Bug fixes

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v1.3.1

Compare Source

This release introduces some important bug fixes when it comes to cursor movements while rendering, and properly handle Windows AltGr key on non-English keyboards.

Changelog

Bug fixes
Other work

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v1.3.0

Compare Source

Sorry to interrupt: it's time for Bubble Tea v1.3.0!

Bubble Tea now ships with refined interrupt handling, courtesy @​caarlos0. Now, you can throw your terminal a ctrl+c or an interrupt signal, Bubble Tea will take it with grace and poise. Switch any ol’ run-of-the-mill tea.Quit command with tea.Interrupt for seamless interruptions.

Bug Fixes
New Contributors

Special thanks to the following new contributors:

Changelog
New Features
  • cb9395982335da2fbc8cf90c5cf2c3b73eee4787: feat(SIGINT): better handle interrupts (#​1255) (@​caarlos0)
Bug fixes
  • 2556e01416b7f7cda13b27724c4e07ad5bb5d51c: fix: getting last rendered line counts including alt screen lines (#​1254) (@​semihbkgr)
  • 31b433ce48d9e396e496273a10be8c688f60c4bf: fix: replace deprecated ansi codes (@​aymanbagabas)
  • c8d6005325d3b370ea48d3e0c2129792d988e471: fix: use CancelIoEx to cancel Windows conInputReader across threads (#​1305) (@​awoodbeck)
Documentation updates
  • 9306010a31eef1bcaaced41ec6c99e3bdee4b5e8: docs(example): resize chat example based on window (#​1262) (@​bashbunni)
  • 2060f938a069c5894a2213d684855296c12742af: docs(examples): fix glamour example (#​1204) (@​meowgorithm)
  • 07288b1a746ed3168bbc7a71d3990fbcc4817a90: docs(readme): add more stuff to "In the Wild" (@​meowgorithm)
  • 1bf18861d91be438c860c58d2d2c1274f5eab444: docs(readme): additional readme tiyding up (@​meowgorithm)
  • 79cc2fb92466c957002319fdc321a8e31c103acb: docs(readme): fix tiny typo in readme (@​meowgorithm)
  • e0515bc22ad1292ecbb1f3f8ae7a795bf0d11e31: docs(readme): fix typos (#​1265) (@​Bilogweb3)
  • 39f9fae50f6285fc77139b5af796bac0f0e48493: docs: clarify imports in the readme (#​1234) (@​caarlos0)
Other work
  • eb7e3d0884f5976bbd94144bf3495ecb935dbce4: Update README.md references to main branch (@​simonnordberg)

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v1.2.4

Compare Source

A few little rendering fixes

This release fixes a couple rendering bugs. Quality rendering in Bubble Tea is paramount!

Changelog

Bug fixes
Other work

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v1.2.3

Compare Source

Altscreen-not-altscreen

This release fixes a sneaky longstanding bug in the renderer where mis-paints could happen when toggling in and out of the altscreen if the height of the TUI changed whilst in the altscreen. Special thanks to @​applejag for reporting the issue and @​semihbkgr for the fix.

Changelog


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v1.2.2

Compare Source

Hi! This release fixes some bugs found the fast new renderer introduced in v1.2.0. Happy rendering!

Fixed

New Contributors

Full Changelog: charmbracelet/bubbletea@v1.2.0...v1.2.2


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v1.2.1

Compare Source

v1.2.0

Compare Source

It’s performance boost time

Sometimes you have to take matters into your own hands. That’s exactly what @​LeperGnome did when he wanted faster rendering. This release features adjustments to the rendering algorithm for faster repaints. We encourage you to upgrade and give it a go!

[!NOTE]
Renderer changes are no laughing matter. We’ve tested the new renderer extensively, however if you notice any bugs let us know. Rendering accuracy is among our top priorities.

Changelog

New Contributors

Full Changelog: charmbracelet/bubbletea@v1.1.2...v1.2.0


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v1.1.2

Compare Source

This and that

A tiny tiny release that fixes the tests on Windows, and uses the latest ansi package definitions.

Changelog

Details
New Features
  • 12b04c5d6001056875bc712f81fa1efd470fa592: feat(ci): use meta lint workflow (@​aymanbagabas)
  • 3209d62ae751da63a38237666d6706ab7c9f0006: feat(ci): use meta lint-sync workflow to sync linter config (@​aymanbagabas)
Bug fixes
  • 566879aa33ce13f27a6bdab4a274e08be01bac9c: fix(ci): run lint workflow on all platforms (@​aymanbagabas)
  • cd1e4d34a7e0232ea94afcc168eec107450aa332: fix: exec tests on windows (@​aymanbagabas)
Documentation updates
  • d928d8dcabcd4bca0efc22fb661de0cc27c66b21: docs: update contributing guidelines (#​1186) (@​bashbunni)
  • de4788dc763d5a6ce7ca555c5ee6fce3179dedc4: docs: update readme badge images (@​aymanbagabas)

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v1.1.1

Compare Source

Don't panic!

Panicking is a part of life…and a part of workin’ in Go. This release addresses two edge cases where a panic() could tank Bubble Tea and break your terminal:

Panics outside of Bubble Tea

If a panic occurs outside of Bubble Tea you can use Program.Kill to restore the terminal state before exiting:

func main() {
	p := tea.NewProgram(model{})

	go func() {
		time.Sleep(3 * time.Second)
		defer p.Kill()
		panic("Urgh")
	}()

	if _, err := p.Run(); err != nil {
		log.Fatal(err)
	}
}

Panics in Cmds

If a panic occurs in a Cmd Bubble Tea will now automatically restore the terminal to its natural state before exiting.

type model struct{}

// This command will totally panic.
func pancikyCmd() tea.Msg {
	panic("Oh no! Jk.")
}

func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
	switch msg := msg.(type) {
	case tea.KeyMsg:
		switch msg.String() {
		case "enter":
			// Panic time! But everything will be OK.
			return m, pancikyCmd
		}
	}
	return m, nil
}

Happy panicking (if that makes any sense).

Changelog

Fixed!

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v1.1.0

Compare Source

Let’s focus

Lose focus much? This release contains support for focus-blur window events.

Usage

All you need to do is to add the program option to your application:

p := tea.NewProgram(model{}, tea.WithReportFocus())
if _, err := p.Run(); err != nil {
	fmt.Fprintln(os.Stderr, "Oof:", err)
	os.Exit(1)
}

Then later in your Update function, you can listen for focus-blur messages:

func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
	switch msg := msg.(type) {
	case tea.FocusMsg:
		// Focused!
	case tea.BlurMsg:
		// Not focused :(
        }
        return m, nil
}

For details, see WithReportFocus.

Tmux

If you're using tmux, make sure you enable the focus-events option in your config.

set-option -g focus-events on

Happy focusing (whatever that means)!


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v1.0.1

Compare Source

This release that fixes the way carriage returns are handled with using the WithoutRenderer ProgramOption and improves the way it works overall by not altering the terminal the way we normally do when starting a Program. For details see #​1120.


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v1.0.0

Compare Source

At last: v1.0.0

This is an honorary release denoting that Bubble Tea is now stable. Thank you, open source community, for all your love, support, and great taste in beverage over the past four years.

Stay tuned for v2: we have some great things coming.


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v0.27.1

Compare Source

This is a lil’ workaround for a hang that can occur when starting a program using Lip Gloss. For details see #​1107.

Changelog

Bug fixes

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v0.27.0

Compare Source

Suspending, environment hacking, and more

Hi! This release has three nice little features and some bug fixes. Let's take a look:

Suspending and resuming

At last, now you can programmatically suspend and resume programs with the tea.Suspend command and handle resumes with the tea.ResumeMsg message:

func (m model) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
	switch msg := msg.(type) {

	// Suspend with ctrl+z!
	case tea.KeyMsg:
		switch msg.String() {
		case "ctrl+z":
			m.suspended = true
			return m, tea.Suspend
		}

	// Handle resumes
	case tea.ResumeMsg:
		m.suspended = false
		return m, nil
	}

	// ...
}

Example

There's also a tea.SuspendMsg that flows through Update on suspension.

Special thanks to @​knz for prototyping the original implementation of this.

Setting the environment

When Bubble Tea is behind Wish you may have needed to pass environment variables from the remote session to the Program. Now you can with the all new tea.WithEnvironment:

var sess ssh.Session // ssh.Session is a type from the github.com/charmbracelet/ssh package
pty, _, _ := sess.Pty()
environ := append(sess.Environ(), "TERM="+pty.Term)
p := tea.NewProgram(model, tea.WithEnvironment(environ)

Requesting the window dimensions

All the Bubble Tea pros know that you get a tea.WindowSizeMsg when the Program starts and when the window resizes. Now you can just query it on demand too with the tea.WindowSize command.

Changelog

New!
Fixed

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v0.26.6

Compare Source

Changelog

Bug fixes

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v0.26.5

Compare Source

Fix special keys input handling on Windows using the latest Windows Console Input driver.

Changelog

New Features
Bug fixes
Other work

The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or on Discord.

v0.26.4

Compare Source

Fix panics! Using program.SetWindowTitle and others may panic if they were called before the program starts.

Also note that program.SetWindowTitle is now deprecated. To set the window title use tea.SetWindowTitle command.

What's Changed

Full Changelog: charmbracelet/bubbletea@v0.26.3...v0.26.4


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or Discord.

v0.26.3

Compare Source

This is a patch release that prevents tea.WindowSizeMsgs from being fired during altscreen changes on Windows. This was due to the fact that Windows emits a window-size-event on altscreen changes even if the size hand’t changed. Now, we cache the window-size and compare before sending the message to the Model.

What's Changed

Full Changelog: charmbracelet/bubbletea@v0.26.2...v0.26.3


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or Discord.

v0.26.2

Compare Source

This fixes a small regression that was introduced in v0.26.0 related to the first line on the first render not being displayed correctly. Thank you @​mistakenelf for pointing this out in #​1000!

What's Changed

Full Changelog: charmbracelet/bubbletea@v0.26.1...v0.26.2


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or Discord.

v0.26.1

Compare Source

This is a quick one to fix a Windows shortcoming in the last release acutely identified by our pal @​jon4hz. Thank you!

What's Changed

Full Changelog: charmbracelet/bubbletea@v0.26.0...v0.26.1


The Charm logo

Thoughts? Questions? We love hearing from you. Feel free to reach out on Twitter, The Fediverse, or Discord.

v0.26.0

Compare Source

Bracketed Paste, Windows Improvements, Mainframes, and more

What do tapioca balls, IBM mainframes, and the Microsoft Windows Console API have in common? Bubble Tea v0.26.0, that’s what. Let’s get to it.

⚡️ Windows Input Improvements

A few years ago @​erikgeiser, a penetration tester and ex-particle physicist, wrote this awesome library called coninput to majorly improve Bubble Tea input on Windows. @​aymanbagabas has implemented the library in Bubble Tea and input on Windows is roughly 1000 times better now. In the short term, this means that for Windows users inputting non-Latin characters (like Greek, Cyrillic, Korean, Chinese and so on) stuff will “just work.”

The bigger news, however, is that this paves the way for Windows parity with our forthcoming support for super high fidelity input via Kitty Keyboard and Fixterms.

🍳 Hot Windows Resize Events

Terminal emulators on Windows don’t support the SIGWINCH signal, which is sent when the terminal is resized. It’s been a huge bummer for a really long time. Thanks (again) to @​erikgeiser and @​aymanbagabas, we’re now able to reach deep into Windows’ underpinnings, detect window resizes, and send tea.WindowSizeMsgs accordingly! This is a glorious moment for Bubble Tea on Windows indeed.

🫠 Bracketed Paste

While building a query editor for a CockroachDB client, @​knz noticed that Bubble Tea didn't support Bracketed Paste. Performance-wise, that sucks because it means pasting large bodies of text (like SQL queries) will normally be seen as a bunch of little successive keypresses. That’s where Bracketed Paste comes in. When enabled at the terminal-level Bracketed Paste lets you slam down a bunch of text with one big, fat input event.

Bubble Tea enables bracketed paste by default, however you can opt out of it with the WithoutBracketedPaste() program option:

p := tea.NewProgram(myCuteModel, tea.WithoutBracketedPaste())

You can also enable and disable it on demand with the EnableBracketedPaste() and DisableBracketedPaste() commands.

🌿 Multiline tea.Println

In case you forgot, tea.Println (and it’s brother tea.Printf) is a Cmd that lets you print unmanaged output above a Bubble Tea program, similar to what you see with package managers like apt-get. Thanks to @​Adjective-Object (who also implemented tea.Println in the first place) now you can send multi-line output, too. For a tea.Println refresher see the package manager example.

📀 Hello, z/OS

Don’t you think it’s about time we all ran Bubble Tea apps on our mainframes? Thanks to @​dustin-ward that dream is now a reality, so long as you have a z/OS mainframe. We're thrilled to announce that Bubble Tea is now fully supported on z/OS.

🌹 Bug fixes

Bugfixes are the unsung heroes that sometimes get buried below the feature listings. This release has them and they’re good ones; see the changelog below for details.

Changelog

New!
Changed
Fixed
New Contributors

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • 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 requested a review from statik as a code owner October 4, 2025 00:24
@renovate renovate bot added the dependencies label Oct 4, 2025
@renovate
Copy link
Contributor Author

renovate bot commented Oct 4, 2025

ℹ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 6 additional dependencies were updated
  • The go directive was updated for compatibility reasons

Details:

Package Change
go 1.21 -> 1.24.0
github.com/charmbracelet/lipgloss v0.13.1 -> v1.1.0
github.com/charmbracelet/x/ansi v0.3.2 -> v0.10.1
github.com/mattn/go-runewidth v0.0.15 -> v0.0.16
github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b -> v0.0.0-20230316100256-276c6243b2f6
github.com/muesli/termenv v0.15.2 -> v0.16.0
golang.org/x/sys v0.19.0 -> v0.36.0

@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-1.x branch from 7598299 to 54e0467 Compare October 9, 2025 10:14
@renovate renovate bot changed the title fix(deps): update module github.com/charmbracelet/bubbletea to v1 fix(deps): update module github.com/charmbracelet/bubbletea to v1 - autoclosed Nov 11, 2025
@renovate renovate bot closed this Nov 11, 2025
@renovate renovate bot deleted the renovate/github.com-charmbracelet-bubbletea-1.x branch November 11, 2025 15:42
@renovate renovate bot changed the title fix(deps): update module github.com/charmbracelet/bubbletea to v1 - autoclosed fix(deps): update module github.com/charmbracelet/bubbletea to v1 Nov 12, 2025
@renovate renovate bot reopened this Nov 12, 2025
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-1.x branch 2 times, most recently from d5721ae to b2f8481 Compare November 12, 2025 03:18
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-1.x branch from 232aa59 to e1c773a Compare December 15, 2025 18:10
@renovate
Copy link
Contributor Author

renovate bot commented Dec 15, 2025

ℹ️ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 6 additional dependencies were updated
  • The go directive was updated for compatibility reasons

Details:

Package Change
go 1.21 -> 1.24.0
github.com/charmbracelet/lipgloss v0.13.1 -> v1.1.0
github.com/charmbracelet/x/ansi v0.3.2 -> v0.10.1
github.com/mattn/go-runewidth v0.0.15 -> v0.0.16
github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b -> v0.0.0-20230316100256-276c6243b2f6
github.com/muesli/termenv v0.15.2 -> v0.16.0
golang.org/x/sys v0.19.0 -> v0.36.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant