Skip to content

Update module github.com/charmbracelet/bubbletea to v0.27.1#9

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/github.com-charmbracelet-bubbletea-0.x
Open

Update module github.com/charmbracelet/bubbletea to v0.27.1#9
renovate[bot] wants to merge 1 commit intomainfrom
renovate/github.com-charmbracelet-bubbletea-0.x

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 8, 2023

This PR contains the following updates:

Package Change Age Confidence
github.com/charmbracelet/bubbletea v0.23.1v0.27.1 age confidence

Release Notes

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

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

Full Changelog: charmbracelet/bubbletea@v0.25.0...v0.25.1


The Charm logo

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

v0.25.0

Compare Source

Major mouse improvements, better input parsing, and lots more!

We hope you’re ready for winter. Unless you’re in the southern hemisphere (like @​caarlos0) in which case, we hope you’re ready for summer. In either case, we hope you have a happy new year if the Julian calendar is something you’re into.

There are a bunch of good features in this release and a ton of input-related improvements. Read on for more!

Extended Mouse Mode

Bubble Tea now supports Extended Mouse Mode (aka SGR mode) which makes now mouse support in Bubble Tea way, way better.

Prior to this release Bubble Tea used the X10 mouse protocol. X10 was last released in 1986: a time when screen resolutions were smaller, memory limits were low, and a terminal sizes were tiny. For terminals and mice this meant that the mouse tracking stopped after the 127th horizontal cell. Well, thanks to the elite abilities of @​aymanbagabas Bubble Tea can now track mouse movements across the entire terminal window, no matter how enormous.

And that's not all: Bubble Tea now has higher fidelity access to mouse operations such as shift, ctrl, and alt modifiers, mouse button release events, and a big range of mouse button and mouse wheel events.

For details see the docs for the new and improved MouseEvent.

Setting the Window Title

@​aymanbagabas also wanted to be able to set the terminal window title with Bubble Tea, so he added the SetWindowTitle Cmd. Now setting the window title is as simple as:

func (m Model) Update(msg tea.Msg) (tea.Model. tea.Cmd) {
    return m, tea.SetWindowTitle("oh my")
}

FPS Control

Have you ever thought “Bubble Tea is too fast and I just can’t handle it?” Or perhaps 60fps is too slow and you want to go full 120fps. Now, thanks to @​tomfeigin’s WithFPS ProgramOption you can:

// Let’s go with the classic soap opera frame rate
p := tea.NewProgram(model, tea.WithMaxFPS(45))

Better Input, Better Living

@​knz is just incredible. He took a look at Bubble Tea’s input parser and whipped it into shape with what felt like a flick of the wrist. Keyboard input is now more efficient than ever and very large amounts of input can be parsed with the greatest of ease. It's hard to overstate how impactful his contributions are—and there are more in the pipe.

Changelog

New!

Fixed

Full Changelog: charmbracelet/bubbletea@v0.24.2...v0.25.0

New Contributors


The Charm logo

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

v0.24.2

Compare Source

This point release fixes a race condition that could occur when stopping the default renderer:

Full Changelog: charmbracelet/bubbletea@v0.24.1...v0.24.2


The Charm logo

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

v0.24.1

Compare Source

You can pipe again

This point release fixes a regression introduced in v0.24.0 in which keyboard and mouse input would be lost when piping and redirecting into a program with default inputs. Special thanks to @​pomdtr for…piping up about the regression.

Full Changelog: charmbracelet/bubbletea@v0.24.0...v0.24.1


The Charm logo

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

v0.24.0

Compare Source

It is finally time for another Bubble Tea release!

This release contains 31 commits by 14 contributors. Thank you everyone! 💕

Without further ado, here's a list of the most important changes:

Message handling and filtering

The tea.QuitMsg is now exported and you can use tea.WithFilter to filter which messages your model will receive:

func filter(m tea.Model, msg tea.Msg) tea.Msg {
  if _, ok := msg.(tea.QuitMsg); !ok {
      return msg
  }

  model := m.(myModel)
  if model.hasChanges {
      return nil
  }

  return msg
}

p := tea.NewProgram(Model{}, tea.WithFilter(filter));

if _,err := p.Run(); err != nil {
  fmt.Println("Error running program:", err)
  os.Exit(1)
}

Testing

We are introducing an our very own /x package, which contains the teatest package.

With teatest, you can easily run a tea.Program, assert its final model and/or output.

This package required a couple of new methods on Bubble Tea, namely Program.Wait(), WithoutSignals.

You can see an example usage in the simple example.

Bug fixing

We try hard to not let any of them pass, but we know, sometimes a few of them do. This release also gets rid of a bunch of them.

What's Changed

New Contributors

Full Changelog: charmbracelet/bubbletea@v0.23.2...v0.24.0


The Charm logo

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

v0.23.2

Compare Source

Hello Bugfixes

This is a small maintenance release with two small but acute fixes from our wonderful community. Thanks for the support! 💘

Fixed


The Charm logo

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


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 changed the title Update module github.com/charmbracelet/bubbletea to v0.23.2 Update module github.com/charmbracelet/bubbletea to v0.24.1 May 31, 2023
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-0.x branch from 1cec062 to a630f7c Compare May 31, 2023 03:55
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.24.1 Update module github.com/charmbracelet/bubbletea to v0.24.2 Jun 6, 2023
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-0.x branch from a630f7c to acf9d31 Compare June 6, 2023 12:14
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-0.x branch from acf9d31 to 6e4ea4b Compare December 12, 2023 16:21
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.24.2 Update module github.com/charmbracelet/bubbletea to v0.25.0 Dec 12, 2023
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-0.x branch from 6e4ea4b to 6c26223 Compare May 2, 2024 02:29
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.25.0 Update module github.com/charmbracelet/bubbletea to v0.26.0 May 2, 2024
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-0.x branch from 6c26223 to 466c76a Compare May 2, 2024 22:32
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.26.0 Update module github.com/charmbracelet/bubbletea to v0.26.1 May 2, 2024
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-0.x branch from 466c76a to f3eaea9 Compare May 9, 2024 01:18
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.26.1 Update module github.com/charmbracelet/bubbletea to v0.26.2 May 9, 2024
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-0.x branch from f3eaea9 to 898adc8 Compare May 23, 2024 23:16
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.26.2 Update module github.com/charmbracelet/bubbletea to v0.26.3 May 23, 2024
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-0.x branch from 898adc8 to 6e8c98e Compare May 30, 2024 22:05
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.26.3 Update module github.com/charmbracelet/bubbletea to v0.26.4 May 30, 2024
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-0.x branch from 6e8c98e to 97fbcbb Compare June 21, 2024 03:45
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.26.4 Update module github.com/charmbracelet/bubbletea to v0.26.5 Jun 21, 2024
@renovate
Copy link
Contributor Author

renovate bot commented Jun 21, 2024

ℹ 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):

  • 7 additional dependencies were updated

Details:

Package Change
github.com/charmbracelet/lipgloss v0.6.0 -> v0.13.0
github.com/mattn/go-isatty v0.0.16 -> v0.0.20
github.com/mattn/go-runewidth v0.0.14 -> v0.0.15
github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b -> v0.0.0-20230316100256-276c6243b2f6
github.com/muesli/termenv v0.13.0 -> v0.15.2
github.com/rivo/uniseg v0.2.0 -> v0.4.7
golang.org/x/sys v0.0.0-20220908164124-27713097b956 -> v0.24.0

@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-0.x branch from 97fbcbb to 81fba3d Compare June 24, 2024 20:07
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.26.5 Update module github.com/charmbracelet/bubbletea to v0.26.6 Jun 24, 2024
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-0.x branch from 81fba3d to d03d9e2 Compare August 16, 2024 18:04
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.26.6 Update module github.com/charmbracelet/bubbletea to v0.27.0 Aug 16, 2024
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-0.x branch from d03d9e2 to 4b33cfd Compare August 22, 2024 20:06
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.27.0 Update module github.com/charmbracelet/bubbletea to v0.27.1 Aug 22, 2024
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.27.1 Update module github.com/charmbracelet/bubbletea to v0.27.1 - autoclosed Oct 31, 2024
@renovate renovate bot closed this Oct 31, 2024
@renovate renovate bot deleted the renovate/github.com-charmbracelet-bubbletea-0.x branch October 31, 2024 03:14
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.27.1 - autoclosed Update module github.com/charmbracelet/bubbletea to v0.27.1 Oct 31, 2024
@renovate renovate bot reopened this Oct 31, 2024
@renovate renovate bot restored the renovate/github.com-charmbracelet-bubbletea-0.x branch October 31, 2024 07:19
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-0.x branch from 4b33cfd to c631028 Compare October 31, 2024 07:20
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.27.1 Update module github.com/charmbracelet/bubbletea to v0.27.1 - autoclosed Feb 15, 2025
@renovate renovate bot closed this Feb 15, 2025
@renovate renovate bot deleted the renovate/github.com-charmbracelet-bubbletea-0.x branch February 15, 2025 03:03
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.27.1 - autoclosed Update module github.com/charmbracelet/bubbletea to v0.27.1 Feb 15, 2025
@renovate renovate bot reopened this Feb 15, 2025
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-0.x branch from 2e0cc18 to c631028 Compare February 15, 2025 06:09
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.27.1 Update module github.com/charmbracelet/bubbletea to v0.27.1 - autoclosed May 16, 2025
@renovate renovate bot closed this May 16, 2025
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.27.1 - autoclosed Update module github.com/charmbracelet/bubbletea to v0.27.1 May 16, 2025
@renovate renovate bot reopened this May 16, 2025
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-0.x branch from da272cc to c631028 Compare May 16, 2025 07:23
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.27.1 Update module github.com/charmbracelet/bubbletea to v0.27.1 - autoclosed Jul 1, 2025
@renovate renovate bot closed this Jul 1, 2025
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.27.1 - autoclosed Update module github.com/charmbracelet/bubbletea to v0.27.1 Jul 1, 2025
@renovate renovate bot reopened this Jul 1, 2025
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-0.x branch from 011fcd0 to c631028 Compare July 1, 2025 19:36
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.27.1 Update module github.com/charmbracelet/bubbletea to v0.27.1 - autoclosed Sep 7, 2025
@renovate renovate bot closed this Sep 7, 2025
@renovate renovate bot changed the title Update module github.com/charmbracelet/bubbletea to v0.27.1 - autoclosed Update module github.com/charmbracelet/bubbletea to v0.27.1 Sep 7, 2025
@renovate renovate bot reopened this Sep 7, 2025
@renovate renovate bot force-pushed the renovate/github.com-charmbracelet-bubbletea-0.x branch from e326651 to c631028 Compare September 7, 2025 09:00
@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):

  • 7 additional dependencies were updated

Details:

Package Change
github.com/charmbracelet/lipgloss v0.6.0 -> v0.13.0
github.com/mattn/go-isatty v0.0.16 -> v0.0.20
github.com/mattn/go-runewidth v0.0.14 -> v0.0.15
github.com/muesli/ansi v0.0.0-20211018074035-2e021307bc4b -> v0.0.0-20230316100256-276c6243b2f6
github.com/muesli/termenv v0.13.0 -> v0.15.2
github.com/rivo/uniseg v0.2.0 -> v0.4.7
golang.org/x/sys v0.0.0-20220908164124-27713097b956 -> v0.24.0

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